{
  "title": "L'ingénierie du contexte : pourquoi l'ingénierie des prompts n'a jamais suffi",
  "excerpt": "D'ici 2026, le vrai travail dans les systèmes d'IA modernes ne consiste pas à rédiger un prompt ingénieux. Il s'agit de décider ce que le modèle voit, quand il le voit, et comment ce contexte est structuré, persisté et transformé en mémoire durable.",
  "content_html": "<p>Pendant un temps, l'« ingénierie des prompts » était le nom que nous donnions à l'art d'obtenir de bons résultats des grands modèles de langage. C'était logique à l'époque. La plupart des gens utilisaient des interactions en une seule passe, et le principal levier semblait vraiment être la formulation : demander plus clairement, ajouter un exemple, contraindre le format, et le modèle se comportait mieux.</p><p>Ce cadre est désormais trop étroit pour le vrai problème.</p><p>Quand un système d'IA échoue en production, le problème n'est généralement pas que le modèle avait besoin d'une phrase plus ingénieuse dans le prompt système. Le problème, c'est que le modèle n'a pas vu les bonnes informations, a vu trop d'informations non pertinentes, a vu les bonnes informations dans le mauvais format, ou n'a pas pu transmettre le bon état d'une étape à l'autre. En d'autres termes, le problème n'était pas seulement le prompt. Le problème était <strong>l'ensemble du pipeline de contexte</strong>.</p><p>C'est pourquoi le terme <strong>ingénierie du contexte</strong> s'est imposé. L'expression est entrée dans le débat mainstream de l'IA à mi-2025, quand Tobi Lütke et Andrej Karpathy ont soutenu que l'« ingénierie des prompts » sous-estimait le vrai travail impliqué dans la construction de systèmes LLM fiables.[1] Mais la discipline sous-jacente est plus ancienne que le nom. Si vous avez construit du RAG, des appels d'outils, des systèmes de mémoire, de la summarisation ou des boucles d'évaluation, vous avez déjà fait des morceaux d'ingénierie du contexte. Ce qui a changé, c'est que nous avons enfin un nom qui décrit l'ensemble du travail.</p><h2>Un modèle mental simple</h2><p>Si vous voulez l'image la plus simple possible, l'ingénierie du contexte est la couche entre le monde extérieur et la mémoire de travail du modèle.</p><pre><code class=\"language-mermaid\">flowchart TD\n    U[\"Requête utilisateur\"] --&gt; CE[\"Moteur de contexte\"]\n\n    I[\"Instructions et politiques\"] --&gt; CE\n    R[\"Connaissances récupérées\"] --&gt; CE\n    M[\"Mémoire et état sauvegardé\"] --&gt; CE\n    T[\"Définitions et résultats d'outils\"] --&gt; CE\n    H[\"Historique récent de conversation\"] --&gt; CE\n\n    CE --&gt; W[\"Fenêtre de contexte du modèle\"]\n    W --&gt; L[\"Le LLM raisonne et agit\"]\n    L --&gt; O[\"Réponse ou appel d'outil\"]\n    O --&gt; S[\"Nouvelle mémoire, logs et état\"]\n    S --&gt; CE</code></pre><p>C'est tout le jeu.</p><p>Le modèle est le moteur de raisonnement. Le moteur de contexte décide sur quoi le modèle peut raisonner.</p><h2>Le nom est nouveau. Le travail ne l'est pas.</h2><p>Une raison pour laquelle ce terme résonne est qu'il relie plusieurs fils qui évoluaient séparément.</p><p>La génération augmentée par récupération, ou RAG, nous a appris que les modèles ont besoin d'accéder à des connaissances externes au moment de l'inférence.[2] ReAct nous a appris que le raisonnement et l'action fonctionnent mieux quand les modèles peuvent appeler des outils, observer les résultats et continuer à partir de là.[3] La recherche sur la mémoire nous a appris que les assistants à long terme ont besoin de stratégies d'indexation, de récupération et de lecture plutôt que d'une accumulation infinie de transcriptions.[4] L'évaluation des longs contextes a montré que simplement bourrer plus de tokens dans un modèle n'est pas la même chose que lui donner une meilleure mémoire de travail.[5][6][7]</p><p>Vu ainsi, l'ingénierie du contexte n'est pas un remplacement de ces idées. C'est le parapluie au-dessus d'elles.</p><p>Ce parapluie est important parce que les systèmes d'IA modernes ne sont plus des prompts isolés. Ce sont des systèmes dynamiques qui assemblent des instructions, des documents, des données structurées, des sorties d'outils et des états antérieurs dans une fenêtre de contexte temporaire pour l'étape suivante. LangChain l'a bien décrit en définissant l'ingénierie du contexte comme le travail de fournir les bonnes informations et les bons outils dans le bon format pour que le LLM puisse vraisemblablement accomplir la tâche.[8]</p><p>L'expression « vraisemblablement accomplir la tâche » fait beaucoup de travail ici. C'est le bon test.</p><p>Si un agent échoue, la première question ne devrait pas être : « Comment rendre le prompt plus intelligent ? »</p><p>La première question devrait être : « Ai-je vraiment donné au modèle ce dont il avait besoin pour réussir ? »</p><h2>Pourquoi l'ingénierie des prompts est devenue trop petite</h2><p>L'ingénierie des prompts est toujours importante. Elle est simplement devenue un sous-ensemble d'une discipline plus large.</p><p>L'ancien modèle mental était :</p><table><thead><tr><th>Ingénierie des prompts</th><th>Ingénierie du contexte</th></tr></thead><tbody><tr><td>Écrire de meilleures instructions</td><td>Construire l'environnement informationnel complet</td></tr><tr><td>Se concentrer sur une seule requête</td><td>Se concentrer sur des systèmes multi-étapes</td></tr><tr><td>Principalement statique</td><td>Dynamique et avec état</td></tr><tr><td>Optimiser la formulation</td><td>Optimiser la sélection, la structure, la mémoire et les outils</td></tr><tr><td>Améliorer un seul appel de modèle</td><td>Améliorer toute la boucle</td></tr></tbody></table><p>Cette distinction devient évidente dès que vous construisez un agent.</p><p>Supposons que vous construisiez un agent de support pour un logiciel d'entreprise. L'utilisateur demande : « Pourquoi nos requêtes API expirent-elles ? »</p><p>Si vous pensez uniquement en termes de prompt, vous pourriez améliorer la formulation :</p><ul><li>Demander au modèle d'être concis</li><li>Lui demander de citer des preuves</li><li>Lui demander de réfléchir étape par étape</li></ul><p>Ce sont de bonnes améliorations. Mais elles ne suffisent pas.</p><p>Les vraies questions système sont plus difficiles :</p><ul><li>L'agent a-t-il accès aux runbooks d'incidents ?</li><li>Peut-il voir les derniers logs et pages de statut ?</li><li>Sait-il à quel niveau de service appartient ce compte ?</li><li>Se souvient-il des tours précédents de la conversation ?</li><li>Peut-il interroger le système de tickets ?</li><li>Peut-il distinguer les documents obsolètes des documents actuels ?</li><li>Si le contexte est trop volumineux, qu'est-ce qui est élagué ?</li></ul><p>C'est ça, l'ingénierie du contexte.</p><p>Le prompt n'est qu'un élément parmi d'autres.</p><h2>Ce qui compte comme contexte</h2><p>En pratique, le contexte inclut tout ce que le modèle voit au moment de l'inférence, pas seulement le prompt visible.[8][9]</p><p>Cela signifie généralement :</p><ul><li>Les instructions système</li><li>La requête actuelle de l'utilisateur</li><li>Les documents récupérés</li><li>Les données structurées comme JSON, tableaux, schémas et enregistrements</li><li>Les définitions d'outils</li><li>Les sorties d'outils</li><li>L'historique récent de conversation</li><li>La mémoire à long terme ou les notes sauvegardées</li><li>Les contraintes de sécurité, de politique et de formatage</li><li>L'état de l'environnement comme les fichiers, onglets, tickets ou répertoires de travail</li></ul><p>C'est pourquoi l'expression « remplir la fenêtre de contexte » est devenue si centrale. La fenêtre de contexte n'est pas seulement un endroit où le texte va. C'est la mémoire de travail temporaire du modèle. Tout ce qui y entre est en compétition pour l'attention.</p><p>Et la compétition est le mot clé.</p><p>Chaque token supplémentaire n'est pas seulement une information additionnelle. C'est aussi une distraction supplémentaire.</p><h2>Pourquoi les fenêtres de contexte plus grandes n'ont pas résolu le problème</h2><p>L'une des idées fausses les plus courantes sur le marché actuel de l'IA est que les fenêtres de contexte plus grandes ont rendu l'ingénierie du contexte moins importante.</p><p>La recherche pointe dans la direction opposée.</p><p><em>Lost in the Middle</em> a montré que les modèles utilisent souvent les longs contextes de manière inégale, obtenant de meilleures performances quand les informations pertinentes apparaissent près du début ou de la fin, et de moins bonnes performances quand les informations importantes se trouvent au milieu.[5] L'étude RAG à long contexte de Databricks a constaté que si l'ajout de plus de documents récupérés peut aider, seul un petit nombre de modèles de pointe maintenaient de bonnes performances au-delà de 64k tokens.[6] Le rapport <em>Context Rot</em> de Chroma est allé encore plus loin : même des tâches simples deviennent moins fiables à mesure que la longueur des entrées augmente, surtout quand l'ambiguïté et les distracteurs sont introduits.[7]</p><p>C'est la partie que beaucoup d'équipes apprennent à la dure.</p><p>Les fenêtres plus grandes n'éliminent pas le besoin de choisir. Elles rendent le coût des mauvais choix moins évident au début et plus douloureux ensuite.</p><p>Un long prompt peut échouer d'au moins quatre façons différentes :</p><ol><li><strong>Empoisonnement du contexte</strong> : un mauvais fait, une hallucination ou un résultat obsolète est transmis en avant.</li><li><strong>Distraction du contexte</strong> : trop de détails pertinents mais non critiques submergent la tâche principale.</li><li><strong>Confusion du contexte</strong> : différentes parties du contexte se contredisent.</li><li><strong>Gaspillage du contexte</strong> : des tokens utiles sont enfouis sous du matériel redondant ou de faible valeur.</li></ol><p>C'est pourquoi l'ingénierie du contexte ne consiste pas à maximiser les tokens. Il s'agit de maximiser la <strong>densité du signal</strong> dans la fenêtre de contexte.</p><h2>De la récupération à la navigation</h2><p>C'est là qu'entre en jeu l'une des meilleures idées récentes.</p><p>Jason Liu a soutenu que la prochaine étape après le RAG classique basé sur des chunks est d'arrêter de penser uniquement aux « passages les plus similaires » et de commencer à penser à la <strong>forme de l'espace de recherche</strong>.[10] Son cadre est particulièrement utile parce qu'il trace une progression que beaucoup d'équipes traversent déjà :</p><ol><li>Chunks minimaux</li><li>Chunks avec métadonnées de source</li><li>Meilleure gestion du contenu multimodal et structuré</li><li>Facettes et raffinement des requêtes</li></ol><p>Les trois premiers sont des améliorations de ce qui est récupéré.</p><p>Le quatrième est plus intéressant. Il améliore ce que l'agent apprend <strong>sur le corpus lui-même</strong>.</p><p>Les facettes donnent au modèle quelque chose comme une vision périphérique. Au lieu de ne retourner que les quelques meilleurs chunks, le système peut aussi retourner des métadonnées agrégées :</p><ul><li>Quels types de documents dominent l'ensemble de résultats</li><li>Quelles équipes ou propriétaires apparaissent le plus souvent</li><li>Quelles dates se regroupent ensemble</li><li>Quelles catégories sont présentes mais sous-représentées dans les meilleurs résultats</li></ul><p>Cela compte parce que la recherche par similarité est biaisée vers ce qui est le plus facile à faire correspondre, pas nécessairement ce qui est le plus important à inspecter.[10] Un système de récupération peut sur-exposer des incidents résolus bien documentés et sous-exposer des incidents rares encore ouverts. Une recherche juridique peut sur-exposer des contrats signés et cacher les non signés qui nécessitent réellement attention. Les facettes aident l'agent à voir non seulement « ce qui correspond », mais « ce qui existe à proximité ».</p><p>C'est un changement conceptuel majeur.</p><p>Le RAG concernait principalement la récupération.</p><p>L'ingénierie du contexte concerne de plus en plus la <strong>navigation</strong>.</p><h2>Les six missions de l'ingénierie du contexte</h2><p>La façon la plus simple de rendre l'ingénierie du contexte concrète est de la décomposer en missions réelles qu'elle accomplit.</p><h3>1. La sélection</h3><p>La première mission est de décider ce qui mérite d'entrer dans la fenêtre.</p><p>Cela inclut la récupération, le classement, le filtrage, le choix des sources et les vérifications de fraîcheur. Cela semble évident, mais c'est encore là qu'une grande partie de la qualité est gagnée ou perdue. Des benchmarks comme BRIGHT montrent que la récupération réaliste est bien plus difficile que ce que suggère la correspondance sémantique de surface.[11] Si votre qualité de récupération est faible, aucune quantité de polissage de prompt en aval ne sauvera pleinement le résultat.</p><p>La sélection n'est pas seulement « trouver des chunks pertinents ». C'est :</p><ul><li>choisir la bonne source</li><li>choisir la bonne granularité</li><li>choisir la bonne quantité</li><li>choisir le bon ordre</li></ul><p>Les bons systèmes récupèrent souvent moins que les systèmes naïfs, mais le font plus intentionnellement.</p><h3>2. La structure</h3><p>La deuxième mission est de décider comment le contexte choisi est représenté.</p><p>La même information peut être utile ou inutile selon le formatage. Les conseils d'Anthropic sur l'utilisation des outils sont explicites à ce sujet : les descriptions et interfaces d'outils influencent fortement le comportement du modèle.[9] Les conseils sur les prompts à long contexte font des recommandations similaires pour le balisage XML, l'étiquetage des sources et les sections de documents clairement séparées.[12]</p><p>En pratique, la structure signifie :</p><ul><li>étiqueter les sources</li><li>séparer les instructions des données</li><li>envelopper les documents complexes dans un balisage cohérent</li><li>préserver les tableaux en tant que tableaux quand ils importent</li><li>retourner les citations et métadonnées avec les preuves</li></ul><p>Un résultat court et bien étiqueté surpasse souvent un énorme blob JSON.</p><h3>3. La compression</h3><p>La troisième mission est de réduire le contexte sans détruire ce qui compte.</p><p>C'est là que beaucoup de systèmes d'agents s'améliorent considérablement ou se dégradent fortement.</p><p>La compression peut signifier :</p><ul><li>résumer les tours précédents</li><li>élaguer l'historique obsolète</li><li>ne garder que les derniers tours utilisateur verbatim</li><li>extraire des faits durables de longs fils</li><li>mettre en cache des préfixes stables pour réduire le coût et la latence</li></ul><p>La documentation de mise en cache des prompts d'OpenAI montre que l'ordre des prompts compte économiquement autant que cognitivement : les préfixes partagés statiques sont moins chers et plus rapides quand ils sont placés en tête parce que les hits de cache dépendent de la réutilisation exacte du préfixe.[13] Le travail plus récent d'OpenAI sur la compaction via l'API Responses pousse la même idée plus loin en traitant l'historique d'un agent à long terme comme quelque chose qui devrait être compressé en une représentation plus efficace en tokens avant que la fenêtre ne se remplisse.[14]</p><p>La compression n'est pas optionnelle. La seule question est de savoir si vous la faites délibérément ou si vous laissez la fenêtre de contexte se dégrader d'elle-même.</p><h3>4. La mémoire</h3><p>La quatrième mission est de décider ce qui doit persister au-delà du tour actuel.</p><p>C'est là que beaucoup d'équipes font la même erreur : elles confondent mémoire et rétention de transcription.</p><p>Mais une bonne mémoire n'est pas « tout garder pour toujours ». LongMemEval cadre la mémoire à long terme comme un problème en trois étapes : indexation, récupération et lecture.[4] C'est la bonne façon d'y penser. Un système de mémoire devrait aider le modèle à retrouver le bon fait antérieur au bon moment, pas le noyer dans le passé complet.</p><p>Cela conduit à une distinction utile :</p><ul><li><strong>Mémoire de travail</strong> : le contexte à court terme nécessaire pour la tâche actuelle</li><li><strong>Mémoire de référence</strong> : faits externalisés, résumés, notes ou artefacts qui peuvent être rechargés plus tard</li></ul><p>Si tout reste en mémoire de travail, le modèle se distrait.<br>Si tout est poussé dehors, le modèle perd la continuité.</p><p>L'ingénierie du contexte décide ce qui appartient à chaque couche.</p><h3>5. La conception des outils et des interfaces</h3><p>La cinquième mission est de rendre les outils lisibles pour le modèle.</p><p>C'est une partie sous-estimée de la discipline. Une surface d'outil n'est pas seulement de la conception d'API logicielle. C'est aussi de la conception de contexte.</p><p>Le modèle doit comprendre :</p><ul><li>ce que fait l'outil</li><li>quand l'utiliser</li><li>ce que signifie chaque paramètre</li><li>ce qu'implique la sortie</li><li>quoi faire ensuite après avoir vu le résultat</li></ul><p>C'est pourquoi les descriptions d'outils sont si importantes.[9] C'est aussi pourquoi l'accent mis par Jason Liu sur les résultats des outils est important.[10] La sortie d'un outil ne répond pas seulement à la requête actuelle. Elle apprend à l'agent comment penser à la prochaine requête.</p><p>Quand la surface des outils devient standardisée via un protocole comme MCP, cela devient encore plus important. MCP facilite la connexion d'outils, de ressources et de prompts aux applications LLM, mais il ne décide pas quelles informations doivent être exposées, comment elles doivent être filtrées, ou quelle quantité doit être injectée dans le prochain appel de modèle.[15] Le protocole est la plomberie. L'ingénierie du contexte est toujours le savoir-faire.</p><h3>6. L'isolation et l'orchestration</h3><p>La sixième mission est de décider quand ne pas partager le contexte.</p><p>C'est l'une des plus grandes différences entre les démos jouets et les agents en production.</p><p>Parfois, la bonne réponse n'est pas un prompt partagé plus grand. Ce sont plusieurs prompts plus petits avec des portées isolées.</p><p>Le système de recherche multi-agents d'Anthropic en est un bon exemple.[16] Leurs sous-agents s'exécutent en parallèle avec des fenêtres de contexte séparées, ce qui les aide à explorer différentes branches d'un problème sans se contaminer mutuellement avec chaque détail intermédiaire. LangChain décrit un modèle similaire sous « isoler » : parfois la meilleure façon d'améliorer la fiabilité d'un agent est de diviser les contextes plutôt que de les accumuler.[17]</p><p>Cela compte parce que le contexte partagé a un coût caché. Il crée une dépendance au chemin. Une seule mauvaise branche peut influencer l'étape suivante, et la suivante, et la suivante.</p><p>L'isolation est un moyen de limiter le rayon d'explosion.</p><h2>Ce qui a changé en 2026</h2><p>En 2025, l'ingénierie du contexte était principalement un nom utile pour un problème que les gens ressentaient déjà. En 2026, elle commence à se solidifier en une architecture.</p><p>Le premier grand changement est que les constructeurs déplacent l'état durable <strong>en dehors</strong> de la fenêtre de contexte brute. L'édition de contexte et l'outil de mémoire d'Anthropic séparent explicitement ce qui reste actif dans la fenêtre de travail de ce qui devrait persister entre les sessions.[18] Le cookbook de janvier 2026 d'OpenAI sur la personnalisation fait le même mouvement sous une forme différente : des objets d'état structurés qui persistent entre les exécutions et sont délibérément réinjectés dans la mémoire de travail au début de chaque exécution.[19] L'API Responses d'OpenAI pousse ensuite cela un pas de plus avec la compaction native, de sorte que les boucles d'agents à long terme ne nécessitent pas que chaque équipe construise un sous-système de summarisation personnalisé à partir de zéro.[14]</p><p>Les Managed Agents d'Anthropic rendent le modèle sous-jacent inhabituellement explicite : <strong>la session n'est pas la fenêtre de contexte du modèle</strong>.[20] C'est une idée critique de 2026. La fenêtre est une mémoire de travail transitoire. Le journal de session est l'objet durable. Le harnais décide comment découper, compacter et réhydrater ce contexte durable dans le prochain appel de modèle.</p><p>Le deuxième changement est que la récupération devient plus <strong>juste à temps</strong> et plus native aux interfaces. Au lieu de précharger chaque token potentiellement pertinent, les équipes donnent aux agents des surfaces de récupération qu'ils savent déjà utiliser. ChromaFs de Mintlify en est un bon exemple : plutôt que de démarrer un sandbox complet pour la récupération de documentation, il présente les docs comme un système de fichiers virtuel navigable avec <code>ls</code>, <code>cat</code> et <code>grep</code>, réduisant la création de session p90 d'environ 46 secondes à environ 100 millisecondes.[21] AgentFS de Turso pousse la même intuition vers l'exécution générale d'agents : une abstraction de système de fichiers copy-on-write avec stockage portable en fichier unique et audit intégré.[22]</p><p>Le troisième changement est que les <strong>graphes de contexte</strong> deviennent une direction d'implémentation, pas seulement une métaphore. La thèse de Foundation Capital a rendu le terme visible, mais la revendication plus forte est architecturale : quand les agents se trouvent dans le chemin d'exécution, ils peuvent capturer des traces de décision comme artefacts durables, pas seulement émettre des sorties finales.[26][27] Des systèmes open-source comme Graphiti et des plateformes commerciales comme Zep opérationnalisent cela comme des graphes de contexte temporels avec des fenêtres de validité, des épisodes de provenance et une récupération hybride à travers la sémantique, les mots-clés et la structure du graphe.[23] TrustGraph adopte une approche connexe en traitant le contexte comme un artefact versionné : graphe, embeddings, preuves et politiques regroupés en « noyaux de contexte » portables qui peuvent être promus ou annulés comme des sorties de build.[24][25]</p><p>Le quatrième changement est que l'ingénierie du contexte est maintenant visible dans la pratique logicielle réelle, pas seulement dans les blogs de plateformes. L'article MSR 2026 sur l'ingénierie du contexte dans les logiciels open-source a étudié 466 dépôts et a constaté que les fichiers de contexte IA comme <code>AGENTS.md</code> se répandent, mais sans structure de contenu stable encore.[28] Cela compte parce que cela marque un passage de la théorie aux artefacts opérationnels. Le contexte n'est plus seulement quelque chose d'inféré à l'exécution. Il est rédigé, versionné, révisé et exploité dans le cadre du cycle de vie logiciel.</p><p>Si vous voulez le modèle mental 2026 en une image, il ressemble à ceci :</p><pre><code class=\"language-mermaid\">flowchart LR\n    E[\"Journal de session / événements\"] --&gt; A[\"Assembleur de contexte\"]\n    F[\"Fichiers, docs et outils\"] --&gt; A\n    G[\"Graphe de contexte / mémoire\"] --&gt; A\n    P[\"Politiques et AGENTS.md\"] --&gt; A\n\n    A --&gt; W[\"Fenêtre de contexte de travail\"]\n    W --&gt; X[\"Action de l'agent\"]\n\n    X --&gt; E\n    X --&gt; G</code></pre><p>C'est une architecture très différente de « prompt + recherche vectorielle ».</p><h2>Où les graphes de contexte s'inscrivent réellement</h2><p>Une raison pour laquelle cette conversation devient confuse est que les gens utilisent <strong>ingénierie du contexte</strong> et <strong>graphe de contexte</strong> comme s'ils signifiaient la même chose. Ce n'est pas le cas.</p><p>L'ingénierie du contexte est la discipline plus large. C'est le travail de décider ce qui entre dans la prochaine fenêtre de contexte, ce qui reste dehors, ce qui est compressé et ce qui est récupéré à la demande.</p><p>Un graphe de contexte est un substrat de mémoire à long terme possible dans ce système plus large.</p><p>Cette distinction compte parce que tous les agents utiles n'ont pas besoin d'un graphe de contexte. Un assistant de documentation sur du contenu principalement statique peut avoir besoin d'une bonne récupération, d'une conception d'outils et d'une compaction, mais pas d'un graphe. Un agent de codage peut aller étonnamment loin avec des instructions de dépôt, un journal de session durable et une abstraction de système de fichiers.[20][21][22][28]</p><p>Les graphes de contexte deviennent convaincants quand le problème a quatre caractéristiques :</p><ul><li><strong>La vérité temporelle compte.</strong> Vous devez savoir non seulement ce qui est vrai maintenant, mais ce qui était vrai au moment de la décision.[23]</li><li><strong>La provenance compte.</strong> Vous devez retracer les faits jusqu'à l'épisode, le document ou l'interaction qui les a produits.[23][24]</li><li><strong>Le précédent compte.</strong> La tâche dépend de la façon dont des cas similaires ont été traités auparavant, y compris les exceptions et les approbations.[26][27]</li><li><strong>Le raisonnement inter-entités compte.</strong> La mémoire utile n'est pas une note plate, mais un réseau de personnes, de politiques, d'incidents, de comptes, de tickets et de résultats.[23][25]</li></ul><p>C'est pourquoi la meilleure définition d'un graphe de contexte, à mon avis, n'est pas « une base de données graphe pour l'IA ». C'est une <strong>représentation durable du précédent</strong>.</p><p>C'est aussi pourquoi les traces de décision comptent tant. Le cadre de Foundation Capital est utile ici : les règles disent à l'agent ce qui devrait se passer en général ; les traces de décision lui disent ce qui s'est passé dans un cas spécifique, sous de vraies contraintes, avec de vraies exceptions.[26] Une fois que ces traces sont liées à travers les entités et le temps, vous obtenez quelque chose de bien plus précieux que la mémoire générique. Vous obtenez un jugement consultable.</p><h2>Comment je construirais cela en 2026</h2><p>Si je construisais une pile d'ingénierie du contexte sérieuse aujourd'hui, je ne commencerais pas par le graphe. Je commencerais par les interfaces et les règles de promotion.</p><h3>1. Construire d'abord une couche de session durable</h3><p>Chaque action, résultat d'outil, observation et artefact intermédiaire important devrait atterrir dans un journal de session ou un event store append-only. C'est votre objet de contexte récupérable.[14][20]</p><p>Ne confondez pas la fenêtre de contexte active avec la source de vérité.</p><p>La fenêtre est pour le raisonnement.<br>La session est pour la récupération, la relecture, le débogage et la réhydratation sélective.</p><h3>2. Traiter l'assembleur de contexte comme une surface produit</h3><p>L'assembleur devrait gérer explicitement :</p><ul><li>les budgets de tokens</li><li>la priorité des sources</li><li>la fraîcheur</li><li>les seuils de compaction</li><li>l'élagage de l'historique</li><li>le formatage des citations</li><li>l'ordre tenant compte du cache</li></ul><p>C'est la couche qui décide ce que le modèle voit <em>maintenant</em>. Elle devrait être observable, testable et facile à modifier.[18][19][14]</p><h3>3. Préférer la récupération juste à temps au chargement anticipé</h3><p>Donnez d'abord au modèle des handles légers : chemins de fichiers, IDs d'objets, URLs, modèles de requêtes, IDs de tickets, IDs d'incidents. Puis laissez-le tirer les détails seulement quand nécessaire.[9][18][21]</p><p>C'est là que les systèmes de fichiers, les outils MCP, les APIs de recherche et les requêtes structurées deviennent plus précieux que d'énormes dumps top-K.</p><h3>4. Ne promouvoir que l'état de haute valeur en mémoire à long terme</h3><p>Tout ne devrait pas devenir mémoire.</p><p>Je promouvrais quatre classes d'artefacts :</p><ul><li>les préférences stables d'utilisateur ou de compte</li><li>les faits durables avec provenance</li><li>les résumés intermédiaires importants</li><li>les traces de décision et les exceptions</li></ul><p>Tout le reste devrait rester dans le journal de session jusqu'à ce qu'il prouve qu'il mérite d'être promu.</p><h3>5. Construire le graphe de contexte comme une couche de mémoire promue</h3><p>C'est la partie que beaucoup d'équipes inversent.</p><p>Le graphe ne devrait pas être votre transcription brute sous forme de graphe. Il devrait être la couche curée qui se situe au-dessus des sessions et en dessous de l'assemblage en temps réel :</p><ul><li>entités</li><li>relations</li><li>validité temporelle</li><li>épisodes sources</li><li>approbations</li><li>exceptions</li><li>résultats</li></ul><p>Si vous sautez l'étape de promotion, le graphe devient une décharge.<br>Si vous faites bien la promotion, le graphe devient la mémoire de la façon dont l'organisation raisonne réellement.[23][26]</p><h3>6. Packager le contexte comme du code</h3><p>D'ici 2026, l'une des idées les plus prometteuses est de traiter le contexte comme un artefact versionné. Dans les projets logiciels, cela se manifeste sous la forme de <code>AGENTS.md</code> et d'autres fichiers de contexte spécifiques aux dépôts.[28] Dans les systèmes natifs aux graphes, cela se manifeste sous forme de noyaux de contexte : des bundles portables d'ontologie, de structure de graphe, d'embeddings, de provenance et de politique de récupération.[24][25]</p><p>Cela compte parce que les changements de contexte nécessitent la même discipline opérationnelle que les changements de code :</p><ul><li>révision</li><li>versionnage</li><li>rollback</li><li>promotion d'environnement</li><li>évaluation</li></ul><p>Une fois que le contexte devient un artefact, il devient gouvernable.</p><h3>7. Séparer l'observabilité de l'intelligence</h3><p>Vous avez besoin des deux :</p><ul><li><strong>l'observabilité de l'exécution de l'agent</strong></li><li><strong>l'observabilité du système de contexte</strong></li></ul><p>Ce ne sont pas la même chose.</p><p>Je veux savoir :</p><ul><li>ce que le modèle a vu</li><li>ce qu'il n'a pas vu</li><li>ce qui a été compacté</li><li>ce qui a été récupéré juste à temps</li><li>ce qui a été promu en mémoire</li><li>quel voisinage du graphe a été parcouru</li><li>quel précédent a réellement influencé l'action</li></ul><p>Si vous ne pouvez pas répondre à ces questions, vous déboguez encore des prompts dans le noir.</p><h2>Un modèle de maturité pratique</h2><p>Si vous essayez d'évaluer où se situe votre propre système, ce modèle de maturité est plus utile que des définitions abstraites.</p><h3>Niveau 0 : Prompt uniquement</h3><p>Vous avez un prompt système, un message utilisateur et peut-être quelques exemples.</p><p>Cela peut fonctionner étonnamment bien pour des tâches étroites. Cela se casse rapidement quand la tâche nécessite des connaissances fraîches, de la persistance ou des outils.</p><h3>Niveau 1 : Récupération améliorée</h3><p>Vous ajoutez des documents à l'exécution.</p><p>C'est là que beaucoup d'équipes s'arrêtent. C'est aussi là que beaucoup d'équipes commencent à voir les limites du chunking naïf, du classement et du gonflement du contexte.</p><h3>Niveau 2 : Conscient des agents</h3><p>Vous gérez maintenant l'historique, les résultats d'outils, la mémoire et le formatage intentionnellement.</p><p>C'est le premier niveau où « ingénierie du contexte » devient un terme utile, parce que le système n'est plus seulement prompt plus récupération. Il assemble plusieurs formes de contexte dynamiquement.</p><h3>Niveau 3 : Adaptatif</h3><p>Le système change la façon dont il construit le contexte en fonction de la tâche.</p><p>Il peut :</p><ul><li>choisir parmi les sources</li><li>compresser l'historique plus ancien</li><li>recharger la mémoire sélectivement</li><li>router le travail vers des outils spécialisés</li><li>isoler les sous-problèmes dans des contextes séparés</li></ul><p>À ce stade, la construction du contexte fait partie de la logique centrale de l'application.</p><h3>Niveau 4 : Natif au contexte</h3><p>Le système traite le contexte comme une surface d'ingénierie de premier ordre.</p><p>Il a :</p><ul><li>des budgets de contexte explicites</li><li>des évaluations de récupération et de génération</li><li>une navigation consciente des métadonnées et des facettes</li><li>des politiques de mémoire</li><li>une observabilité autour des modes d'échec</li><li>un assemblage de prompts tenant compte des coûts</li></ul><p>C'est là que se dirigent les systèmes de production les plus solides.</p><h2>À quoi ressemble une bonne ingénierie du contexte en pratique</h2><p>Si je devais réduire toute la discipline à une liste de contrôle, elle ressemblerait à ceci :</p><ol><li>Commencez par la tâche, pas par le prompt. Définissez d'abord à quoi ressemble le succès.</li><li>Énumérez les sources de contexte dont le modèle pourrait avoir besoin. Instructions, docs, outils, mémoire, état, politiques.</li><li>Séparez la mémoire de travail de la mémoire de référence. Tout ne devrait pas vivre dans la fenêtre active.</li><li>Récupérez avec intention. Plus de chunks n'est pas la même chose qu'un meilleur rappel.</li><li>Structurez le contexte pour que le modèle puisse l'analyser rapidement. Les étiquettes, sources, tableaux et frontières comptent.</li><li>Concevez les outils comme s'ils faisaient partie du prompt, parce que c'est le cas.</li><li>Élaguez agressivement. Si vous ne demanderiez pas à un humain de le relire, ne forcez pas le modèle à le relire.</li><li>Mesurez la récupération et la génération séparément. Sinon vous diagnostiquerez le mauvais problème.</li><li>Utilisez des contextes isolés quand les tâches se ramifient ou peuvent s'exécuter en parallèle.</li><li>Promouvez les faits durables et les traces de décision intentionnellement. Toutes les transcriptions n'appartiennent pas à la mémoire à long terme.</li><li>Packagez le contexte critique comme du code. Les instructions, politiques et artefacts de graphe devraient être versionnés.</li><li>Traitez les bugs de contexte comme des bugs logiciels. Ils devraient être observables, reproductibles et corrigeables.</li></ol><p>Rien de tout cela n'est glamour. C'est exactement pourquoi cela compte.</p><p>L'ingénierie des prompts est devenue populaire parce qu'elle ressemblait à un raccourci.</p><p>L'ingénierie du contexte compte parce qu'elle décrit le vrai travail.</p><h2>La vraie conclusion</h2><p>Le centre de gravité de l'IA se déplace.</p><p>La question frontière était autrefois : <strong>À quel point le modèle est-il intelligent ?</strong></p><p>La question appliquée est de plus en plus : <strong>Que voit le modèle avant de devoir agir ?</strong></p><p>C'est un problème d'ingénierie différent. Il s'agit moins de prompts uniques et plus de conception de systèmes. Moins de formulation et plus de flux d'information. Moins de qualité de sortie en une seule passe et plus de savoir si un agent peut rester fiable dans le temps.</p><p>C'est pourquoi l'ingénierie du contexte va continuer à croître comme discipline. Plus les modèles s'améliorent, plus les échecs restants ressemblent à des échecs de contexte. État manquant. Mauvais outil. Mauvaise récupération. Historique gonflé. Mauvais formatage. Preuves contradictoires. Mémoire faible. Boucles non bornées.</p><p>L'ironie est que cela rend les systèmes d'IA plus semblables aux logiciels classiques, pas moins. Nous revenons à construire des pipelines, des interfaces, des machines à états, des hiérarchies de mémoire, des caches et des couches d'observabilité. La nouveauté est que toutes ces pièces existent maintenant au service d'un moteur de raisonnement probabiliste.</p><p>Le nom est peut-être nouveau. La direction ne l'est pas.</p><p>Les systèmes d'IA fiables seront construits par des équipes qui traitent le contexte comme une surface produit de premier ordre.</p><p>Tous les autres continueront à dire que le modèle est capricieux.</p><p><strong>Références :</strong></p><p>[1] <a href=\"https://simonwillison.net/2025/Jun/27/context-engineering/\">Simon Willison. (2025, 27 juin). <em>Context engineering</em>.</a></p><p>[2] <a href=\"https://arxiv.org/abs/2005.11401\">Lewis, P. et al. (2020). <em>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks</em>.</a></p><p>[3] <a href=\"https://arxiv.org/abs/2210.03629\">Yao, S. et al. (2023). <em>ReAct: Synergizing Reasoning and Acting in Language Models</em>.</a></p><p>[4] <a href=\"https://arxiv.org/abs/2410.10813\">Wu, D. et al. (2025). <em>LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory</em>.</a></p><p>[5] <a href=\"https://arxiv.org/abs/2307.03172\">Liu, N. F. et al. (2023). <em>Lost in the Middle: How Language Models Use Long Contexts</em>.</a></p><p>[6] <a href=\"https://arxiv.org/abs/2411.03538\">Leng, Q. et al. (2024). <em>Long Context RAG Performance of Large Language Models</em>.</a></p><p>[7] <a href=\"https://www.trychroma.com/research/context-rot\">Hong, K., Troynikov, A., and Huber, J. (2025, 14 juillet). <em>Context Rot: How Increasing Input Tokens Impacts LLM Performance</em>.</a></p><p>[8] <a href=\"https://blog.langchain.com/the-rise-of-context-engineering\">LangChain. (2025, 23 juin). <em>The rise of \"context engineering\"</em>.</a></p><p>[9] <a href=\"https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/implement-tool-use\">Anthropic. <em>How to implement tool use</em>.</a></p><p>[10] <a href=\"https://jxnl.co/writing/2025/08/27/facets-context-engineering/\">Jason Liu. (2025, 27 août). <em>Beyond Chunks: Why Context Engineering is the Future of RAG</em>.</a></p><p>[11] <a href=\"https://arxiv.org/abs/2407.12883\">Su, H. et al. (2025). <em>BRIGHT: A Realistic and Challenging Benchmark for Reasoning-Intensive Retrieval</em>.</a></p><p>[12] <a href=\"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips\">Anthropic. <em>Long context prompting tips</em>.</a></p><p>[13] <a href=\"https://platform.openai.com/docs/guides/prompt-caching\">OpenAI. <em>Prompt caching</em>.</a></p><p>[14] <a href=\"https://openai.com/index/equip-responses-api-computer-environment\">OpenAI. (2026, 19 mars). <em>From model to agent: Equipping the Responses API with a computer environment</em>.</a></p><p>[15] <a href=\"https://modelcontextprotocol.io/\">Model Context Protocol. <em>What is the Model Context Protocol (MCP)?</em></a></p><p>[16] <a href=\"https://www.anthropic.com/engineering/built-multi-agent-research-system\">Anthropic. (2025, 13 juin). <em>How we built our multi-agent research system</em>.</a></p><p>[17] <a href=\"https://blog.langchain.com/context-engineering-for-agents/\">LangChain. (2025, 2 juillet). <em>Context Engineering</em>.</a></p><p>[18] <a href=\"https://claude.com/blog/context-management\">Anthropic. (2025, 29 septembre). <em>Managing context on the Claude Developer Platform</em>.</a></p><p>[19] <a href=\"https://developers.openai.com/cookbook/examples/agents_sdk/context_personalization\">Okcular, E. (2026, 5 janvier). <em>Context Engineering for Personalization - State Management with Long-Term Memory Notes using OpenAI Agents SDK</em>.</a></p><p>[20] <a href=\"https://www.anthropic.com/engineering/managed-agents\">Anthropic. <em>Scaling Managed Agents: Decoupling the brain from the hands</em>.</a></p><p>[21] <a href=\"https://www.mintlify.com/blog/how-we-built-a-virtual-filesystem-for-our-assistant\">Mintlify. (2026, 24 mars). <em>How we built a virtual filesystem for our Assistant</em>.</a></p><p>[22] <a href=\"https://docs.turso.tech/agentfs/introduction\">Turso. <em>AgentFS</em>.</a></p><p>[23] <a href=\"https://github.com/getzep/graphiti\">Zep. <em>Graphiti: Build Real-Time Knowledge Graphs for AI Agents</em>.</a></p><p>[24] <a href=\"https://github.com/trustgraph-ai/trustgraph\">TrustGraph. <em>The context development platform</em>.</a></p><p>[25] <a href=\"https://docs.trustgraph.ai/guides/context-cores/\">TrustGraph. <em>Working with Context Cores</em>.</a></p><p>[26] <a href=\"https://foundationcapital.com/ideas/context-graphs-ais-trillion-dollar-opportunity\">Gupta, J., and Garg, A. (2025, 22 décembre). <em>AI's trillion-dollar opportunity: Context graphs</em>.</a></p><p>[27] <a href=\"https://foundationcapital.com/ideas/why-context-graphs-are-the-missing-layer-for-ai\">Garg, A. (2026, 16 janvier). <em>Why context graphs are the missing layer for AI</em>.</a></p><p>[28] <a href=\"https://arxiv.org/abs/2510.21413\">Mohsenimofidi, S., Galster, M., Treude, C., and Baltes, S. (2026). <em>Context Engineering for AI Agents in Open-Source Software</em>.</a></p>",
  "source_hash": "sha256:352e42d5b8ff71176c26e2e3f9853217033b811bae4f0beaef2cc91e2401caa9",
  "model": "claude-sonnet-4-6",
  "generated_at": "2026-04-23T20:55:31.367689+00:00"
}