Guide d’étude CCDV-F/Domaine 06 sur 0811 % de l’examen

Ingénierie du prompt et du contexte

Trois sous-domaines, 11 % des points, un domaine coupé net en deux : gérer ce qui remplit la fenêtre de contexte et obtenir du modèle des sorties structurées et fiables. L’ingénierie de contexte d’un côté — l’ingénierie de prompt de l’autre.

Fabs||19 min de lecture|Version anglaise →

Le cadrage d’Anthropic, que l’examen a absorbé en entier : l’ingénierie de prompt a grandi en ingénierie de contexte. L’unité de conception n’est plus l’instruction — c’est tout ce que le modèle voit dans une requête : prompt système, définitions d’outils, documents retrouvés, images, tout l’historique de conversation, et la réponse elle-même, qui devient l’entrée du tour suivant.

Comment lire cette page, parce qu’elle vous dit ce qu’il faut mémoriser : le numéro du domaine et la pondération de 11 % viennent tout droit du guide officiel de l’examen, et les idées exigibles sont rassemblées dans l’encadré à la fin de chaque section. Les faits propres aux modèles ont été vérifiés auprès de la documentation officielle en septembre 2026 — ceux susceptibles de changer entre deux éditions sont estampillés « à jour de septembre 2026 », et ce sont les seuls qui valent la peine d’être revérifiés la semaine où vous le passez.

↳Glossaire — six termes sur lesquels cette page s’appuie
Fenêtre de contexte

Le budget d’une requête : prompt système, chaque message, résultats d’outils compris, définitions d’outils, images et documents, et la sortie, tokens de réflexion compris. Un budget à dépenser, pas un seau à remplir.

Context rot

Dégradation de la qualité à mesure que la fenêtre se remplit. L’attention s’étale sur plus de tokens — le nombre de relations par paires croît avec le carré de la longueur — et la précision et le rappel glissent bien avant qu’une limite ne soit atteinte.

Prompt caching

Une réduction sur un préfixe de requête inchangé. Les tokens lus dans le cache coûtent moins cher, mais ils s’imputent quand même sur la fenêtre.

Élagage

Nettoyer le contenu périmé après son arrivée dans la fenêtre. Compaction et édition de contexte.

Isolation

Concevoir pour que le contenu périmé n’arrive jamais. Sous-agents, tool search, appels d’outils programmatiques.

Décodage contraint

Restreindre l’échantillonnage du modèle pour que toute sortie possible corresponde à un schéma que vous avez fourni. Le mécanisme qui fait des sorties JSON et du tool use strict des garanties plutôt que des demandes.

01La fenêtre est un budget, pas un seau

Tout dans la requête s’impute sur la fenêtre : le prompt système, chaque message, résultats d’outils compris, les définitions d’outils, les images et documents (jusqu’à 600 pages d’image ou de PDF par requête sur les modèles à 1M de tokens, 100 sur ceux à 200K — les limites de taille de requête peuvent mordre avant les limites de tokens), la sortie, tokens de réflexion compris — et — le fait que l’on refuse de croire — les préfixes mis en cache.

Le cache change ce que vous payez, pas ce qui compte : 2 000 tokens frais plus 180 000 tokens lus dans le cache sur un modèle 200K, et la fenêtre est presque pleine.

Pourquoi ne pas la remplir ? Le context rot : à mesure que le compte de tokens croît, l’attention s’étale plus finement (le nombre de relations par paires croît avec le carré de la longueur), et la précision et le rappel se dégradent graduellement.

Le mode d’échec sur le terrain est plus discret qu’une erreur de limite : un agent qui a lu quarante fichiers et s’est mis à répondre vaguement alors que la fenêtre était à moitié vide — résultats d’outils périmés et raisonnements finis qui se disputent l’attention bien avant qu’une limite ne soit atteinte. Traitez le contexte comme un budget à dépenser délibérément sur ce que le prochain tour exige vraiment.

02Gérer un contexte long

La boîte à outils a une partition nommée sur lequel l’examen s’appuie : l’élagage nettoie le contenu périmé après son arrivée ; l’isolation l’empêche d’arriver. Tous les outils en une comparaison — avec le détail que l’examen vérifie sur chacun :

