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

OpenAI Swarm — patrón multi-Agent minimalista (ahora Agents SDK)

Swarm fue la referencia educativa de OpenAI en 2024 para transferencias multi-Agent ligeras. En 2025 evolucionó al OpenAI Agents SDK — el mismo patrón, endurecido para producción, con tracing y guardrails integrados.

Why Swarm / Agents SDK

La idea central de Swarm era la coordinación multi-Agent como llamadas a herramientas. Un Agent no pasa mensajes a un orquestador central — simplemente tiene una herramienta transfer_to_specialist_agent() que cambia qué Agent recibe el siguiente mensaje del usuario. Todo el framework cabe en unos cientos de líneas de Python. Se diseñó para enseñar un patrón, no para reemplazar a CrewAI o LangGraph.

El patrón fue lo bastante convincente para que OpenAI lo elevara al Agents SDK oficial en 2025 — Python + TypeScript, con funciones de producción añadidas: tracing integrado, guardrails (validación de entrada/salida), streaming, esquemas de herramientas e integración profunda con la API OpenAI Responses. El modelo mental «handoff vía llamada a herramienta» no cambia; todo lo que lo rodea está endurecido.

Elige esto cuando quieras abstracción mínima + integración estrecha con el ecosistema OpenAI. Renuncias a algo de la potencia de control de flujo de LangGraph y al modelo de roles opinionado de CrewAI a cambio de una superficie de API muy pequeña que compone con primitivas de OpenAI de forma natural.

Quick Start — Agents SDK Handoff Example

Los handoffs son de primera clase: decláralos en el Agent y el framework inyecta automáticamente una herramienta transfer_to_X. El tracing está activado por defecto y visible en el dashboard de OpenAI. Para TypeScript, instala @openai/agents — mismo modelo y API idéntica.

# 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

Características clave

Agents + handoffs

Un Agent es un LLM + prompt de sistema + herramientas. Los handoffs son otros Agents envueltos como herramientas. El enrutado es «el Agent decide qué herramienta de handoff llamar» — sin orquestador externo.

Tracing integrado

Cada ejecución produce una traza visible en el dashboard de OpenAI (platform.openai.com/traces). Visibilidad a nivel span de llamadas LLM, llamadas a herramientas y handoffs sin instrumentación aparte.

Guardrails

Los guardrails de entrada y salida validan mensajes antes/después de las llamadas LLM. Bloquear prompt injection, imponer esquemas JSON, atrapar alucinaciones. API de primera clase.

Streaming + async

Runner.run_streamed emite eventos según ocurren (stream de tokens, llamada a herramienta, handoff). Soporte async completo para servicios de alta concurrencia.

Pensamiento tool-first

Todo es una herramienta: handoffs, function calls, computer use, web search. Componible y pequeño. Sin abstracciones específicas del framework encima de lo que el modelo ya sabe.

Paridad TypeScript

SDK Python y TypeScript con APIs equiparables. Útil para backends Node.js y despliegues Edge (Cloudflare Workers, Vercel Edge).

Comparación

 Abstraction SizeVendor Lock-inProduction ReadyBest Fit
OpenAI Agents SDKestaTiny (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

Casos de uso

01. Triaje de soporte al cliente

Un Agent generalista enruta a especialistas de billing/tech/cuenta vía handoffs. Cada especialista tiene solo las herramientas e instrucciones que necesita — más simple que un mega-Agent único con muchas herramientas.

02. Apps centradas en OpenAI

Si ya pagas OpenAI y usas la API Responses, Agents SDK es el camino de menor resistencia — tracing, guardrails y function calling viven en el mismo ecosistema.

03. Despliegues multi-lenguaje

Backend Python + código edge TypeScript con APIs idénticas. Sin reingeniería al mover Agents entre runtimes.

Precios y licencia

OpenAI Agents SDK: con licencia MIT, gratuito. Sin licencia por Agent. openai-agents-python / openai-agents-js.

Tracing: incluido gratis con el uso de la API de OpenAI. Trazas visibles en platform.openai.com/traces para todos los usuarios — sin suscripción de observabilidad aparte.

Coste de modelo: pagas la API de OpenAI subyacente. Los handoffs añaden un número modesto de turnos extra frente a un prompt monolítico — típicamente 20-40% más tokens a cambio de una estructura significativamente mejor.

Activos relacionados en TokRepo

Preguntas frecuentes

¿Sigue mantenido Swarm?+

El repo original de swarm está archivado como referencia educativa. El sucesor listo para producción es OpenAI Agents SDK (openai-agents-python y openai-agents-js). Los proyectos nuevos deberían usar Agents SDK.

¿Agents SDK puede usar modelos no-OpenAI?+

Sí — el Agent acepta cualquier cliente de modelo compatible. En la práctica la mayoría de integraciones están muy ligadas a OpenAI (tracing, API Responses), pero el patrón central de handoff funciona con cualquier LLM.

Agents SDK vs CrewAI — ¿cuál elegir?+

Agents SDK si valoras la abstracción mínima + integración con OpenAI y tienes necesidades de enrutado simples. CrewAI si quieres un modelado más rico por roles/tareas y planeas usar más que unos pocos Agents.

¿Cómo se compara el tracing con LangSmith / Langfuse?+

El tracing de Agents SDK es específico de OpenAI y gratuito desde el inicio, mostrando runs, handoffs y llamadas a herramientas. LangSmith/Langfuse son más generalistas y tienen funciones de evals/datasets más ricas. Usa el tracing de Agents SDK para operaciones por defecto; añade Langfuse cuando necesites workflows de LLM engineering más profundos.

¿Agents SDK soporta guardrails contra prompt injection?+

Sí. Los guardrails de entrada corren antes del LLM; los de salida después. Defínelos como funciones asíncronas simples; lanza una excepción para bloquear la llamada. No es una bala de plata de seguridad, pero es un lugar limpio para aplicar políticas.

Comparar alternativas