Les demandes d’approbation des agents IA ne valent pas autorisation
Le SDK OpenAI Agents traite désormais l’approbation humaine comme un état d’exécution : un appel d’outil sensible peut interrompre l’exécution, faire remonter une interruption, stocker la décision dans RunState, puis reprendre la même exécution après approbation ou rejet.1
Cette forme produit a raison sur un point. L’approbation doit vivre dans l’environnement d’exécution, pas seulement dans une transcription de chat.
La question difficile vient ensuite : qu’est-ce que l’humain a réellement autorisé ?
Une demande d’approbation qui dit « Autoriser la commande shell ? » ou « Approuver l’appel d’outil ? » demande à l’utilisateur de faire confiance à un instant. Un vrai enregistrement d’autorisation délimite une action, nomme le risque, capture les preuves, expire et crée une trace vérifiable. Les agents IA ont besoin de cette seconde forme, parce qu’ils planifient sur plusieurs étapes, appellent des outils imbriqués, réessaient après un rejet et portent des explications fluides jusque dans des décisions où une personne peut se sentir poussée à cliquer sur oui.
TL;DR
Les demandes d’approbation des agents IA ne valent pas autorisation. Une demande peut mettre le travail en pause, mais l’autorisation doit définir qui accorde l’autorité, quel agent la reçoit, quel outil peut s’exécuter, quelle ressource il peut toucher, quel niveau de risque s’applique, combien de temps l’autorisation dure, quelles preuves ont soutenu la décision et comment l’opérateur peut la révoquer. Les équipes devraient concevoir les approbations comme des objets d’autorité limitée, pas comme des interruptions de chat. La bonne question n’est pas « quelqu’un a-t-il cliqué sur approuver ? ». La bonne question est : « quelle action concrète une personne responsable a-t-elle autorisée, et sous quelles contraintes ? »
Points clés
Pour les équipes produit : - Affichez l’approbation comme un objet de décision typé : action, ressource, risque, preuves, expiration et retour arrière. - Séparez la confirmation à faible risque de l’autorisation à haut risque.
Pour les équipes sécurité : - Traitez les demandes d’approbation répétées comme une surface d’attaque, pas seulement comme un problème d’UX. - Journalisez chaque autorisation, refus, autorisation automatique, refus automatique, expiration et révocation.
Pour les concepteurs d’agents : - Mettez en pause avant l’action irréversible, pas après que l’agent a déjà façonné le résultat. - Renvoyez le rejet au modèle comme une consigne contrainte, pas comme un échec vague.
Pour les opérateurs : - N’approuvez jamais un appel d’outil si vous ne voyez pas la ressource cible, le périmètre d’autorité et le chemin de retour arrière. - Préférez des autorisations limitées et brèves aux habitudes de type « toujours approuver ».
Pourquoi les demandes d’approbation échouent-elles ?
Les demandes d’approbation échouent lorsqu’elles compressent une décision très contextuelle en un clic pauvre en contexte.
L’agent dispose de plus de contexte que la demande n’en montre. Il peut avoir lu des fichiers, résumé un fil de discussion, planifié une séquence, choisi un outil, rempli des arguments et choisi un moment d’exécution. La demande d’approbation ne montre souvent que la dernière étape. L’utilisateur voit une commande, un appel API, une action de navigateur ou une phrase écrite par le même agent qui demande la permission.
Cette interface crée 4 échecs :
| Échec | Ce qui se passe |
|---|---|
| Perte de périmètre | L’utilisateur voit un nom d’outil, mais pas la ressource, l’espace client, le fichier, le compte ni le périmètre d’impact. |
| Perte de preuves | L’utilisateur voit l’action demandée, mais pas les preuves qui la rendent raisonnable. |
| Lassitude | L’utilisateur approuve des demandes répétées parce qu’un refus ralentit l’exécution. |
| Persuasion | L’agent enveloppe une action risquée dans un langage assuré et soigné. |
L’Agentic Top 10 d’OWASP nomme directement l’échec de persuasion. L’article de publication indique que des explications confiantes peuvent induire les opérateurs humains en erreur et les amener à approuver des actions nuisibles au titre d’ASI09, Human-Agent Trust Exploitation.2 Le risque n’exige pas un modèle malveillant. Un agent serviable peut tout de même survendre un plan fragile, minimiser l’incertitude ou enfouir un appel d’outil risqué dans une séquence d’actions inoffensives.
L’approbation a donc besoin d’une meilleure forme. Une personne devrait approuver un enregistrement d’action, pas une bulle de requête.
Que doit autoriser une approbation ?
Une approbation sérieuse doit autoriser une action concrète dans des conditions bornées.
L’article « Authenticated Delegation and Authorized AI Agents » présente le problème plus large comme une autorité déléguée : les utilisateurs ont besoin d’un moyen de restreindre les permissions des agents et de maintenir des chaînes de responsabilité claires, avec des identifiants propres aux agents, des métadonnées et des configurations de contrôle d’accès auditables.3
Ce cadrage se transpose directement à la conception produit. Une approbation devrait contenir :
| Champ | Pourquoi c’est important |
|---|---|
| Acteur | Quel compte, quelle exécution, quel agent et quel opérateur portent la requête ? |
| Outil | Quel outil, connecteur, serveur MCP, commande shell ou action de navigateur va s’exécuter ? |
| Action | L’appel lit-il, prépare-t-il un brouillon, écrit-il, supprime-t-il, publie-t-il, exporte-t-il, dépense-t-il, déploie-t-il ou administre-t-il ? |
| Ressource | Quel fichier, enregistrement, espace client, dépôt, compte, environnement, client ou URL sera touché ? |
| Preuves | Quels tests, diffs, contrôles de sources, aperçus ou contrôles de politique justifient l’action ? |
| Niveau de risque | Faible, moyen, élevé ou bloqué, selon les données, l’argent, la sécurité, la surface publique et la réversibilité. |
| Durée | Un appel, une exécution, une tâche, une heure ou jusqu’à révocation manuelle. |
| Retour arrière | Comment l’opérateur peut-il annuler ou contenir l’action ? |
| Pointeur d’audit | Où un relecteur peut-il inspecter la décision plus tard ? |
Sans ces champs, l’approbation devient une impression avec un bouton. Un modèle peut demander poliment. Un humain peut cliquer vite. Aucun de ces deux événements ne prouve que l’action avait sa place.
Comment l’état d’approbation doit-il fonctionner ?
L’état d’approbation doit survivre à la pause, tout en restant étroit.
La documentation du SDK OpenAI Agents décrit un modèle d’exécution utile. Les outils peuvent déclarer needs_approval ; le moteur d’exécution évalue la règle d’approbation avant l’exécution ; les approbations non résolues apparaissent comme des interruptions ; le développeur peut approuver ou rejeter chaque élément en attente ; puis l’exécution reprend depuis RunState.1 La documentation décrit aussi des décisions persistantes comme always_approve et always_reject pour les appels ultérieurs dans la même exécution.1
La machine à états compte, car une exécution d’agent mise en pause ne devrait pas redémarrer depuis la mémoire, recréer l’intention ni perdre le contexte d’approbation. Elle devrait reprendre au point interrompu avec la décision attachée.
L’option de décision persistante crée l’exigence de conception suivante : toute approbation persistante a besoin d’un périmètre et d’une expiration.
| Décision persistante | Limite plus sûre |
|---|---|
Toujours approuver read_file |
Approuver les lectures sous la racine du projet pour l’exécution en cours. |
Toujours approuver shell |
Ne jamais approuver tout un shell. Approuver une famille de commandes, un chemin et un modèle d’arguments. |
Toujours approuver send_email |
Approuver uniquement le brouillon ; exiger une approbation par destinataire avant l’envoi. |
Toujours approuver deploy |
Éviter l’approbation persistante du déploiement. Exiger des preuves de publication pour chaque déploiement. |
Toujours rejeter delete |
Rejeter la suppression par défaut, avec un flux de récupération séparé pour le nettoyage intentionnel. |
L’approbation persistante peut réduire la lassitude. Trop large, elle peut transformer un clic fatigué en périmètre d’impact complet d’une exécution.
Où l’approbation doit-elle se placer dans l’environnement d’exécution ?
L’approbation doit se placer avant le point d’engagement.
Un point d’engagement est le moment où un agent passe d’un travail réversible à un effet de bord : modifier une ressource de production, envoyer un message, dépenser de l’argent, publier du contenu, supprimer des données, renouveler une clé, changer des permissions ou déployer du code. L’approbation humaine après le point d’engagement relève de la réponse à incident, pas de l’autorisation.
La littérature sur la supervision humaine soutient cette distinction. Un article publié en 2026 dans AI and Ethics sépare l’agentivité opérative, où l’IA génère ou agit, de l’agentivité évaluative, où l’humain peut évaluer, contester et passer outre.4 Une supervision efficace ne peut pas dépendre d’une personne qui surveille chaque token. L’interface doit réserver le jugement humain aux points où ce jugement peut encore changer le résultat.
Cela donne aux produits d’agents une règle simple :
| Phase d’exécution | Modèle d’approbation |
|---|---|
| Exploration réversible | Laissez l’agent travailler dans le cadre de la politique. Journalisez les actions. |
| Rédaction | Laissez l’agent préparer les artefacts. Montrez des aperçus et des preuves. |
| Classification du risque | Calculez le risque avant de solliciter l’utilisateur. |
| Point d’engagement | Mettez en pause pour une autorisation humaine lorsque la politique l’exige. |
| Après exécution | Enregistrez le résultat, la preuve et l’état du retour arrière. |
Une demande qui apparaît après que l’agent a déjà exécuté la partie risquée ne crée qu’une mise en scène. La personne ne peut pas exercer d’agentivité évaluative si le système a déjà dépensé l’autorité.
Comment prévenir la lassitude d’approbation ?
La lassitude d’approbation est un bug de sécurité, parce que la fatigue change la décision.
Si une exécution demande 40 approbations, le produit a probablement échoué avant même le premier clic. L’opérateur cesse de juger chaque élément et commence à gérer l’agacement. Des attaquants peuvent exploiter ce schéma en générant des requêtes répétées, en cachant des actions risquées dans des lots ou en utilisant un langage qui rend un appel dangereux routinier.
L’Agentic Top 10 d’OWASP traite l’exploitation de la confiance humain-agent comme une catégorie de risque de premier plan.2 La recherche sur la sécurité des agents arrive à une forme similaire par le côté système. Une systématisation de mars 2026 sur la sécurité de l’IA agentique cartographie les frontières de confiance autour de l’injection de prompts, de l’empoisonnement de bases de connaissances, des exploits d’outils et d’extensions, ainsi que des menaces multi-agents ; elle appelle aussi à des contrôles de surveillance à l’exécution et de réponse à incident.5 Un article de mai 2026 sur les agents auditables en sécurité soutient que les nomenclatures statiques et les journaux d’exécution fournissent des preuves fragmentées, sauf si le système peut relier capacités, mémoire, objectifs, trajectoires de raisonnement et actions dans des chemins d’audit interrogeables.6
La conception de l’approbation devrait réduire la lassitude en supprimant les demandes de faible valeur et en améliorant la qualité des demandes à forte valeur :
| Schéma | Meilleure conception |
|---|---|
| Demander pour chaque appel d’outil | Classer le risque et autoriser automatiquement les lectures à faible risque dans le périmètre. |
| Une demande shell alarmante | Analyser la commande, le chemin, l’opération, l’usage réseau et les indicateurs destructeurs. |
| Seulement « autoriser une fois » | Proposer une autorisation limitée : famille d’outils, ressource, durée et limite. |
| « Toujours approuver » | Proposer une approbation limitée à l’exécution, avec expiration visible et contrôle de révocation. |
| Long raisonnement en langage naturel | Montrer l’affirmation, les preuves, le risque, le retour arrière et les arguments exacts. |
| Refus comme échec | Permettre au refus de rediriger l’agent vers une alternative sûre. |
L’objectif n’est pas d’avoir moins de contrôles. L’objectif est d’avoir moins de contrôles vides de sens.
Que doit montrer l’UI d’approbation ?
L’UI d’approbation doit montrer la décision, pas la personnalité de l’agent.
Commencez par une carte de décision compacte :
| Champ | Exemple |
|---|---|
| Action | Publier les lignes de traduction du blog vers D1 |
| Acteur | Agent de publication du blog, exécution release-1427, opérateur Blake |
| Outil | Chemin d’envoi vers D1 de blog_translate_batch.py |
| Périmètre | Slug ai-agent-approval-prompts-not-authorization, locales ja, ko, zh-Hans, zh-Hant, de, fr, es, pl, pt-BR |
| Preuves | Seuil local réussi 9/9 ; parité réussie ; scan de secrets propre |
| Risque | Contenu public, réversible par purge et retour arrière D1 |
| Expiration | Une tentative d’envoi |
| Décision | Approuver, rejeter, demander des preuves, diviser le périmètre |
Cette carte aide l’utilisateur à répondre à une seule question : l’action demandée correspond-elle aux preuves et au périmètre ?
La carte ne doit pas enfouir les arguments exacts. Elle ne doit pas cacher le refus. Elle ne doit pas faire d’« approuver » le seul chemin conçu pendant que « rejeter » se comporte comme une exception. Une bonne surface d’approbation traite le rejet comme un signal de contrôle normal. L’agent devrait recevoir un message précis : « Refusé parce que les URL sources n’ont pas été vérifiées », ou « Refusé parce que la commande touche des fichiers hors du périmètre de publication ».
Que doivent construire les équipes en premier ?
Construisez un registre d’approbation avant de construire une demande plus jolie.
Champs minimaux du registre :
- ID de l’exécution.
- ID de l’agent.
- ID de l’opérateur.
- Nom de l’outil.
- Arguments de l’outil.
- Ressource cible.
- Niveau de risque.
- Règle d’approbation déclenchée.
- Pointeurs de preuves.
- Décision : approuvé, rejeté, approuvé automatiquement, rejeté automatiquement, expiré ou révoqué.
- Moment de la décision.
- Condition d’expiration.
- Résultat après exécution.
- Pointeur de retour arrière ou de confinement.
Le registre transforme une approbation d’événement d’UI en enregistrement de responsabilité. Il permet aussi aux équipes de poser de meilleures questions ensuite :
- Quels outils demandent trop souvent une approbation ?
- Quels opérateurs approuvent le plus vite les actions à haut risque ?
- Quelles règles d’approbation déclenchent de faux positifs ?
- Quelles actions refusées ont ensuite trouvé des alternatives sûres ?
- Quelles actions approuvées ont entraîné un retour arrière ?
- Quelles autorisations persistantes sont restées actives trop longtemps ?
L’article de mai 2026 sur la sécurité des systèmes d’exploitation soutient que les agents rencontrent des problèmes familiers de type OS : isolation des ressources, séparation des privilèges et communication médiée.7 L’approbation appartient à la même famille. L’environnement d’exécution devrait médier l’autorité comme un système d’exploitation médie les opérations privilégiées : de façon étroite, cohérente, avec des journaux qui survivent à la requête.
Résumé rapide
Les approbations des agents IA doivent devenir des objets d’autorisation. Une demande avec pause et clic peut arrêter un appel d’outil, mais elle ne peut pas porter la responsabilité à elle seule. Les systèmes d’approbation utiles définissent acteur, action, ressource, risque, preuves, durée, expiration, révocation et audit.
La leçon produit est directe : rendez le travail à faible risque silencieux, rendez le travail à haut risque explicite et ne demandez jamais à un humain d’approuver une explication fluide lorsque le système peut montrer à la place un enregistrement d’action limité.
FAQ
Quelle est la différence entre approbation et autorisation pour les agents IA ?
L’approbation est un événement de décision humaine. L’autorisation est l’autorité limitée qui permet à un agent d’exécuter une action concrète dans des conditions définies. Les systèmes d’agents robustes relient les deux : une approbation humaine crée un enregistrement d’autorisation étroit, avec ressource, risque, expiration, preuves et champs d’audit.
Chaque appel d’outil d’un agent IA doit-il nécessiter une approbation ?
Non. Les équipes devraient orienter les approbations selon le risque. Les lectures à faible risque dans un périmètre connu peuvent s’exécuter silencieusement avec journalisation. Les actions à risque moyen peuvent être regroupées pour relecture. Les actions à haut risque, comme envoyer des messages, publier, supprimer, déployer, dépenser, exporter ou modifier des permissions, devraient être mises en pause avant l’exécution.
Les approbations persistantes sont-elles sûres pour les agents IA ?
Les approbations persistantes peuvent aider lorsque le périmètre reste étroit, bref et visible. Une approbation limitée à l’exécution pour un outil en lecture seule peut avoir du sens. Une approbation persistante large pour shell, déploiement, paiement, envoi d’e-mail ou suppression crée trop d’autorité à partir d’une seule décision.
Que doit contenir une demande d’approbation pour agent IA ?
Une demande d’approbation devrait inclure l’action, la ressource, les arguments d’outil, l’acteur, le niveau de risque, les preuves, l’expiration, le chemin de retour arrière et le pointeur d’audit. Elle devrait aussi proposer de rejeter, de demander des preuves et de diviser le périmètre, pas seulement d’approuver.
Comment les équipes peuvent-elles réduire la lassitude d’approbation dans les produits agentiques ?
Les équipes peuvent réduire la lassitude en autorisant automatiquement les actions à faible risque dans le cadre de la politique, en regroupant les décisions à risque moyen, en n’interrompant qu’aux points d’engagement, en montrant des preuves structurées, en faisant expirer les autorisations et en journalisant le refus comme un chemin de contrôle normal. De meilleures approbations posent moins de questions vagues et davantage de questions précises.
Références
-
OpenAI, “Human-in-the-loop,” documentation du SDK OpenAI Agents, consultée le 18 mai 2026. Source pour
needs_approval, les interruptions d’approbation en attente,RunState, la gestion des approbations et des rejets, les décisions d’approbation persistantes, la prise en charge de l’approbation MCP hébergée et le comportement de pause/reprise. ↩↩↩ -
John Sotiropoulos, Keren Katz et Ron F. Del Rosario, “OWASP Top 10 for Agentic Applications - The Benchmark for Agentic Security in the Age of Autonomous AI,” OWASP GenAI Security Project, 9 décembre 2025. Source pour la publication de l’Agentic Top 10, le cadrage par revue d’experts et le langage d’ASI09 Human-Agent Trust Exploitation sur les explications soignées qui induisent les opérateurs en erreur et les amènent à approuver des actions nuisibles. ↩↩
-
Tobin South, Samuele Marro, Thomas Hardjono, Robert Mahari, Cedric Deslandes Whitney, Dazza Greenwood, Alan Chan et Alex Pentland, “Authenticated Delegation and Authorized AI Agents,” arXiv:2501.09674, soumis le 16 janvier 2025. Source pour l’autorité déléguée, les identifiants et métadonnées propres aux agents, la limitation des permissions, les chaînes de responsabilité et la traduction de permissions en langage naturel en configurations de contrôle d’accès auditables. ↩
-
Liming Zhu, Qinghua Lu, Ming Ding, Sung Une Lee, Chen Wang, et al., “Designing meaningful human oversight in AI,” AI and Ethics, publié le 4 mai 2026. Source pour la distinction entre agentivité opérative et agentivité évaluative, l’asymétrie solve-verify, les mécanismes de supervision et l’argument selon lequel la supervision humaine a besoin de mécanismes d’interface concrets plutôt que de grands principes seuls. ↩
-
Ali Dehghantanha et Sajad Homayoun, “SoK: The Attack Surface of Agentic AI - Tools, and Autonomy,” arXiv:2603.22928, soumis le 24 mars 2026. Source pour le cadrage des frontières de confiance autour de l’injection de prompts, de l’empoisonnement RAG, des exploits d’outils et d’extensions, des menaces inter-agents, de la surveillance à l’exécution et des contrôles de réponse à incident. ↩
-
Chaofan Li, et al., “Towards Security-Auditable LLM Agents: A Unified Graph Representation,” arXiv:2605.06812, soumis le 7 mai 2026. Source pour Agent-BOM, les limites des preuves fragmentées dans les SBOM statiques et les journaux d’exécution, les chemins d’audit interrogeables et la reconstruction de chaînes d’attaque impliquant l’usage abusif d’outils, l’empoisonnement de mémoire, le détournement de chaîne d’approvisionnement et l’abus de confiance. ↩
-
Lukas Pirch, Micha Horlboge, Patrick Grossmann, Syeda Mahnur Asif, Klim Kireev, Thorsten Holz et Konrad Rieck, “Toward Securing AI Agents Like Operating Systems,” arXiv:2605.14932, soumis le 14 mai 2026. Source pour l’analogie avec la sécurité des systèmes d’exploitation : isoler les ressources, séparer les privilèges, médier la communication et appliquer aux systèmes agentiques des techniques établies de sécurité des OS. ↩