¿Cómo ejecutan los desarrolladores varios agentes de programación con IA usando tmux?

Los desarrolladores que ejecutan varios agentes de programación con IA al mismo tiempo se apoyan en tmux, un multiplexor de terminal que existe desde 2007, para mantener esos agentes en funcionamiento. La herramienta permite que cada agente viva en una sesión con nombre que sigue activa después de que se cierra una ventana de terminal, se cae una conexión SSH o una laptop entra en suspensión. Una guía detallada sobre la práctica afirma que esa combinación es la razón por la que la gente lo utiliza.

La guía señala que las versiones recientes de Claude Code pueden encargarse de parte de la configuración. Ejecutar claude --worktree --tmux crea un nuevo worktree de git y una sesión de tmux para este, y se puede agregar un nombre al worktree. La bandera --tmux solo funciona junto con --worktree, por lo que es una función de worktree que, de paso, crea una sesión. En iTerm2, la bandera usa paneles nativos en lugar de tmux por defecto. Los usuarios que quieran tmux real por debajo deben pasar --tmux=classic, opción que la guía recomienda para quienes planeen automatizar scripts contra la sesión.

Más allá de ese caso de un solo agente, según la guía, los usuarios tienen que construir el resto por su cuenta. El enfoque habitual es una sesión de tmux por repositorio, con el nombre del proyecto, en lugar de una por tarea o por agente. Las tareas van y vienen, sostienen los autores, mientras que el proyecto permanece constante. Una función de shell que envuelve el comando de adjuntar o crear permite a un desarrollador ejecutar la misma línea repetidamente sin crear sesiones duplicadas.

Control de agentes desde afuera

¿Cómo controlan los scripts a los agentes de programación con IA en tmux?

Dos comandos de tmux hacen la mayor parte del trabajo. El primero, send-keys, escribe texto en un panel en ejecución como si alguien estuviera frente al teclado. Eso permite que un trabajo de cron, un hook de git u otro agente envíe una instrucción a un agente en ejecución. El segundo, capture-pane, vuelca el contenido de un panel para que un script pueda leer de vuelta la salida del agente.

La guía señala varios problemas que sorprenden a la gente. Palabras como Enter, C-c y Escape se leen como pulsaciones de teclas, a menos que el texto se envíe con la bandera literal, y el salto de línea debe ir entonces en una llamada separada. Un punto y coma en la instrucción termina el comando de tmux a menos que se escape. Los cuadros de entrada de los agentes también pueden perder un Enter que llega al mismo tiempo que el texto, por lo que la guía sugiere una pausa breve de unos 0,3 segundos entre ambos.

Los desarrolladores que quieran un registro continuo en lugar de una instantánea pueden usar pipe-pane para transmitir la salida de un panel a un archivo. La salida cruda incluye secuencias de escape de terminal, por lo que la guía recomienda eliminarlas antes de leer los registros después.

Hasta dónde llega tmux

¿Cuáles son los límites de tmux para los agentes de programación con IA?

La guía enumera varias carencias cuando tmux se usa para el trabajo con agentes. tmux no puede determinar si un agente está esperando aprobación, pensando o terminado, ya que los tres estados se ven como un panel con texto. Los desarrolladores han creado scripts de barra de estado que extraen de la pantalla frases como "esc to interrupt" para estimar el estado de un agente. La guía dice que esos scripts son frágiles, porque dependen del texto que el agente imprime en una versión determinada. Una opción más simple, el ajuste monitor-silence, emite una alerta cuando un panel se queda en silencio, pero el silencio no confirma que un agente haya terminado. Un agente que trabaja con un archivo grande también puede quedarse en silencio.

Otros límites tienen que ver con la memoria y la persistencia. Los grandes búferes de desplazamiento en muchos paneles consumen memoria real mientras el servidor esté activo. Las sesiones no sobreviven a un reinicio, y el historial de desplazamiento desaparece cuando se detiene el servidor de tmux. Además, dos agentes en sesiones separadas tampoco pueden ver el trabajo del otro sin herramientas personalizadas basadas en archivos.

La guía termina recomendando a los lectores mantener tmux para máquinas remotas, procesos de servidor de larga duración y casos en los que un enlace SSH poco confiable sea la principal preocupación. También promociona crystl, una terminal de macOS que la guía describe como diseñada para ejecutar muchos agentes al mismo tiempo. Según la guía, crystl muestra las solicitudes de aprobación como tarjetas, presenta el estado de cada sesión en un solo panel, guarda la salida de los agentes como registros estructurados y usa worktrees de git para aislar sesiones dentro del mismo repositorio. La guía presenta estas funciones como respuestas a los límites de tmux que describe, y las afirmaciones provienen de los autores de la guía y no de pruebas independientes.

Cet article a été rédigé avec l'assistance de l'IA.
News Factory APP - actualités agentiques pour booster votre SEO et AEO.