Ir al contenido
use-cases / agents-spawn-agents / hero
AGENT · EXEC · CONTAINERS

Agentes de IA que generan otros agentes de IA

Un agente de investigación recibe un prompt complejo. En lugar de hacerlo todo él mismo, hace POST a la API de containers y recibe tres URLs de sub-agentes. Cada sub-agente puede generar sus propios sub-agentes. Ninguno sabe de un orchestrator. Solo se llaman entre sí por HTTP.

research-agentscrapesummarizefact-checkfetch-arxivfetch-newssummary-1summary-2verify-claim-1verify-claim-2verify-claim-3
use-cases / agents-spawn-agents / layers

Tres capas, un protocolo

Cada nodo en el árbol es un contenedor de Hoody con un servicio hoody-agent. Padres e hijos solo se conocen por URL. No hay un planificador central observando desde arriba.

PADRE

El agente de investigación

Recibe el prompt. Decide qué subtareas distribuir. Hace POST a la API de containers para generar un nuevo contenedor por sub-agente, luego llama al endpoint /api/v1/agent/tasks de cada uno con el trozo de trabajo que le corresponde.

SUB-AGENTE

Scrape, summarize, fact-check

Cada uno corre en su propio contenedor con su propio filesystem, terminal y SQLite. Ninguno puede corromper a los otros. Cualquiera puede decidir que necesita ayuda y generar sus propios hijos del mismo modo en que lo hizo el padre. El protocolo es simétrico.

NIETO

Verificadores por afirmación

El fact-checker ve cinco afirmaciones, genera cinco contenedores en paralelo, dispara cinco peticiones HTTP, espera cinco respuestas. Mismo patrón, un nivel más abajo. Los contenedores ociosos no cuestan nada, así que los árboles profundos son económicamente gratis.

use-cases / agents-spawn-agents / mechanism

Generar un sub-agente es una llamada HTTP

No hay runtime de agente que instalar, ni bus de mensajes que configurar, ni estado compartido que sincronizar. El agente padre usa la misma API de Containers que usaría un humano: POST para crear, luego llamar a la URL del hijo.

research-agent / spawn-children.ts
// Parent agent (running in its own Hoody container).
// Spawn three sub-agents, hand each one a slice of work,
// await their results in parallel.

const HOODY = 'https://api.hoody.com';

async function spawnChild(name) [
  // 1. Create a fresh container with the agent service running.
  const res = await fetch(HOODY + '/api/v1/projects/' + PROJECT + '/containers', [
    method: 'POST',
    headers: [ authorization: 'Bearer ' + TOKEN ],
    body: JSON.stringify([
      name,
      server_id: SERVER,
      container_image: 'debian-12',
      hoody_kit: true,
      ai: true,
    ]),
  ]);
  const child = (await res.json()).data;
  // 2. Hit the child's agent URL like any other HTTP service.
  const agentUrl = 'https://' + PROJECT + '-' + child.id + '-agent-1.' + SERVER + '.containers.hoody.com';
  return [ id: child.id, agentUrl ];
]

const [scrape, summarize, factCheck] = await Promise.all([
  spawnChild('scrape'),
  spawnChild('summarize'),
  spawnChild('fact-check'),
]);

// 3. Dispatch tasks. Each child runs autonomously,
//    can spawn its own children the same way.
const results = await Promise.all([
  fetch(scrape.agentUrl + '/api/v1/agent/tasks', [ method: 'POST', body: JSON.stringify([ description: scrapeBrief ]) ]),
  fetch(summarize.agentUrl + '/api/v1/agent/tasks', [ method: 'POST', body: JSON.stringify([ description: summarizeBrief ]) ]),
  fetch(factCheck.agentUrl + '/api/v1/agent/tasks', [ method: 'POST', body: JSON.stringify([ description: factCheckBrief ]) ]),
]);

Ambos endpoints son APIs documentadas de Hoody: POST /api/v1/projects/$PID/containers genera un nuevo contenedor con el servicio agent preinstalado; POST $CHILD_URL/api/v1/agent/tasks le envía una tarea. El fact-checker puede correr exactamente el mismo código para generar sus propios verificadores por afirmación — la recursión es solo HTTP.

use-cases / agents-spawn-agents / compare

No hace falta framework de orquestador

Cada framework de agentes es una capa fina sobre llamadas a funciones en proceso. Todos asumen que los agentes comparten memoria, comparten Python, comparten un único runtime. Hoody asume lo contrario: los agentes son computadoras separadas y HTTP es ya el protocolo que hablan.

LO QUE INSTALAS HOYLO QUE LO REEMPLAZA
  • LangGraphDAG que conectas en Python
  • CrewAIobjetos “crew” en proceso
  • AutoGenbus de mensajes + config de roles
  • Agentes de LangChainwrappers de herramientas + ejecutores
  • Pipelines de Haystackspec de grafo por workflow
  • Orquestador a medidacola, reintentos, pegamento que mantienes
UNA PRIMITIVA

POST /api/v1/projects/$PID/containers

fetch(child.url + '/api/v1/agent/tasks')

Dos llamadas HTTP por hijo. El padre no importa un framework, no registra una herramienta, no comparte estado. Cada sub-agente es un par con una URL — misma forma que el padre, misma forma que llamarías a cualquier otro servicio HTTP.

use-cases / agents-spawn-agents / punchline

Cada agente es un par con una URL. Se llaman entre sí del mismo modo que cualquier servicio HTTP llama a cualquier otro servicio HTTP.

No hay orquestador. No hay bus de mensajes. No hay estado compartido que sincronizar. Lo único que limita cuántos agentes corres en paralelo es cuánto quieres gastar — y los contenedores ociosos no cuestan nada.

sin frameworksolo HTTP
use-cases / agents-spawn-agents / replaces

Qué reemplaza esto

Los frameworks de orquestación y servicios de runtime efímero a los que recurre la gente cuando un agente no basta. Cada uno resuelve una porción del problema. La primitiva HTTP-nativa reemplaza la porción y el framework envuelto a su alrededor.

  • LangChainWrappers de herramientas, ejecutores, pegamento por proveedor
  • LangGraphDAG de agentes que ensamblas en Python
  • CrewAIObjetos crew en proceso, runtime único
  • AutoGenBus de mensajes + configuración de roles
  • Sandboxes E2BExec efímero sin un home persistente
  • Runners de Modal / ReplicateCold start por llamada, sin URL de larga duración
  • Orquestadores a medidaColas, reintentos, observabilidad que mantienes
use-cases / agents-spawn-agents / cta

Deja de cablear grafos de agentes. Genera uno. Deja que él genere los demás.

use-cases / agents-spawn-agents / related

Lee los otros