↳La boîte à outils des contextes longs, comparée
StratégieÉlagage ou isolationCe qu’elle faitLe détail que l’examen vérifie
Compaction côté serveurÉlagageLe serveur remplace les tours anciens par un résumé ; la conversation continue au-delà de ce qui aurait été la limiteLa stratégie primaire des longues sessions d’agent. Un message système compact_boundary marque l’endroit. Bêta, et seulement sur les modèles Claude 4.6 et suivants, Mythos Preview compris — à jour de septembre 2026
Édition de contexteÉlagageLe serveur nettoie les anciens résultats d’outils et anciens blocs de réflexion avant que le prompt n’atteigne le modèleDéclencheurs configurables, fenêtres de récence, exclusions par outil, et un plancher clear_at_least — chaque nettoyage invalide le cache de prompt, donc chaque nettoyage doit justifier ce coût. Votre client garde l’historique complet non édité ; il n’y a rien à synchroniser
Conscience du contexteNi l’un ni l’autre — c’est une question de rythmeLe modèle est informé de l’espace qui lui resteSonnet 5, Sonnet 4.6, Sonnet 4.5 et Haiku 4.5 reçoivent automatiquement des balises de budget de tokens injectées et des mises à jour d’usage par appel d’outil ; Opus 4.7 et suivants, Fable et la série Mythos 5, non — fixez-y des budgets de tâches explicites (bêta). Vous n’écrivez jamais les balises, et connaître le budget restant ne crée aucun espace en plus — à jour de septembre 2026
Délégation — sous-agentsIsolationUn sous-agent tourne dans sa propre fenêtre et ne renvoie que son message finalLa fenêtre du parent ne voit jamais les résultats d’outils ni le raisonnement du sous-agent
Tool searchIsolationLes définitions d’outils restent hors de la fenêtre jusqu’à demandeLe motif pour les jeux de vingt outils et plus
Appels d’outils programmatiquesIsolationClaude enchaîne beaucoup de petits outils dans un script unique, dans le sandbox d’exécution de codeLes résultats intermédiaires n’entrent jamais dans la conversation
L’outil mémoireNi l’un ni l’autre — c’est de la durabilitéDes notes durables stockées en fichiers sous /memories, écrites et lues à la demande entre sessionsCôté client : Claude demande les opérations de fichiers, votre application les exécute
L’élagage nettoie ce qui est arrivé ; l’isolation l’empêche d’arriver ; l’outil mémoire sert à survivre à la session, pas à y tenir.

Quand un scénario vous tend un symptôme et demande la stratégie, déroulez le cadre de décision le plus simple : la session est longue et doit continuer comme une seule conversation — compaction. Les anciens résultats d’outils et réflexions sont ce qui fait gonfler — édition de contexte. Le travail génère un bruit dont la conversation parent n’a jamais besoin — délégation ou appels d’outils programmatiques. La connaissance doit survivre à la session — l’outil mémoire.

03Blocs de réflexion : ce qui reste, ce qui repart

Que les anciens blocs de réflexion restent dans la fenêtre dépend du modèle — à jour de septembre 2026. Opus 4.5 et suivants et Sonnet 4.6 et suivants les gardent par défaut, où ils comptent comme entrée ordinaire à chaque requête suivante. Les Opus et Sonnet antérieurs, et tous les Haiku, les retirent automatiquement au renvoi.

Une règle mécanique du cycle d’utilisation d’outils s’applique dans tous les cas, sur chaque modèle : quand vous renvoyez un résultat d’outil, vous devez repasser le bloc de réflexion du modèle non modifié, signature comprise — l’altérer est une erreur d’API.

Et dans Claude Code, le hook PreCompact est l’endroit parfait pour archiver une transcription complète, non résumée, avant que la compaction ne jette du détail — une astuce pratique pour les vrais déploiements plutôt qu’une règle d’API exigible.

04Des prompts qui tiennent

Le modèle mental qui organise chaque technique ici : vous briefez un collègue nouveau et capable. Claude est fort et ne sait rien de vos normes, de votre audience, ni de votre définition du travail fini. Le test — un humain compétent, muni d’un contexte minimal, pourrait-il exécuter ce brief ? Sinon, le prompt est le problème.

