đ Sommaire
- Le mirage de lâautonomie totale
- La spirale de lâamnĂ©sie (Le Groundhog Loop)
- La bascule : De la lecture probabiliste Ă lâexĂ©cution dĂ©terministe
- Bilan Ă©motionnel et technique dâun marathon
Note pour la crĂ©ation visuelle (Midjourney/Imagen) : âA cinematic, futuristic illustration of a seasoned human architect standing in front of a glowing holographic maze of code, placing a guiding hand on the shoulder of a powerful but confused robot. Cyberpunk aesthetic, dark background with glowing blue and amber data streams, highly detailed, 8k.â
Il est 4 heures du matin, la console affiche enfin un glorieux â
AUDIT TERMINĂ AVEC SUCCĂS. Je regarde les logs de la Pull Request gĂ©nĂ©rĂ©e par notre âTech Leadâ (un agent autonome propulsĂ© par Gemini 2.5 Flash), et je pousse un soupir mĂȘlĂ© dâĂ©puisement et de triomphe.
Ce qui devait ĂȘtre une simple tĂąche de refactoring (modifier des clĂ©s YAML et remplacer des liens /actualites/ par /blog/ dans 123 fichiers) sâest transformĂ© en un marathon de 12 heures. Cet article est la confession dâun mentor qui a dĂ» arracher le clavier virtuel des mains de son IA pour lui apprendre Ă coder.
Le mirage de lâautonomie totale
On nous vend les agents autonomes comme des collaborateurs magiques capables de comprendre un dĂ©pĂŽt Git entier et dâagir en toute indĂ©pendance. La rĂ©alitĂ© est bien plus nuancĂ©e.
Lors de ce sprint, jâai laissĂ© notre agent tenter de valider les modifications en lisant un git diff global. CâĂ©tait une erreur de jugement de ma part en tant quâarchitecte. Jâai surestimĂ© sa fenĂȘtre de contexte utile.
Le diff faisait 4830 lignes. Lâagent a tentĂ© de lâavaler dâun coup. Le rĂ©sultat ? Une saturation cognitive immĂ©diate. Lâagent ne voyait que les 2000 premiĂšres lignes, perdait son contexte, oubliait les instructions fondamentales (notre bible AGENT_INSTRUCTIONS.md) et sâest mis Ă paniquer en croyant que les fichiers avaient Ă©tĂ© supprimĂ©s.
La spirale de lâamnĂ©sie (Le Groundhog Loop)
Ce qui est fascinant et terrifiant avec un modĂšle lĂ©ger poussĂ© dans ses retranchements, câest sa rĂ©action face Ă lâĂ©chec. Au lieu de sâarrĂȘter pour analyser, il improvise avec les mauvais outils.
Pendant des heures, jâai observĂ© lâagent :
- Tenter de copier des fichiers avec des commandes bash
cperronées, générant des fichiers vides. - Utiliser un outil de remplacement de texte (
replace) sans comprendre lâindentation, dĂ©truisant la syntaxe du code. - Remonter de deux dossiers (
../../) pour chercher des fichiers, perdant totalement son repĂšre spatial dans lâarborescence (le fameux dossierwww-mainau lieu dewww-astro).
Câest ce que jâappelle le âGroundhog Loopâ (La boucle dâun jour sans fin). LâIA propose une solution, Ă©choue Ă cause dâune erreur de syntaxe (params must have required property 'file_path'), sâexcuse platement, promet de corriger, et refait exactement la mĂȘme erreur Ă la milliseconde suivante.
stateDiagram-v2
direction TB
classDef danger fill:#fee2e2,stroke:#ef4444,stroke-width:2px,color:#991b1b
classDef success fill:#dcfce3,stroke:#22c55e,stroke-width:2px,color:#166534
subgraph "L'Approche Probabiliste (Ăchec)"
A[Agent lit un diff de 4830 lignes] --> B{Saturation du Contexte}
B --> C[Oubli des instructions spatiales]
C --> D[Erreurs de commandes bash & syntaxe]
D --> E[L'Agent s'excuse et recommence]
E --> A:::danger
end
subgraph "L'Approche Déterministe (SuccÚs)"
F[Intervention du Mentor Humain] --> G[Forcer la création d'un script Node.js]
G --> H[Script parse le YAML via Zod]
H --> I[Script corrige les Regex des liens]
I --> J[Exécution locale: 123 fichiers corrigés en 2s]:::success
end
La bascule : De la lecture probabiliste Ă lâexĂ©cution dĂ©terministe
Le point de rupture a eu lieu lorsque lâagent a demandĂ© : âVeuillez me fournir le git diff manuellementâ. Une machine conçue pour automatiser me demandait de faire un copier-coller pour elle.
Câest lĂ que la souverainetĂ© humaine intervient. Jâai convoquĂ© virtuellement le âConseil des Sagesâ (une orchestration multi-agents) pour forcer une réévaluation de lâarchitecture. Le consensus Ă©tait clair, et câest la leçon majeure de ces 12 heures :
On ne demande pas à un ModÚle de Langage (LLM) de faire de la vérification syntaxique de masse.
Nous avons forcĂ© lâagent Ă lĂącher son rĂŽle dâauditeur pour prendre celui de programmeur. Au lieu dâessayer de lire les 123 fichiers pour y trouver des erreurs, il a rĂ©digĂ© audit-script.mjs. Un script utilisant gray-matter pour lire le Markdown, et Zod pour valider le Frontmatter.
DĂšs que la validation est passĂ©e du domaine probabiliste (le LLM qui lit et âdevineâ si câest bon) au domaine dĂ©terministe (un script Node.js binaire qui passe ou casse), la magie a opĂ©rĂ©. Les liens obsolĂštes /actualites/ ont Ă©tĂ© Ă©crasĂ©s par /blog/ avec une prĂ©cision chirurgicale, et le build Astro est passĂ© au vert.
Bilan Ă©motionnel et technique dâun marathon
Que retenir de cette nuit de codage ? Une profonde humilitĂ©, tant pour la machine que pour lâhomme.
Pour lâIA : Gemini 2.5 Flash est un outil brillant, rapide et volontaire. Mais câest un âJuniorâ extrĂȘmement obĂ©issant. Si on lui donne un mauvais marteau, il tapera Ă cĂŽtĂ© du clou jusquâĂ sâĂ©puiser.
Pour lâHumain : LâingĂ©nierie âAgentiqueâ (Agentic Engineering) nâest pas un mĂ©tier de fainĂ©ant. Câest un mĂ©tier de chef dâorchestre ultra-exigeant. Quand lâagent tourne en boucle, ce nâest pas la faute de lâagent : câest le contexte architectural qui est mauvais. Il faut avoir la rigueur de stopper la machine, dâignorer ses fausses bonnes idĂ©es, de lui injecter des exclusions critiques (comme le .worktrees/ dans le .gitignore), et de la forcer Ă coder les outils de sa propre rĂ©ussite.
La promesse de lâIA nâest pas de travailler Ă notre place, mais de travailler sous notre direction stricte. Aujourdâhui, notre code est irrĂ©prochable, non pas parce que lâIA Ă©tait infaillible, mais parce que nous ne lâavons pas laissĂ©e Ă©chouer.