La semaine dernière, nous avons publié les workflows dynamiques dans Claude Code. Claude peut désormais écrire son propre harness à la volée, sur mesure pour la tâche à accomplir.
Bien que le harness par défaut de Claude Code soit conçu pour le codage, il est également utile pour de nombreux autres types de tâches, car, en fin de compte, de nombreuses tâches ressemblent à des tâches de codage. Mais il existe certaines catégories de tâches pour lesquelles nous avons dû construire des harness personnalisés au-dessus de Claude Code afin d'atteindre des performances optimales, comme la Recherche, l'analyse de sécurité, les équipes d'agents ou la Revue de code.
Les workflows vous permettent de créer dynamiquement des harness qui permettent à Claude de résoudre tous ces problèmes et bien plus encore nativement dans Claude Code. Vous pouvez également partager et réutiliser ces workflows avec d'autres.
Dans cet article, je vais couvrir mes premières expériences et apprentissages avec les workflows afin que vous puissiez en tirer le meilleur parti.
Cela dit, les bonnes pratiques sont encore en développement ! Les workflows dynamiques utilisent souvent plus de tokens, alors réfléchissez bien au moment et à la manière de les utiliser.
Remarque : cet article est également disponible sur le blog Claude
Exemples de prompts
Avant de plonger dans les détails techniques, j'aimerais commencer par quelques exemples de prompts pour vous faire réfléchir aux possibilités offertes par les workflows :
- « Ce test échoue environ 1 fois sur 50. Configure un workflow pour le reproduire, formule des théories et teste-les de manière adversarial dans des worktrees /goal ne t'arrête pas tant qu'une théorie ne fonctionne pas. »
- « À l'aide d'un workflow, parcours mes 50 dernières sessions et extrais les corrections que je fais constamment, puis transforme les récurrentes en règles CLAUDE.md. »
- « Utilise un workflow pour fouiller les #incidents dans Slack des six derniers mois et trouver les causes racines récurrentes pour lesquelles personne n'a ouvert de ticket. »
- « Prends mon business plan et exécute un workflow où différents agents le démontent du point de vue d'un investisseur, d'un client et d'un concurrent. »
- « Voici un dossier de 80 CV, utilise un workflow pour les classer pour le poste de backend et vérifie les dix premiers. Fais-moi passer un entretien en utilisant l'outil AskUserQuestion pour une grille d'évaluation. »
- « J'ai besoin d'un nom pour cet outil en ligne de commande. Utilise un workflow pour trouver un tas d'options et organise un tournoi pour sélectionner les 3 meilleures. »
- « Utilise un workflow pour renommer notre modèle User en Account partout. »
- « Parcours mon brouillon d'article de blog et, à l'aide d'un workflow, vérifie chaque affirmation technique par rapport à la base de code, je ne veux rien publier de faux. »
Comment fonctionnent les workflows dynamiques
Les workflows dynamiques exécutent un fichier JavaScript avec quelques fonctions spéciales qui aident à créer et coordonner des sous-agents :

