---
title: El motor de ejecución
description: "Un agente raíz posee la ejecución, decide su propio esfuerzo y delega en trabajadores paralelos. Cómo se reparte el trabajo, cómo se corta y cómo se reanuda tras una pausa."
allan.topic: concept-article
allan.service: allan-server
allan.date: 08/04/2026
allan.fuente: [internal/agents/swarm_loop_v3.go, internal/flows]
allan.audiencia: [usuario, admin, desarrollador]
allan.aplica_a: todos los planes
allan.terminos: [enjambre, ejecucion, agente, turno]
---

Hay un solo motor de ejecución y se llama enjambre. No existe un
selector que elija entre modos: los nombres antiguos —directo, clarificación,
automático— son alias que acaban todos aquí.

## Un agente que orquesta, no un orquestador

La idea que lo distingue de un ejecutor de pasos: **quien orquesta es un agente,
no una máquina de estados**. Un agente raíz posee la ejecución y decide por sí
mismo cuánto esfuerzo merece lo que le han pedido.

Si es una pregunta conversacional, responde en su primera generación y ahí acaba
todo. Si es trabajo acotado, usa las herramientas él mismo. Y si es lo bastante
grande, delega: lanza trabajadores que corren **en paralelo** dentro del mismo
turno, cada uno con su presupuesto.

Los trabajadores informan en prosa, no en estructuras. La revisión de su trabajo
es **asesora y nunca veto**: puede señalar problemas, no bloquear la entrega.

## Escrituras en paralelo

Varios trabajadores a la vez sobre los mismos ficheros es una receta para
pisarse. El motor lo evita con cerrojos de escritura, y la regla con la que
decide cuáles hacen falta es deliberadamente pesimista: **toda herramienta que no
declare explícitamente que solo lee se trata como si escribiera**.

Equivocarse por exceso cuesta paralelismo; equivocarse por defecto cuesta datos.

## Cuando se acaba el presupuesto

Todo bucle que llama a modelos o a herramientas tiene un límite superior. Al
agotarse, la ejecución **no falla**: sintetiza la mejor respuesta que pueda con
lo que tenga. Perder el trabajo hecho sería peor que entregar algo incompleto y
decirlo.

## Cuando hace falta una persona

El motor puede detenerse a mitad de camino y pedir intervención humana, y puede
hacerlo tanto el agente raíz como cualquiera de sus trabajadores.

Pedir aclaración **no es un modo de ejecución**, es una acción que el agente
decide tomar como cualquier otra. Esa distinción importa: significa que un agente
puede empezar a trabajar, darse cuenta a mitad de que le falta un dato y
preguntarlo, sin que nadie haya tenido que anticiparlo.

Al pausarse se guarda todo lo necesario para continuar: la transcripción, la
llamada a herramienta que quedó interrumpida y el estado de reanudación,
etiquetado con si esperaba el raíz o un trabajador. Cerrar el navegador no cancela
nada.

## Flujos: acotar sin encadenar

Un flujo restringe una ejecución. Se selecciona por disparadores, se compila a
una representación interna que se cachea, y —esto es lo que sorprende— **todos
los pasos que coinciden se fusionan en una sola configuración**: unas
instrucciones, unas herramientas permitidas y unos presupuestos, para una única
ejecución.

No es un canal de varios pasos que se pasan el estado. Ese modelo de fusión en
una sola ejecución es el diseño definitivo, no una etapa intermedia hacia otra
cosa. Las compuertas del flujo se evalúan **después**, sobre el resultado.

> [!NOTA]
> Un flujo no añade capacidades: las quita. Sirve para que un agente haga menos
> cosas y de forma más predecible en un contexto concreto.
