Inteligencia Artificial

CLIs para orquestar agentes de IA en tu terminal

Autorangel cruz
Publicado
Lectura6 min de lectura
CLIs para orquestar agentes de IA en tu terminal

Hoy no hay un solo agente de CLI: están Claude Code, Codex, Gemini CLI, Amp, OpenCode y más. Cuando empiezas a correr varios a la vez (más tu servidor, tus workers, tu base de datos), necesitas una capa que los ejecute y coordine desde un solo lugar: eso es orquestar agentes. Este artículo te explica qué es, de qué piezas se compone y con qué herramientas se hace.

El problema: nueve pestañas de terminal

Correr cada agente y cada proceso en su propia pestaña termina en caos: pierdes de vista qué crasheó, copias contexto a mano entre ventanas y no hay coordinación. Cada agente arranca de cero, sin saber qué decidió el de al lado. La orquestación resuelve justo eso: una superficie donde todo vive junto y los agentes pueden colaborar en vez de trabajar aislados.

Qué significa orquestar agentes

Orquestar es más que abrir varios agentes: es que compartan contexto y se repartan el trabajo sin pisarse. El patrón más común es líder-worker: un agente líder descompone una tarea, lanza subagentes o agentes worker, espera sus resultados y los integra. Cada worker trabaja en su parte y devuelve un resumen; el líder decide el siguiente paso.

Para que eso funcione hacen falta tres cosas que no trae un agente suelto: un lugar donde correr todos juntos, una forma de compartir memoria, y un bucle que decida cuándo seguir y cuándo parar. Vamos por partes.

Las piezas de la orquestación

El metaharness

La pieza que da el "lugar donde correr" es el metaharness: la capa por encima de cada agente que les da un espacio compartido y las primitivas para coordinarse. El ejemplo que uso es Solo (SoloTerm): corre Claude Code, Codex, Gemini y tu stack en un solo workspace, y deja que un agente líder lance otros y los coordine con scratchpads, locks y timers a través de MCP.

Las primitivas de coordinación son las herramientas concretas que evitan el caos: notas compartidas (scratchpads) para pasarse contexto, locks para que dos agentes no toquen el mismo archivo a la vez, y estado común para saber en qué va cada uno. Casi siempre se exponen vía MCP, que es el protocolo estándar por el que un agente habla con herramientas externas.

La memoria compartida

Los scratchpads sirven dentro de una sesión, pero si quieres que lo aprendido persista entre sesiones y entre agentes, necesitas una capa de memoria de verdad. Aquí encaja algo como MentisDB: una memoria durable, encadenada por hash, que varios agentes consultan y actualizan vía MCP. Con memoria compartida, la decisión de arquitectura que tomó un agente el lunes sigue disponible para toda la flota el viernes, en vez de perderse al cerrar la terminal.

El bucle

Un agente orquestado no hace una sola pasada: itera. Ejecuta, revisa el resultado, corrige y vuelve a intentar hasta terminar. Esa mecánica (el bucle y, sobre todo, cuándo parar) es lo que se llama loop engineering, y su expresión más conocida es el Ralph loop: dejar a un agente iterando sobre una tarea con un criterio claro de "listo". Orquestar bien es, en buena parte, diseñar ese bucle para que no se quede dando vueltas ni se detenga antes de tiempo.

Herramientas y frameworks

Hay tres formas de orquestar, según qué tanto control quieras en código:

  • Metaharness listo para usar. Solo (SoloTerm) es el caso claro: abres un workspace, corren tus agentes y tu stack juntos, y coordinas sin escribir código de orquestación. Ideal cuando quieres los beneficios sin montar la infraestructura.
  • Framework en código. Cuando necesitas control fino, un framework como CloudLLM (de Angel Leon / CloudLLM-ai, escrito en Rust) te deja definir equipos de agentes, sesiones por agente y modos de ejecución, incluido un modo RALPH que implementa justo ese bucle de iteración autónoma. Aquí tú programas la orquestación en vez de delegarla a un workspace.
  • Orquestación con aislamiento (sandbox). Si quieres correr varios agentes en paralelo sin que se pisen ni toquen tu working directory, Sandcastle (de Matt Pocock, TypeScript) los ejecuta en sandboxes aislados (Docker, Podman o microVMs en la nube) con una sola llamada sandcastle.run(), y luego integra su trabajo de vuelta por ramas de git según la estrategia que elijas. Compatible con Claude Code, Codex, Cursor, OpenCode y Copilot. Es la opción cuando el riesgo (agentes autónomos tocando tu código) importa tanto como la coordinación.

La elección no es religiosa: un metaharness te lleva lejos sin fricción; un framework te da la palanca cuando el flujo se vuelve complejo o quieres integrarlo en tu propia aplicación; y el aislamiento en sandbox gana cuando corres agentes en paralelo y no quieres que toquen tu máquina directamente.

¿Cuándo lo necesitas?

  • Si corres un solo agente para tareas puntuales: no te hace falta, con tu terminal basta.
  • Si corres varios agentes o quieres que tu stack arranque y se mantenga solo mientras los agentes trabajan: ahí la orquestación te ahorra el babysitting.
  • Si necesitas que lo aprendido persista entre sesiones y entre agentes: suma una capa de memoria compartida a la orquestación.

No es una herramienta que "deberías usar porque sí". Es la respuesta a un problema concreto: demasiadas piezas moviéndose a la vez para coordinarlas a mano.

Preguntas frecuentes

¿Qué significa orquestar agentes de IA?

Ejecutar y coordinar varios agentes desde un solo lugar, de forma que compartan contexto y se repartan el trabajo sin pisarse, en vez de correr cada uno aislado en su pestaña.

¿Qué herramienta uso para orquestar agentes en la terminal?

Un metaharness como Solo (SoloTerm), que corre varios agentes de CLI (Claude Code, Codex, Gemini, etc.) en un workspace y los coordina vía MCP. Si necesitas control en código, un framework como CloudLLM.

¿Cuál es la diferencia entre orquestar y usar subagentes?

Los subagentes son una pieza de la orquestación: el agente líder los lanza para repartir trabajo. Orquestar es el sistema completo, que además incluye dónde corren, cómo comparten memoria y el bucle que decide los siguientes pasos.

¿Cómo comparten contexto los agentes?

A través de primitivas de coordinación (notas compartidas, locks, estado común) expuestas normalmente vía MCP. Para que persista entre sesiones se añade una capa de memoria durable como MentisDB.

¿Necesito orquestar si solo uso Claude Code?

No necesariamente. Si trabajas con un solo agente para tareas puntuales, tu terminal basta. La orquestación gana cuando corres varios agentes o todo tu stack a la vez.

Cierre

Orquestar agentes no es un lujo de laboratorio: es lo que separa "tengo nueve pestañas y rezo" de "un líder reparte el trabajo, todos comparten memoria y el bucle sabe cuándo parar". Empieza por un metaharness como Solo si quieres resultados sin montar infraestructura, y pásate a un framework en código cuando el flujo lo pida. Y si quieres entender la mecánica del bucle que hay debajo, sigue por el Ralph loop.