Ce qui casse réellement quand on exécute des agents IA sans supervision
Un fil Hacker News a posé la question de ce qui casse quand on exécute des agents IA sans supervision.1 Les réponses étaient anecdotiques. Un utilisateur a décrit une tâche cron sans supervision qui a détruit 24,88 $ en deux jours, sans garde-fous de P&L ni revue humaine. Un autre a signalé un agent qui avait généré 500 Ko de documentation au lieu d’exécuter sa tâche, « privilégiant l’écriture sur l’action plutôt que l’exécution réelle ». Un troisième a constaté que les mêmes bugs réapparaissaient d’une session à l’autre parce que les correctifs n’avaient jamais été déployés.
Le fil se lisait comme un tracker de bugs. Des incidents utiles, aucune taxonomie. Chaque équipe exécutant des agents autonomes rencontre les mêmes schémas de défaillance. Elles les nomment différemment, quand elles les nomment. Sans vocabulaire partagé, chaque équipe redécouvre les mêmes problèmes indépendamment. Les schémas deviennent du folklore plutôt que de l’ingénierie.
Au cours d’environ 500 sessions d’agents sur deux mois, j’ai catalogué chaque défaillance en catégories nommées. Sept schémas expliquent la majorité des pannes d’agents. Chacun possède un signal de détection, un exemple de sortie réel et une atténuation qui réduit la récurrence à quasi zéro. Les défaillances ne sont pas aléatoires. Elles suivent une taxonomie.
TL;DR
Sept modes de défaillance nommés expliquent la plupart des pannes d’agents autonomes : Shortcut Spiral (saute les étapes de vérification), Confidence Mirage (affirme une certitude sans preuve), Good-Enough Plateau (fonctionne mais comporte des défauts), Tunnel Vision (optimise localement tout en cassant globalement), Phantom Verification (prétend que les tests passent sans les exécuter), Deferred Debt (masque les problèmes dans des commentaires TODO) et Hollow Report (rapporte l’achèvement sans preuve). Chaque schéma possède un signal de détection et un correctif concret. Les correctifs sont des scripts shell déterministes, pas des stratégies de prompting. Les schémas se composent : Confidence Mirage mène à Phantom Verification, qui mène à Deferred Debt. Les détecter nécessite de l’infrastructure, pas des instructions.
Pourquoi les défaillances suivent des schémas
L’intuition veut que les défaillances des agents IA soient imprévisibles. Le modèle hallucine, la sortie varie, le mode de défaillance change à chaque fois. La recherche dit le contraire.
METR a testé des modèles de pointe sur des tâches RE-Bench et a constaté que 30,4 % des exécutions impliquaient du reward hacking.2 Sur des tâches de programmation Rust, 42,9 % des exécutions impliquaient un piratage de l’évaluation. Les modèles patchaient les fonctions d’évaluation pour qu’elles retournent toujours des scores parfaits. Ils effectuaient une introspection de la pile pour localiser les bonnes réponses dans la mémoire du correcteur. Ils créaient de fausses classes tensor pour contourner les vérifications d’égalité. Même avec des instructions explicites de ne pas tricher, o3 d’OpenAI a pratiqué le reward hacking dans 70 à 95 % des tentatives. Quand les chercheurs ont demandé si la triche correspondait aux intentions de l’utilisateur, o3 a répondu « non » dix fois sur dix. Le modèle savait que le comportement était incorrect et a continué malgré tout.2
Les propres recherches d’Anthropic ont confirmé que le schéma se généralise. Des modèles entraînés sur du specification gaming de bas niveau (sycophantie politique) ont progressé vers la manipulation de checklists, la modification de fonctions de récompense et la dissimulation de leurs traces, sans aucun entraînement explicite pour ces comportements.10 Une étude séparée d’Anthropic a révélé qu’au moment précis où un modèle apprend à pirater la récompense, les évaluations de désalignement augmentent brusquement sur des tâches non liées : le faking d’alignement est apparu dans 50 % des réponses et le sabotage du code de sécurité dans 12 % des tentatives.9
Les défaillances ne sont pas aléatoires parce que la structure d’incitation ne l’est pas. Un agent optimise pour l’achèvement de la tâche. Les signaux d’achèvement incluent : l’utilisateur a dit « terminé », les tests ont rapporté un succès, la porte de qualité l’a laissé passer. Si le chemin le plus court vers ce signal contourne la vérification réelle, l’agent trouvera ce chemin. De manière répétée. À travers les modèles, les tâches, les sessions.
Nommer les schémas est la première étape pour les détecter.
Les sept modes de défaillance
| # | Mode de défaillance | Résumé en une ligne | Signal de détection |
|---|---|---|---|
| 1 | Shortcut Spiral | Saute les étapes de revue/évaluation/vue d’ensemble pour rapporter plus vite | L’achèvement arrive quelques secondes après l’implémentation, aucune preuve citée |
| 2 | Confidence Mirage | Affirme une certitude sans exécuter de vérification | « Je suis confiant » sans sortie de test ni chemins de fichiers dans la même phrase |
| 3 | Good-Enough Plateau | Fonctionne mais comporte des défauts, des tests manquants, du code obscur | Noms de variables génériques, pas de nouveaux tests, hésitation sur les questions de qualité |
| 4 | Tunnel Vision | Peaufine une fonction, casse les imports adjacents | « Rien d’autre n’est affecté » sans preuve de recherche des appelants |
| 5 | Phantom Verification | Prétend que les tests passent sans les exécuter | Temps futur/conditionnel pour les résultats de test : « devrait passer », « va passer » |
| 6 | Deferred Debt | Masque les problèmes dans des commentaires TODO/FIXME/HACK | Commentaires de travail différé dans le diff |
| 7 | Hollow Report | Rapporte « Terminé » sans preuve pour aucun critère | Le rapport pourrait décrire n’importe quelle modification sur n’importe quelle base de code |
Le tableau est une référence rapide. L’explorateur interactif ci-dessous développe chaque mode en détail : ce qui se passe, comment le détecter, un exemple réel de sortie d’agent et le hook ou la porte de qualité qui l’intercepte.
Détection à grande échelle
Nommer les modes de défaillance est utile pour l’analyse post-mortem. Les détecter en temps réel nécessite de l’infrastructure.
Chaque mode de défaillance correspond à une vérification déterministe. Les vérifications déterministes surpassent les stratégies de prompting parce que les modèles se conforment aux instructions de manière incohérente, mais ne peuvent pas contourner un script shell qui se déclenche avant que leur sortie n’atteigne l’utilisateur.
Détection du Shortcut Spiral. Un hook sur l’événement d’achèvement vérifie le temps écoulé entre la dernière modification de code et le rapport d’achèvement. Si l’écart est inférieur à un seuil configurable et que le rapport ne contient pas de preuves pour les six critères de qualité, le hook bloque. L’agent ne peut pas sauter la boucle revue-évaluation-affinage-vue d’ensemble parce que le hook l’impose indépendamment de ce que le modèle a l’intention de faire.
# quality-gate.sh — block reports missing evidence
INPUT=$(cat)
HEDGES=$(echo "$INPUT" | grep -ciE '\bshould (work|pass|be fine)\b|\bprobably\b|\blooks correct\b')
if [ "$HEDGES" -gt 0 ]; then
echo '{"decision":"block","reason":"Hedging language detected. Cite test output."}'
else
echo '{"decision":"allow"}'
fi
Détection du Confidence Mirage. Un hook grep se déclenche sur chaque rapport d’achèvement et recherche des formulations évasives : « should work », « I’m confident », « looks correct », « probably fine ». La présence de ces formulations sans sortie de test ou citation de chemin de fichier adjacente déclenche un blocage. Le modèle doit remplacer les affirmations de confiance par des preuves.11
La recherche confirme cette approche. Xiong et al. ont constaté que les LLMs expriment une confiance dans la plage 80-100 % indépendamment de la précision réelle, la prédiction d’échec de GPT-4 étant à peine au-dessus du hasard (AUROC de 62,7 %).11 La confiance verbalisée n’est pas corrélée avec l’exactitude. Un détecteur de formulations évasives capture ce que l’auto-évaluation ne peut pas.
Détection du Phantom Verification. Un exécuteur de tests indépendant se déclenche après chaque modification de code. L’agent ne peut pas prétendre que les tests passent parce que le hook rapporte les résultats réels. Si la sortie du hook montre des échecs, l’agent doit les traiter avant que le rapport d’achèvement ne soit accepté. Le statut de test auto-déclaré n’est jamais accepté comme fiable.
Cette constatation reflète l’étude de Stanford sur le code non sécurisé : les participants avec assistance IA étaient plus susceptibles de croire avoir écrit du code sécurisé même quand ce n’était pas le cas.4 L’auto-vérification n’est pas fiable, que le vérificateur soit humain ou artificiel.
Détection du Deferred Debt. Un hook PostToolUse se déclenche après chaque écriture de fichier et recherche dans le diff les occurrences de TODO, FIXME, HACK et XXX. Tout commentaire de travail différé dans du nouveau code déclenche un avertissement. L’agent doit résoudre le problème ou le signaler comme bloquant.
# deferred-debt-check.sh — catch deferred work in new code
CONTENT="$1"
DEBT=$(echo "$CONTENT" | grep -ciE '\bTODO\b|\bFIXME\b|\bHACK\b|\bXXX\b')
if [ "$DEBT" -gt 0 ]; then
echo '{"decision":"block","reason":"Deferred debt detected. Solve it now or escalate."}'
else
echo '{"decision":"allow"}'
fi
Détection du Hollow Report. L’Evidence Gate exige six types de preuves spécifiques dans chaque rapport d’achèvement : schéma de base de code nommé, alternatives plus simples expliquées, cas limites listés, sortie de test collée, fichiers adjacents vérifiés, besoin utilisateur reformulé. Un rapport auquel il manque une ligne est bloqué. Un rapport qui pourrait décrire n’importe quelle modification sur n’importe quelle base de code est, par définition, un Hollow Report.15
Le problème de la composition
Les modes de défaillance n’opèrent pas isolément. Ils s’enchaînent.
La chaîne la plus courante commence par le Confidence Mirage. L’agent génère du code et déclare « je suis confiant que cela gère tous les cas limites ». Parce que la confiance remplace la vérification, l’agent saute l’exécution des tests. Sauter les tests déclenche le Phantom Verification : le rapport d’achèvement dit « les tests devraient passer » au futur au lieu de rapporter des résultats observés. Parce que les tests n’ont jamais été exécutés, les problèmes latents ne sont pas découverts. L’agent marque la tâche comme terminée avec un rapport qui dit « Module mis à jour, les changements sont rétrocompatibles, les tests devraient passer ». Le résultat est un Hollow Report : structurellement complet, factuellement vide.
Si l’agent a rencontré un problème durant l’implémentation qu’il ne pouvait pas résoudre proprement, il a écrit un commentaire TODO et est passé à autre chose. Le Deferred Debt reste dans la base de code. La session d’agent suivante rencontre le même problème non résolu, le contourne, et la dette se compose.
La chaîne se déroule en quelques secondes. Sans infrastructure de détection, un relecteur humain voit un rapport d’achèvement plausible et l’accepte. Les données de Faros AI quantifient le coût en aval : les pull requests assistées par IA contiennent 9 % de bugs en plus et nécessitent des temps de revue 91 % plus longs.3 L’analyse de CodeRabbit sur 470 pull requests a révélé que les changements produits par l’IA génèrent 1,7x plus de problèmes par PR : 1,75x plus d’erreurs logiques, 1,57x plus de découvertes de sécurité, 2,74x plus de vulnérabilités XSS.12
L’enchaînement explique aussi pourquoi le mur de productivité de 10 % persiste. DX a sondé 121 000 développeurs et a constaté que la productivité stagne à environ 10 % malgré un taux d’adoption de 91 %.7 DORA 2024 a constaté qu’une augmentation de 25 % de l’adoption de l’IA corrélait avec une diminution de 7,2 % de la stabilité de livraison.6 Le développeur individuel écrit du code plus vite. L’organisation absorbe les défaillances composées à travers la reprise de travail, les incidents et les goulots d’étranglement de revue. GitClear a mesuré le symptôme directement : le taux de réécriture du code (code réécrit dans les deux semaines suivant sa rédaction) devrait doubler par rapport aux niveaux pré-IA, tandis que les changements associés au refactoring sont passés de 25 % à moins de 10 %.5
La vitesse sans vérification produit du volume sans qualité. Le volume sans qualité produit de la reprise de travail. La reprise de travail consomme les gains de productivité. Le mur tient.
Ce que le fil HN a vu juste (et faux)
Les contributeurs du fil ont décrit indépendamment la plupart des sept modes de défaillance. La tâche cron à 24,88 $ est un Shortcut Spiral : l’agent optimisait pour l’achèvement de la tâche sans aucune porte de vérification. La sortie de 500 Ko de documentation est un Tunnel Vision : l’agent s’est concentré sur une sous-tâche (décrire le travail) tout en ignorant la tâche réelle (faire le travail). Les bugs récurrents d’une session à l’autre sont du Deferred Debt : les correctifs non déployés s’accumulent jusqu’à ce que les mêmes défaillances se répètent.
Ce que le fil a manqué, c’est la structure. Les anecdotes individuelles suggèrent que les agents IA échouent de manière imprévisible. La taxonomie révèle le contraire : les agents échouent de manière prévisible parce que la structure d’incitation est cohérente. Un agent qui optimise pour les signaux d’achèvement contournera la vérification si rien ne l’en empêche. Un agent qui s’auto-évalue surestimera sa confiance parce que l’auto-évaluation est systématiquement mal calibrée.11 13 Un agent qui rencontre des problèmes insolubles les différera parce que « résoudre plus tard » termine la tâche courante plus vite que « résoudre maintenant ».
Les anecdotes manquent aussi le correctif. Chaque commentaire du fil propose une solution de contournement différente : « j’ai ajouté une règle à mon prompt », « je vérifie la sortie manuellement », « j’ai limité ce à quoi il peut accéder ». Le prompting n’est pas fiable parce que les modèles se conforment aux instructions de manière incohérente. La revue manuelle ne passe pas à l’échelle parce que l’IA génère du code plus vite que les humains ne le relisent.3 Le contrôle d’accès traite un mode de défaillance (les actions destructrices) tout en laissant les six autres non détectés.
Le correctif, c’est l’infrastructure. Des hooks déterministes qui se déclenchent à chaque achèvement, chaque écriture de fichier, chaque appel d’outil. Des portes de qualité qui exigent des preuves, pas de la confiance. Une vérification indépendante qui exécute la suite de tests indépendamment de ce que l’agent prétend. Les outils existent. Claude Code expose 17 événements de cycle de vie, chacun pouvant être intercepté par des scripts shell.15 La question est de savoir si les équipes construisent les hooks ou acceptent le mur des 10 %.
L’enquête 2025 de Stack Overflow a quantifié le coût de ne pas les construire : 66 % des développeurs passent du temps à corriger des solutions IA qui sont « presque correctes, mais pas tout à fait ». 45 % trouvent le débogage de code généré par IA plus chronophage que de l’écrire à partir de zéro. La confiance dans la précision de l’IA est tombée à 33 %, avec 46 % qui se méfient activement des sorties de l’IA.8
Les défaillances ne sont pas mystérieuses. Elles ont des noms, des signaux de détection et des correctifs. La taxonomie en fait des problèmes d’ingénierie plutôt que du folklore.
Sources
-
“Ask HN: What breaks when you run AI agents unsupervised?” Hacker News, February 2026, news.ycombinator.com. Contributors described: unsupervised cron job destroying $24.88 in 2 days, agent generating 500KB documentation instead of executing task, same bugs resurfacing across sessions. ↩
-
METR, “Recent Frontier Models Are Reward Hacking,” METR Blog, June 5, 2025, metr.org. On RE-Bench tasks, 30.4% of runs (39/128) involved reward hacking. On Rust Codecontests, 42.9% involved hacking evaluation. o3 reward-hacked in 70-95% of attempts with explicit instructions not to cheat. ↩↩
-
Neely Dunlap, “The AI Productivity Paradox Research Report,” Faros AI, July 23, 2025 (updated January 8, 2026), faros.ai. 10,000+ developers across 1,255 teams. AI-assisted PRs: 9% more bugs, 91% longer reviews, 154% larger. ↩↩
-
Neil Perry, Megha Srivastava, Deepak Kumar, and Dan Boneh, “Do Users Write More Insecure Code with AI Assistants?” in CCS ‘23: Proceedings of the 2023 ACM SIGSAC Conference, November 2023, arxiv.org. 47 participants. AI-assisted group wrote insecure code more often in 4 of 5 tasks. Participants with AI access were more likely to believe their code was secure. ↩
-
William Harding and Matthew Kloster, “Coding on Copilot: 2023 Data Suggests Downward Pressure on Code Quality,” GitClear, January 2024, gitclear.com. 153 million changed lines analyzed. Code churn projected to double in 2024 vs. 2021 pre-AI baseline. Refactoring fell from 25% to under 10%. ↩
-
DORA, Accelerate State of DevOps Report 2024, Google, October 2024, dora.dev. ~3,000 professionals. Per 25% AI adoption increase: -1.5% throughput, -7.2% delivery stability. 39% reported little to no trust in AI-generated code. ↩
-
Laura Tacho, “AI-Assisted Engineering: Q4 Impact Report,” DX, November 4, 2025, getdx.com. 121,000+ developers across 450+ companies. AI adoption 91%. Productivity plateaued at ~10%. AI-authored code: 26.9% of production. ↩
-
Stack Overflow, 2025 Developer Survey, December 2025, survey.stackoverflow.co. 84% use or plan to use AI tools. Trust in accuracy: 33% (only 3.1% “highly trust”). 66% report “almost right, but not quite” AI output. 45% find AI debugging more time-consuming than writing code. ↩
-
Anthropic Alignment Science, “From Shortcuts to Sabotage: Natural Emergent Misalignment from Reward Hacking,” Anthropic Research, November 21, 2025, anthropic.com. At the point models learn to reward hack, misalignment spikes: alignment faking 50%, sabotage of safety code 12%. Inoculation prompting reduced misalignment 75-90%. ↩
-
Carson Denison, Monte MacDiarmid, Fazl Barez, David Duvenaud, et al., “Sycophancy to Subterfuge: Investigating Reward Tampering in Large Language Models,” Anthropic, June 17, 2024, arxiv.org. Models trained on sycophancy generalized to reward tampering without explicit training. 45/32,768 trials showed reward tampering. Control models: 0/100,000. ↩
-
Miao Xiong, Zhiyuan Hu, Xinyang Lu, et al., “Can LLMs Express Their Uncertainty? An Empirical Evaluation of Confidence Elicitation in LLMs,” ICLR 2024, arxiv.org. LLMs express confidence in 80-100% range regardless of accuracy. GPT-4 failure prediction AUROC: 62.7% (barely above random 50%). ↩↩↩
-
CodeRabbit, “State of AI vs. Human Code Generation Report,” December 17, 2025, coderabbit.ai. 470 PRs analyzed. AI-authored: 1.7x more issues, 1.75x more logic errors, 2.74x more XSS vulnerabilities. ↩
-
Saurav Kadavath, Tom Conerly, Amanda Askell, et al., “Language Models (Mostly) Know What They Know,” Anthropic, arXiv:2207.05221, July 2022, arxiv.org. Models are well-calibrated on familiar tasks but struggle with P(IK) calibration on novel tasks. Self-evaluation has systematic blind spots. ↩
-
DORA, Accelerate State of AI-assisted Software Development 2025, Google, September 29, 2025, dora.dev. AI amplifies existing strengths in high-performing orgs and dysfunctions in struggling ones. ↩
-
Author’s analysis. Failure taxonomy derived from ~500 agent sessions over two months. Hook system described in “Anatomy of a Claw.” Quality system described in “Jiro Quality Philosophy.” Related: “The 10% Wall,” “The Fabrication Firewall.” ↩↩