Blog

¿Cómo detengo a un agente de IA atascado en un bucle?

Pausa la tarea, o todo el tablero, con un motivo. Cómo pause_task y pause_board de Done detienen a un agente desatendido y por qué solo una persona puede reanudar.

Por Alejandro Rioja4 min de lectura

Páusalo en el nivel más estrecho que encaje. En Done, un agente atascado llama a pause_task para sacar una tarea de juego, o a pause_board para detener toda la ejecución, y debe decir por qué. El trabajo pausado queda fuera de la cola de todos los agentes hasta que una persona lo reanude en la app; el agente que lo pausó no puede reiniciarlo. Tú también puedes pausar desde la app.

¿Por qué no basta un comentario o devolver la tarea?

Porque la tarea sigue pudiendo reclamarse. Si un agente comenta y sigue, el siguiente agente reclama la misma tarea y choca con el mismo muro; si llama a decline_task, la tarea vuelve a la cola para que otro choque con ella. pause_task es la única herramienta que evita que el trabajo se retome de inmediato, que es lo que quieres cuando un agente da vueltas en círculo por la noche.

¿Qué diferencia hay entre pause_task y pause_board?

  • pause_task recibe un id y un motivo. Suelta el claim del agente, mantiene a todos los agentes fuera de esa tarea (incluido el que pausó, en su próxima ejecución) y el agente sigue con el resto de la cola. Las escrituras de agentes en una tarea pausada se rechazan con un error paused.
  • pause_board recibe un motivo, más un workspace_id si perteneces a más de un espacio de trabajo. Ningún agente de ese tablero recibe trabajo: list_my_tasks y next_task se niegan y devuelven el motivo en lugar de una cola vacía, así la ejecución que encuentra el tablero detenido registra por qué en vez de «nada que hacer». El trabajo que un agente ya tiene no queda varado: aún puede comentar, marcar y cerrar una tarea en curso.

¿Por qué el agente no puede reanudar lo que pausó?

Reanudar es una acción humana en la app, a propósito. Un agente que se pausó por estar en bucle podría volver a meterse en el bucle, y uno que pudiera reiniciar el tablero podría deshacer la parada de una persona. Si lo intenta, recibe un rechazo approval_required que lo remite a ask_decision. Es el mismo razonamiento que la puerta de aprobación: el agente puede detener el trabajo, pero la decisión de continuar es tuya.

El motivo es obligatorio para un agente y opcional para una persona, que quizá solo quiere decir «esta noche no». Una pausa sin motivo parecería que la tarea desapareció en silencio, así que Done la rechaza con un error reason_required. Las personas nunca quedan bloqueadas por una pausa: puedes seguir abriendo, editando y moviendo una tarea pausada.

¿Debe el agente pausar, preguntar o rechazar?

  • ask_decision, cuando tienes una pregunta real que una persona puede resolver en una línea. Mantiene la tarea viva y respondible.
  • decline_task, cuando la tarea está bien y simplemente no es de ese agente.
  • pause_task, cuando está atascado y no tiene pregunta: da vueltas en círculo, falta una credencial o acceso, la tarea tal como está no se puede hacer, o ve que está a punto de gastar mucho para nada.
  • pause_board, cuando el muro no es de una tarea: las credenciales de la cuenta han desaparecido, todas las tareas fallan igual, o el agente da vueltas entre tareas y no dentro de una.

¿Qué veo cuando vuelvo?

El motivo del agente se publica en el hilo de la tarea y se muestra en el tablero, así que lees con qué chocó y qué había intentado ya. En una pausa de tablero, el motivo se muestra en el espacio de trabajo y se devuelve en cada llamada posterior a la cola. Arregla la causa, o responde la pregunta que no pudo resolver, reanuda en la app y el trabajo vuelve a poder reclamarse.

Preguntas frecuentes

¿Cómo detengo a un agente de IA atascado en un bucle?

Pausa la tarea. En Done el agente llama a pause_task con un motivo obligatorio, que suelta su claim y mantiene a todos los agentes fuera de la tarea hasta que una persona reanude. Si el problema abarca varias tareas, pause_board detiene la cola de todo el tablero.

¿Puede un agente de IA reiniciar un tablero o tarea que pausó?

No. Reanudar es solo humano, en la app. Un agente que lo intenta recibe un rechazo approval_required, así que uno que se pausó por un bucle no puede volver a meterse en él.

¿Pausar una tarea detiene a mis otros agentes?

pause_task solo saca esa tarea de juego; todo lo demás sigue fluyendo. pause_board es la amplia: ningún agente de ese tablero recibe trabajo hasta que reanudes.

Sigue leyendo

Deja que la IA termine tu lista de tareas.

Empieza gratis. Sin tarjeta.