PTENES
← Ruta 5 | Módulo 5.2
Módulo 5.2

Multiagentes con TinyClaw

Orquestación de agentes especializados, comunicación asíncrona y división inteligente de responsabilidades.

1

¿Qué es la orquestación multiagente?

La orquestación multiagente es el patrón arquitectónico en el que un agente orquestador descompone tareas complejas y distribuye subtareas entre agentes especializados.

# Flujo de una tarea multiagente
Usuario: «Crea un informe sobre las tendencias de IA»
[Orquestador]
  ├─ ResearchAgent: buscar artículos y datos
  ├─ AnalysisAgent: identificar patrones
  ├─ WriteAgent: redactar secciones
  └─ ReviewAgent: revisar y dar formato
[Resultado]
  └─ Informe consolidado → Usuario
2

¿Por qué TinyClaw para múltiples agentes?

TinyClaw fue diseñado para la orquestación local sin infraestructura en la nube. Todos los agentes se ejecutan en el mismo proceso de Python y comparten memoria mediante SQLite.

Ventajas
  • · Latencia mínima (comunicación dentro del proceso)
  • · Sin costo de red entre agentes
  • · Depuración simplificada (todo en el mismo log)
Limitaciones
  • · Limitado por la CPU/RAM de una máquina
  • · No escala horizontalmente
  • · Para escalar: usa Celery o Ray
3

Arquitectura Hub-and-Spoke

El patrón principal de TinyClaw: un orquestador central (Hub) que conoce todos los agentes disponibles (Spokes) y decide cuál usar para cada subtarea.

# orchestrator.py
class
Orquestador:
  def __init__(self):
    self.agents = {}
    self.queue = asyncio.Queue()
  def register(self, name, agent):
    self.agents[name] = agent
  async def dispatch(self, task):
    agent_name = self.route(task)
    return await self.agents[agent_name].run(task)
4

Comunicación Asíncrona entre Agentes

Los agentes se comunican mediante mensajes tipados en colas asyncio. Cada mensaje tiene un tipo, un payload y un correlation_id para rastrear el contexto.

# message.py
from
dataclasses import dataclass
@dataclass
class
AgentMessage:
  type: str       # "research", "write", "review"
  payload: Any
  correlation_id: str
  priority: int = 5  # 1=alta, 10=baja
5

Especialización y división de tareas

Cada agente especializado tiene su propio SOUL.md, herramientas específicas y un modelo de IA adecuado para su función.

Agentes típicos en un sistema TinyClaw
ResearchAgentBusca en la web, lee documentos y extrae datos. Usa Claude 3.5 Sonnet.
CodeAgentEscribe y ejecuta código Python. Usa Claude 3.5 Sonnet.
WriteAgentRedacta textos largos y estructurados. Usa GPT-4o.
ReviewAgentCritica, revisa y califica la calidad. Usa Llama local para reducir costos.
6

Monitoreo y depuración multiagente

Depurar sistemas multiagente es un desafío sin las herramientas adecuadas. TinyClaw implementa la propagación de trace_id y un dashboard de monitoreo en tiempo real.

# monitor.py
class
AgentMonitor:
  metrics = defaultdict(list)
  def record(self, agent, duration, tokens, success):
    self.metrics[agent].append({
      "ts": time.time(), "dur": duration,
      "tokens": tokens, "ok": success
    })
Métricas esenciales por agente
· Latencia promedio por tarea
· Tasa de éxito/fallo
· Costo total de tokens
· Tamaño de la cola (backlog)
← Volver a la Ruta 5