En este tutorial, creamos un sistema multiagente avanzado pero práctico utilizando OpenAI Swarm que se ejecuta en Colab. Demostramos cómo podemos orquestar agentes especializados, como un agente de clasificación, un agente SRE, un agente de comunicaciones y un crítico, para manejar de forma colaborativa un escenario de incidente de producción del mundo real. Al estructurar las transferencias de agentes, integrar herramientas livianas para la recuperación de conocimientos y la clasificación de decisiones, y mantener la implementación limpia y modular, mostramos cómo Swarm nos permite diseñar flujos de trabajo agentes controlables sin marcos pesados ni infraestructura compleja. Consulta los CÓDIGOS COMPLETOS AQUÍ.
Configuramos el entorno y cargamos de forma segura la clave API de OpenAI para que el portátil pueda ejecutarse de forma segura en Google Colab. Nos aseguramos de que la clave se obtenga de los secretos de Colab cuando esté disponible y, de lo contrario, recurriremos a un mensaje oculto. Esto mantiene la autenticación simple y reutilizable entre sesiones. Consulta los CÓDIGOS COMPLETOS AQUÍ.
Importamos las utilidades principales de Python e inicializamos el cliente Swarm que organiza todas las interacciones de los agentes. Este fragmento establece la columna vertebral del tiempo de ejecución que permite a los agentes comunicarse, transferir tareas y ejecutar llamadas a herramientas. Sirve como punto de entrada para el flujo de trabajo de múltiples agentes. Consulta los CÓDIGOS COMPLETOS AQUÍ.
{
“id”: “kb-incident-001”,
“title”: “API Latency Incident Playbook”,
“text”: “If p95 latency spikes, validate deploys, dependencies, and error rates. Rollback, cache, rate-limit, scale. Compare p50 vs p99 and inspect upstream timeouts.”
},
{
“id”: “kb-risk-001”,
“title”: “Risk Communication Guidelines”,
“text”: “Updates must include impact, scope, mitigation, owner, and next update. Avoid blame and separate internal vs external messaging.”
},
{
“id”: “kb-ops-001”,
“title”: “On-call Handoff Template”,
“text”: “Include summary, timeline, current status, mitigations, open questions, next actions, and owners.”
},
]
def _normalize(s: str) -> Lista[str]: devolver re.sub(r”[^a-z0-9\s]”, ” “, s.lower()).split() def search_kb(query: str, top_k: int = 3) -> str: q = set(_normalize(query)) scoring = []
para d en KB_DOCS: puntuación = len(q.intersection(set(_normalize(d[“title”] + ” ” + d[“text”])))) anotado.append((puntuación, d)) anotado.sort(clave=lambda x: x[0]reverso=Verdadero) documentos = [d for s, d in scored[:top_k] si s > 0]o [scored[0][1]]devolver json.dumps(docs, sangría=2)
Definimos una base de conocimiento interna liviana e implementamos una función de recuperación para mostrar el contexto relevante durante el razonamiento del agente. Al utilizar coincidencias simples basadas en tokens, permitimos a los agentes fundamentar sus respuestas en documentos operativos predefinidos. Esto demuestra cómo se puede aumentar Swarm con memoria específica de dominio sin dependencias externas. Consulta los CÓDIGOS COMPLETOS AQUÍ.
para o en opciones: conf = float(o.get(“confianza”, 0.5)) riesgo = o.get(“riesgo”, “medio”) penalización = {“bajo”: 0.1, “medio”: 0.25, “alto”: 0.45}.get(riesgo, 0.25) ranking.append({ “opción”: o.get(“opción”), “confianza”: conf, “riesgo”: riesgo, “puntuación”: round(conf – penalización, 3) }) ranking.sort(key=lambda x: x[“score”]reverso=Verdadero) devuelve json.dumps(clasificación, sangría=2)
Presentamos una herramienta estructurada que evalúa y clasifica las estrategias de mitigación en función de la confianza y el riesgo. Esto permite a los agentes ir más allá del razonamiento libre y producir decisiones semicuantitativas. Mostramos cómo las herramientas pueden imponer coherencia y disciplina en las decisiones en los resultados de los agentes. Consulta los CÓDIGOS COMPLETOS AQUÍ.
Definimos funciones de transferencia explícitas que permiten a un agente transferir el control a otro. Este fragmento ilustra cómo modelamos la delegación y la especialización dentro de Swarm. Hace que el enrutamiento de agente a agente sea transparente y fácil de ampliar. Consulta los CÓDIGOS COMPLETOS AQUÍ.
) sre_agent = Agente( name=”SRE”, model=”gpt-4o-mini”, instrucciones=””” Produzca una respuesta estructurada ante incidentes con pasos de clasificación, mitigaciones clasificadas, hipótesis clasificadas y un plan de 30 minutos. “””, funciones=[search_kb, estimate_mitigation_impact]
) comms_agent = Agente( nombre=”Comms”, modelo=”gpt-4o-mini”, instrucciones=””” Producir una actualización de cliente externa y una actualización técnica interna. “””, funciones=[search_kb]
) handoff_writer_agent = Agente( name=”HandoffWriter”, model=”gpt-4o-mini”, instrucciones=””” Produzca un documento de transferencia de guardia limpio con encabezados estándar. “””, funciones=[search_kb]
) critic_agent = Agente( nombre=”Crítico”, modelo=”gpt-4o-mini”, instrucciones=””” Critica la respuesta anterior, luego produce una versión final refinada y una lista de verificación. “”” )
Configuramos múltiples agentes especializados, cada uno con una responsabilidad y un conjunto de instrucciones claramente definidos. Al separar la clasificación, la respuesta a incidentes, las comunicaciones, la redacción de traspasos y la crítica, demostramos una división clara del trabajo. Consulta los CÓDIGOS COMPLETOS AQUÍ.
r1 = cliente.ejecutar(agente=triage_agent, mensajes=mensajes, max_turns=8) mensajes2 = r1.messages + [{“role”: “user”, “content”: “Review and improve the last answer”}]
r2 = client.run(agente=critic_agent, mensajes=mensajes2, max_turns=4) devuelve r2.messages[-1][“content”]
request = “”” La latencia de producción de p95 aumentó de 250 ms a 2,5 s después de una implementación. Los errores aumentaron ligeramente, la CPU de base de datos se mantuvo estable, los tiempos de espera ascendentes aumentaron. Proporcionar un plan de acción de 30 minutos y una actualización para el cliente. “”” print(run_pipeline(request))
Montamos el proceso de orquestación completo que ejecuta la clasificación, el razonamiento especializado y el refinamiento crítico en secuencia. Este fragmento muestra cómo ejecutamos el flujo de trabajo de un extremo a otro con una única llamada a función. Reúne a todos los agentes y herramientas en un sistema agente coherente de estilo de producción.
En conclusión, establecimos un patrón claro para diseñar sistemas orientados a agentes con OpenAI Swarm que enfatiza la claridad, la separación de responsabilidades y el refinamiento iterativo. Mostramos cómo enrutar tareas de manera inteligente, enriquecer el razonamiento de los agentes con herramientas locales y mejorar la calidad de los resultados a través de un bucle crítico, todo ello manteniendo una configuración sencilla y compatible con Colab. Este enfoque nos permite escalar desde la experimentación hasta casos de uso operativos reales, lo que convierte a Swarm en una base poderosa para crear flujos de trabajo de IA agentes confiables y de grado de producción.
Consulta los CÓDIGOS COMPLETOS AQUÍ. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 100.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.
Asif Razzaq es el director ejecutivo de Marktechpost Media Inc.. Como empresario e ingeniero visionario, Asif está comprometido a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad del aprendizaje automático y las noticias sobre aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.