Aller au contenu
Mastering Claude

Accueil / Plusieurs agents et vérification adverse

Plusieurs agents et vérification adverse9 minApplication

Workflows déterministes : schémas, checkpoints, reprise

Un workflow est un script qui enchaîne des appels d'agent de façon déterministe : mêmes étapes et même schéma de sortie à chaque exécution. Un schéma JSON impose des champs nommés d'une étape à l'autre, et chaque étape terminée écrit un checkpoint, ce qui permet de reprendre un workflow interrompu sans tout refaire.

Un workflow, au sens de ce module, est un script qui enchaîne plusieurs appels d'agent de façon déterministe : la même séquence d'étapes et le même schéma de sortie à chaque exécution, contrairement à une conversation où l'agent décide seul de l'ordre de ses actions.

Le schéma qui remplace un rapport en langage libre

Quand un agent doit transmettre son résultat à l'étape suivante, un schéma JSON impose des champs nommés et des types précis, plutôt qu'un paragraphe que l'agent suivant devrait relire et interpréter. Deux agents qui échangent par un schéma commun ne se comprennent pas de travers sur la forme, ce qui déplace la vigilance là où elle compte vraiment, sur le contenu.

Le checkpoint qui évite de tout refaire

Chaque étape terminée écrit un checkpoint. Au moment de reprendre un workflow interrompu, une étape marquée terminée renvoie directement son résultat sauvegardé sans relancer l'agent qui l'a produit. Une étape dont le prompt a changé depuis la dernière exécution est relancée, et toute étape placée après elle dans la séquence l'est aussi, même si son propre prompt n'a pas bougé. Avant la version 2.1.305, les agents terminés pouvaient aussi repartir quand on relançait un script non modifié ; la reprise les sert désormais depuis le journal du run.

étape : rédaction_synthèse
statut : terminé
prompt identique à la dernière exécution : oui
modèle posé dans le script pour cette étape : aucun

Le modèle qu'un agent relancé hérite réellement

Depuis la version 2.1.251, le modèle qui s'applique à un agent relancé suit un ordre de priorité à quatre étages : le paramètre posé directement dans l'appel de cet agent, le champ modèle du sous-agent lui-même, une variable d'environnement propre au sous-agent, puis, en dernier recours, le modèle de la session qui exécute le script au moment où elle le relance. Avant cette version, l'ordre différait sur un point qui change tout pour un vieux script : la variable d'environnement passait en premier et l'emportait sur le paramètre d'appel comme sur le champ modèle du frontmatter, y compris sur la valeur model: inherit. Depuis octobre, la variable CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL fait tourner tous les agents d'un workflow sur un seul modèle sans toucher aux autres sous-agents ; la ligne du journal ne dit pas où elle se place dans cet ordre, la page des workflows ne mentionne pas la variable : seul le journal la documente. Quand aucun des étages prioritaires n'est renseigné, un agent écrit sous un modèle donné à une date bascule silencieusement sur le modèle de la session qui le relance des mois plus tard, sans qu'aucun message à l'écran ne le signale. Ce point rejoint le choix d'architecture posé dans fan-out, pipeline, barrière : un pipeline sauvegardé reste un pipeline, et chacune de ses étapes garde son propre risque d'héritage silencieux de modèle.

Rouvrir un script écrit plusieurs mois plus tôt et vérifier ligne par ligne quel modèle s'appliquera réellement à chaque agent prend quelques minutes, à condition de vérifier aussi la version de l'outil d'orchestration au moment de l'écriture du script face à celle installée aujourd'hui.

Quand arrêter une étape qui échoue

Dans une boucle d'étapes, « la même erreur deux fois » se juge sur l'ensemble des critères rejetés d'une tentative, pas sur un identifiant isolé. Un ensemble différent ouvre une tentative de plus, le même ensemble ferme l'étape, et deux étapes échouées de suite arrêtent la boucle. Une étape échouée n'arrête pas le chantier : son travail reste dans le dépôt et se reprend dans un petit chantier neuf. À chaque reprise, relisez le plan et ajoutez une précision avant la tentative suivante, et faites écrire les verdicts par un script qui vérifie que les clés égalent les critères.

Figure 1

Un script de workflow, de l'écriture à la relance

01
Écrire le script
Chaque appel d'agent reçoit un schéma de sortie et, pour certains, un champ modèle posé explicitement.
02
Exécuter une première fois
Chaque étape terminée écrit un checkpoint avec son statut et le modèle réellement appliqué.
03
Interrompre puis reprendre
Une étape marquée terminée renvoie son résultat sauvegardé sans relancer l'agent qui l'a produit.
04
Relancer des mois plus tard
Un agent sans champ modèle explicite hérite du modèle de la session qui relance le script ce jour là, pas de celle qui l'a écrit.
La séquence montre où se joue l'héritage silencieux du modèle, entre l'écriture du script et sa relance plusieurs mois plus tard.
Calibrez vous-même

Une personne ouvre en août un script de workflow écrit en janvier, sur une installation de Claude Code restée à la même version postérieure à 2.1.251 pendant tout cet intervalle, avec une variable d'environnement de modèle par sous-agent laissée à sa valeur vide par défaut. Le script enchaîne quatre appels d'agent, le premier avec un champ modèle portant la valeur sonnet et les trois suivants avec ce champ laissé vide. Cette personne relance le script depuis une session dont le modèle par défaut est devenu haiku entre janvier et août.

Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.

Ce qu’il faut retenir
  • Une sortie structurée par un schéma JSON retire l'ambiguïté entre deux agents qui se lisent l'un l'autre, une structure imposée remplace un texte à interpréter.
  • Un checkpoint enregistre le résultat de chaque étape terminée et la reprise le sert depuis le journal du run : seule l'étape dont le prompt a changé, et celles qui la suivent, sont relancées.
  • Le modèle appliqué à un agent relancé dépend, depuis la version 2.1.251, d'un ordre de priorité à quatre étages, le paramètre de l'appel, le champ modèle du sous-agent, une variable d'environnement, puis le modèle de la session en dernier recours ; avant cette version, la variable d'environnement passait en premier et primait sur tout le reste.
  • Un agent dont aucun des trois premiers étages n'est renseigné bascule silencieusement, au moment de la relance, sur le modèle de la session qui exécute le script ce jour là.
  • Reprendre un ancien script impose de réauditer chaque champ modèle, et une boucle d'étapes s'arrête sur le même ensemble de critères rejetés deux fois ou sur deux étapes échouées de suite.
À faire maintenant

Ouvrez le dernier script de workflow que vous avez enregistré, listez chaque appel d'agent qu'il contient, et notez à côté de chacun si son champ modèle porte une valeur explicite ou s'il reste vide avant de le relancer.

Ce qui reste à vérifier

Ces points dépendent d’une interface ou d’une règle qui peut avoir changé depuis la rédaction. Vérifiez-les sur votre propre écran avant de vous y fier.

  • Vérifiez si votre outil d'orchestration définit une variable d'environnement de modèle par sous-agent sur votre poste, elle prime sur le modèle de la session si elle est posée, et vérifiez aussi si votre installation est antérieure ou postérieure à la version 2.1.251, qui a inversé l'ordre de priorité entre cette variable et le paramètre d'appel.
Vérifier à la source

Chaque affirmation datable de cette leçon renvoie ici au texte public qui la porte. Une source qui ne s’ouvre pas ne prouve rien.