Skip to main content
Volver al blog
Blog

Mission Control: nunca pierdas el rastro de qué agente te necesita

Ejecutar seis agentes significa que el lienzo deja de responder a la única pregunta que importa — quién te necesita ahora mismo. Así es como la agrupación por estado de Fleet y la cola de pregunta pendiente lo arreglan.

Dos agentes en un lienzo son fáciles de vigilar. Seis son un problema distinto. El lienzo es una disposición espacial — tiles esparcidos por donde los soltaras — pero la pregunta que realmente necesitas que respondan no es "dónde está todo", es "quién está bloqueado por mí ahora mismo". La disposición espacial no responde a una pregunta de estado. Acabas escaneando tile por tile, y escanear no escala.

Ese es el problema de gestión de atención que aparece en el momento en que pasas de correr un agente a orquestar una flota de ellos. Un mensaje de permiso sin responder tres pantallas a la izquierda no te cuesta nada mientras estás concentrado en el tile cuatro — hasta que notas, diez minutos después, que un agente ha estado inactivo todo ese tiempo esperando un sí/no que nunca viste.

La respuesta de MadoHub es Mission Control, el panel de Fleet. Vale la pena recorrer cómo funciona realmente, porque las decisiones de diseño se mapean directamente sobre el problema.

Cómo lo gestiona MadoHub

Agrupar por estado, no por posición

El movimiento central de Mission Control es dejar de organizar agentes espacialmente y empezar a organizarlos por estado. Cada tile de agente aterriza en exactamente uno de seis grupos, siempre renderizados en el mismo orden fijo:

GrupoQué significaColor del punto
Needs inputEsperando un sí/no, permiso u otro mensajeÁmbar
WorkingA mitad de turnoAcento
DoneTerminó su turno, listo para revisiónVerde
FailedTocó un errorRojo
IdleSin actividadTenue
ExitedProceso idoTenue, más atenuado

Los grupos vacíos no renderizan una cabecera — nunca ves "Failed (0)" ocupando sitio por nada. El propio orden codifica la prioridad de triaje: el agente que lleva diez minutos sentado sobre un mensaje de permiso aparece encima del agente que está felizmente trabajando, que aparece encima del agente que ya terminó y solo espera a que lo mires. Lees la lista hacia abajo en el orden en que deberías actuar realmente.

La insignia colapsada deliberadamente no es "conteo total de agentes". Si algún tile espera entrada, muestra ese conteo en una insignia ámbar — el número por el que vale la pena interrumpir. Si no, muestra el conteo de todos los tiles corriendo, en texto atenuado. No todo lo que estás corriendo merece igual atención: un tile trabajando silenciosamente no necesita ninguna, un tile bloqueado en un mensaje la necesita toda, de inmediato.

Mostrar la pregunta real, no solo que la hay

Agrupar por estado te dice que un agente necesita entrada. No te dice qué pregunta — y ese hueco es donde la gente acaba cambiando al tile de todos modos, solo para leer la pregunta, frustrando el punto de un panel de triaje.

Mission Control cierra ese hueco. Para cada fila del grupo Needs Input, muestra las últimas líneas de la salida del terminal de ese tile. En la práctica eso es casi siempre la pregunta pendiente real — un (y/n), una opción "Allow once / Allow always / Deny", o similar — renderizada en un pequeño bloque con borde ámbar justo bajo la fila. Esa es la diferencia entre "El Agente 3 necesita entrada" y "El Agente 3 está preguntando si puede hacer rm -rf node_modules — sí, obviamente, adelante". Una de esas la decides sin salir del panel; la otra fuerza un cambio de contexto que no necesitabas.

Saltar al tile en un clic

Una vez una fila merece acción, hacer clic en ella hace pan y zoom del viewport del lienzo directamente a ese tile — de "el agente X me necesita" en el panel a estar mirando el terminal del agente X en un clic, sin caza por un lienzo con una docena de tiles. La agrupación por estado te dice qué necesita atención y en qué orden, la cola de pregunta pendiente te dice la pregunta real, y el clic de volar al tile te lleva allí.

Progreso en vivo de Dynamic Workflows, sin inundación de insignias

La propia función Dynamic Workflows de Claude Code puede abrir una única sesión de Claude en muchos subagentes concurrentes. MadoHub no los crea ni los corre — es una función de Claude Code, no de MadoHub — pero detecta la actividad de subagente y la integra en una línea de progreso por tile en lugar de disparar una notificación normal por subagente, así una ejecución con una docena de subagentes no inunda el lienzo de insignias.

Mission Control muestra ese progreso por fila, debajo de la línea de actividad, siempre que un tile tiene una ejecución activa:

workflow · 3/5 agents

Los dos números son subagentes que alcanzaron un estado terminal sobre los hilos de subagente distintos vistos hasta ahora en ese tile. La línea solo aparece mientras la ejecución está activa y desaparece por sí sola una vez caduca. Lanzar un workflow nuevo en el mismo tile reinicia ambos contadores a cero en lugar de acumular.

Guía práctica

  • Lee la lista hacia abajo en orden. El orden de grupos es el orden de triaje — needs input primero, luego working, luego done. No saltes a las filas "done" hasta que las de "needs input" estén claras.
  • Decide desde la cola cuando puedas. Si la pregunta pendiente es un permiso rutinario que concederías de todas formas, a menudo puedes responderlo mentalmente y volar al tile solo para confirmar — o saltarte el viaje al panel por completo para tiles que ibas a visitar de todas formas.
  • Usa la insignia colapsada como señal de interrupción. Trata el número ámbar como "deja lo que estoy haciendo y comprueba". Un cero significa que puedes seguir concentrado.
  • No esperes shells desnudas. Un tile de terminal desnudo nunca aparece en Mission Control — solo los tiles reconocidos como CLIs de agente, así el panel no se llena de tus terminales de borrador.

Nada de esto es complicado individualmente — agrupar por estado, mostrar las últimas líneas de salida, saltar al tile al hacer clic. El valor está en lo que elimina: retener en la cabeza el estado de seis tiles, escanear un lienzo para encontrar el atascado, abrir un tile solo para leer una pregunta que podrías haber leído en una barra lateral.

El estado de expandir/colapsar de Mission Control no se persiste intencionadamente — cada lanzamiento fresco empieza colapsado, mostrando solo la insignia. Ese es el default correcto para un panel cuyo único trabajo es responder una pregunta rápido y luego apartarse.

Documentación relacionada