Multi-Agent Framework
OpenAI Swarm — Minimal Multi-Agent Pattern (Now Agents SDK) logo

OpenAI Swarm — pattern multi-Agent minimaliste (devenu l’Agents SDK)

Swarm était la référence pédagogique d’OpenAI publiée en 2024 pour des transferts multi-Agent légers. En 2025, il a évolué vers l’OpenAI Agents SDK — le même pattern, durci pour la production, avec tracing et guardrails intégrés.

Why Swarm / Agents SDK

L’idée centrale de Swarm était la coordination multi-Agent sous forme d’appels d’outils. Un Agent ne passe pas de messages à un orchestrateur central — il dispose simplement d’un outil transfer_to_specialist_agent() qui change l’Agent qui recevra le prochain message utilisateur. Tout le framework tient en quelques centaines de lignes de Python. Il a été conçu pour enseigner un pattern, pas pour remplacer CrewAI ou LangGraph.

Le pattern était assez convaincant pour qu’OpenAI le promeuve en Agents SDK officiel en 2025 — Python + TypeScript, avec des fonctionnalités production ajoutées : tracing intégré, guardrails (validation entrée/sortie), streaming, schémas d’outils et intégration profonde avec l’API OpenAI Responses. Le modèle mental « handoff via appel d’outil » reste inchangé ; tout l’entoure a été durci.

À choisir quand vous voulez une abstraction minimale + une intégration serrée à l’écosystème OpenAI. Vous renoncez à un peu de la puissance de contrôle de flux de LangGraph et au modèle de rôles opinionné de CrewAI en échange d’une très petite surface d’API qui compose naturellement avec les primitives OpenAI.

Quick Start — Agents SDK Handoff Example

Les handoffs sont natifs : déclarez-les sur l’Agent et le framework injecte automatiquement un outil transfer_to_X. Le tracing est activé par défaut et visible dans le tableau de bord OpenAI. Pour TypeScript, installez @openai/agents — même modèle, API identique.

# pip install openai-agents
from agents import Agent, Runner, handoff

triage = Agent(
    name="Triage",
    instructions="Route to the right specialist. Use handoffs; do not answer directly.",
)
billing = Agent(
    name="Billing",
    instructions="Answer billing questions only. Be precise.",
)
support = Agent(
    name="Support",
    instructions="Answer product/support questions. Be friendly.",
)

# Triage can hand off to either specialist
triage.handoffs = [handoff(billing), handoff(support)]

# Single user message, routed automatically
result = Runner.run_sync(triage, "My card was charged twice last month.")
print(result.final_output)     # handled by Billing
print(result.last_agent.name)  # -> "Billing"

# Another
result2 = Runner.run_sync(triage, "How do I reset my 2FA code?")
print(result2.final_output)    # handled by Support

Fonctionnalités clés

Agents + handoffs

Un Agent c’est un LLM + prompt système + outils. Les handoffs sont d’autres Agents enveloppés comme outils. Le routage devient « l’Agent décide quel outil de handoff appeler » — pas d’orchestrateur externe.

Tracing intégré

Chaque exécution produit une trace visible dans le tableau de bord OpenAI (platform.openai.com/traces). Visibilité au niveau du span sur les appels LLM, appels d’outils et handoffs, sans instrumentation séparée.

Guardrails

Les guardrails d’entrée et de sortie valident les messages avant/après les appels LLM. Bloquer l’injection de prompt, imposer des schémas JSON, attraper les hallucinations. API native.

Streaming + async

Runner.run_streamed émet les événements au fil de l’eau (stream de tokens, appel d’outil, handoff). Support asynchrone complet pour services à haute concurrence.

Pensée tool-first

Tout est un outil : handoffs, function calls, computer use, web search. Composable et petit. Aucune abstraction propre au framework par-dessus ce que le modèle sait déjà faire.

Parité TypeScript

SDK Python et TypeScript avec API alignées. Utile pour les backends Node.js et les déploiements Edge (Cloudflare Workers, Vercel Edge).

Comparaison

 Abstraction SizeVendor Lock-inProduction ReadyBest Fit
OpenAI Agents SDKcelui-ciTiny (handoffs as tools)OpenAI tracing tied-in; models notYes (2025)OpenAI-first apps
Swarm (2024 edu)TinyNoneNo (educational)Understanding the pattern
CrewAIMedium (roles + tasks)NoneYesRole-driven pipelines
LangGraphLarge (state graph)NoneYesComplex control flow

Cas d'usage

01. Triage du support client

Un Agent généraliste route vers des spécialistes facturation/tech/compte via des handoffs. Chaque spécialiste a uniquement les outils et instructions dont il a besoin — plus simple qu’un méga-Agent unique chargé de nombreux outils.

02. Applications centrées OpenAI

Si vous payez déjà OpenAI et utilisez l’API Responses, Agents SDK est le chemin de moindre résistance — tracing, guardrails et function calling vivent dans le même écosystème.

03. Déploiements multi-langages

Backend Python + code edge TypeScript avec des API identiques. Aucune ré-architecture pour déplacer les Agents entre runtimes.

Tarification et licence

OpenAI Agents SDK : sous licence MIT, libre d’utilisation. Pas de licence par Agent. openai-agents-python / openai-agents-js.

Tracing : inclus gratuitement avec l’usage de l’API OpenAI. Traces visibles sur platform.openai.com/traces pour tous les utilisateurs — pas d’abonnement d’observabilité séparé.

Coût modèle : vous payez l’API OpenAI sous-jacente. Les handoffs ajoutent quelques tours supplémentaires par rapport à un prompt monolithique — typiquement 20 à 40 % de tokens en plus pour une structure nettement meilleure.

Assets associés sur TokRepo

Questions fréquentes

Swarm est-il toujours maintenu ?+

Le dépôt swarm original est archivé comme référence pédagogique. Le successeur prêt pour la production est l’OpenAI Agents SDK (openai-agents-python et openai-agents-js). Les nouveaux projets devraient utiliser Agents SDK.

Agents SDK peut-il utiliser des modèles non-OpenAI ?+

Oui — l’Agent accepte n’importe quel client de modèle compatible. En pratique, la plupart des intégrations sont serrées avec OpenAI (tracing, API Responses), mais le pattern de handoff fonctionne avec n’importe quel LLM.

Agents SDK vs CrewAI — lequel choisir ?+

Agents SDK si vous privilégiez l’abstraction minimale + l’intégration OpenAI et que vos besoins de routage sont simples. CrewAI si vous voulez une modélisation plus riche par rôles/tâches et prévoyez plus que quelques Agents.

Comment se compare le tracing à LangSmith / Langfuse ?+

Le tracing d’Agents SDK est spécifique à OpenAI et gratuit dès l’installation, affichant runs, handoffs et appels d’outils. LangSmith/Langfuse sont plus généralistes et offrent des fonctions d’évaluation et de datasets plus riches. Utilisez le tracing Agents SDK pour les opérations par défaut ; ajoutez Langfuse quand vous avez besoin de workflows LLM engineering plus poussés.

L’Agents SDK supporte-t-il des guardrails contre la prompt injection ?+

Oui. Les guardrails d’entrée s’exécutent avant le LLM ; ceux de sortie après. Définissez-les comme de simples fonctions asynchrones ; lancez une exception pour bloquer l’appel. Pas une solution miracle de sécurité, mais un endroit propre pour appliquer la politique.

Comparer les alternatives