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 SupportCaracterí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 Size | Vendor Lock-in | Production Ready | Best Fit | |
|---|---|---|---|---|
| OpenAI Agents SDKesta | Tiny (handoffs as tools) | OpenAI tracing tied-in; models not | Yes (2025) | OpenAI-first apps |
| Swarm (2024 edu) | Tiny | None | No (educational) | Understanding the pattern |
| CrewAI | Medium (roles + tasks) | None | Yes | Role-driven pipelines |
| LangGraph | Large (state graph) | None | Yes | Complex 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
Swarmclaw — Self-Hosted Multi-Agent Runtime + MCP
Self-hosted multi-agent runtime with memory, delegation, schedules, and MCP tools. Run swarms via web dashboard or CLI. Verified 481★; pushed 2026-05-14.
MiroFish — Universal Swarm Intelligence Prediction Engine
An open-source swarm intelligence engine that uses multi-agent simulation and knowledge graphs to predict trends in social, financial, and public opinion domains.
Strands Agents TS SDK — Agent + Tools + Swarm
Strands Agents TS SDK provides an Agent runtime, model providers (Bedrock/OpenAI), tool helpers, and Graph/Swarm patterns for TypeScript workflows.
SwarmVault — Local-First LLM Wiki + Graph
SwarmVault turns docs/code/transcripts into a durable Markdown wiki plus a local knowledge graph for agents, with a 30-second `quickstart` CLI path.
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.