Claude Outcomes : Agents IA qui Vérifient Leur Propre Travail (Rubriques + Grader)
Avancé2026-05-1313 min de lecture

Claude Outcomes : Agents IA qui Vérifient Leur Propre Travail (Rubriques + Grader)

Découvrez Claude Outcomes : la fonctionnalité 2026 d'Anthropic qui permet aux agents managés de s'auto-évaluer avec rubriques, grader et boucle d'itération.

Sommaire

  • [Pourquoi Outcomes change la production d'agents IA](#introduction)
  • [Qu'est-ce qu'un outcome Claude ?](#definition)
  • [Architecture : writer, grader, boucle d'itération](#architecture)
  • [Écrire une rubrique qui fonctionne](#rubrique)
  • [Le paramètre max_iterations expliqué](#max-iterations)
  • [Cas d'usage concrets en production](#cas-usage)
  • [Outcomes vs /goal Claude Code : quelle différence ?](#vs-goal)
  • [Pièges classiques et anti-patterns](#pieges)
  • [Bonnes pratiques de mise en production](#bonnes-pratiques)
  • [FAQ](#faq)
  • ---

    Pourquoi Outcomes change la production d'agents IA {#introduction}

    Le 7 mai 2026, Anthropic a publié une mise à jour majeure de [Claude Managed Agents](/blog/claude-managed-agents-entreprises-2026) avec trois nouvelles features : *Dreaming*, *Multiagent Orchestration*, et Outcomes. Cette dernière est probablement la plus impactante pour quiconque met un agent IA en production.

    Le principe d'Outcomes est radical : au lieu de décrire à l'agent comment faire son travail, vous lui dites à quoi ressemble un travail bien fait. L'agent essaie, un évaluateur indépendant note le résultat avec une rubrique, et l'agent ré-itère jusqu'à ce que le résultat passe le crible. C'est l'auto-vérification automatisée à l'échelle.

    Et les chiffres sont là : Anthropic rapporte que sur la génération de PowerPoint, Outcomes améliore la qualité finale de +10,1% par rapport à un agent classique sans grader.

    Pour le contexte sur les Managed Agents, lisez notre article [Claude Managed Agents pour entreprises](/blog/claude-managed-agents-entreprises-2026).

    ---

    Qu'est-ce qu'un outcome Claude ? {#definition}

    Un outcome est une spécification du résultat attendu. Vous le déclarez via un événement user.define_outcome qui contient trois éléments :

    ChampDescription
    descriptionTexte qui explique ce que doit produire l'agent
    rubricListe de critères vérifiables (format Markdown)
    max_iterationsNombre maximum de tentatives (défaut 3, max 20)

    Exemple minimal :

    \\\json { "type": "user.define_outcome", "description": "Generate a Q2 sales summary CSV", "rubric": "- CSV has columns: region, product, units_sold, revenue\n- All numeric columns are integers or floats\n- No empty rows\n- Total revenue > 0", "max_iterations": 5 } \\\

    La différence fondamentale avec un prompt classique

    Un prompt classique dit : *"Génère un CSV avec les colonnes X, Y, Z. Fais attention à ne pas mettre de lignes vides."*

    Un outcome dit : *"Le CSV doit avoir les colonnes X, Y, Z. Aucune ligne vide n'est tolérée."* — et un autre modèle vérifie objectivement ces critères après chaque tentative.

    Ce changement de paradigme (déclarer plutôt qu'instruire) rejoint la philosophie de la commande [/goal récemment ajoutée à Claude Code](/blog/claude-code-goal-agent-view-v2-1-139-dashboard-cli-2026).

    ---

    Architecture : writer, grader, boucle d'itération {#architecture}

    Les trois acteurs

    \\\text ┌─────────────────────────┐ │ Writer (l'agent) │ │ Lit la description et la │ │ rubrique, produit l'artifact│ └──────────┬──────────────┘ │ artifact ▼ ┌─────────────────────────┐ │ Grader (Claude isolé) │ │ Lit la rubrique + artifact │ │ → verdict par critère │ └──────────┬──────────────┘ │ ┌─────┴─────┐ │ │ PASS FAIL + gaps │ │ ▼ ▼ Outcome Writer itère livré (jusqu'à max_iter) \\\

    Le grader tourne dans un contexte isolé

    Le point crucial : le grader lit la rubrique et l'artifact uniquement. Il n'a pas accès au transcript du writer, à ses brouillons, à ses pensées intermédiaires. Cette isolation évite le biais classique où "le modèle qui produit est aussi celui qui juge".

    Concrètement, c'est un appel API séparé avec une fenêtre de contexte vierge à chaque évaluation.

    Le format du verdict

    Le grader renvoie un breakdown critère par critère :

    \\\json { "iteration": 1, "criteria": [ { "id": "csv_columns", "passed": true, "note": "All required columns present" }, { "id": "numeric_types", "passed": true, "note": "All values are int or float" }, { "id": "no_empty_rows", "passed": false, "note": "Row 47 has empty product and revenue fields" }, { "id": "positive_revenue", "passed": true, "note": "Total = 1.2M" } ], "overall_passed": false } \\\

    Le writer reçoit ce feedback et révise. À l'itération 2, il sait exactement quel critère a échoué et pourquoi.

    Le compteur d'itération

    iteration est un compteur 0-indexé :

  • 0 = première évaluation (premier draft du writer)
  • 1 = ré-évaluation après la première révision
  • 2 = ré-évaluation après la deuxième révision
  • ...
  • L'agent s'arrête dès qu'un verdict global PASS arrive ou quand max_iterations est atteint sans succès.

    ---

    Écrire une rubrique qui fonctionne {#rubrique}

    Le critère cardinal : critères vérifiables indépendamment

    Une rubrique efficace est composée de critères atomiques, indépendants, vérifiables. Le grader note chaque critère séparément, donc la formulation compte.

    Mauvaise rubrique :

    \\\`markdown

  • The data looks good
  • It's well formatted
  • Numbers make sense
  • \\\`

    Trop vague. Le grader passe son temps à interpréter, les verdicts sont instables, l'agent boucle sans converger.

    Bonne rubrique :

    \\\`markdown

  • CSV has exactly 5 columns: region, product, units_sold, revenue, margin_pct
  • Column "units_sold" contains only positive integers
  • Column "margin_pct" is a float between 0 and 100
  • No row has empty cells
  • Total number of rows is between 50 and 200
  • Header row matches exactly: "region,product,units_sold,revenue,margin_pct"
  • \\\`

    Chaque critère est testable mécaniquement. Le grader peut renvoyer un PASS/FAIL net.

    Astuces d'écriture

  • 1.Préférez les seuils numériques aux qualificatifs : "between 50 and 200" plutôt que "a reasonable number"
  • 2.Utilisez des références exactes : "header row matches exactly: ..." plutôt que "header is correct"
  • 3.Séparez les préoccupations : un critère = une question
  • 4.Ordonnez du plus critique au moins critique : le grader lit dans l'ordre
  • Templates par type de tâche

    #### Génération de code

    \\\`markdown

  • File src/auth/login.ts compiles without TypeScript errors
  • Function loginUser is exported and takes (email: string, password: string)
  • All unit tests in tests/auth/ pass
  • No ESLint warnings of severity "error"
  • Coverage of src/auth/ stays >= 85%
  • \\\`

    #### Génération de document

    \\\`markdown

  • Document is in Markdown format
  • Has exactly one H1 heading
  • Contains sections: Introduction, Methods, Results, Conclusion
  • Word count is between 800 and 1500
  • All claims are supported by a citation
  • No placeholder text like "TODO" or "TBD"
  • \\\`

    #### Génération de slide deck

    \\\`markdown

  • Deck has between 8 and 12 slides
  • Each slide has a title and at most 3 bullet points
  • Slide 1 is the title slide with company logo placeholder
  • Final slide contains a "Next Steps" section
  • All charts have axis labels and units
  • \\\`

    ---

    Le paramètre max_iterations expliqué {#max-iterations}

    Valeurs et défauts

    max_iterations est optionnel, avec :

  • Défaut : 3
  • Maximum : 20
  • Comment choisir la bonne valeur

    max_iterations = 3 convient pour la majorité des tâches où la rubrique est claire et le writer compétent. C'est aussi le compromis coût/qualité optimal pour des tâches répétées en masse.

    max_iterations = 5 est recommandé quand la rubrique est stricte et le writer a besoin de marge.

    max_iterations = 10+ est utile pour des tâches très contraintes (génération de code passant un test suite vaste, par exemple) où l'écart entre "ça marche" et "ça marche pour 100% des cas" demande plusieurs tours fins.

    Le signal qui dit que vous devez baisser ou monter

  • Si tous vos outcomes passent à l'itération 0 ou 1 : votre rubrique est trop laxiste OU vous pouvez baisser max_iterations pour économiser
  • Si vous atteignez régulièrement le cap sans PASS : votre rubrique est trop stricte, ou le writer n'arrive pas à interpréter les feedbacks. Augmentez max_iterations ou simplifiez la rubrique
  • Le coût caché

    Chaque itération = 1 tour writer + 1 appel grader. Si vous tournez sur 1000 outcomes par jour avec max_iterations = 5, vous payez potentiellement 5000 tours writer + 5000 graders dans le pire cas. Surveillez le ratio "tours moyens" dans les dashboards Anthropic.

    ---

    Cas d'usage concrets en production {#cas-usage}

    1. Génération de rapports analytiques quotidiens

    Une routine cloud génère chaque jour un rapport métier (cf. [routines automatisées](/blog/claude-code-routines-automatisations-cloud-2026)). La rubrique vérifie :

  • Présence de chaque KPI attendu
  • Cohérence des totaux
  • Format export (PDF + email)
  • Pas de section vide
  • Sans outcome : on découvre les erreurs au bureau le lendemain. Avec : l'agent ré-itère jusqu'à un rapport propre.

    2. Migration de code legacy

    Un agent migre des fichiers d'AngularJS vers React. Rubrique :

  • Le composant compile
  • Les props sont typées
  • Les tests d'intégration de la page passent
  • Pas de référence $scope restante
  • max_iterations = 10 parce que les cas tordus demandent plusieurs essais.

    3. Génération de documentation API

    Un agent génère la doc d'un endpoint à partir du code source. Rubrique :

  • Tous les paramètres du handler sont documentés
  • Chaque code de réponse possible est listé
  • Au moins un exemple de requête et un de réponse
  • Format OpenAPI 3.1 valide
  • 4. Génération de slides commerciales

    Cas connu où Anthropic a mesuré +10,1% de qualité. Rubrique sur :

  • Nombre de slides
  • Cohérence visuelle (template appliqué)
  • Présence des sections obligatoires
  • Pas de placeholder
  • 5. Création de tests unitaires

    Rubrique :

  • Coverage de la fonction cible passe de X% à Y%
  • Tous les nouveaux tests passent
  • Pas de tests dupliqués
  • Mocks utilisés correctement (assertion sur les appels)
  • ---

    Outcomes vs /goal Claude Code : quelle différence ? {#vs-goal}

    Les deux fonctionnalités tournent autour de la même idée — boucler jusqu'à un critère — mais leurs cas d'usage diffèrent.

    Aspect/goal (Claude Code CLI)Outcomes (Managed Agents)
    ContexteSession interactive ou headlessAgent managé déployé en cloud
    ÉvaluateurModèle Haiku rapideGrader isolé avec contexte vierge
    Format de critèreTexte libreRubrique structurée Markdown
    VerdictYes/No + raison courtePer-criterion breakdown
    ConfigurableModèle évaluateur changeablemax_iterations, rubric versioning
    Cas d'usageWorkflow développeur quotidienProduction à grande échelle
    PersistanceSession vivanteOutcome event dans le log d'agent

    En pratique, /goal est l'outil du développeur qui veut "laisser Claude finir le job". Outcomes est l'outil de l'équipe qui déploie un agent en production avec un SLA de qualité.

    Pour le /goal Claude Code, voir notre article dédié [/goal et Agent View](/blog/claude-code-goal-agent-view-v2-1-139-dashboard-cli-2026).

    ---

    Pièges classiques et anti-patterns {#pieges}

    Anti-pattern 1 : rubrique subjective déguisée

    \\\`markdown

  • The output is elegant
  • The wording feels professional
  • \\\`

    Le grader ne peut pas mesurer ça de façon stable. Reformulez en critères objectifs : "Phrase length < 25 mots", "No first-person pronouns".

    Anti-pattern 2 : critères qui se contredisent

    \\\`markdown

  • Document is concise (max 500 words)
  • Document explains every step in detail with examples
  • \\\`

    L'agent oscillera entre les deux. Choisissez une direction.

    Anti-pattern 3 : critère non testable depuis l'artifact seul

    \\\`markdown

  • The code is faster than the previous version
  • \\\`

    Le grader voit le code, pas les benchs. Soit vous incluez un bench dans l'artifact, soit vous reformulez : "Complexity is O(n log n) or better".

    Anti-pattern 4 : `max_iterations` trop bas pour rubrique stricte

    Vous mettez max_iterations: 1 avec 12 critères pointus → l'agent va échouer 90% du temps. Calibrez expérimentalement.

    Anti-pattern 5 : ne pas observer les logs de grader

    Les logs d'itération sont une mine d'or pour ajuster votre rubrique. Si le grader renvoie souvent "ambiguous criterion", c'est votre rubrique qu'il faut clarifier, pas le writer qu'il faut blâmer.

    ---

    Bonnes pratiques de mise en production {#bonnes-pratiques}

    1. Versionnez vos rubriques

    Comme un schema SQL, une rubrique évolue. Stockez-la dans Git avec un numéro de version. Documentez les changements pour pouvoir comparer les performances entre versions.

    2. A/B testez les rubriques

    Lancez 100 outcomes avec la rubrique A et 100 avec la rubrique B. Comparez :

  • Taux de PASS à l'itération 0 (writer compétent ou rubrique laxiste ?)
  • Tours moyens pour PASS
  • Coût total par outcome
  • Qualité subjective sur un échantillon manuel
  • 3. Loggez les feedbacks de grader

    Stockez chaque verdict du grader avec les itérations. Ce dataset devient or pour :

  • Améliorer la rubrique
  • Repérer les writer faibles
  • Construire un dataset de fine-tuning si besoin
  • 4. Combinez avec la sécurité

    Pour les agents en production, les outcomes ne remplacent pas la validation humaine des actions sensibles. Voir notre article sur la [sécurité des assistants IA](/blog/securite-assistants-ia-code-2026).

    5. Surveillez la dérive

    Si un agent voit son taux de PASS chuter de 85% à 60% sur deux semaines, quelque chose a changé : modèle, données d'entrée, dépendances. Mettez en place une alerte sur le taux PASS hebdo.

    ---

    FAQ {#faq}

    Outcomes est-il disponible pour tous ?

    Outcomes fait partie de Claude Managed Agents. Au 13 mai 2026, c'est en bêta publique accessible à tous les comptes Anthropic avec accès à la console Managed Agents.

    Quel modèle utilise le grader par défaut ?

    Le grader utilise par défaut Sonnet 4.6, choisi pour son équilibre rapidité/qualité d'évaluation. Vous pouvez configurer un autre modèle dans les paramètres de l'outcome.

    Combien coûte une itération supplémentaire ?

    Chaque itération additionnelle = ~1 appel writer (tarifé selon le modèle utilisé) + 1 appel grader (~tarif Sonnet 4.6). Pour une tâche moyenne, comptez 0,01-0,05 EUR par itération supplémentaire.

    Peut-on combiner outcomes et sub-agents ?

    Oui. Un writer peut déléguer à des sub-agents pendant sa génération. Le grader évalue uniquement l'artifact final, pas le travail des sub-agents. Voir notre [guide des sub-agents](/blog/claude-code-sub-agents-guide-pratique-2026).

    Que se passe-t-il si max_iterations est atteint sans PASS ?

    L'outcome est marqué FAILED avec le dernier verdict du grader. Vous pouvez configurer un webhook pour être notifié et déclencher une review humaine ou un re-run avec rubrique ajustée.

    Outcomes fonctionne-t-il sur Claude Code (CLI) ?

    Non, Outcomes est spécifique aux Managed Agents. Sur Claude Code CLI, l'équivalent simple est [/goal](/blog/claude-code-goal-agent-view-v2-1-139-dashboard-cli-2026).

    Peut-on utiliser Outcomes pour de la génération créative ?

    Oui mais avec précaution. La rubrique doit pinpoint des critères stables (longueur, structure, ton mesurable). Les jugements purement esthétiques restent risqués — le grader n'a pas de "goût".

    La rubrique doit-elle être en anglais ?

    Non, le français fonctionne bien. Choisissez la langue qui décrit le mieux votre domaine métier, le grader comprend les deux.

    Comment versionner une rubrique en production ?

    Stockez-la dans votre repo Git avec un champ rubric_version dans l'event define_outcome. Loggez cette version avec chaque outcome pour pouvoir analyser les performances par version.

    ---

    *Sources : Anthropic Managed Agents docs (platform.claude.com/docs/en/managed-agents), Anthropic Cookbook outcome-grader, Claude Blog "New in Managed Agents" (7 mai 2026), MindStudio analysis PowerPoint +10.1%, 9to5Mac coverage, VentureBeat.*

    Envie de maîtriser Claude Code ?

    Rejoignez notre formation complète et apprenez à utiliser Claude Code comme un pro.

    Découvrir la formation