De là découlent les pratiques que l’examen teste. Soyez explicite sur le périmètre quand vous voulez de l’ambition : « construis un tableau de bord » donne un tableau de bord ; demander chaque fonctionnalité et interaction pertinente donne cela à la place. Et expliquez les raisons derrière les règles plutôt que de les crier en capitales — « ce texte est lu à voix haute par un moteur TTS, donc pas de points de suspension » se généralise ; « JAMAIS de points de suspension », non.

Donnez des exemples — trois à cinq, choisis comme vous choisiriez une suite de tests : pertinents pour le cas d’usage réel, assez divers pour couvrir les cas limites (un jeu d’exemples quasi identiques enseigne un motif non voulu, des réponses toutes courtes et polites par exemple), et structurellement séparés des instructions par des balises example.

L’examen compte les exemples en shots — zéro-shot, instructions seules ; single-shot ajoute un exemple travaillé ; few-shot (aussi appelé multishot) en fournit plusieurs. Les exemples travaillés restent parmi les leviers les plus fiables sur le format, le ton et la structure de la sortie.

Structurez les prompts longs avec des balises XML — instructions, contexte, documents, entrées dans des sections étiquetées séparées, et quand plusieurs documents voyagent, imbriquez-les avec des attributs index pour que le modèle garde ses sources en ordre. Mettez le rôle stable dans le paramètre system (même une phrase de rôle focalise le ton) et la demande volatile dans le tour utilisateur. Et définissez le contrat de sortie explicitement : JSON à clés nommées et valeurs énumérées, ou un gabarit qui fixe la forme et la longueur de chaque champ.

Une règle propre au modèle qui apparaît en question de fait — à jour de septembre 2026 : sur Claude Sonnet 5, régler temperature, top_p ou top_k à des valeurs non par défaut est rejeté avec une erreur 400. Contrôlez le ton et la variété par le prompt système à la place.

05Sorties structurées et tool use strict

L’ancienne manière d’obtenir du JSON était de demander poliment et d’écrire un parseur défensif. La manière actuelle est le décodage contraint : fournissez un JSON Schema et l’échantillonnage du modèle se limite aux sorties qui y correspondent — structurellement valide à chaque fois, aucun retry pour syntaxe mal formée. Deux fonctions indépendantes livrent cela, et vous pouvez utiliser l’une, l’autre ou les deux :

  • —JSON outputs — réglez output_config.format sur votre schéma et le JSON arrive dans le bloc de contenu texte de la réponse. Les SDK rendent cela agréable : passez un modèle Pydantic ou un schéma Zod aux helpers parse et recevez en retour un objet typé et validé.
  • —Tool use strict — réglez strict: true sur une définition d’outil et les appels d’outil du modèle ont la garantie de porter un nom d’outil valide et des arguments conformes à votre input_schema.

Deux mentions en petits caractères qui méritent un vrai temps d’étude. Premièrement : l’API ne prend en charge qu’un sous-ensemble de JSON Schema. Les helpers du SDK comblent l’écart en retirant des contraintes comme minimum, maximum et limites de longueur, en les réexprimant dans les descriptions de champs, et en ajoutant additionalProperties: false — puis en validant la réponse par rapport à votre schéma d’origine dans votre code. La contrainte est imposée, juste pas par le décodage.

Deuxièmement : le mode strict a ses limites. Les jeux d’outils computer-use et browser-use le refusent net, et ses schémas compilent en grammaires mises en cache — donc les PHI restent hors des identifiants de schéma, des valeurs d’énumération et des patterns, dans les messages seulement.

La règle empirique pour les questions de scénario : réponse finale lisible par machine, JSON outputs ; arguments de fonction correctement typés, tool use strict ; les deux à la fois, c’est permis.

06Une page pour réviser

Cinq sections de prose se trouvent au-dessus de cette ligne. Voici le même domaine compressé : les deux fonctions de sortie structurée côte à côte, et les cinq lignes à emporter plus bas. Le tableau de la boîte à outils des contextes longs, section 02, est l’autre moitié de votre relecture de la veille — si vous ne relisez que deux choses, relisez ce tableau-là et celui-ci.

