Guide du formateur â Niveau AvancĂ©, Session 9
« Scénarios de certification »
Programme : Applied AI â Yann Isola
Public : Architectes solutions préparant la certification Claude Certified Architect
Durée : 2 h 00 (+ 10 min de pause recommandée à mi-parcours)
PrĂ©requis : Sessions 1 Ă 8 du niveau avancĂ© (API Claude, tool use, MCP, Claude Code, prompt engineering avancĂ©, contexte & fiabilitĂ©). Cette session ne prĂ©sente aucune notion nouvelle : elle assemble tout ce qui a Ă©tĂ© vu, sous lâangle exact de lâexamen.
MatĂ©riel : page web interactive de la session (webpage/index.html â analyseur de scĂ©narios, tracker de couverture des domaines, simulateur dâexamen chronomĂ©trĂ©), projecteur, feuille de score par participant.
Objectifs pédagogiques
Ă la fin de la session, chaque participant sait :
- DĂ©crire le format de lâexamen : 60 questions, 90 minutes â , QCM (QCM = Questionnaire Ă Choix Multiples) et questions basĂ©es sur des scĂ©narios, seuil de rĂ©ussite 72 % â (soit 720 sur une Ă©chelle de 100 Ă 1000), 4 scĂ©narios tirĂ©s parmi 8, aucune pĂ©nalitĂ© pour une mauvaise rĂ©ponse.
- Cartographier les 5 domaines de lâexamen et leur pondĂ©ration : Architecture & orchestration dâagents (27 %), Conception dâoutils & intĂ©gration MCP (18 %), Configuration & workflows Claude Code (20 %), Prompt engineering & sortie structurĂ©e (20 %), Gestion du contexte & fiabilitĂ© (15 %).
- Analyser chacun des 8 scĂ©narios de lâexamen : identifier les dĂ©cisions dâarchitecture attendues, les piĂšges rĂ©currents et les domaines convoquĂ©s.
- Appliquer la grille de lecture « cause racine â moindre effort â garantie exigĂ©e » pour Ă©liminer les distracteurs dâun QCM de certification.
- Auto-évaluer sa couverture des 5 domaines et construire un plan de révision priorisé par pondération.
- GĂ©rer le temps dâexamen : 90 secondes par question en moyenne â , stratĂ©gie de marquage et de second passage.
â Convention de la session : tous les chiffres marquĂ©s â (format dâexamen, nombre de questions, durĂ©e, seuil, pondĂ©rations) sont volatils. Ils reflĂštent le guide dâexamen au moment de la rĂ©daction. RĂ©flexe absolu : vĂ©rifier la page officielle de la certification Anthropic avant de rĂ©server lâexamen.
Plan minuté
| Bloc | Durée | Contenu |
|---|---|---|
| 0. Ouverture | 5 min | Format dâexamen, rĂšgles du jeu, mĂ©thode de la session |
| 1. La grille de lecture des QCM | 10 min | Anatomie dâune question de certification, mĂ©thode dâĂ©limination |
| 2. ScĂ©narios 1 & 8 â Support client & outils agentiques | 20 min | Routage, escalade, prĂ©conditions, sĂ©lection et chaĂźnage dâoutils |
| 3. ScĂ©narios 3 & 7 â Multi-agents & IA conversationnelle | 20 min | Coordinateur/sous-agents, consensus, sessions avec Ă©tat, mĂ©moire |
| Pause | 10 min | |
| 4. ScĂ©narios 2, 4 & 5 â Claude Code (dev, productivitĂ©, CI/CD) | 25 min | CLAUDE.md, commandes slash, mode plan, headless, revue de PR |
| 5. ScĂ©nario 6 â Extraction de donnĂ©es structurĂ©es | 15 min | SchĂ©mas JSON, validation, cas limites, calibrage de confiance |
| 6. Simulateur dâexamen | 20 min | Mini-examen chronomĂ©trĂ© (page web), correction collective |
| 7. Plan de rĂ©vision & clĂŽture | 5 min | Tracker de domaines, priorisation, logistique dâexamen |
Bloc 0 â Ouverture (5 min)
Message dâaccroche : « Vous avez huit sessions de matiĂšre dans la tĂȘte. Lâexamen ne vous demandera pas de la rĂ©citer : il vous mettra dans la peau dâun architecte face Ă un systĂšme qui dysfonctionne, avec quatre corrections plausibles â dont trois sont des piĂšges bien construits. Aujourdâhui, on apprend Ă penser comme lâauteur de la question. »
Le format, noir sur blanc
Projeter et commenter ce tableau (chiffres volatils â ) :
| ParamĂštre | Valeur â |
|---|---|
| Nombre de questions | 60 |
| Durée | 90 minutes (soit 90 s/question en moyenne) |
| Type | QCM, 1 bonne réponse sur 4 + questions basées sur des scénarios |
| Notation | Ăchelle 100â1000, seuil 720 (â 72 %) |
| PĂ©nalitĂ© pour erreur | Aucune â rĂ©pondre Ă toutes les questions, toujours |
| Scénarios | 4 tirés aléatoirement parmi 8 |
Trois conséquences pratiques à marteler :
- Aucune pĂ©nalitĂ© â on ne laisse jamais une question vide. MĂȘme au hasard, câest 25 % dâespĂ©rance de gain.
- 4 scĂ©narios sur 8 â on ne peut pas faire dâimpasse. Chaque scĂ©nario doit ĂȘtre maĂźtrisĂ©, car on ne sait pas lesquels tomberont.
- 72 % de seuil â on a droit Ă ~16 erreurs sur 60. Câest confortable si les 3 domaines les plus lourds (27 + 20 + 20 = 67 % de lâexamen) sont solides.
Les 5 domaines et leur poids
| Domaine | PondĂ©ration | â Questions sur 60 â |
|---|---|---|
| 1. Architecture & orchestration dâagents | 27 % | ~16 |
| 2. Conception dâoutils & intĂ©gration MCP | 18 % | ~11 |
| 3. Configuration & workflows Claude Code | 20 % | ~12 |
| 4. Prompt engineering & sortie structurée | 20 % | ~12 |
| 5. Gestion du contexte & fiabilité | 15 % | ~9 |
Point de stratĂ©gie : le Domaine 1 pĂšse presque le double du Domaine 5. Une heure de rĂ©vision sur lâorchestration dâagents « rapporte » statistiquement plus quâune heure sur la gestion de contexte â mais attention, les domaines sâentrecroisent dans les scĂ©narios : une question « support client » peut Ă©valuer le Domaine 5 (escalade).
Bloc 1 â La grille de lecture des QCM (10 min)
1.1 Anatomie dâune question de certification
Chaque question suit le mĂȘme squelette :
- Situation â un systĂšme en production avec un symptĂŽme mesurĂ© (« dans 12 % des cas, lâagent saute
get_customer⊠») ; - Question â presque toujours une variante de « quel changement est le plus efficace ? » ou « quelle est la premiĂšre Ă©tape ? » ;
- Quatre options â une correcte, trois distracteurs construits selon des recettes identifiables.
Insister sur les mots-piĂšges de lâĂ©noncĂ© : « le plus efficace », « la premiĂšre Ă©tape », « au moindre effort », « le mieux ». Ce ne sont pas des ornements : ils signifient que plusieurs options peuvent ĂȘtre techniquement valables, et quâon dĂ©partage par le rapport coĂ»t/impact ou par lâordre logique dâintervention.
1.2 Les quatre familles de distracteurs
Faire construire ce tableau avec la salle (elle a vu assez de questions dans les sessions précédentes pour le remplir) :
| Famille de distracteur | Signature | Exemple type |
|---|---|---|
| Le prompt magique | Résoudre par le prompt ce qui exige une garantie déterministe | « Améliorer le prompt systÚme » face à une rÚgle métier critique |
| La sur-ingénierie | Un composant lourd (classificateur ML, couche de routage) pour un problÚme simple | « Entraßner un classificateur séparé » quand des critÚres explicites suffisent |
| La fonctionnalitĂ© inventĂ©e | Un drapeau, une variable ou un fichier qui nâexiste pas | CLAUDE_HEADLESS=true, --batch, .claude/config.json |
| Le symptĂŽme, pas la cause | Une correction plausible qui traite un autre problĂšme | « Analyse de sentiment » pour un problĂšme de calibrage dâescalade |
1.3 La grille de lecture en trois questions
Ă appliquer systĂ©matiquement, dans lâordre :
- Quelle est la cause racine ? (pas le symptĂŽme â relire la situation, les donnĂ©es chiffrĂ©es pointent la cause)
- La rĂšgle exige-t-elle une garantie dĂ©terministe ou une conformitĂ© probabiliste suffit-elle ? (dĂ©terministe â hooks/prĂ©conditions programmatiques ; probabiliste â prompt/few-shot)
- Parmi les options qui traitent la cause, laquelle a le meilleur rapport effort/impact ? (la certification récompense la correction la plus simple qui rÚgle le problÚme)
DĂ©mo au tableau avec la Question 1 du guide dâexamen (prĂ©conditions bloquant process_refund) : dĂ©rouler la grille pas Ă pas. La rĂ©ponse A (prĂ©condition programmatique) sort en 30 secondes, car la situation dit « remboursements incorrects » = rĂšgle mĂ©tier critique = garantie dĂ©terministe exigĂ©e = les options prompt (B, C) tombent dâoffice.
Bloc 2 â ScĂ©narios 1 & 8 : Support client & outils agentiques (20 min)
2.1 ScĂ©nario 1 â Agent de support client
LâĂ©noncĂ© du guide : agent construit avec le Claude Agent SDK (SDK = Software Development Kit, kit de dĂ©veloppement logiciel) pour gĂ©rer retours, litiges de facturation et problĂšmes de compte. Outils MCP (MCP = Model Context Protocol, protocole de contexte de modĂšle) : get_customer, lookup_order, process_refund, escalate_to_human. Objectif : rĂ©solution au premier contact > 80 % avec escalade appropriĂ©e.
Domaines convoquĂ©s : 1 (orchestration, prĂ©conditions), 2 (descriptions dâoutils, erreurs structurĂ©es), 5 (escalade, ambiguĂŻtĂ©).
Les dĂ©cisions dâarchitecture attendues â Ă dĂ©rouler au tableau :
| ProblĂšme dans le scĂ©nario | RĂ©ponse dâarchitecte attendue | Pourquoi pas les alternatives |
|---|---|---|
| Lâagent saute la vĂ©rification dâidentitĂ© avant un remboursement | PrĂ©condition programmatique (hook) qui bloque process_refund tant que get_customer nâa pas renvoyĂ© un ID vĂ©rifiĂ© |
Le prompt = conformitĂ© probabiliste ; lâargent exige du dĂ©terministe |
Mauvais routage entre get_customer et lookup_order |
Enrichir les descriptions dâoutils : formats dâentrĂ©e, exemples, limites, quand utiliser lâun vs lâautre | Les descriptions sont le mĂ©canisme n°1 de sĂ©lection ; le few-shot vient aprĂšs |
| Escalade mal calibrĂ©e (escalade les cas simples, garde les cas complexes) | CritĂšres dâescalade explicites + exemples few-shot dans le prompt systĂšme | La confiance auto-Ă©valuĂ©e est peu fiable ; le sentiment â complexitĂ© |
| Plusieurs correspondances client pour un nom | Demander des identifiants supplĂ©mentaires Ă lâutilisateur | Jamais de supposition heuristique sur lâidentitĂ© |
| Demande explicite de parler Ă un humain | Escalade immĂ©diate, sans investigation prĂ©alable | Retarder une demande explicite dĂ©grade la satisfaction et viole le contrat dâescalade |
Point dâattention sentiment : le scĂ©nario mentionne lâanalyse de sentiment. Ă lâexamen, elle apparaĂźt presque toujours en distracteur : le sentiment (colĂšre, frustration) est un signal de ton, pas un indicateur fiable de complexitĂ© du cas ni un critĂšre dâescalade en soi. Un client furieux peut avoir un problĂšme trivial ; un client calme, un cas dâexception de politique inextricable. La bonne pratique : le sentiment peut moduler le ton de la rĂ©ponse, mais lâescalade se dĂ©cide sur des critĂšres de politique explicites.
Protocole de transfert (handoff) : lors de lâescalade, produire un rĂ©sumĂ© structurĂ© â ID client, motif, actions dĂ©jĂ tentĂ©es, action recommandĂ©e. Une question dâexamen classique oppose « transfĂ©rer la conversation brute » (mauvais : lâhumain doit tout relire) à « rĂ©sumĂ© structurĂ© » (bon).
2.2 ScĂ©nario 8 â Outils dâIA agentique
Contexte honnĂȘte Ă donner : ce scĂ©nario est signalĂ© par des candidats mais moins documentĂ© dans les guides communautaires â . Il recouvre trois compĂ©tences transverses : sĂ©lection dâoutils, chaĂźnage, rĂ©cupĂ©ration dâerreurs. Bonne nouvelle : tout est dĂ©jĂ couvert par les Domaines 1 et 2 â câest une recombinaison.
SĂ©lection dâoutils â les rĂšgles Ă connaĂźtre par cĆur :
- Trop dâoutils par agent rĂ©duit la fiabilitĂ© de la sĂ©lection (lâexemple canonique : 18 outils au lieu de 4-5). La rĂ©ponse dâexamen : restreindre lâensemble dâoutils au pĂ©rimĂštre du rĂŽle.
- Des descriptions ambiguĂ«s ou qui se chevauchent â mauvais routage. PremiĂšre correction : réécrire/renommer (
analyze_contentâextract_web_results). tool_choice:"auto"(le modĂšle peut rĂ©pondre en texte),"any"(doit appeler un outil, nâimporte lequel),{"type": "tool", "name": "..."}(outil forcĂ©). Question type : « garantir une sortie structurĂ©e quand plusieurs schĂ©mas existent » â"any"; « garantir un outil prĂ©cis en premier » â sĂ©lection forcĂ©e.
ChaĂźnage â deux patrons :
- ChaĂźnage imposĂ© par le logiciel (prĂ©conditions, hooks) quand lâordre est une rĂšgle mĂ©tier ;
- ChaĂźnage guidĂ© par le prompt quand lâordre est une prĂ©fĂ©rence. Lâexamen teste la capacitĂ© Ă choisir le bon.
RĂ©cupĂ©ration dâerreurs â la taxonomie Ă rĂ©citer :
| CatĂ©gorie dâerreur | Exemple | RĂ©essayable ? | Bonne rĂ©ponse de lâoutil |
|---|---|---|---|
| Transitoire | timeout, service indisponible | Oui | errorCategory: "transient", isRetryable: true |
| Validation | format dâentrĂ©e invalide | Oui, aprĂšs correction de lâentrĂ©e | Message prĂ©cisant le format attendu |
| Métier | remboursement au-dessus du seuil de politique | Non | retryable: false + explication lisible |
| Permission | accĂšs refusĂ© | Non (escalader) | Distinguer dâun rĂ©sultat vide valide |
Le piĂšge dâor du Domaine 2 : distinguer « Ă©chec dâaccĂšs » (il faut dĂ©cider de rĂ©essayer ou dâescalader) de « rĂ©sultat vide valide » (la recherche a fonctionnĂ©, il nây a juste aucune correspondance). Un outil qui renvoie un ensemble vide en cas de timeout masque un Ă©chec en succĂšs â anti-modĂšle certain Ă lâexamen.
Bloc 3 â ScĂ©narios 3 & 7 : Multi-agents & IA conversationnelle (20 min)
3.1 ScĂ©nario 3 â SystĂšme de recherche multi-agents
LâĂ©noncĂ© du guide : coordinateur qui dĂ©lĂšgue Ă des sous-agents spĂ©cialisĂ©s (recherche web, analyse de documents, synthĂšse, gĂ©nĂ©ration de rapports). Sortie : rapports complets avec citations.
Domaines convoquĂ©s : 1 (lourdement â câest le cĆur des 27 %), 2 (allocation dâoutils), 5 (propagation dâerreurs, provenance).
Lâarchitecture en Ă©toile (hub-and-spoke) â les invariants :
- Le coordinateur possĂšde toute la communication inter-agents : dĂ©composition, dĂ©lĂ©gation, agrĂ©gation, gestion dâerreurs. Les sous-agents ne se parlent pas directement (observabilitĂ©).
- Les sous-agents ont un contexte isolĂ© : ils nâhĂ©ritent pas de lâhistorique du coordinateur. Tout contexte nĂ©cessaire doit ĂȘtre explicitement inclus dans leur prompt. Question dâexamen rĂ©currente : un sous-agent produit un rĂ©sultat hors sujet â cause probable : le contexte des phases prĂ©cĂ©dentes ne lui a pas Ă©tĂ© transmis.
- Parallélisme : plusieurs appels
Taskdans un seul tour du coordinateur engendrent des sous-agents parallĂšles. LesallowedToolsdu coordinateur doivent inclure"Task". - Prompts du coordinateur en objectifs et critĂšres de qualitĂ©, pas en instructions pas-Ă -pas (sinon on perd lâadaptativitĂ© qui justifie le multi-agents).
Les trois pannes classiques du scĂ©nario 3 â et leur diagnostic :
| SymptĂŽme | Cause racine | Correction |
|---|---|---|
| Le rapport ne couvre quâune partie du sujet | DĂ©composition trop Ă©troite par le coordinateur (il a dĂ©coupĂ© « industries crĂ©atives » en 3 sous-thĂšmes visuels) | Revoir le prompt de dĂ©composition du coordinateur â les sous-agents ont bien exĂ©cutĂ© ce quâon leur a demandĂ© |
| Timeout dâun sous-agent â tout le workflow Ă©choue ou statut gĂ©nĂ©rique | Propagation dâerreurs mal conçue | Contexte dâerreur structurĂ© : type dâĂ©chec, requĂȘte tentĂ©e, rĂ©sultats partiels, alternatives â le coordinateur dĂ©cide |
| Latence +40 % Ă cause dâallers-retours de vĂ©rification | La synthĂšse repasse par le coordinateur pour chaque vĂ©rification simple | Moindre privilĂšge graduĂ© : donner Ă la synthĂšse un outil verify_fact limitĂ© pour les 85 % de cas simples, garder le chemin coordinateur pour le complexe |
Consensus et contradictions â le patron attendu : deux sources crĂ©dibles donnent des chiffres contradictoires (40 % vs 12 %). La bonne rĂ©ponse dâexamen nâest jamais de choisir heuristiquement, ni dâescalader en bloquant tout, ni de transmettre sans marquer le conflit. Câest : conserver les deux valeurs, annoter explicitement le conflit avec attribution des sources, et laisser le coordinateur rĂ©concilier. Ajouter les dates de publication (une « contradiction » est souvent une diffĂ©rence temporelle).
Citations et provenance : lâattribution se perd au rĂ©sumĂ© si on ne prĂ©serve pas les correspondances « affirmation â source ». Exiger des sous-agents une sortie structurĂ©e : affirmation, URL/nom du document, citation, date. Renvoyer Ă la session 8 pour la chaĂźne de provenance complĂšte.
3.2 ScĂ©nario 7 â ModĂšles dâarchitecture dâIA conversationnelle
LâĂ©noncĂ© du guide : systĂšmes conversationnels multi-tours â gestion de la fenĂȘtre de contexte, persistance des instructions au fil des tours, stratĂ©gies de mĂ©moire, conception dâoutils pour exĂ©cution sĂ»re, entrĂ©es ambiguĂ«s ou contradictoires.
Domaines convoqués : 5 (lourdement), 1, 4.
Le rappel structurant n°1 (le plus testĂ©) : lâAPI est sans Ă©tat (stateless). Chaque requĂȘte doit renvoyer tout lâhistorique nĂ©cessaire. Il nây a pas de « session cĂŽtĂ© serveur » dans lâAPI Messages de base. Les sessions avec Ă©tat sont une responsabilitĂ© applicative (ou une fonctionnalitĂ© du SDK/Claude Code : --resume, fork_session).
StratĂ©gies de mĂ©moire â le tableau de dĂ©cision :
| Stratégie | Principe | Quand | Risque |
|---|---|---|---|
| Historique complet | Tout renvoyer à chaque tour | Conversations courtes | Saturation + coût quadratique |
| FenĂȘtre glissante | Ne garder que les N derniers tours | Sessions oĂč le passĂ© lointain nâimporte pas | Perte dâengagements pris tĂŽt |
| Résumé progressif | Résumer les tours anciens | Sessions longues | Les valeurs numériques, dates, montants se diluent en résumés vagues |
| Hybride (rĂ©sumĂ© + verbatim rĂ©cent + bloc de faits) | RĂ©sumĂ© ancien + N tours verbatim + « case facts » persistant hors rĂ©sumĂ© | Production sĂ©rieuse | ComplexitĂ© dâimplĂ©mentation |
Le patron « case facts » est la rĂ©ponse-rĂ©flexe : extraire les faits transactionnels (numĂ©ro de commande, montants, dĂ©cisions prises, engagements) dans un bloc persistant jamais rĂ©sumĂ©, injectĂ© Ă chaque tour. Câest la parade au risque n°1 du rĂ©sumĂ© progressif.
Persistance des instructions : les instructions du prompt systÚme se diluent dans les trÚs longues conversations (effet « perdu au milieu » : le modÚle traite bien le début et la fin, moins le milieu). Parades : réinjecter les contraintes critiques prÚs de la fin du contexte, structurer avec des balises XML (XML = eXtensible Markup Language, langage de balisage extensible) séparant systÚme / données / instructions.
EntrĂ©es ambiguĂ«s ou contradictoires : demander une clarification quand lâambiguĂŻtĂ© porte sur une action irrĂ©versible ; pour les demandes multi-aspects, dĂ©composer explicitement en Ă©lĂ©ments distincts et les traiter un par un.
Bloc 4 â ScĂ©narios 2, 4 & 5 : Claude Code (25 min)
Câest le bloc le plus dense : trois scĂ©narios pour le Domaine 3 (20 %) plus une partie du Domaine 1. Annoncer la structure : configuration (S2) â productivitĂ© (S4) â CI/CD (S5).
4.1 ScĂ©nario 2 â GĂ©nĂ©ration de code avec Claude Code
Les quatre mĂ©canismes de configuration â hiĂ©rarchie Ă connaĂźtre par cĆur :
| Mécanisme | Emplacement | Portée | Partagé via VCS (VCS = Version Control System, systÚme de gestion de versions) ? |
|---|---|---|---|
| CLAUDE.md utilisateur | ~/.claude/CLAUDE.md |
Toutes les sessions de cet utilisateur | Non |
| CLAUDE.md projet | CLAUDE.md racine ou .claude/CLAUDE.md |
Toute lâĂ©quipe sur ce dĂ©pĂŽt | Oui |
| CLAUDE.md répertoire | sous-répertoire du projet | Fichiers de ce sous-arbre | Oui |
| RÚgles ciblées | .claude/rules/*.md avec frontmatter paths: (motifs glob) |
Chargées uniquement en éditant des fichiers correspondants | Oui |
Le diagnostic dâexamen classique : « un nouveau membre de lâĂ©quipe nâa pas les conventions » â elles sont au niveau utilisateur au lieu du niveau projet. Variante : « les conventions de test doivent sâappliquer aux fichiers **/*.test.tsx Ă©parpillĂ©s partout » â .claude/rules/ avec motif glob, pas un CLAUDE.md par rĂ©pertoire (les fichiers concernĂ©s sont dans trop de rĂ©pertoires), pas tout dans le CLAUDE.md racine (charge du contexte en permanence).
Modularisation : syntaxe @path (@./standards/coding-style.md) pour inclure des fichiers externes ; .claude/rules/ thĂ©matiques (testing.md, api-conventions.md) plutĂŽt quâun CLAUDE.md monolithique.
Commandes slash et Skills :
- Commandes de projet :
.claude/commands/(versionnĂ©es, toute lâĂ©quipe) ; commandes personnelles :~/.claude/commands/. - Skills :
.claude/skills/avec frontmatterSKILL.mdâcontext: fork(exĂ©cution dans un contexte isolĂ©, ne pollue pas la session principale â rĂ©ponse-rĂ©flexe pour les skills verbeux),allowed-tools(restriction dâoutils),argument-hint(guidage des paramĂštres).
Mode planification vs exĂ©cution directe â la rĂšgle de dĂ©cision :
- Mode plan : changements importants, plusieurs approches viables, dĂ©cisions architecturales (restructurer un monolithe, migration touchant des dizaines de fichiers). Permet lâexploration sĂ»re avant modification.
- Exécution directe : changement simple et bien compris (une validation à ajouter, un bug avec trace de pile claire dans un seul fichier).
- Le sous-agent Explore isole la sortie verbeuse de découverte (protection du contexte).
- La rĂ©ponse « commencer en direct et passer en plan quand ça coince » est un distracteur : câest rĂ©actif, on paie dĂ©jĂ la reprise.
4.2 ScĂ©nario 4 â Outils de productivitĂ© pour dĂ©veloppeurs
Les outils intĂ©grĂ©s â qui fait quoi (question dâexamen quasi garantie) :
| Outil | Usage | Ne pas confondre avec |
|---|---|---|
| Grep | Chercher dans le contenu des fichiers (noms de fonctions, messages dâerreur, imports) | Glob (noms de fichiers) |
| Glob | Trouver des fichiers par motifs de nom/extension | Grep (contenu) |
| Read / Write | Lecture / écriture de fichier entier | Edit (modification ciblée) |
| Edit | Changement prĂ©cis par correspondance de texte unique ; si non unique â Ă©chec â repli Read + Write | |
| Bash | Commandes shell (tests, build, git) |
Le patron dâexploration dâune base de code inconnue : Grep les points dâentrĂ©e â Read pour tracer les flux â construire la comprĂ©hension incrĂ©mentalement. Ă lâexamen : « lâagent doit comprendre comment la fonction X est utilisĂ©e Ă travers des modules wrappers » â Grep sur le nom, puis Read des call sites.
MCP dans Claude Code :
- Portée projet :
.mcp.json(partagĂ©, pour lâĂ©quipe) ; portĂ©e utilisateur :~/.claude.json(expĂ©riences personnelles). - Secrets : substitution de variables dâenvironnement dans
.mcp.json(${GITHUB_TOKEN}) â jamais de token en clair dans un fichier versionnĂ©. - Les ressources MCP servent de « catalogues de contenu » (schĂ©mas de base de donnĂ©es, rĂ©sumĂ©s) pour Ă©viter des appels dâoutils exploratoires rĂ©pĂ©tĂ©s.
- Préférer les serveurs MCP communautaires aux serveurs maison pour les intégrations standard (GitHub, bases de données).
4.3 ScĂ©nario 5 â Claude Code pour lâintĂ©gration continue
Le mode headless (headless = sans tĂȘte, non interactif) â les drapeaux exacts :
# Le pipeline reste bloqué ? Il manque -p (--print) :
claude -p "Analyse cette pull request pour les problÚmes de sécurité"
# Sortie structurée exploitable par le pipeline :
claude -p "Revue de sécurité de ce diff" \
--output-format json \
--json-schema review_schema.json
Distracteurs rĂ©currents : CLAUDE_HEADLESS=true, --batch, redirection stdin â fonctionnalitĂ©s inexistantes ou contournements. La rĂ©ponse documentĂ©e est -p / --print â .
Architecture dâune revue de PR (PR = Pull Request, demande de fusion) automatisĂ©e :
- Instance indépendante pour la revue : la session qui a généré le code est moins efficace pour le réviser (elle garde son contexte de raisonnement et ne remet pas en question ses propres décisions). Réviser = nouvelle instance sans contexte de génération.
- CLAUDE.md comme contexte CI : normes de test, critĂšres de revue, fixtures disponibles â câest ce qui rend la revue pertinente pour CE projet.
- Minimiser les faux positifs : critĂšres explicites et catĂ©goriels (« signaler : bugs, sĂ©curitĂ© ; ignorer : style mineur ») plutĂŽt que « sois plus conservateur » (guidage gĂ©nĂ©rique inefficace). Les taux de faux positifs Ă©levĂ©s dans une catĂ©gorie sapent la confiance dans toutes les autres â dĂ©sactiver temporairement les catĂ©gories bruyantes.
- Re-exécution aprÚs nouveaux commits : inclure les résultats de revue antérieurs pour ne signaler que le nouveau/non corrigé.
- Grandes PR : passes par fichier + passe dâintĂ©gration inter-fichiers (dilution de lâattention en passe unique â cf. session 8). Le distracteur : « prendre un modĂšle Ă plus grande fenĂȘtre de contexte » â une fenĂȘtre plus grande ne corrige pas la qualitĂ© de lâattention.
Batch vs temps rĂ©el en CI : vĂ©rification bloquante avant fusion â API synchrone (les dĂ©veloppeurs attendent) ; rapport de nuit (dette technique, audit hebdomadaire) â Message Batches API (â50 % â , fenĂȘtre de traitement jusquâĂ 24 h â , pas de SLA de latence â SLA = Service Level Agreement, engagement de niveau de service). La Batch API ne prend pas en charge les appels dâoutils multi-tours dans une requĂȘte â ; corrĂ©lation par custom_id ; en cas dâĂ©chec partiel, ne re-soumettre que les Ă©lĂ©ments Ă©chouĂ©s.
Bloc 5 â ScĂ©nario 6 : Extraction de donnĂ©es structurĂ©es (15 min)
LâĂ©noncĂ© du guide : extraire des informations de documents non structurĂ©s (factures, contrats, documents semi-structurĂ©s), valider par schĂ©mas JSON (JSON = JavaScript Object Notation, notation dâobjets JavaScript), maintenir une haute prĂ©cision, gĂ©rer les cas limites.
Domaines convoqués : 4 (lourdement), 5 (calibrage de confiance, supervision humaine).
5.1 La pile dâextraction fiable â de bas en haut
tool_use+ schĂ©ma JSON = le moyen le plus fiable de garantir une sortie conforme au schĂ©ma. Ălimine les erreurs de syntaxe JSON. Avectool_choice: "any"ou forcĂ©, le modĂšle ne peut pas rĂ©pondre en texte libre.- Mais le schĂ©ma nâempĂȘche pas les erreurs sĂ©mantiques : totaux qui ne se rĂ©concilient pas, valeur dans le mauvais champ. Point dâexamen certain : « nous avons un schĂ©ma strict, pourquoi y a-t-il encore des erreurs ? » â le schĂ©ma valide la forme, pas le sens.
- Conception du schĂ©ma contre lâhallucination : champs optionnels/nullable quand la source peut ne pas contenir lâinformation (un champ requis force le modĂšle Ă inventer) ; enums avec
"other"/"unclear"+ champ de dĂ©tail pour lâextensibilitĂ©. - Auto-vĂ©rification sĂ©mantique : extraire Ă la fois
calculated_total(somme des lignes) etstated_total(total affichĂ©) pour dĂ©tecter les Ă©carts par comparaison programmatique. - RĂ©essai avec feedback dâerreur : renvoyer le document original + lâextraction incorrecte + les erreurs de validation prĂ©cises. Limite absolue : le rĂ©essai est inefficace si lâinformation est absente de la source (elle est dans un document externe) â la dĂ©tecter et router en revue humaine, pas boucler.
- Few-shot pour les cas ambigus : 2-4 exemples montrant lâextraction correcte sur des documents de structures diffĂ©rentes â le few-shot rĂ©duit les hallucinations dâextraction.
5.2 Calibrage et supervision humaine (Domaine 5 dans le scénario 6)
Le piĂšge des mĂ©triques agrĂ©gĂ©es : « 97 % de prĂ©cision globale » peut masquer 60 % sur un type de document minoritaire ou sur un champ prĂ©cis. RĂ©ponses dâexamen :
- Ăchantillonnage alĂ©atoire stratifiĂ© des extractions Ă haute confiance (dĂ©tecter les nouveaux motifs dâerreur) ;
- PrĂ©cision par type de document et par champ avant dâautomatiser quoi que ce soit ;
- Scores de confiance au niveau du champ, calibrés sur un ensemble de validation étiqueté ;
- Routage en revue humaine des extractions à faible confiance ou à source ambiguë.
SĂ©quence de mise en production attendue : Ă©chantillon â itĂ©ration de prompt sur lâĂ©chantillon â validation stratifiĂ©e â seuils de confiance calibrĂ©s â automatisation avec Ă©chantillonnage continu. Toute option dâexamen qui automatise Ă 100 % dĂšs « la prĂ©cision globale est bonne » est un distracteur.
Bloc 6 â Simulateur dâexamen (20 min)
Déroulé :
- Ouvrir la page web de la session, onglet Simulateur dâexamen. 12 questions, 18 minutes chronomĂ©trĂ©es (rythme rĂ©el : 90 s/question).
- Chaque participant travaille seul, en conditions dâexamen (pas de documentation).
- à la fin : score individuel + correction collective des 3 questions les plus échouées (la page affiche les statistiques de la salle si le formateur relÚve les scores à main levée).
Pendant la correction, marteler la mĂ©thode, pas la rĂ©ponse : pour chaque question ratĂ©e, faire verbaliser : « quelle famille de distracteur mâa eu ? » (prompt magique / sur-ingĂ©nierie / fonctionnalitĂ© inventĂ©e / symptĂŽme). Lâobjectif est que chacun reparte avec la conscience de son biais dominant.
Stratégie de temps à transmettre :
- Premier passage : répondre à tout ce qui sort en < 60 s, marquer le reste ;
- Second passage : les questions marquées, avec le temps restant ;
- DerniÚre minute : aucune question vide (pas de pénalité) ;
- Les questions basées sur scénario sont plus longues à lire : lire la question avant la situation pour savoir quoi chercher.
Bloc 7 â Plan de rĂ©vision & clĂŽture (5 min)
- Tracker de domaines (page web, onglet dĂ©diĂ©) : chaque participant sâauto-Ă©value sur les compĂ©tences des 5 domaines avec un niveau de confiance (đą maĂźtrisĂ© / đĄ Ă revoir / đŽ lacune). La page calcule un score de prĂ©paration pondĂ©rĂ© par les poids dâexamen.
- RĂšgle de priorisation : rĂ©viser dâabord les đŽ des domaines lourds (D1 27 %, D3 20 %, D4 20 %), puis les đĄ. Un đŽ en D1 coĂ»te statistiquement ~4 questions ; un đŽ en D5, ~1,5.
- Logistique : vĂ©rifier sur la page officielle Anthropic â les modalitĂ©s Ă jour (inscription, surveillance, langue, politique de repassage). Rappeler que tous les chiffres de cette session sont volatils.
- Exit ticket : chaque participant note son scĂ©nario le plus faible et son crĂ©neau de rĂ©vision. Annoncer les exercices (conception dâarchitecture S1, comparaison dâapproches S3, grille dâĂ©valuation S6) et la session 10.
PiĂšges de certification â antisĂšche du formateur
à distribuer ou projeter en fin de session. Les « quirks » les plus rentables :
- DĂ©terministe vs probabiliste : rĂšgle mĂ©tier critique (argent, identitĂ©, conformitĂ©) â hooks/prĂ©conditions, jamais le prompt seul.
- Descriptions dâoutils = mĂ©canisme n°1 de sĂ©lection. PremiĂšre correction en cas de mauvais routage, avant few-shot ou couche de routage.
- Sous-agents = contexte isolĂ©. Rien nâest hĂ©ritĂ© ; tout se passe explicitement dans le prompt.
- DĂ©composition trop Ă©troite : quand la couverture dâun rapport est partielle, suspecter le coordinateur, pas les sous-agents.
- Erreur structurĂ©e > statut gĂ©nĂ©rique ; Ă©chec dâaccĂšs â rĂ©sultat vide valide ; ne jamais masquer un Ă©chec en succĂšs.
-p/--printpour le headless ;--output-format json+--json-schemapour la CI.CLAUDE_HEADLESS,--batch: nâexistent pas â ..claude/commands/= Ă©quipe (versionnĂ©) ;~/.claude/commands/= personnel. MĂȘme logique pour.mcp.json(projet) vs~/.claude.json(utilisateur)..claude/rules/+ motifs glob quand les conventions sâappliquent par type de fichier Ă travers toute la base de code.- SchĂ©ma JSON = syntaxe garantie, sĂ©mantique non garantie. Champs nullable contre lâhallucination ; rĂ©essai inutile si lâinfo est absente de la source.
- Batch : â50 % â , †24 h â , pas de SLA â jamais pour du bloquant ;
custom_idpour corrĂ©ler ; re-soumettre seulement les Ă©checs. - Auto-revue faible : instance indĂ©pendante pour rĂ©viser ; passes par fichier + passe dâintĂ©gration pour les grandes PR ; « plus grande fenĂȘtre de contexte » ne rĂ©pare pas lâattention.
- Sentiment â complexitĂ© ; confiance auto-Ă©valuĂ©e â fiable. Escalade sur critĂšres explicites ; demande humaine explicite = escalade immĂ©diate.
- RĂ©sumĂ© progressif dilue les chiffres â bloc « case facts » persistant hors rĂ©sumĂ©.
- MĂ©triques agrĂ©gĂ©es mentent â stratifier par type de document et par champ ; confiance au niveau du champ.
- Aucune pĂ©nalitĂ© Ă lâexamen â rĂ©pondre Ă tout, toujours.
Annexe â Correspondance scĂ©narios Ă domaines
| Scénario | D1 (27 %) | D2 (18 %) | D3 (20 %) | D4 (20 %) | D5 (15 %) |
|---|---|---|---|---|---|
| S1 Support client | ââ | ââ | â | ââ | |
| S2 GĂ©nĂ©ration de code | â | âââ | â | ||
| S3 Recherche multi-agents | âââ | â | ââ | ||
| S4 ProductivitĂ© dev | â | ââ | ââ | â | |
| S5 Claude Code CI/CD | âââ | ââ | â | ||
| S6 Extraction structurĂ©e | â | âââ | ââ | ||
| S7 IA conversationnelle | ââ | â | â | âââ | |
| S8 Outils agentiques | ââ | âââ | â | â |
(âââ = domaine dominant, ââ = fortement prĂ©sent, â = prĂ©sent)
Lecture stratĂ©gique : D1 et D3 sont partout â impossible dây ĂȘtre faible. D2 se concentre sur S1/S4/S8. D4 se joue surtout sur S5/S6. D5 est diffus mais culmine sur S7.