Ejecutar múltiples agentes de IA en paralelo
Qué cubre este artículo sobre múltiples agentes
- Cómo ejecutar varios agentes de IA en paralelo.
- Orquestación, balanceo de carga y gestión de recursos.
- Cómo especializar agentes para diferentes tareas.
- Ejemplos prácticos de sistemas multi-agente.
- Mejores prácticas para escalabilidad y confiabilidad.
Introducción: múltiples agentes explicados
Múltiples agentes significa esto: en lugar de un único agente para todo, necesitas agentes especializados para diferentes tareas. Un agente de investigación, uno de análisis, otro de redacción. Trabajan en paralelo o de forma secuencial, coordinados por un orquestador.
Este artículo está dirigido a usuarios avanzados que deseen construir sistemas multi-agente. Encontrarás los conceptos básicos en Sistemas multi-agente y Ejecutar agentes de IA localmente.
Por qué necesito múltiples agentes
Imagina que quieres escribir un artículo: un agente investiga, un segundo analiza, un tercero redacta, un cuarto revisa. Cada agente se especializa en su tarea, todos trabajan en paralelo. Esto es más rápido y produce mejores resultados que un único agente que intenta hacerlo todo.
Múltiples agentes en pocas palabras
Sistema multi-agente = agentes especializados + orquestador. Cada agente tiene una tarea, el orquestador coordina. Paralelo para velocidad, secuencial para dependencias.
La idea central es simple: especialización en lugar de generalización.
Para quién está pensado este artículo
- Usuarios avanzados que construyen sistemas multi-agente.
- Equipos que automatizan workflows complejos.
- Desarrolladores que orquestan agentes especializados.
- Equipos de producción que operan muchos agentes.
Términos importantes
- Sistemas multi-agente - Múltiples agentes. Cuándo es útil: entender el concepto.
- Sistemas de agentes - Sistemas. Cuándo es útil: para arquitectura.
- Ollama - Servidor de modelos. Cuándo es útil: para modelos.
- vLLM - Para rendimiento. Cuándo es útil: para muchas solicitudes paralelas.
- Docker - Para despliegue. Cuándo es útil: para contenedores.
Arquitectura
Orquestador (coordina)
│
├─ Agente 1: Investigación (Ollama)
├─ Agente 2: Análisis (Ollama)
├─ Agente 3: Redacción (Ollama)
└─ Agente 4: Revisión (Ollama)
│
▼
Combinar resultados
│
▼
Salida final
Ejemplo práctico: pipeline de contenido
import asyncio
from openai import AsyncOpenAI
class ContentPipeline:
"""Pipeline multi-agente para contenido"""
def __init__(self):
self.client = AsyncOpenAI(
base_url="http://ollama:11434/v1",
api_key="not-needed"
)
async def run(self, topic):
"""Ejecutar pipeline"""
# Paralelo: investigación + análisis
research, analysis = await asyncio.gather(
self.research_agent(topic),
self.analysis_agent(topic)
)
# Secuencial: redacción (requiere investigación + análisis)
draft = await self.writer_agent(topic, research, analysis)
# Paralelo: revisión + formato
review, formatted = await asyncio.gather(
self.review_agent(draft),
self.format_agent(draft)
)
return {
"draft": draft,
"review": review,
"formatted": formatted
}
async def research_agent(self, topic):
"""Agente de investigación"""
response = await self.client.chat.completions.create(
model="llama3.1",
messages=[{"role": "user", "content": f"Investiga: {topic}"}]
)
return response.choices[0].message.content
async def analysis_agent(self, topic):
"""Agente de análisis"""
response = await self.client.chat.completions.create(
model="llama3.1",
messages=[{"role": "user", "content": f"Analiza: {topic}"}]
)
return response.choices[0].message.content
Ejemplo práctico: Docker para múltiples agentes
version: "3.8"
services:
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
networks:
- agent_net
agent-research:
build: ./agents/research
environment:
- OLLAMA_URL=http://ollama:11434
- AGENT_ROLE=research
networks:
- agent_net
agent-analysis:
build: ./agents/analysis
environment:
- OLLAMA_URL=http://ollama:11434
- AGENT_ROLE=analysis
networks:
- agent_net
agent-writer:
build: ./agents/writer
environment:
- OLLAMA_URL=http://ollama:11434
- AGENT_ROLE=writer
networks:
- agent_net
orchestrator:
build: ./orchestrator
ports:
- "8000:8000"
environment:
- OLLAMA_URL=http://ollama:11434
- AGENTS=research,analysis,writer
depends_on:
- ollama
- agent-research
- agent-analysis
- agent-writer
networks:
- agent_net
volumes:
ollama_data:
networks:
agent_net:
driver: bridge
Gestión de recursos
# Para muchos agentes en paralelo: usa vLLM en lugar de Ollama
# vLLM agrupa solicitudes de forma eficiente
# O: múltiples instancias de Ollama
OLLAMA_INSTANCES = [
"http://ollama-1:11434",
"http://ollama-2:11434",
"http://ollama-3:11434"
]
# Round-Robin para balanceo de carga
def get_ollama_url():
import random
return random.choice(OLLAMA_INSTANCES)
Notas de seguridad
- Aislamiento: cada agente debe ejecutarse de forma aislada en su propio contenedor o proceso.
- Permisos: cada agente debe tener solo los permisos necesarios.
- Comunicación: los agentes deben comunicarse de forma segura usando una red interna.
- Monitoreo: supervisa todos los agentes. Consulta Registro de eventos.
Errores comunes
- Demasiados agentes: más agentes significa más complejidad. Comienza con 2-3.
- Sin orquestación: los agentes necesitan un orquestador para coordinarse.
- Cuellos de botella de recursos: muchos agentes requieren mucha GPU y RAM. Dimensiona correctamente.
- Deadlocks: los agentes pueden bloquearse mutuamente. Establece timeouts.
- Sin plan B: si un agente falla, el sistema debe continuar funcionando.
Enlaces relacionados
- Sistemas multi-agente - Conceptos.
- Ejecutar agentes de IA localmente - Descripción general.
- vLLM - Para rendimiento.
- Docker - Para despliegue.
- CrewAI - Framework multi-agente.
- AutoGen - Framework multi-agente.
Puntos clave:
- Múltiples agentes = agentes especializados + orquestador.
- Paralelo para velocidad, secuencial para dependencias.
- vLLM para muchas solicitudes en paralelo, Docker para despliegue.
- Para workflows complejos: los sistemas multi-agente son poderosos.
- La gestión de recursos y la orquestación son críticas.
Preguntas frecuentes
¿Qué es un sistema multi-agente?
¿Cuándo necesito múltiples agentes?
¿Paralelo o secuencial?
¿Cuántos recursos necesito?
¿Cómo orquesto agentes?
¿Docker para múltiples agentes?
¿Cuánto cuesta?
¿Cómo escalo?
Fuentes y lecturas recomendadas
- CrewAI - Framework multi-agente.
- AutoGen - Framework multi-agente.
- vLLM - Inferencia de alto rendimiento.
- Ollama - Servidor de modelos.


