Blog

Que doit faire un agent IA quand il a besoin d'une décision humaine en pleine exécution ?

Poser la question sur la tâche et passer à autre chose. Comment l'outil ask_decision de Done permet à un agent sans surveillance de vous interroger sans stopper son exécution ni deviner.

Par Alejandro Rioja4 min de lecture

Un agent IA qui tombe sur une décision qu'il ne doit pas prendre seul doit déposer une question précise sur la tâche et passer à autre chose, sans arrêter toute l'exécution et sans deviner. Dans Done, c'est l'outil ask_decision : il publie une seule question avec la recommandation de l'agent, retire la tâche de sa file en needs_input, et l'agent réclame la tâche suivante. Quand vous répondez, la tâche repasse en cours et sera reprise lors d'une exécution ultérieure.

Pourquoi ne pas simplement s'arrêter et attendre, ou deviner ?

Les deux options évidentes échouent pour un agent qui tourne sans surveillance la nuit. S'arrêter, c'est laisser intactes les onze autres tâches de la file parce que l'une d'elles contenait un embranchement. Deviner, c'est choisir une réponse à une question coûteuse à rater, et le découvrir au matin. Déposer la question garde l'exécution productive et la décision entre vos mains.

Que fait réellement ask_decision ?

  • question : une phrase. Elle est publiée sur la tâche, donc vous la lisez là où vit le travail.
  • recommendation : obligatoire. L'agent doit dire ce qu'il ferait sans réponse et pourquoi, pour que répondre prenne une touche et non un essai.
  • kind et options : une question, une permission ou une information que vous seul avez, avec éventuellement 2 à 4 choix concrets ; sans options, la réponse est libre.
  • blocking : true par défaut ; la tâche passe en needs_input et quitte la file de l'agent. Avec blocking:false, la tâche reste dans la file, l'agent continue et récupère votre réponse plus tard.

Quand un agent doit-il demander plutôt que décider ?

Le cadre de l'outil est volontairement étroit, car demander à chaque ambiguïté transforme le tableau en flux de commentaires qu'il devait remplacer. Un agent demande dans ces cas, et sinon décide et indique sa décision dans le résumé de son exécution :

  • Dépenser de l'argent.
  • Tout ce qui est tourné vers l'extérieur : un e-mail, une publication, une réponse à un client.
  • Tout ce qui est irréversible, ou un vrai embranchement où se tromper coûte cher.

Que se passe-t-il quand je réponds ?

Votre réponse est enregistrée en commentaire sur la tâche, et une tâche suspendue par une question bloquante repasse en cours. L'agent la retrouve en appelant list_open_decisions au début d'une exécution, ou simplement next_task, qui classe d'abord les tâches récemment répondues puisque leur contexte est déjà écrit. Si deux personnes répondent en même temps, une seule réponse est retenue et l'autre apprend que la question est déjà close. Si l'agent règle la question seul, withdraw_decision libère la tâche. Une seule question bloquante peut être ouverte par tâche.

En quoi est-ce différent de l'approbation ?

L'approbation garde la fin du travail : une tâche non marquée auto-OK n'atteint pas terminé sans votre accord. ask_decision intervient au milieu et n'est pas une approbation : répondre ne termine jamais rien. Les deux ne se heurtent pas : une question bloquante ne peut pas rouvrir une tâche déjà terminée ou en attente de votre validation ; l'agent demande alors avec blocking:false et la demande d'origine n'est pas perdue.

Questions fréquentes

Que doit faire un agent IA quand il a besoin d'une décision humaine ?

Déposer une seule question sur la tâche et passer à autre chose plutôt que s'arrêter ou deviner. Dans Done, l'agent appelle ask_decision avec la question et une recommandation ; la tâche attend en needs_input jusqu'à votre réponse.

Une question sans réponse bloque-t-elle mes autres agents ou tâches ?

Non. Une question bloquante ne suspend que sa propre tâche, qui quitte la file de l'agent qui a demandé. Toutes les autres continuent, et une question non bloquante ne suspend même pas la sienne.

Un agent peut-il répondre à sa propre question ou approuver une tâche via ask_decision ?

Non. ask_decision n'est pas une approbation et ne termine jamais rien ; une tâche qui exige une validation passe toujours par propose_completion et l'approbation d'un humain. L'agent peut en revanche retirer une question devenue inutile.

À lire aussi

Confiez votre liste de tâches à l’IA.

Gratuit pour commencer. Sans carte bancaire.