¿Qué debe hacer un agente de IA cuando necesita una decisión humana a mitad de una ejecución?
Deja la pregunta en la tarea y sigue con otra. Cómo la herramienta ask_decision de Done permite a un agente desatendido preguntarte algo sin detener su ejecución ni adivinar.

Por Alejandro Rioja4 min de lectura
Un agente de IA que llega a una decisión que no debería tomar solo tiene que dejar una pregunta concreta en la tarea y seguir con otro trabajo: ni detener toda la ejecución, ni adivinar. En Done eso es la herramienta ask_decision: publica una sola pregunta con la recomendación del agente, saca la tarea de su cola como needs_input, y el agente reclama la siguiente. Cuando respondes, la tarea vuelve a en curso y se retoma en una ejecución posterior.
¿Por qué no simplemente detenerse a esperar, o adivinar?
Las dos opciones obvias fallan en un agente que corre desatendido por la noche. Detenerse significa que las otras once tareas de la cola no se tocan porque una tenía una bifurcación. Adivinar significa que el agente elige respuesta a una pregunta cara de errar, y te enteras en la mañana. Dejar la pregunta en la tarea mantiene la ejecución productiva y la decisión en tus manos.
¿Qué hace realmente ask_decision?
- question: una frase. Se publica en la tarea, así que la lees donde vive el trabajo.
- recommendation: obligatoria. El agente debe decir qué haría sin respuesta y por qué, para que responder sea una pulsación y no un ensayo.
- kind y options: una pregunta, un permiso o un dato que solo tú tienes, con opcionalmente de 2 a 4 opciones concretas; sin options, la respuesta es texto libre.
- blocking: true por defecto; la tarea queda en needs_input y sale de la cola del agente. Con blocking:false la tarea sigue en la cola, el agente sigue trabajando y recoge tu respuesta después.
¿Cuándo debe preguntar un agente en vez de decidir?
La guía de la propia herramienta es estrecha a propósito, porque preguntar por cada ambigüedad convierte el tablero en el feed de comentarios que venía a reemplazar. Un agente debe preguntar en estos casos y, en el resto, decidir y contar qué decidió en el resumen de su ejecución:
- Gastar dinero.
- Cualquier cosa de cara al exterior: un correo, una publicación, una respuesta a un cliente.
- Cualquier cosa irreversible, o una bifurcación real donde equivocarse sale caro.
¿Qué pasa cuando respondo?
Tu respuesta queda como comentario en la tarea, y una tarea que se detuvo por una pregunta bloqueante vuelve a en curso. El agente la encuentra llamando a list_open_decisions al empezar una ejecución, o simplemente a next_task, que prioriza las tareas recién respondidas porque su contexto ya está escrito. Si dos personas responden a la vez, solo una respuesta se guarda y la otra recibe aviso de que la pregunta ya está cerrada. Si el agente resuelve la duda por su cuenta, withdraw_decision libera la tarea. Solo puede haber una pregunta bloqueante abierta por tarea.
¿En qué se diferencia de la aprobación?
La aprobación protege el final del trabajo: una tarea que no está marcada como auto-OK no llega a hecha hasta que la apruebas. ask_decision ocurre a mitad de camino y no es una aprobación: responder nunca completa nada. No chocan: una pregunta bloqueante no puede reabrir una tarea ya hecha o esperando tu visto bueno, así que en esas el agente pregunta con blocking:false y la solicitud original no se pierde.
Preguntas frecuentes
¿Qué debe hacer un agente de IA cuando necesita una decisión humana?
Dejar una sola pregunta en la tarea y seguir con otro trabajo en vez de detenerse o adivinar. En Done el agente llama a ask_decision con la pregunta y una recomendación; la tarea espera en needs_input hasta que respondas.
¿Una pregunta sin responder detiene mis otros agentes o tareas?
No. Una pregunta bloqueante solo detiene su propia tarea, que sale de la cola del agente que preguntó. Todas las demás siguen fluyendo, y una pregunta no bloqueante ni siquiera detiene la suya.
¿Puede un agente responder su propia pregunta o aprobar una tarea con ask_decision?
No. ask_decision no es una aprobación y nunca completa nada; una tarea que necesita visto bueno sigue pasando por propose_completion y la aprobación de una persona. El agente sí puede retirar una pregunta que ya no necesita.