↳JSON outputs contre tool use strict
QuestionJSON outputsTool use strict
Ce que vous réglezoutput_config.format = votre schémastrict: true sur la définition de l’outil
Ce qui est garantiDu JSON conforme au schéma dans le bloc de contenu texte de la réponseChaque appel d’outil porte un nom valide et des arguments conformes à input_schema
Quand y recourirLa réponse finale doit être lisible par machineLes arguments de fonction doivent être correctement typés
Prise en charge SDKSchéma Pydantic ou Zod via les helpers parse ; un objet typé et validé en retourLes schémas compilent en grammaires mises en cache — les PHI restent hors des identifiants, valeurs d’énumération et patterns
La limite à connaîtreSeul un sous-ensemble de JSON Schema est imposé par le décodage ; les bornes reviennent en descriptions de champs et votre code valideLes jeux d’outils computer-use et browser-use le refusent net
Réponse finale lisible par machine → JSON outputs. Arguments de fonction correctement typés → tool use strict. Les deux à la fois, c’est permis.

Une ligne à tracer à travers le domaine, la même que pour chaque page de cette série : les idées sont stables, les détails produit ne le sont pas. Le cadrage budget-pas-seau, l’élagage contre l’isolation, les raisons contre les capitales, le vocabulaire des shots, le décodage contraint — tout cela survivra à n’importe quel changement de produit. Les listes de modèles ici — lesquels gardent les blocs de réflexion, lesquels reçoivent les balises de conscience du contexte, la restriction d’échantillonneur de Sonnet 5, le plancher de modèles de la compaction — ont été vérifiées auprès de la documentation officielle en septembre 2026 et peuvent changer entre deux éditions. Tout ce qui est estampillé « à jour de » tombe dans ce second groupe ; revérifiez-le auprès de la documentation vivante la semaine où vous passez l’examen.

07Les pièges de ce domaine

  • —« Le cache libère de l’espace de fenêtre » — les tokens mis en cache comptent toujours ; le cache change le coût, pas la capacité.
  • —« Une fenêtre d’un million de tokens veut dire : remplissez-la » — le context rot dégrade la précision à mesure que le contenu croît.
  • —« Le modèle connaît son budget restant, donc il libérera de l’espace » — la conscience du contexte laisse le modèle se caler sur l’espace restant ; elle ne crée aucun espace.
  • —« L’édition de contexte va désynchroniser mon historique client » — le client garde l’historique complet non édité ; il n’y a rien à synchroniser.
  • —« Un sous-agent partage la fenêtre du parent » — l’isolation est le but : il tourne dans sa propre fenêtre et ne renvoie que son message final.
  • —« Retirer le bloc de réflexion avant de renvoyer le résultat d’outil » — repassez-le non modifié, signature comprise ; l’altérer est une erreur d’API.
  • —« Répéter la règle plus fort » — expliquez la raison à la place ; le modèle généralise à partir des raisons.
  • —« Des exemples quasi identiques sont la bonne pratique » — la diversité et les cas limites sont ce qui enseigne.
  • —« Le décodage contraint impose mes bornes Pydantic » — le SDK les retire, les documente, et votre code valide.
  • —« strict: true marche sur tout outil » — les jeux d’outils computer et browser le refusent.

08Vérifiez vos acquis

Quatre questions de scénario, à peu près dans le registre de l’examen. Chacune se déplie pour montrer la réponse et — plus utilement — pourquoi les mauvaises options sont mauvaises.

Q1

Une requête à un modèle à fenêtre 200K porte 2 000 tokens frais et 180 000 tokens lus dans le cache, plus des définitions d’outils et un PDF. Un coéquipier dit : « Détends-toi — la plupart de ces tokens sont des lectures de cache, donc la fenêtre est presque vide. » Quelle est la position correcte ?

  1. ALes tokens lus dans le cache s’imputent toujours sur la fenêtre ; le cache change le coût, pas la capacité
  2. BLe coéquipier a raison — les tokens lus dans le cache ne s’imputent pas sur la fenêtre de contexte
  3. CLes tokens lus dans le cache comptent à demi-poids, donc seuls environ 90 000 sont utilisés
  4. DLa fenêtre de contexte ne limite que les tokens de sortie, donc la taille d’entrée est sans importance
