Ir al contenido
use-cases / five-agents-five-pipes-one-verdict / hero
PIPE · CONTAINERS · MULTI-AGENTE

Cinco agentes, cinco pipes, un veredicto

Quieres que un panel de modelos revise la misma entrada. Cinco contenedores, cinco proveedores distintos, cinco opiniones. El framework de orquestación normalmente se inventa cien líneas para coordinar esto. Tú no las escribes — cada agente tiene su propia ruta de pipe, y el juez hace curl a los cinco en paralelo.

Leer la API de pipe
use-cases / five-agents-five-pipes-one-verdict / mechanism

Cinco contenedores, cinco rutas, un juez

Cada agente corre en su propio contenedor con su propio handle de modelo. Cada uno transmite su veredicto a su propia ruta de pipe. El proceso juez hace curl a las cinco rutas en paralelo — el pipe retiene cada veredicto hasta que el juez se conecta, y entonces transmite los bytes. Sin bus de mensajes, sin framework de orquestación, sin grafo de callbacks.

El bucle de orquestación4 PASOS · SIN BROKER
0101 · BROADCAST

Envía el mismo prompt a cinco contenedores

Cinco contenedores arrancan en paralelo, cada uno con un handle de modelo distinto. El juez hace POST del prompt al endpoint de cada contenedor a la vez.

0202 · STREAM

Cada agente escribe en su propia ruta de pipe

Mientras el modelo piensa, el agente vuelca su veredicto en pipe/agent-N con PUT. El pipe retiene los bytes — sin disco, sin broker — hasta que alguien los saca con curl.

0303 · FAN-IN

El juez hace curl a las cinco rutas en paralelo

GET pipe/agent-1 hasta pipe/agent-5 con un curl cada uno. El pipe enruta los bytes de cada agente al juez en cuanto ambos extremos se conectan.

0404 · RECUENTO

Parsea los veredictos, devuelve el resultado

El juez lee JSON de cada ruta, cuenta los votos, devuelve la mayoría. Cinco contenedores, una ruta HTTP cada uno, sin SDK entre ellos.

judge.sh
#!/usr/bin/env bash
set -euo pipefail

PROMPT='review this PR for security issues'
AGENTS=(claude-sonnet gpt-4o gemini llama mixtral)
BASE=https://pipe.hoody.com/api/v1/pipe

# Each container streams its verdict into its own path.
# Five paths fan-in to one judge — no broker, no SDK.
for i in "$[!AGENTS[@]]"; do
  N=$((i + 1))
  curl -s -X POST "https://agent-$N.hoody.com/v1/run" \
    -d "[\"prompt\": \"$PROMPT\", \"sink\": \"$BASE/agent-$N\"]" &
done

# Read all five verdicts in parallel.
VERDICTS=()
for i in 1 2 3 4 5; do
  VERDICTS+=("$(curl -s "$BASE/agent-$i")")
done
wait

# Tally — majority wins.
printf '%s\n' "$[VERDICTS[@]]" \
  | jq -r .verdict \
  | sort | uniq -c | sort -rn | head -1

PUT empuja cada veredicto hacia arriba. GET tira de cada uno hacia abajo. El pipe es el cable — los bytes se mueven del agente al juez en cuanto ambos se conectan, con backpressure manejado por ruta. Para añadir un sexto agente, arrancas un sexto contenedor y añades una sexta línea al bucle.

use-cases / five-agents-five-pipes-one-verdict / angles

Tres lecturas del mismo panel

El mecanismo es una sola forma — cinco contenedores, cinco rutas, un juez — pero el valor se lee distinto según contra qué intentes ganar.

PARA EL INGENIERO SENIOR PEREZOSO

Deja de cablear CrewAI solo para preguntar a tres modelos

No necesitas un framework de orquestación para enviar un prompt a cinco APIs y promediar las respuestas. Un bucle bash con cinco curls ya lo hace. El ensemble de agentes siempre fueron cinco llamadas HTTP disfrazadas.

PARA EL CONSTRUCTOR DE AGENTES

Cambia un modelo en caliente sin tocar el orquestador

Añadir un agente: otro contenedor, otra ruta de pipe, una línea más en el fetch paralelo del juez. Quitar uno: matas el contenedor, eliminas la línea. No hay nada que reconfigurar — sin bus de mensajes, sin grafo de callbacks, sin migración de esquema.

PARA EL PM CONSCIENTE DEL COSTE

Corre cinco modelos, paga por un solo resultado

Los modelos baratos transmiten primero; los caros solo terminan cuando el consenso no está claro. Como cada agente es un contenedor separado con su propio pipe, puedes cortocircuitar el panel en cuanto tres coincidan — sin estado compartido, sin RPC de aborto, simplemente cierra los pipes.

use-cases / five-agents-five-pipes-one-verdict / punchline

Cada agente recibe una ruta. La ruta es el cable.

Cinco proveedores de modelo, cinco contenedores, cinco rutas HTTP — y un juez que cabe en veinte líneas de bash. El framework de orquestación siempre fingió que HTTP no existía.

5 rutas
  • pipe/agent-claude
    bloquear
  • pipe/agent-gpt
    bloquear
  • pipe/agent-gemini
    bloquear
  • pipe/agent-llama
    bloquear
  • pipe/agent-mixtral
    aprobar
1 veredicto
bloquear · 4/5 coinciden

El juez lee cada ruta, cuenta los votos, devuelve la mayoría. Para añadir un agente, arrancas un contenedor y añades una ruta. No hay bus de mensajes que reconfigurar.

Leer los docs de pipe
use-cases / five-agents-five-pipes-one-verdict / replaces

Lo que esto reemplaza

Cada framework de aquí trae su propio concepto de "agente" más una forma específica del proveedor de que un agente hable con otro. El pipe colapsa esa superficie a HTTP — una ruta por agente, curl en ambas direcciones.

  • LangChain agent ensemblesGrafos de callbacks, lock-in del framework
  • CrewAI multi-agentRoles, tareas, torre de abstracción
  • AutoGen agent panelsHistorial de conversación, SDK del proveedor
  • Orquestadores de votación a medidaColas y código fan-in hechos a mano
  • OpenAI Assistants threadingEspecífico del proveedor, vendor único
  • Pipelines de HaystackDAG que mantener para un solo prompt
use-cases / five-agents-five-pipes-one-verdict / cta

No necesitas un orquestador. Necesitas cinco contenedores y cinco rutas de pipe. El juez son veinte líneas de bash.

Leer la API de pipe
use-cases / five-agents-five-pipes-one-verdict / related

Lee los otros