Craig McLuckie, de Stacklok, considera que los agentes de programación no deberían seguir vinculados al dispositivo y al proceso interactivo del desarrollador, y presenta el proyecto de código abierto Mecatl como modelo de una arquitectura distribuida que separa el bucle del agente de los clientes, los entornos de ejecución, las herramientas y los servicios de apoyo.
El valor de los agentes de programación ya no se limita a una interfaz conversacional que responde preguntas. Su adopción práctica se ha relacionado con disponer de herramientas capaces, un repositorio y un sistema de archivos compartidos, subagentes y habilidades que conservan lo que el sistema aprende de trabajos anteriores. Según Craig McLuckie, de Stacklok, el siguiente paso consiste en trasladar estas capacidades del ordenador del desarrollador a servicios de larga duración y a interfaces utilizadas por personas que quizá ni siquiera abran un terminal.
El problema es que la mayoría de los marcos actuales para ejecutar agentes se diseñaron en torno a un modelo de escritorio: un solo usuario, un solo dispositivo, un sistema de archivos local y un proceso interactivo que reúne al mismo tiempo la interfaz de usuario, el bucle del agente, el aislamiento, el almacén de credenciales, el alojamiento de herramientas y la base de datos de la sesión. Este modelo es adecuado para un desarrollador individual, pero resulta menos apropiado cuando la organización necesita ejecutar cientos de sesiones, aplicar políticas precisas a las herramientas, reanudar una sesión después de que falle un nodo o cambiar entre distintos dispositivos.
Separar el bucle del agente del resto del sistema
McLuckie propone construir lo que denomina una «correa operativa nativa de la nube» como una aplicación distribuida desde el principio, en lugar de limitarse a colocar un marco de escritorio dentro de un contenedor. El contenedor puede cambiar el lugar donde se ejecuta el proceso, pero no deshace la interdependencia entre sus componentes. En Stacklok, se puso a disposición para este fin el marco de código abierto Mecatl.
En Mecatl, el núcleo se encarga del bucle del agente, incluido el razonamiento, la distribución de las llamadas a herramientas, los permisos, los hooks y la emisión de eventos. Los demás elementos se conectan a él mediante interfaces claras:
- Clientes finales e interfaces API, entre ellas una TUI llamada mecatui, interfaces gRPC y HTTP/SSE, y un SDK en TypeScript.
- Entornos de ejecución, espacios de trabajo y ejecutores de comandos en los que el agente realiza sus tareas.
- Un ecosistema de herramientas que incluye herramientas integradas, servicios MCP mediante HTTP de transmisión continua, habilidades e integraciones específicas de aplicaciones.
- Servicios de apoyo para gestionar proveedores de modelos, el estado de las sesiones, el registro de eventos, la identidad y la coordinación.
¿Qué cambia en la práctica?
Esta separación convierte el bucle del agente en un componente que puede versionarse, desplegarse y supervisarse como cualquier otro servicio. Puede ejecutarse en un terminal, como servicio o en Kubernetes sin sustituir el propio bucle. En la guía de mecak8s, los trabajadores pueden reemplazarse durante la ejecución, mientras las sesiones persistentes permanecen al publicar una nueva versión.
El estado de la sesión y el registro de eventos se almacenan en un almacenamiento persistente dentro de un modelo de coordinación que depende de un único escritor. Si el trabajador falla, un trabajador de sustitución puede continuar desde el último límite de turno guardado. Sin embargo, esto no equivale a una transacción distribuida: la operación que estaba ejecutándose en el momento del fallo no se reanuda, y puede perderse el trabajo realizado después del último guardado correcto. Por ello, el proyecto describe esta capacidad como continuidad a nivel de turnos, no como una garantía de transacción distribuida completa.
El catálogo explícito también permite restringir las herramientas, habilidades e integraciones autorizadas, con límites de permisos, auditoría y entorno de ejecución. Como el cliente no posee el sistema de archivos, las credenciales ni el estado de la sesión, el propio bucle puede prestar servicio a un terminal, un servicio remoto, una aplicación integrada o un despliegue de Kubernetes, e incluso conectar una interfaz web, una integración de Slack y un editor colaborativo a la misma sesión.
Preguntas aún sin resolver
La fuente señala que Mecatl todavía se encuentra en una fase temprana y que la «correa nativa de la nube» es más una dirección arquitectónica que una especificación completa. Entre las cuestiones planteadas destaca determinar quién invoca un sistema externo: ¿el usuario, el agente, la sesión o un subagente multinivel? El proyecto propone un ámbito de confianza SPIFFE propio, con la codificación de toda la cadena de delegación en un JWT para que los sistemas receptores puedan tomar decisiones basándose en la cadena de identidades.
El proyecto también estudia rutas para herramientas que van más allá de MCP, de modo que una herramienta como un analizador de PDF pueda trabajar directamente sobre el sistema de archivos en lugar de pasar todas sus entradas y salidas por una ventana de contexto del modelo. También aparece la idea de una «prueba de contexto», es decir, emitir, firmar, atribuir y distribuir el contexto empaquetado, y someterlo a políticas como cualquier artefacto de una cadena de suministro de software.
Lectura editorial: la importancia de la propuesta no reside en lanzar una nueva interfaz, sino en redefinir el agente como un servicio gestionable en lugar de un proceso personal de larga duración. Sin embargo, la fuente distingue claramente entre lo que funciona actualmente en Mecatl y lo que todavía está en fase de diseño; además, la continuidad actual no evita la pérdida del trabajo en curso ni resuelve todavía el modelo de identidad o la transferencia directa de datos entre herramientas. Por ello, la adopción de este modelo requiere una evaluación práctica del entorno de despliegue, los límites de los permisos y las garantías de los datos antes de considerarlo un sustituto listo para todos los marcos locales de agentes.