→Vérifier votre réponse
Réponse : A

Le fait qu’on refuse de croire : les préfixes mis en cache s’imputent sur la fenêtre exactement comme les tokens frais. Le cache change ce que vous payez, pas ce qui compte — 2 000 frais plus 180 000 cachés sur un modèle 200K, et la fenêtre est presque pleine. Cela rend fausse toute réponse « libérer la fenêtre par le cache ».

Q2

Une session d’agent tourne depuis des heures et la conversation est sur le point de dépasser la fenêtre ; la session elle-même doit continuer comme une seule conversation. Quelle stratégie la documentation désigne-t-elle comme primaire ici ?

  1. AL’édition de contexte — nettoyer les anciens résultats d’outils et la session rétrécit
  2. BL’outil mémoire — stocker l’historique dans /memories et recharger le nécessaire
  3. CLa compaction côté serveur — le serveur remplace les tours anciens par un résumé et la conversation continue
  4. DLa délégation — confier le reste du travail à un sous-agent à fenêtre neuve
→Vérifier votre réponse
Réponse : C

La compaction est la stratégie primaire des longues sessions d’agent : les tours anciens deviennent un résumé, un message système compact_boundary marque l’endroit, et la même conversation continue au-delà de ce qui aurait été la limite. L’édition de contexte nettoie les anciens résultats d’outils et réflexions, pas toute la conversation. L’outil mémoire sert à la connaissance qui doit survivre aux sessions, pas à en sauver une. La délégation est de l’isolation — valable quand une fenêtre neuve convient au travail, fausse quand la session elle-même doit continuer.

Q3

Votre pipeline TTS ne cesse de trouver des points de suspension dans des textes que Claude prépare, malgré un prompt système disant « JAMAIS de points de suspension ». Quelle est la correction documentée ?

  1. ADéplacer la règle dans le tour utilisateur et la répéter avant chaque génération
  2. BÉcrire la règle en capitales tout au début du prompt système
  3. CExpliquer la raison : ce texte est lu à voix haute par un moteur TTS, donc les points de suspension cassent la sortie
  4. DAjouter dix exemples quasi identiques de textes contenant des points de suspension, chacun étiqueté « faux »
→Vérifier votre réponse
Réponse : C

Les raisons se généralisent ; les capitales, non. Un modèle à qui on a dit pourquoi — le texte est lu à voix haute par un moteur TTS — peut appliquer la règle à des cas jamais listés. Déplacer ou remettre en capitales la règle ne fait que la répéter plus fort, et un jeu d’exemples négatifs quasi identiques enseigne un motif non voulu plutôt que la frontière cherchée.

Q4

Vous voulez la réponse finale d’une requête sans outil en JSON lisible par machine à clés nommées — validée dans votre code par rapport au schéma Pydantic d’origine, bornes minimum et maximum comprises. Quelle est la bonne construction ?

  1. ADemander du JSON dans le prompt et parser la réponse défensivement
  2. BJSON outputs via output_config.format ; le SDK réexprime les bornes en descriptions de champs et votre code valide par rapport au schéma d’origine
  3. Cstrict: true sur une définition d’outil dont l’input_schema porte les bornes
  4. DJSON outputs seul — le décodage contraint impose chaque borne Pydantic à l’échantillonnage
→Vérifier votre réponse
Réponse : B

Une réponse finale lisible par machine sans outils pointe vers JSON outputs. Mais l’API ne prend en charge qu’un sous-ensemble de JSON Schema : les helpers du SDK retirent les bornes comme minimum et maximum, les réexpriment dans les descriptions de champs, ajoutent additionalProperties: false — et votre code valide par rapport au schéma d’origine. L’option D est le piège tendu : la contrainte finit imposée, juste pas par le décodage. Et le tool use strict répond à une autre question — des arguments de fonction typés, pas des réponses finales.

Fabs
Fondateur, The Third Way Company
Travailler avec nous