Los flujos de trabajo dinámicos están disponibles en cualquier sesión de Devin: solo describe el trabajo y pídele a Devin que lo ejecute como un flujo de trabajo.Cuentas Enterprise: la funcionalidad está desactivada hasta que un administrador de Enterprise active Flujos de trabajo dinámicos en Settings de Enterprise > Devin. Hasta entonces, Devin no ejecutará flujos de trabajo en ninguna de las organizaciones de Enterprise.
¿Qué son los flujos de trabajo dinámicos?
Un flujo de trabajo dinámico es un script determinista de Python que orquesta un equipo de agentes de Devin. Devin escribe y ejecuta el script, que decide qué agentes se ejecutan, en qué orden y qué se le indica a cada uno, utilizando los resultados estructurados de los agentes anteriores para elaborar los prompts de los posteriores. Cada llamada a un agente queda registrada, por lo que una ejecución de flujo de trabajo puede observarse mientras se ejecuta y reanudarse si se interrumpe: los agentes completados reproducen al instante sus resultados registrados y solo se vuelve a ejecutar el trabajo pendiente. Esto va un paso más allá de los Devin gestionados, donde la sesión de coordinación crea y supervisa manualmente las sesiones secundarias. En un flujo de trabajo, la propia orquestación es código.Cómo funcionan los flujos de trabajo dinámicos y cuándo usarlos, con un ejemplo de revisión de accesibilidad de 12 componentes
Cuándo usar un flujo de trabajo
Solicita un flujo de trabajo cuando el trabajo tiene una estructura clara:- Amplia distribución con un paso de consolidación — aproximadamente cinco o más unidades independientes (archivos, módulos, endpoints, tickets) que requieren criterio o verificación y cuyos resultados se consolidan posteriormente.
- Un proceso por etapas — las etapas posteriores consumen la salida estructurada de las anteriores; por ejemplo, auditar → corregir → verificar.
- El cambio es mecánico — un codemod, la corrección automática del linter o un generador lo realizan más rápido y de forma más fiable que los agentes.
- Solo se necesitan una o dos sesiones independientes, sin flujo de datos entre ellas.
- El trabajo está estrechamente acoplado por un estado compartido, o es pequeño y secuencial.
Ejemplos de prompts
Describe la tarea y solicita un flujo de trabajo; Devin escribe el script. Migración — asigna un agente a cada unidad en su propia rama y, después, consolida los resultados:Cómo funciona una ejecución
- Devin escribe el script en un archivo e inicia la ejecución. Las ejecuciones se aprueban automáticamente de forma predeterminada; para que Devin te pida aprobación antes de cada ejecución, desactiva Settings → Preferences → Aprobar automáticamente los flujos de trabajo.
- El script se ejecuta en la máquina de Devin. Las primitivas de los flujos de trabajo se insertan automáticamente; no hay nada que instalar ni importar.
- Cada llamada a un agente crea un agente y espera su salida estructurada. De forma predeterminada, ese agente es una sesión de Devin independiente en su propia VM.
- El progreso se transmite a la sesión. El panel del flujo de trabajo muestra cada fase, sus agentes y su estado en tiempo real; desde allí puedes abrir la sesión de cualquier agente.
- Los resultados se registran con un ID de ejecución, lo que permite reanudarla.
Modelo de creación
El script es Python puro. Devin lo escribe, pero es útil conocer su estructura al revisar uno:
Cada llamada a
agent() recibe un esquema JSON y devuelve un diccionario con esa estructura; así, los hallazgos de una etapa se convierten en el prompt de la siguiente. Mantén los esquemas pequeños y planos.
Ejemplo
Un proceso de auditoría y corrección para tres módulos:Dónde se ejecutan los agentes
De forma predeterminada, cada agente se ejecuta en su propia VM, aunque también puede fijarse a la máquina de la sesión de orquestación.VM independiente (predeterminada)
Una sesión secundaria completa de Devin con su propia máquina, clones de repositorios y entorno. No puede ver los archivos de la sesión de orquestación, por lo que las transferencias de código se realizan mediante ramas de git: cada agente envía una rama y comunica su nombre, y las etapas posteriores lo leen de la salida estructurada.
VM compartida
El agente se ejecuta en la máquina de la sesión de orquestación y comparte su árbol de trabajo, incluidos los cambios sin confirmar; no se requiere transferencia mediante git. Úsela cuando los agentes deban leer o editar el árbol de trabajo actual, o cuando el repositorio solo exista en esa máquina.
Determinismo y reanudación
Un script de flujo de trabajo se vuelve a ejecutar desde el principio cuando se reanuda una ejecución, y cada llamada al agente se identifica mediante un hash de su prompt, esquema y configuración de ejecución. Todo lo que ya se completó se reproduce a partir de su resultado registrado; el resto se ejecuta de nuevo con nuevas sesiones. Esto solo funciona si el script realiza las mismas llamadas cada vez. La lógica del flujo de trabajo y los prompts no deben depender de la hora o fecha actuales, de la aleatoriedad, de ID generados, de variables de entorno, del estado del sistema de archivos ni de respuestas de red. Todo lo que requiera inspeccionar el mundo exterior debe estar dentro de una llamada aagent(), cuya salida registrada consume el resto del script.
Dos consecuencias que conviene conocer:
- Editar un prompt vuelve a ejecutar ese agente y todo lo que viene después, mientras que los agentes anteriores que no se modificaron se siguen reproduciendo.
- Una ejecución que agotó el tiempo de espera o fue interrumpida continúa donde se quedó cuando se reanuda con su ID de ejecución. El presupuesto predeterminado y máximo para una ejecución es de siete días.
Coste
Cada agente de un flujo de trabajo es una sesión de Devin, por lo que una ejecución puede consumir muchos más ACU que realizar la misma tarea en una única sesión. Antes de aplicar un flujo de trabajo a un repo completo, pruébalo con una parte: un directorio, tres módulos o una pregunta más acotada, y consulta el uso de ACU de los agentes en el panel del flujo de trabajo. Pedir un modo más económico para las etapas de gran volumen, como la clasificación de cada elemento, también ayuda a que una distribución amplia siga siendo asequible.Guardar un flujo de trabajo para reutilizarlo
Una vez que un flujo de trabajo funciona, puedes confirmarlo en tu repo como una skill: un archivoworkflow.py junto a un SKILL.md que describe cuándo usarlo. Devin lo detectará y volverá a ejecutarlo en tareas futuras, en lugar de crear un script nuevo. Pídele a Devin que guarde un flujo de trabajo y creará los archivos necesarios.
Contenido relacionado
- Capacidades avanzadas — orquestar directamente Devins gestionados
- Skills — guardar procedimientos reutilizables, incluidos flujos de trabajo, en tus repos
- Devin MCP — crear y supervisar sesiones de forma programática

