El blog de Deska

Agentes con Arquitectura Plan-Then-Execute: Notas de Implementación

Guía técnica sobre agentes con arquitectura Plan-Then-Execute, cubriendo gestión de estado, bucles de retroalimentación y estrategias locales.

· 9 min de lectura

La evolución de la ingeniería de software autónoma se ha desplazado hacia patrones de razonamiento más estructurados, específicamente el surgimiento de los Agentes Plan-Then-Execute como un estándar para refactorizaciones complejas e implementación de funcionalidades. A diferencia de los bucles ReAct (Razonar + Actuar) simples que deciden cada acción individual de forma aislada, estos agentes generan primero una secuencia de pasos de alto nivel antes de invocar cualquier herramienta. Esta separación arquitectónica entre el rol de "Arquitecto" y el de "Ejecutor" reduce la probabilidad de bucles infinitos y ayuda a mantener el contexto en tareas de larga duración.

Entendiendo la Arquitectura de Dos Fases

La filosofía central de los Agentes Plan-Then-Execute es el desacoplamiento de la intención y la acción. En un bucle autónomo estándar, un LLM podría decidir leer un archivo, luego buscar una cadena de texto y después aplicar un parche. Sin un plan previo, el agente a menudo pierde el hilo del objetivo original si encuentra un obstáculo técnico menor.

La fase de planificación implica que el agente analice todo el contexto del código fuente para producir una hoja de ruta estructurada. Esta hoja de ruta usualmente existe como un objeto JSON o una lista de hitos en markdown. Solo una vez que el plan es verificado o aceptado, comienza la fase de ejecución. Esta fase consume el plan e itera a través de los pasos, utilizando herramientas como acceso al sistema de archivos, comandos de consola o interacciones con el navegador.

La Fase de Planificación

En la etapa de planificación, el agente se enfoca en el contexto global. Necesita identificar qué archivos son relevantes y cómo es el grafo de dependencias. Aquí es donde el agente define el alcance del trabajo. Un plan bien construido incluye:

  • Puntos de entrada claros para la modificación.
  • Posibles efectos secundarios en módulos relacionados.
  • Pasos de validación específicos para cada hito.
  • Una condición de salida que defina el éxito.

La Fase de Ejecución

El motor de ejecución es el responsable del trabajo pesado. Debe ser resistente a los errores. Si un comando falla durante la ejecución del tercer paso, el agente no necesariamente debe descartar todo el plan. En su lugar, debe tener un mecanismo para realizar una "re-planificación" o una corrección local. Aquí es donde la integración de herramientas se vuelve crítica.

Gestión de Estado en Espacios de Trabajo Agénticos

Uno de los mayores desafíos al implementar estos agentes es la sincronización del estado. Cuando un agente trabaja en una máquina local, el estado del entorno cambia constantemente. Se editan archivos, se ejecutan compiladores y se inician procesos. El agente necesita una forma confiable de observar estos cambios para asegurar que la fase de ejecución se mantenga alineada con la realidad.

En un entorno local-first, el agente opera directamente en tu hardware. Esto proporciona baja latencia y alta seguridad, ya que el código nunca sale de tu máquina. Sin embargo, también significa que el agente debe ser consciente del sistema operativo específico y del entorno de la terminal. Las implementaciones de alta calidad a menudo utilizan un lienzo infinito para ayudar al desarrollador a visualizar lo que el agente está haciendo en tiempo real.

Deska proporciona un entorno único para este tipo de trabajo. Te permite ejecutar múltiples agentes como Claude Code o Codex CLI de forma paralela en diferentes paneles. Al usar un lienzo infinito, puedes colocar una terminal junto a un editor de código y un widget de navegador, viendo cómo se desarrolla la fase de ejecución en diferentes herramientas simultáneamente.

Bucles de Retroalimentación y Validación

Un plan es tan bueno como su verificación. Los Agentes Plan-Then-Execute eficaces incorporan pruebas automatizadas en su fase de ejecución. Si el plan implica refactorizar una función, la fase de ejecución idealmente debería incluir un paso para ejecutar las pruebas unitarias existentes.

  • Verificación previa a la ejecución: Confirmar que el entorno actual es estable.
  • Validación paso a paso: Ejecutar un linter o una suite de pruebas parcial después de cada cambio de archivo.
  • Verificación final: Ejecutar el proceso de compilación completo para asegurar que no se introdujeron regresiones.