Les workflows dynamiques incluent également des fonctions JavaScript standard comme JSON, Math et Array, pour aider à traiter les données.
Il est particulièrement utile de savoir que les workflows dynamiques peuvent décider quels modèles un agent utilise et si les sous-agents sont exécutés dans leur propre worktree, permettant à Claude de choisir le niveau d'intelligence et d'isolement nécessaire.
Si un workflow est interrompu, par exemple par une action de l'utilisateur ou la fermeture du terminal, la reprise de la session permettra au workflow de reprendre là où il s'était arrêté.
Pourquoi les workflows dynamiques
Lorsque vous demandez au harness par défaut de Claude Code d'effectuer une tâche, il doit à la fois planifier et exécuter dans la même fenêtre de contexte. Pour de nombreuses tâches de codage, c'est très efficace, mais cela peut parfois échouer pour des tâches longues, massivement parallèles et/ou hautement structurées de manière adversarial.
En effet, plus Claude travaille longtemps sur une tâche complexe dans une seule fenêtre de contexte, plus il devient sujet à certains modes de défaillance spécifiques :
- La paresse agentique fait référence au moment où Claude s'arrête avant d'avoir terminé une tâche particulièrement complexe et composée de plusieurs parties, et déclare le travail terminé après des progrès partiels, par exemple en traitant 20 des 50 éléments d'une revue de sécurité.
- Le biais d'auto-préférence fait référence à la tendance de Claude à préférer ses propres résultats ou conclusions, surtout lorsqu'on lui demande de les vérifier ou de les juger par rapport à une grille.
- La dérive d'objectif fait référence à la perte progressive de fidélité à l'objectif initial au fil de nombreuses itérations, surtout après un compactage. Chaque étape de résumé est avec perte, et des détails comme les exigences de cas limites ou les contraintes « ne fais pas X » peuvent être perdus.
Créer un workflow aide à lutter contre ces problèmes en orchestrant des Claudes séparés avec leurs propres fenêtres de contexte et des objectifs ciblés et isolés.
Workflows dynamiques vs statiques
Vous avez peut-être déjà créé un workflow statique en utilisant le SDK Agent Claude ou claude -p pour coordonner plusieurs instances de Claude Code ensemble.
Mais comme les workflows statiques doivent fonctionner pour tous les cas limites, ils sont généralement plus génériques. Avec Claude Opus 4.8 et les workflows dynamiques, Claude est désormais assez intelligent pour écrire un harness sur mesure pour votre cas d'utilisation.

Modèles utiles lors de l'utilisation des workflows dynamiques
Vous pouvez commencer à utiliser les workflows dynamiques simplement en demandant à Claude d'en créer un, ou en utilisant le mot déclencheur « ultracode » pour garantir que Claude Code crée un workflow.
Mais construire un modèle mental du fonctionnement des workflows dynamiques vous aidera à comprendre quand les utiliser et comment vous pourriez orienter Claude via des prompts.
Il existe quelques modèles courants que Claude pourrait utiliser et combiner lors de la création de workflows :

