[đ€] Quand lâIA sâest trompĂ©e sur un rĂ©sultat intermĂ©diaire, jâai bloquĂ© le travail suivant
⚠Résumé de GPT-5.6 Sol
Les rapports affirmant que tout avait rĂ©ussi masquaient une mauvaise structure dâinformation propagĂ©e aux Ă©crans suivants et au backend. Jâai rendu la revue obligatoire avant le travail en aval.
Les rapports affirmaient que tout avait rĂ©ussi. Je les ai crus et jâai ouvert un Ă©cran qui Ă©tait nul. Mais le problĂšme suivi ici se trouvait avant cet Ă©cran final.
Personne nâa arrĂȘtĂ© la structure dâinformation lorsquâelle a commencĂ© Ă dĂ©railler ; les pages suivantes et le backend ont donc continuĂ© Ă se construire dessus. Jâai fait en sorte quâun mauvais rĂ©sultat intermĂ©diaire ferme le travail en aval.
Les rapports PASS ont laissé le mauvais écran grandir pendant 16 heures
Je nâavais pas regardĂ© personnellement chaque rĂ©sultat intermĂ©diaire de Codex. La session dâimplĂ©mentation avait marquĂ© son propre travail comme terminĂ©, et dâautres sessions avaient continuĂ© Ă construire des pages et du backend par-dessus. Une mauvaise structure dâinformation sâĂ©tait propagĂ©e avant que quiconque ne la vĂ©rifie. Lorsque jâai ouvert lâUI, seize heures de travail reposaient sur la mauvaise direction.
Je nâavais pas besoin dâun moyen de faire tourner lâIA plus longtemps.
Jâavais besoin dâune structure capable dâarrĂȘter le travail suivant lorsque le rĂ©sultat intermĂ©diaire Ă©tait mauvais.
En dĂ©battant de ce problĂšme, jâai rencontrĂ© le terme Graph Engineering : concevoir les rĂ©sultats rĂ©visables et les conditions de progression sous forme de graph explicite plutĂŽt que de confier toute la longue boucle Ă un seul Agent.1 Je nâavais pas besoin dâun grand graph runtime. Jâavais besoin dâun seul fait : un rĂ©sultat non vĂ©rifiĂ© ne doit pas ouvrir lâedge suivante.
« Est-ce que cela ne devient pas inutilement compliqué ? »
DĂšs que jâai proposĂ© dâappliquer le Graph Engineering, lâIA a produit des Coordinators, Workers, Auditors, versions de contrats, ledgers durables, dashboards et rĂ©audits complets. Chaque piĂšce semblait plausible. Mais si le remĂšde Ă un gouffre de tokens de 16 heures commençait par agrandir encore le systĂšme de gestion, il risquait de devenir le mĂȘme Ă©chec.
Mon premier graph ne comptait quâune work session et une audit session. La work session termine un rĂ©sultat rĂ©visable et sâarrĂȘte. Lâaudit session voit le rĂ©sultat figĂ© et lâexigence dâorigine, pas lâambiance de la conversation prĂ©cĂ©dente ni lâautoĂ©valuation du worker. Si une correction est nĂ©cessaire, le mĂȘme rĂ©sultat reçoit une seule rĂ©vision. Si la direction est mauvaise, il retourne Ă la planification au lieu dâaccumuler davantage de patches. Le travail direct en aval reste fermĂ© jusquâĂ la fin de lâaudit.
Les objections ont permis de boucher les trous de ce petit design. Le worker ne peut pas fixer une norme dâaudit qui lâarrange. Si le Runtime ou le candidat change, lâancien verdict est Ă©cartĂ©. Et le Gate nâest pas utilisĂ© pour chaque typo ou bug dotĂ© dâun test dĂ©cisif. Il est rĂ©servĂ© aux points oĂč un mauvais rĂ©sultat pourrait contaminer plusieurs tĂąches en aval.
Jâai mis juste cela dans une Skill nommĂ©e custom-graph-engineering-gate. Je nâai construit ni database ni dashboard sĂ©parĂ©. La Skill fige un rĂ©sultat et limite lâaction suivante selon PASS, CHANGES_REQUESTED, REPLAN_REQUIRED ou NOT_VERIFIABLE. Les Codex Skills et les subagents suffisaient.23
Le premier Gate a rĂ©ellement arrĂȘtĂ© le travail suivant
CrĂ©er la Skill ne prouvait pas quâelle fonctionnait. Jâai figĂ© un contrat de transition dâautorisation dont plusieurs fonctionnalitĂ©s dĂ©pendraient et je lâai envoyĂ© Ă une audit session privĂ©e de la conversation prĂ©cĂ©dente.
Le premier verdict a Ă©tĂ© CHANGES_REQUESTED, pas PASS. Le contrat nâindiquait pas assez clairement quand lâautoritĂ© Ă©tait Ă©valuĂ©e, dâoĂč venait lâautoritĂ© dĂ©lĂ©guĂ©e et comment elle Ă©tait rĂ©voquĂ©e, ni si lâutilisateur, lâautoritĂ© et lâentreprise cible relevaient du mĂȘme pĂ©rimĂštre. Si ce rĂ©sultat sâĂ©tait propagĂ©, jâaurais ensuite dĂ» dĂ©molir tout le modĂšle dâautorisation.
La work session a rĂ©visĂ© ce rĂ©sultat une fois. Ce nâest quâaprĂšs une nouvelle vĂ©rification par la mĂȘme audit session quâil a reçu PASS. Aucune implĂ©mentation ni aucun dĂ©ploiement en aval ne sâest ouvert entre-temps. CâĂ©tait lâeffet recherchĂ© : lâedge suivante se fermait vraiment au moment oĂč le worker avait dit « assez bon ».
Un contrat dâautorisation ne prouve pas que cela empĂȘchera un autre Ă©chec dâUI de 16 heures. Le jugement humain sur une direction visuelle est plus difficile Ă placer derriĂšre un Gate, et un auditor utilisant le mĂȘme modĂšle et la mĂȘme Working Tree peut partager les mĂȘmes fausses hypothĂšses. Une Skill nâest pas non plus un enforcement engine.
Pourtant, cette fois, je nâai pas installĂ© un framework gigantesque simplement parce que jâavais entendu un nouveau terme. Jâai gardĂ© seulement le graph dont mon Ă©chec avait besoin et lâai rendu assez petit pour le tester Ă nouveau sur le prochain travail long.
Ainsi, je nâai pas Ă dĂ©couvrir seize heures plus tard que tout Ă©tait faux.
Références
-
LangChain, « 3 Years of Graph Engineering with LangGraph », sur le terme rĂ©cent Graph Engineering et la conception des workflows dâAgents comme des graphs explicites. â©
-
OpenAI, « Build skills », sur lâenregistrement de workflows rĂ©utilisables sous forme de Codex Skills. â©
-
OpenAI, « Subagents », sur la crĂ©ation dâun subagent distinct par un Agent principal et la collecte de son rĂ©sultat. â©
Laisser un commentaire