Los desarrolladores pueden usar Ask Deska para cerrar la brecha entre su trabajo manual y la ejecución agéntica. Debido a que el asistente puede controlar el espacio de trabajo, puedes pedirle que abra terminales específicas o revise la salida de un proceso en segundo plano mientras el agente sigue funcionando.

Comparación de Implementaciones de Agentes

Existen varias formas de desplegar estas arquitecturas. La elección a menudo depende de si prefieres una experiencia totalmente autónoma o una colaborativa.

CaracterísticaAgentes de CLI AutónomosAgentes en Lienzo Integrado
Contexto de EjecuciónTerminal aisladaConocimiento total del espacio
VisualizaciónLogs de textoPaneles lado a lado
Intervención HumanaBasada en interrupcionesIntervención visual directa
Uso de RecursosBajoModerado a Alto

Para quienes utilizan coding agents en un entorno profesional, la capacidad de monitorear el plan a medida que avanza es vital. Si un agente comienza a desviarse de la arquitectura prevista, ver los cambios de archivos en vivo en un editor de código permite una corrección inmediata.

Monitoreo Remoto e Integración Móvil

Los flujos de trabajo agénticos modernos no están restringidos al escritorio. Cuando un agente está ejecutando un plan complejo de varios pasos que podría tardar diez minutos en completarse, los desarrolladores necesitan una forma de alejarse sin perder la supervisión.

Usar una aplicación mobile para monitorear estos agentes es una tendencia creciente. A través de un relevo seguro, puedes revisar el estado de tus sesiones de terminal o ver si una compilación falló mientras no estás frente a tu computadora. Esto no requiere exponer puertos, ya que la conexión se establece mediante un emparejamiento directo entre el escritorio y el teléfono. Esto mantiene la privacidad de tu entorno local-first intacta mientras te brinda la flexibilidad de la nube.

Preguntas Frecuentes sobre la Implementación

¿Cómo prevenir la desviación del plan en secuencias largas?

La desviación del plan ocurre cuando el agente completa los primeros pasos, pero el estado resultante hace que los pasos posteriores sean imposibles. La mejor mitigación es activar una secuencia de "re-planificación" cada vez que una herramienta devuelve un error o un paso de validación falla. Esto permite al agente ajustar los hitos restantes basándose en la nueva realidad del código.

¿Pueden los agentes ejecutar comandos de consola de forma segura?

La seguridad es una preocupación importante cuando los agentes tienen acceso a las terminales. En una configuración local-first, el agente está restringido por los permisos del usuario que ejecuta la aplicación. Se recomienda usar agentes que te muestren el comando antes de la ejecución o ejecutarlos en un espacio de trabajo dedicado donde puedas monitorear la salida en tiempo real.

¿Por qué usar un lienzo infinito para los agentes?

Un lienzo infinito ayuda a gestionar la carga cognitiva de observar a un agente trabajar. En lugar de cambiar entre pestañas, puedes organizar la terminal del agente, los logs y el código fuente modificado en una sola vista espacial. Esto facilita mucho notar cuándo un paso de ejecución está saliendo mal.

Comenzando con Agentes Locales

Implementar tu propio flujo de trabajo de Plan-Then-Execute comienza con la elección de las herramientas adecuadas para tu entorno. Si valoras la soberanía de los datos y la velocidad, un enfoque local-first suele ser el mejor camino a seguir. Puedes experimentar con diferentes agentes y ver cómo interactúan con tu stack específico configurando un espacio de trabajo dedicado.

Puedes descargar la aplicación de escritorio Deska para Mac, Windows o Linux para comenzar a ejecutar múltiples agentes lado a lado. Ya sea que uses tus propias llaves de API para una experiencia de por vida o elijas la inferencia gestionada, la capacidad de ver a tus agentes trabajar en un lienzo infinito cambiará tu forma de abordar tareas complejas de ingeniería de software. Para más detalles sobre cómo configurar tu entorno, consulta la documentación de configuración y de inicio rápido.

💡 Ideas+🐛 BugsPropón una feature o reporta un bug