Classifier et agir
Utilisez un agent classifieur pour décider du type de tâche, puis orientez vers différents agents ou comportements en fonction de la tâche. Ou utilisez un classifieur à la fin pour déterminer la sortie.
Diviser et synthétiser
Divisez une tâche en plusieurs petites étapes, exécutez un agent sur chaque étape, puis synthétisez ces résultats. C'est particulièrement utile lorsqu'il y a un grand nombre de petites étapes, ou lorsque chaque étape bénéficie de sa propre fenêtre de contexte propre pour éviter les interférences ou la contamination croisée. L'étape de synthèse est une barrière : elle attend que tous les agents de division aient terminé, puis fusionne leurs sorties structurées en un seul résultat.
Vérification adversarial
Pour chaque agent généré, exécutez un autre agent généré pour vérifier de manière adversarial sa sortie par rapport à une grille ou à des critères.
Générer et filtrer
Générez un certain nombre d'idées sur un sujet, puis filtrez-les selon une grille ou par vérification, dédupliquez les doublons et ne renvoyez que les idées de la plus haute qualité testées.
Tournoi
Au lieu de diviser le travail, faites en sorte que les agents rivalisent. Générez N agents qui tentent chacun la même tâche en utilisant des approches différentes. Les prompts ou les modèles jugent ensuite les résultats par paires à l'aide d'un agent juge jusqu'à ce qu'un gagnant soit désigné.
Boucle jusqu'à terminaison
Pour les tâches dont la quantité de travail est inconnue, bouclez la génération d'agents jusqu'à ce qu'une condition d'arrêt soit remplie (aucune nouvelle découverte, ou plus d'erreurs dans les journaux) au lieu d'un nombre fixe de passages.
Cas d'utilisation
Réfléchissez de manière créative au moment et à la manière de demander à Claude Code de créer des workflows dynamiques. J'ai constaté que les workflows sont parfois encore plus utiles pour les tâches non techniques.

Migrations et refontes
Bun a été réécrit de Zig à Rust en utilisant des workflows. Vous pouvez en lire plus dans le fil X de Jarred.
La clé est de décomposer la tâche en une série d'étapes sur lesquelles il faut opérer, par exemple les sites d'appel, les tests qui échouent, les modules, etc. Démarrez un sous-agent pour chaque correction dans un worktree pour effectuer la correction, puis faites en sorte qu'un autre agent la révise de manière adversarial, et fusionnez. Envisagez de dire à l'agent de ne pas utiliser de commandes gourmandes en ressources afin de pouvoir paralléliser au maximum sans épuiser les ressources de votre machine.
Recherche approfondie
Nous avons publié une compétence de recherche approfondie (/deep-research) dans Claude Code qui utilise des workflows dynamiques. Plus précisément, elle déploie des recherches web, récupère des sources, vérifie leurs affirmations de manière adversarial et synthétise un rapport cité.
Mais vous pouvez effectuer ce type de recherche pour bien plus que de simples recherches web. Par exemple, demander à Claude de compiler un rapport d'état à partir du contexte dans Slack ou de rechercher comment une fonctionnalité fonctionne en explorant une base de code en profondeur.
Vérification approfondie

D'autre part, si vous avez un rapport dans lequel vous souhaitez vérifier et sourcer chaque affirmation factuelle qu'il référence, vous pouvez générer un workflow dans lequel un agent identifie toutes les affirmations factuelles, puis démarre un sous-agent pour vérifier chacune en détail. Vous pouvez également avoir un agent de vérification qui vérifie le sous-agent source pour s'assurer que sa source est de haute qualité.
Tri

Vous pouvez avoir une liste d'éléments que vous souhaitez trier selon une mesure qualitative pour laquelle vous pensez que Claude Code est performant, par exemple : des tickets de support triés par gravité du bug. Mais si vous essayez de trier plus de 1000 lignes en un seul prompt, la qualité se dégrade et cela ne tient pas dans le contexte. Utilisez plutôt un tournoi, un pipeline d'agents de comparaison par paires (le jugement comparatif est plus fiable que la notation absolue), ou classez par lots en parallèle, puis fusionnez. Chaque comparaison est son propre agent, donc la boucle déterministe conserve le bracket et seul l'ordre d'exécution reste dans le contexte.
Mémoire et respect des règles

Si vous avez un ensemble particulier de règles que Claude omet ou a du mal à respecter, même lorsqu'elles sont placées dans les CLAUDE.md, créez un workflow avec une liste de règles qui doivent être vérifiées par des agents vérificateurs — un vérificateur par règle. Créer un sous-agent de personnalité sceptique pour examiner les règles afin de s'assurer qu'elles sont cohérentes aidera à éviter trop de faux positifs.
La direction inverse fonctionne aussi : extrayez vos sessions récentes et les commentaires de revue de code pour les corrections que vous faites constamment, regroupez-les avec des agents parallèles, vérifiez chaque candidat de manière adversarial (cette règle aurait-elle évité une vraie erreur ?), puis distillez les survivants dans un CLAUDE.md.
Investigation des causes racines
Le débogage fonctionne mieux lorsque vous formulez plusieurs hypothèses indépendantes et les testez, mais si vous n'utilisez qu'une seule fenêtre de contexte, Claude peut souffrir d'un biais d'auto-préférence.
Un workflow peut structurellement empêcher cela en démarrant des agents pour générer des hypothèses à partir de preuves disjointes. Par exemple, des agents séparés pour les journaux, les fichiers et les données. Chaque hypothèse peut ensuite faire face à un panel de vérificateurs et de réfutateurs.
Cela ne concerne pas que le code. Les workflows peuvent être utilisés pour les ventes (pourquoi les ventes ont-elles chuté en mars ?), l'ingénierie des données (pourquoi ce pipeline a-t-il échoué ?), ou tout exercice post-mortem.
Tri à grande échelle

Chaque équipe a une file d'attente de support, des rapports de bugs, ou un autre backlog qui ne peut pas être entièrement traité par des humains.
Un workflow de tri classe chaque élément, le déduplique par rapport à ce qui est déjà suivi et agit. Cela peut signifier tenter la correction ou escalader vers un utilisateur humain.
Un modèle utile pour les workflows de tri est la quarantaine. Cela consiste à empêcher les agents qui lisent du contenu public non fiable de prendre des actions à privilèges élevés, ces actions étant effectuées par les agents chargés d'agir sur les informations.
Associez les workflows de tri à /loop pour que Claude fasse cela en continu.
Exploration et goût
Les workflows peuvent être utiles pour explorer différentes approches d'une solution, surtout lorsqu'elle est basée sur le goût, comme le design ou le nommage, et bénéficierait d'une grille d'évaluation.
Essayez de demander à Claude d'explorer un ensemble de solutions, et donnez à un agent de révision une grille de ce à quoi ressemble une bonne solution. La tâche est terminée lorsque l'agent de révision estime que les critères sont remplis. Les solutions peuvent également être ordonnées ou sélectionnées via un tournoi basé sur la grille.
Évaluations
Vous pouvez exécuter des évaluations légères pour des tâches spécifiques en démarrant des agents séparés dans un worktree, puis en démarrant des agents de comparaison pour comparer et noter les sorties spécifiques par rapport à une grille. Par exemple, évaluer puis affiner une compétence que vous avez créée par rapport à des critères particuliers.
Routage de modèle et d'intelligence
Créez un agent classifieur adapté à vos tâches qui décide quel modèle utiliser. Cela peut être utile lorsque votre tâche impliquera de nombreux appels d'outils et que mener des recherches avant l'exécution peut identifier le meilleur modèle pour le travail.
Par exemple, le meilleur modèle pour la tâche « explique comment fonctionne le module d'auth » dépend du nombre de fichiers dans le module d'auth et de la forme de la base de code. Un agent classifieur peut faire cette recherche, puis orienter vers Sonnet ou Opus en fonction de la complexité attendue de la tâche.
Quand ne pas utiliser les workflows dynamiques
Les workflows sont nouveaux. Bien qu'il existe de nombreux cas d'utilisation où ils produiront des résultats exceptionnels, ils ne sont pas nécessaires pour chaque tâche et peuvent utiliser beaucoup plus de tokens.
Il est préférable d'utiliser les workflows de manière créative pour pousser Claude Code dans des directions que vous n'avez pas encore explorées. Pour les tâches de codage classiques, demandez-vous si elle a vraiment besoin de plus de calcul. Par exemple, la plupart des tâches de codage traditionnelles n'ont pas besoin d'un panel de 5 réviseurs.
Conseils pour construire des workflows dynamiques
Rédaction de prompts
Une rédaction détaillée des prompts, utilisant les techniques spécifiques décrites ci-dessus, pour les workflows dynamiques donne les meilleurs résultats.
Les workflows ne sont pas réservés aux grandes tâches. Vous pouvez demander au modèle d'utiliser un « workflow rapide ». Par exemple, vous pouvez créer une revue adversarial rapide d'une hypothèse.
Combiner avec /goal et /loop
Lorsque vous utilisez des workflows qui peuvent être répétés, par exemple le tri, la recherche ou la vérification, associez-les à /loop pour qu'ils soient exécutés à intervalles réguliers, et à /goal pour définir une exigence d'achèvement stricte.
Budgets d'utilisation de tokens
Vous pouvez définir des budgets d'utilisation explicites pour les workflows dynamiques afin de limiter le nombre de tokens qu'une tâche utilise. Vous pouvez le demander avec un budget comme : « utilise 10k tokens », ce qui définira le plafond.
Sauvegarder et partager les workflows dynamiques
Vous pouvez sauvegarder les workflows en appuyant sur « s » dans le menu des workflows. Vous pouvez les enregistrer dans ~/.claude/workflows ou les distribuer via une compétence.

Pour les partager via une compétence, placez vos fichiers JavaScript de workflow dans le dossier de la compétence et référencez-les dans le SKILL.MD. Pour plus de flexibilité, vous pouvez demander à Claude de considérer les workflows de la compétence comme un modèle plutôt que comme un script à exécuter textuellement.

Un tout nouveau monde
Les workflows sont une nouvelle façon utile d'étendre Claude Code. Je vous encourage à considérer cela comme un point de départ, il y a encore beaucoup à découvrir sur la meilleure façon de les utiliser. Faites-nous savoir ce que vous trouvez.
Thariq Shihipar et Sid Bidasaria (@sidbid) sont membres de l'équipe technique d'Anthropic, travaillant sur Claude Code.





