[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:fr":3,"public-menus:all":38,"post:what-is-context-engineering-what-the-model-receives-before-it-answers:fr":205,"related:post:what-is-context-engineering-what-the-model-receives-before-it-answers:fr:1":3033},{"statusCode":4,"data":5,"message":37},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":10,"robotsIndex":14,"socialLinks":10,"reservedSlugs":10,"seoPolicy":15},"stajic","fr","de","https:\u002F\u002Fstajic.de",null,"Stajic Platform","\u002FLogo_Planet.svg","Stajic Portal",true,{"branding":16,"relatedContent":17,"crossDomainLinks":18},{"logoUrl":12},{"enabled":14},[19,22,25,28,31,34],{"url":20,"label":21,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Ffigure.rocks","figure.rocks",{"url":23,"label":24,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":26,"label":27,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.com","bazify.com",{"url":29,"label":30,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.de","bazify.de",{"url":32,"label":33,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.at","bazify.at",{"url":35,"label":36,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.ba","bazify.ba","Portal settings resolved",[39,45],{"id":40,"name":41,"location":42,"isActive":14,"isDefault":43,"items":44},1,"main-navigation","header",false,[],{"id":46,"name":47,"location":48,"isActive":14,"isDefault":14,"items":49},4,"main-menu","sidebar",[50,66,79,93,103,118,133],{"id":51,"title":52,"url":60,"target":61,"icon":62,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":64,"portfolioId":10,"children":65},"item-18",{"de":53,"en":54,"es":55,"fr":56,"it":54,"ru":57,"sr":58,"zh":59},"Startseite","Home","Inicio","Accueil","Главная","Почетна","首页","\u002Ffull-stack-web-developer-munich-performance-seo-and-maintainable-builds","_self","i-lucide-home","page",111,[],{"id":67,"title":68,"url":75,"target":61,"icon":76,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":77,"portfolioId":10,"children":78},"item-22",{"de":69,"en":69,"es":70,"fr":69,"it":71,"ru":72,"sr":73,"zh":74},"Vision","Visión","Visione","Видение","Визија","想象","\u002Fueber-uns-webdesign-muenchen-webaplikation","i-lucide-eye",113,[],{"id":80,"title":81,"url":89,"target":61,"icon":90,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":91,"portfolioId":10,"children":92},"item-19",{"de":82,"en":83,"es":84,"fr":83,"it":85,"ru":86,"sr":87,"zh":88},"Leistungen","Services","Servicios","Servizi","Услуги","Услуге","服务","\u002Fservices-dienstleistungen-muenchen","i-lucide-wrench",116,[],{"id":94,"title":95,"url":99,"target":61,"icon":100,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":101,"portfolioId":10,"children":102},"item-23",{"de":96,"en":96,"es":96,"fr":96,"it":96,"ru":97,"sr":97,"zh":98},"Blog","Блог","博客","\u002Fblog","i-lucide-book-open",112,[],{"id":104,"title":105,"url":114,"target":61,"icon":115,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":116,"portfolioId":10,"children":117},"item-32",{"de":106,"en":107,"es":108,"fr":109,"it":110,"ru":111,"sr":112,"zh":113},"Neue Technologien","New Technologies","Nuevas tecnologías","Nouvelles technologies","Nuove tecnologie","Новые технологии","Нове технологије","新技术！","\u002Fneue-webtechnologien","i-lucide-sparkles",122,[],{"id":119,"title":120,"url":129,"target":61,"icon":130,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":131,"portfolioId":10,"children":132},"item-20",{"de":121,"en":122,"es":123,"fr":124,"it":125,"ru":126,"sr":127,"zh":128},"Kontakt","Contact us!","Contacto","Contact","Contatto","Контакт","Контактирајте нас","联系我们！","\u002Fcontact","i-lucide-mail",115,[],{"id":134,"title":135,"url":144,"target":61,"icon":145,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":147},"item-21",{"de":136,"en":137,"es":138,"fr":139,"it":140,"ru":141,"sr":142,"zh":143},"Unsere Arbeit","Our Work","Nuestro trabajo","Nos réalisations","I nostri lavori","Наши работы","Наши радови","文件夹","\u002Fportfolio","i-lucide-briefcase",114,[148,161,175,181,193],{"id":149,"title":150,"url":144,"target":61,"icon":159,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":160},"item-24",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Alle Projekte","All Projects","Todos los proyectos","Tous les projets","Tutti i progetti","Все проекты","Сви пројекти","所有项目","i-lucide-grid-3x3",[],{"id":162,"title":163,"url":171,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":174},"item-29",{"de":164,"en":165,"es":166,"fr":167,"it":168,"ru":169,"sr":170,"zh":143},"Local Roots, Global Reach","Local Roots - Global Reach","Empresa local ","Entreprise locale","Azienda locale","Местная компания","Локално предузеће глобално тржиште","\u002Fportfolio\u002Flocal-roots-global-reach-communication-media-systems-for-modern-business","i-lucide-folder","custom",[],{"id":176,"title":177,"url":179,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":180},"item-28",{"de":178,"en":178,"es":178,"fr":178,"it":178,"ru":178,"sr":178,"zh":178},"Solr Suggester","\u002Fportfolio\u002Fsolr-fuzzy-suggester-und-solr-infix-suggester-abfrage-ueber-ajax-und-filterung",[],{"id":182,"title":183,"url":191,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":192},"item-27",{"de":184,"en":185,"es":186,"fr":187,"it":188,"ru":189,"sr":190,"zh":185},"Firmenwebseite SEO","Company Website SEO","Sitio web corporativo SEO","Site web d’entreprise SEO","Sito web aziendale SEO","Корпоративный сайт SEO","Пословна веб-страница SEO","\u002Fportfolio\u002Fseo-sem-branding-mobile-webseite-muenchen",[],{"id":194,"title":195,"url":203,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":204},"item-31",{"de":196,"en":197,"es":198,"fr":199,"it":200,"ru":201,"sr":202,"zh":197},"Digitalisierungsportal","Digitalization Portal","Portal de digitalización","Portail de numérisation","Portale di digitalizzazione","Портал цифровизации","Портал за дигитализацију","\u002Fportfolio\u002Fdigitalisierungsportal-archiv-museum-bibliothek-ead-lido-mets-mods",[],{"statusCode":4,"data":206,"message":3032},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":1410,"featuredImage":1411,"featuredImageAlt":1412,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":1413,"publishedAt":1414,"createdAt":1415,"updatedAt":1416,"seoLocalePaths":1417,"categories":1426,"author":1439,"translations":1444},"488","Qu’est-ce que l’ingénierie du contexte ? Ce que le modèle reçoit avant de répondre","what-is-context-engineering-what-the-model-receives-before-it-answers","\u003Cp>L'ingénierie de contexte est la conception de ce qu'un modèle de langage reçoit comme information au moment de l'inférence, sous quelle forme, dans quel ordre et pendant combien de temps. Elle est plus large que l'ingénierie de prompt car le contexte du modèle peut inclure des instructions système, des messages utilisateur, des documents récupérés, des résultats d'outils, de la mémoire, l'état actuel de l'application, des exemples, des données structurées et des artefacts intermédiaires. L'objectif n'est pas de maximiser le nombre de tokens, mais de construire le plus petit contexte utile qui préserve les informations, contraintes et preuves nécessaires à la tâche en cours.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Réponse directe\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">L&#39;ingénierie de prompt demande \u003Cstrong>comment devons-nous instruire le modèle ?\u003C\u002Fstrong> L&#39;ingénierie de contexte demande \u003Cstrong>que doit savoir le modèle maintenant, et comment ces informations doivent-elles être assemblées ?\u003C\u002Fstrong>\u003Cbr>\u003Cbr>La récupération, la mémoire, la gestion d&#39;état, la conception d&#39;outils, l&#39;élagage de l&#39;historique, la compaction et l&#39;ordonnancement sont donc des mécanismes d&#39;ingénierie de contexte lorsqu&#39;ils déterminent les tokens disponibles pour le modèle avant qu&#39;il ne produise la sortie suivante.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Le contexte n&#39;est pas la même chose que la connaissance ou la mémoire\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Un système peut savoir quelque chose sans le placer dans le contexte actuel. Il peut se souvenir de quelque chose en dehors de la fenêtre du modèle. Il peut récupérer un document mais l&#39;exclure ensuite du prompt final. Le modèle ne peut utiliser directement que le contexte qui atteint l&#39;inférence en cours.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Note sur les sources actuelles — 8 octobre 2026\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">L&#39;ingénierie de contexte est désormais une terminologie pratique établie dans les principales recommandations d&#39;ingénierie en IA, mais ce n&#39;est pas une norme formelle unique avec une architecture obligatoire. Anthropic la décrit comme la curation et le maintien de l&#39;ensemble optimal de tokens pour l&#39;inférence ; les recommandations actuelles d&#39;OpenAI sur les agents traitent le contexte de session, l&#39;élagage et la compression comme des préoccupations d&#39;ingénierie explicites pour les systèmes de longue durée.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Sommaire\">\u003Cstrong class=\"editorjs-toc__title\">Sommaire\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-6\" class=\"editorjs-toc__link\">Ce que signifie réellement l&#39;ingénierie de contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-10\" class=\"editorjs-toc__link\">L&#39;exemple le plus simple\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">Où l&#39;exemple simple s&#39;arrête\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-18\" class=\"editorjs-toc__link\">Qu&#39;est-ce qui peut entrer dans un contexte de modèle ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">Ingénierie du contexte vs ingénierie du prompt\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-23\" class=\"editorjs-toc__link\">Ingénierie du contexte vs récupération\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-28\" class=\"editorjs-toc__link\">Ingénierie du contexte vs mémoire\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-33\" class=\"editorjs-toc__link\">Ingénierie du contexte vs état de l&#39;application\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-37\" class=\"editorjs-toc__link\">La conception des outils fait partie de l&#39;ingénierie du contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-41\" class=\"editorjs-toc__link\">Contexte juste-à-temps vs contexte préchargé\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">Le contexte est un budget, pas un système de stockage\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-48\" class=\"editorjs-toc__link\">Pourquoi plus de contexte peut être pire\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">L&#39;ordre du contexte doit être intentionnel\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-56\" class=\"editorjs-toc__link\">Un contexte conflictuel nécessite une préséance explicite\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-60\" class=\"editorjs-toc__link\">La compaction est une transformation du contexte, pas un stockage sans perte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">Préserver les limites de validité\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-69\" class=\"editorjs-toc__link\">L&#39;ingénierie du contexte est aussi une frontière de sécurité\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-73\" class=\"editorjs-toc__link\">Une architecture pratique d&#39;ingénierie de contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-77\" class=\"editorjs-toc__link\">Une politique pratique de construction de contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-79\" class=\"editorjs-toc__link\">Comment évaluer l&#39;ingénierie de contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-81\" class=\"editorjs-toc__link\">L&#39;assemblage de contexte est une couche de défaillance RAG distincte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-85\" class=\"editorjs-toc__link\">Preuves d&#39;implémentation originales\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-86\" class=\"editorjs-toc__link\">Source of Truth Research Engine : une recherche bornée au lieu d&#39;un contexte illimité\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-90\" class=\"editorjs-toc__link\">Aaasaasa AI Client : l&#39;exécution, les permissions et le contexte sont des préoccupations distinctes\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-96\" class=\"editorjs-toc__link\">Modes de défaillance courants de l&#39;ingénierie du contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-98\" class=\"editorjs-toc__link\">Idées fausses courantes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-100\" class=\"editorjs-toc__link\">Une séquence pratique d&#39;ingénierie du contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-102\" class=\"editorjs-toc__link\">Liste de contrôle d&#39;ingénierie du contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-104\" class=\"editorjs-toc__link\">Cas limites et limitations\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-110\" class=\"editorjs-toc__link\">Qu&#39;est-ce qui pourrait changer cette réponse ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-114\" class=\"editorjs-toc__link\">Connaissances canoniques associées\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-119\" class=\"editorjs-toc__link\">Questions fréquentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-121\" class=\"editorjs-toc__link\">Glossaire\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-123\" class=\"editorjs-toc__link\">Conclusion\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-127\" class=\"editorjs-toc__link\">Sources primaires et recommandations actuelles\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-6\">Ce que signifie réellement l'ingénierie de contexte\u003C\u002Fh2>\n\u003Cp>Chaque appel au modèle s'effectue dans un environnement de travail temporaire : les instructions actuelles, les messages, les preuves récupérées, les sorties d'outils et l'état qui tiennent dans la fenêtre de contexte active. L'ingénierie de contexte est la discipline qui consiste à construire cet environnement délibérément.\u003C\u002Fp>\n\u003Cp>Le mot clé est délibérément. Un système naïf concatène simplement tout ce qu'il possède : l'historique complet, tous les documents récupérés, chaque réponse d'outil et de grands prompts système. Un système conçu avec une ingénierie de contexte décide quelles informations sont nécessaires à la décision en cours et quelles informations doivent rester en dehors de la fenêtre jusqu'à ce qu'elles soient nécessaires.\u003C\u002Fp>\n\u003Cp>Cela fait de l'ingénierie de contexte en partie un problème d'architecture de l'information, en partie un problème d'exécution et en partie un problème d'évaluation. La conception doit décider ce qui peut entrer dans le contexte, d'où cela vient, quelle version est actuelle, comment les conflits sont résolus, quel niveau de détail est conservé et comment le résultat est testé.\u003C\u002Fp>\n\u003Ch2 id=\"section-10\">L'exemple le plus simple\u003C\u002Fh2>\n\u003Cp>Imaginez un assistant de support interne. Un utilisateur demande : « Ce client peut-il annuler sans frais ? »\u003C\u002Fp>\n\u003Cp>Le modèle pourrait avoir besoin de cinq choses : la politique d'annulation actuelle, le type de contrat actuel du client, la date d'effet du contrat, les règles d'exception pertinentes et le périmètre d'autorisation de l'utilisateur.\u003C\u002Fp>\n\u003Cp>Il n'a pas nécessairement besoin de toute la base de données clients, de l'intégralité des archives de politiques, de chaque conversation précédente ou de chaque ticket de support. L'ingénierie de contexte est le processus qui sélectionne et assemble les cinq éléments utiles tout en excluant les informations non pertinentes.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">De l'état de l'application au contexte du modèle\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Comprendre la tâche\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Classer ce que la question actuelle exige et quels types d'informations peuvent affecter la réponse.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Résoudre l'état faisant autorité\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Lire l'état actuel de l'application ou de l'entreprise qui ne doit pas être deviné à partir de la mémoire.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Récupérer les connaissances de support\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Trouver la politique, les documents ou les preuves externes pertinentes pour la tâche spécifique.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Appliquer l'éligibilité et les permissions\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Exclure les données que l'utilisateur actuel ou l'environnement d'exécution n'est pas autorisé à exposer au modèle.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Réduire et structurer\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Supprimer les doublons, sélectionner les extraits utiles et préserver les métadonnées critiques, les conditions et les exceptions.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Ordonner le contexte\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Placer les instructions, l'état actuel et les preuves décisives là où le modèle peut les utiliser de manière cohérente.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Exécuter l'inférence\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Le modèle reçoit le contexte assemblé et produit la réponse suivante ou la proposition d'action.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-15\">Où l'exemple simple s'arrête\u003C\u002Fh2>\n\u003Cp>Les systèmes réels sont plus difficiles car les informations nécessaires à une étape peuvent ne pas être connues avant le début de l'exécution. Un agent peut découvrir de nouveaux faits via des outils, créer des fichiers intermédiaires, recevoir un état externe changeant ou couvrir une tâche plus longue qu'une fenêtre de contexte.\u003C\u002Fp>\n\u003Cp>L'ingénierie de contexte devient donc dynamique. Le contexte de l'étape 12 ne devrait pas simplement être le contexte de l'étape 1 plus onze couches de sortie accumulée. Il devrait refléter l'état actuel de la tâche, les décisions qui comptent encore et les preuves nécessaires à l'action suivante.\u003C\u002Fp>\n\u003Ch2 id=\"section-18\">Qu'est-ce qui peut entrer dans un contexte de modèle ?\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Composant du contexte\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Objectif\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Risque typique\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Instructions système \u002F développeur\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Définir le rôle, les contraintes, les politiques et le comportement\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Trop vague, contradictoire ou surchargé de logique fragile\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Demande actuelle de l'utilisateur\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Définit la tâche immédiate et l'intention\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ambiguïté ou conflit avec l'historique antérieur\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Historique de conversation\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Préserve la continuité entre les tours\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Hypothèses obsolètes, répétition et croissance des tokens\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Documents récupérés\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fournir des connaissances\u002Fpreuves externes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Non-pertinence, versions obsolètes, faible autorité ou duplication\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">État actuel de l'application\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fournit des faits métier\u002Fsystème volatils\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Utiliser un état mis en cache ou mémorisé au lieu de l'autorité actuelle\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Définitions d'outils\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Indiquent au modèle quelles capacités existent et comment les appeler\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Trop d'outils qui se chevauchent ou des schémas verbeux\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Résultats d'outils\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Apportent des observations de l'environnement dans la boucle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sorties volumineuses et bruitées, contenu non fiable ou observations obsolètes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mémoire\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Réintroduit des informations sélectionnées d'interactions précédentes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Obsolescence, généralisation incorrecte ou sur-personnalisation\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exemples\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Démontrent le comportement souhaité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Trop de cas limites peuvent évincer la tâche actuelle\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Artefacts intermédiaires\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Transportent des plans, résumés, code, calculs ou notes\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un ancien état intermédiaire peut être pris pour la vérité finale\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Politiques \u002F garde-fous\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Définissent un comportement interdit ou contraint\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Conflit avec la logique métier ou lacunes d'application cachées\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-20\">Ingénierie du contexte vs ingénierie du prompt\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">L&#39;ingénierie du prompt et l&#39;ingénierie du contexte résolvent des couches différentes\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Ingénierie du prompt\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Ingénierie du contexte\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Focus principal\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Portée typique\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Quand cela change\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Échec typique\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Relation\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>Anthropic décrit explicitement l'ingénierie du contexte comme la progression naturelle de l'ingénierie du prompt pour les systèmes dans lesquels le modèle doit travailler avec des outils, des données externes, un historique de messages et un état d'agent de longue durée. La distinction pratique est utile car un prompt parfaitement rédigé ne peut pas compenser des données autoritaires manquantes ou un contexte pollué par un état contradictoire.\u003C\u002Fp>\n\u003Ch2 id=\"section-23\">Ingénierie du contexte vs récupération\u003C\u002Fh2>\n\u003Cp>La récupération sélectionne des informations candidates à partir d'un corpus ou d'une source externe. L'ingénierie du contexte décide de ce qui se passe après et autour de cette récupération.\u003C\u002Fp>\n\u003Cp>Le récupérateur peut renvoyer 30 passages. Un reranker peut les réduire à 10. La couche de contexte peut sélectionner quatre passages, supprimer les doublons, attacher des métadonnées de source\u002Fversion, les combiner avec l'état actuel de l'application et les placer après les instructions système.\u003C\u002Fp>\n\u003Cp>C'est pourquoi un système RAG peut récupérer le bon passage et néanmoins mal répondre : l'échec peut survenir lors de l'assemblage du contexte plutôt que lors de la récupération.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">La récupération trouve des candidats ; l&#39;ingénierie du contexte construit l&#39;entrée du modèle\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Le bon résultat de récupération n&#39;est utile que s&#39;il survit aux décisions de filtrage, d&#39;ordonnancement, de compression et de budget de tokens et parvient réellement au modèle sous une forme utilisable.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-28\">Ingénierie du contexte vs mémoire\u003C\u002Fh2>\n\u003Cp>La mémoire est une information conservée en dehors de l'invocation immédiate du modèle afin de pouvoir être réutilisée plus tard. Le contexte est l'information réellement chargée dans l'invocation actuelle.\u003C\u002Fp>\n\u003Cp>Un système de mémoire peut contenir des milliers de faits, notes ou décisions antérieures. L'ingénierie du contexte sélectionne lesquels doivent être réintroduits pour la tâche actuelle. Charger toute la mémoire à chaque tour va à l'encontre de l'objectif même de disposer d'une couche de mémoire externe.\u003C\u002Fp>\n\u003Cp>La distinction devient cruciale pour l'état volatil. Un statut de projet ou une préférence utilisateur mémorisé peut être utile, mais l'état autoritaire actuel peut devoir être relu avant une décision conséquente.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">La mémoire des agents IA n'est pas du RAG : comment séparer mémoire, récupération, état et contexte\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Une architecture pratique séparant ce qui persiste, ce qui fait autorité maintenant, ce qui est récupéré et ce que le modèle reçoit réellement.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire l'article sur l'architecture de la mémoire →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-33\">Ingénierie du contexte vs état de l'application\u003C\u002Fh2>\n\u003Cp>L'état de l'application est la condition actuelle du système externe : solde du compte, statut du ticket, version du fichier, étape du workflow, état de déploiement ou progression de la tâche.\u003C\u002Fp>\n\u003Cp>L'état peut être résumé dans le contexte, mais le résumé n'est pas l'état lui-même. Pour les opérations conséquentes, le runtime peut devoir relire le système autoritaire immédiatement avant l'action plutôt que de faire confiance à un instantané antérieur visible par le modèle.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Le contexte est un instantané\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Une fois l&#39;état copié dans un prompt, il peut devenir obsolète. L&#39;ingénierie du contexte doit définir quand l&#39;état volatil doit être actualisé et quelles opérations nécessitent une nouvelle lecture autoritaire.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-37\">La conception des outils fait partie de l'ingénierie du contexte\u003C\u002Fh2>\n\u003Cp>Les outils ne se contentent pas de donner des capacités aux agents. Les noms, descriptions, schémas et résultats des outils deviennent des informations visibles par le modèle qui façonnent les décisions.\u003C\u002Fp>\n\u003Cp>Les recommandations actuelles d'Anthropic en matière d'ingénierie du contexte mettent l'accent sur des outils économes en tokens et avertissent contre les ensembles d'outils gonflés aux fonctionnalités qui se chevauchent. Un catalogue d'outils qu'un humain a du mal à distinguer est également difficile pour un modèle à router de manière fiable.\u003C\u002Fp>\n\u003Cp>Les sorties d'outils nécessitent également une discipline de contexte. Renvoyer un journal complet de 20 000 lignes alors que l'agent a demandé une seule condition d'erreur consomme de l'attention et peut enterrer la preuve décisive.\u003C\u002Fp>\n\u003Ch2 id=\"section-41\">Contexte juste-à-temps vs contexte préchargé\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Deux façons de fournir de l&#39;information\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Contexte préchargé\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Contexte juste-à-temps\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Méthode\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Force\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Risque\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Utile lorsque\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>Anthropic décrit un modèle hybride dans lequel un certain contexte stable est préchargé tandis que les agents récupèrent des informations supplémentaires à l'exécution. C'est un modèle d'architecture utile car tous les faits importants ne méritent pas une résidence permanente dans la fenêtre de contexte.\u003C\u002Fp>\n\u003Ch2 id=\"section-44\">Le contexte est un budget, pas un système de stockage\u003C\u002Fh2>\n\u003Cp>Une fenêtre de contexte définit une capacité. Elle ne garantit pas que chaque token sera utilisé aussi bien. Le modèle doit répartir son attention entre les instructions, l'historique, les preuves, les outils et l'état intermédiaire.\u003C\u002Fp>\n\u003Cp>L'objectif pratique n'est donc pas de « remplir la fenêtre ». Il est de maximiser l'utilité du budget d'attention limité.\u003C\u002Fp>\n\u003Cp>Anthropic formule un principe similaire comme la recherche du plus petit ensemble de tokens à fort signal qui maximise la probabilité du comportement souhaité. Les recommandations d'OpenAI en matière de gestion du contexte avertissent également qu'un historique non organisé, des résultats d'outils redondants et une récupération bruitée peuvent submerger même de grandes fenêtres.\u003C\u002Fp>\n\u003Ch2 id=\"section-48\">Pourquoi plus de contexte peut être pire\u003C\u002Fh2>\n\u003Cp>Un contexte supplémentaire peut introduire des informations non pertinentes, un état obsolète, des preuves en double, des instructions contradictoires ou une compétition positionnelle. Il peut également amener les systèmes de compactage à écarter des détails qui deviennent importants par la suite.\u003C\u002Fp>\n\u003Cp>L'étude classique Lost in the Middle a démontré que les modèles à long contexte peuvent utiliser les informations différemment selon l'endroit où le contenu pertinent apparaît, les performances se dégradant souvent lorsque des informations décisives sont placées au milieu de longues entrées.\u003C\u002Fp>\n\u003Cp>Cela ne signifie pas que le contexte long est intrinsèquement mauvais. Cela signifie que la disponibilité dans la fenêtre n'est pas la même chose qu'une utilisation fiable.\u003C\u002Fp>\n\u003Ch2 id=\"section-52\">L'ordre du contexte doit être intentionnel\u003C\u002Fh2>\n\u003Cp>La construction du contexte est aussi un problème d'ordre. Les instructions critiques, l'état actuel, les preuves décisives et les contraintes spécifiques à la tâche ne doivent pas être concaténés arbitrairement.\u003C\u002Fp>\n\u003Cp>Il n'existe pas d'ordre parfait universel pour chaque modèle et chaque tâche. L'architecture doit donc tester si la réorganisation des preuves change l'exactitude et si les informations importantes restent robustes à travers des variations de contexte réalistes.\u003C\u002Fp>\n\u003Cp>Une réponse stable qui change radicalement lorsque deux passages également valides échangent leurs positions indique une sensibilité au contexte qui devrait être mesurée plutôt qu'ignorée.\u003C\u002Fp>\n\u003Ch2 id=\"section-56\">Un contexte conflictuel nécessite une préséance explicite\u003C\u002Fh2>\n\u003Cp>Un modèle peut recevoir une ancienne politique et une nouvelle politique, une préférence mémorisée et une instruction explicite actuelle, ou un statut mis en cache et un résultat d'API en direct. Le système ne devrait pas s'attendre à ce que le modèle déduise la préséance à partir du style de la prose.\u003C\u002Fp>\n\u003Cp>L'ingénierie du contexte devrait encoder la préséance par la sélection des sources, les métadonnées, l'ordre ou des instructions explicites : l'état actuel faisant autorité prime sur les copies obsolètes ; une instruction explicite actuelle de l'utilisateur prime sur une préférence plus ancienne inférée ; une politique approuvée supplante les brouillons obsolètes.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Conflit\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Règle de contexte préférée\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">État actuel vs état mémorisé\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Actualiser et privilégier la source actuelle faisant autorité.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Politique actuelle vs politique supplantée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Inclure la version actuelle ; ne conserver l'ancienne version que lorsqu'une comparaison historique est requise.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Instruction explicite de l'utilisateur vs ancienne préférence inférée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Privilégier l'instruction explicite actuelle.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Source primaire vs résumé secondaire\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Utiliser la source primaire pour les affirmations qui exigent une autorité ; le résumé peut soutenir l'explication.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Observation d'outil vs a priori du modèle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Privilégier l'état observé actuel lorsque l'outil fait autorité pour ce fait.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Deux sources faisant autorité non résolues\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exposer le conflit plutôt que de fabriquer une réponse cohérente unique.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-60\">La compaction est une transformation du contexte, pas un stockage sans perte\u003C\u002Fh2>\n\u003Cp>Les systèmes de longue durée finissent par devoir réduire, résumer ou compacter l'historique. La compaction crée une nouvelle représentation du contexte antérieur afin que l'agent puisse continuer sans rejouer chaque token.\u003C\u002Fp>\n\u003Cp>Les exemples de gestion du contexte d'OpenAI utilisent la réduction et la compression pour les sessions de longue durée. Anthropic décrit la compaction comme une technique principale pour maintenir la cohérence lorsqu'une interaction approche de la limite de contexte.\u003C\u002Fp>\n\u003Cp>La partie difficile consiste à décider ce qui ne peut pas être supprimé en toute sécurité : les tâches non résolues, les identifiants, les contraintes de l'utilisateur, les frontières de sécurité, les décisions d'architecture, les exceptions, la provenance des sources et les conditions qui rendent une conclusion précédente valide.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Un résumé peut préserver la conclusion et détruire la raison\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Si la compaction conserve « utiliser l&#39;approche X » mais écarte pourquoi X a été choisie, quelle version a été testée ou quelle condition l&#39;invaliderait, les réponses ultérieures peuvent rester cohérentes en interne tout en devenant fausses en externe.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-65\">Préserver les limites de validité\u003C\u002Fh2>\n\u003Cp>Les conclusions importantes devraient porter les conditions dans lesquelles elles restent étayées : version, date, portée, hypothèses, autorité de la source et désaccord non résolu.\u003C\u002Fp>\n\u003Cp>L'ingénierie du contexte est donc liée à la Frontière de Validité des Réponses. L'assembleur de contexte ne devrait pas supprimer les métadonnées qui déterminent si les preuves s'appliquent encore.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">La Frontière de Validité des Réponses : La Couche Manquante Entre Pertinence et Réponses IA Fiables\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Un cadre pour préserver la portée, les hypothèses, les versions et les conditions de preuve dans lesquelles une affirmation IA reste étayée.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire la Frontière de Validité des Réponses →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-69\">L'ingénierie du contexte est aussi une frontière de sécurité\u003C\u002Fh2>\n\u003Cp>Les données qui atteignent le modèle ont franchi une frontière système importante. L'assemblage du contexte doit donc respecter les règles d'autorisation, d'isolation des locataires, de confidentialité et de minimisation des données.\u003C\u002Fp>\n\u003Cp>Un récupérateur peut techniquement trouver un passage auquel l'utilisateur actuel ne peut pas accéder. La conception correcte consiste à empêcher ce passage d'entrer dans le contexte du modèle plutôt que de compter sur le modèle pour l'ignorer.\u003C\u002Fp>\n\u003Cp>Les sorties d'outils peuvent également contenir des instructions non fiables ou du contenu adversarial. L'ingénierie du contexte devrait préserver la distinction entre les instructions de l'application et les données externes afin que le texte récupéré ne puisse pas acquérir silencieusement une autorité d'instruction.\u003C\u002Fp>\n\u003Ch2 id=\"section-73\">Une architecture pratique d'ingénierie de contexte\u003C\u002Fh2>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Modèle d&#39;architecture proposé\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Les couches suivantes constituent une synthèse pratique pour les systèmes de production, et non une norme industrielle formelle. L&#39;objectif est de maintenir la propriété de l&#39;information séparée du contexte temporaire exposé au modèle.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Couche\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Responsabilité\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Systèmes faisant autorité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Détiennent l'état actuel de l'entreprise\u002Fdu système et les enregistrements officiels.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sources de connaissances\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Détiennent les documents, politiques, spécifications, recherches ou preuves externes.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stockage de mémoire\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Préserve les informations sélectionnées à travers les tours ou les sessions.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Couche de récupération\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Localise les candidats pertinents pour la tâche à partir de sources externes.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Couche outil\u002Fexécution\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Lit l'état, effectue des actions et renvoie des observations.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Assembleur de contexte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sélectionne, filtre, déduplique, ordonne et formate les informations visibles par le modèle.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modèle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Raisonne et génère à partir du contexte assemblé.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Validation\u002Févaluation\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vérifie si le contexte sélectionné et la sortie résultante satisfont les exigences spécifiques à la tâche.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>L'assembleur de contexte est conceptuellement important même lorsqu'aucun module ne porte exactement ce nom. Dans une petite application, il peut s'agir de code applicatif ordinaire. Dans une grande plateforme d'agents, il peut combiner la gestion de session, la récupération, la mémoire, l'intergiciel d'outils, la compaction et l'application des politiques.\u003C\u002Fp>\n\u003Ch2 id=\"section-77\">Une politique pratique de construction de contexte\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Règle\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pourquoi c'est important\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Partir de la tâche actuelle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ne pas transporter des informations simplement parce qu'elles existaient auparavant.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Relire l'état volatil\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La mémoire et l'ancien contexte peuvent être obsolètes.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Récupérer juste assez de preuves\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">De grands ensembles de candidats peuvent diluer les informations décisives.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Préserver les métadonnées de source\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La version, la date et l'autorité déterminent si une preuve s'applique encore.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Supprimer le contenu en double\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La redondance consomme des tokens sans ajouter d'information.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Privilégier les résumés structurés pour les sorties d'outils volumineuses\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exposer les champs décisifs plutôt que le bruit brut lorsque la fidélité le permet.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Garder les règles avec leurs exceptions\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Séparer une règle de son exception crée une fausse certitude.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rendre la priorité explicite\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ne pas demander au modèle de déduire quelle source contradictoire l'emporte.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Garder l'état durable en dehors du contexte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le contexte est une mémoire de travail temporaire, pas la base de données.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Compacter avec des tests de rétention\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vérifier que les identifiants, contraintes, provenance et état non résolu survivent.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mesurer la sensibilité à l'ordre\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La justesse ne doit pas dépendre accidentellement d'un ordre de documents arbitraire.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Évaluer le contexte séparément de la qualité du modèle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un modèle plus puissant ne peut pas compenser de manière fiable des preuves manquantes ou non autorisées.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-79\">Comment évaluer l'ingénierie de contexte\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Propriété\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Question\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Test exemple\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Suffisance\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le contexte contient-il tout ce qui est nécessaire pour résoudre la tâche ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Retirer un élément de preuve et observer si la réponse devient non étayée.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pertinence\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelle part du contexte est inutile pour la tâche ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mesurer la qualité à mesure que des passages non pertinents sont ajoutés ou retirés.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les affirmations décisives sont-elles fondées sur la bonne classe de source ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Injecter une source contradictoire plus fluide mais non faisant autorité.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fraîcheur\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'état actuel prime-t-il sur les copies obsolètes ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modifier l'état faisant autorité après un tour précédent et relancer.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Robustesse à la position\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La qualité de la réponse dépend-elle fortement de la position des preuves ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Randomiser l'ordre des candidats sur des essais répétés.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Gestion des conflits\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le modèle suit-il des règles de priorité explicites ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Présenter ensemble l'ancien et le nouvel état.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rétention après compaction\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La summarisation préserve-t-elle les contraintes et les limites de validité ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comparer les performances de la tâche avant\u002Faprès compaction.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Efficacité des tokens\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le contexte supplémentaire améliore-t-il suffisamment la qualité pour justifier la latence\u002Fle coût ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exécuter des ablations contrôlées de la taille du contexte.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sécurité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un contenu non autorisé ou adversarial peut-il entrer dans le contexte du modèle ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tester les frontières de locataire, de permission et d'injection de prompt.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-81\">L'assemblage de contexte est une couche de défaillance RAG distincte\u003C\u002Fh2>\n\u003Cp>Un pipeline RAG peut réussir la récupération et échouer en aval. La source pertinente peut apparaître au rang 2, mais l'assembleur de contexte peut la supprimer, la tronquer, la combiner avec des éléments contradictoires obsolètes ou dépasser le budget de tokens.\u003C\u002Fp>\n\u003Cp>C'est pourquoi les traces de récupération doivent être comparées au contexte réel envoyé au modèle. Sans cette comparaison, les défaillances de contexte sont facilement diagnostiquées à tort comme des défaillances d'embedding ou de modèle.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">RAG a échoué — mais quelle couche a réellement échoué ? Une méthode de diagnostic\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Une approche couche par couche pour séparer les défaillances de couverture des sources, de récupération, de classement, d'assemblage de contexte, de génération, d'attribution des preuves et de fraîcheur.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire la méthode de diagnostic RAG →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-85\">Preuves d'implémentation originales\u003C\u002Fh2>\n\u003Ch3 id=\"section-86\">Source of Truth Research Engine : une recherche bornée au lieu d'un contexte illimité\u003C\u002Fh3>\n\u003Cp>Le Source of Truth Research Engine sépare la découverte, l'acquisition, l'extraction, la vérification, l'analyse des contradictions et la synthèse en étapes de recherche bornées, au lieu d'envoyer une seule énorme tâche de recherche et tout le matériel accumulé dans un unique appel au modèle.\u003C\u002Fp>\n\u003Cp>Son modèle de preuves stocke les Sources, Artefacts, Affirmations, Relations, Contradictions et la provenance en dehors du contexte du modèle. Le modèle peut recevoir le sous-ensemble nécessaire à l'étape de recherche en cours, tandis que les preuves durables restent dans le stockage externe.\u003C\u002Fp>\n\u003Cp>C'est un modèle concret d'ingénierie de contexte : l'état de recherche durable vit en dehors de la fenêtre du modèle ; le contexte actif du modèle est reconstruit pour l'étape en cours.\u003C\u002Fp>\n\u003Ch3 id=\"section-90\">Aaasaasa AI Client : l'exécution, les permissions et le contexte sont des préoccupations distinctes\u003C\u002Fh3>\n\u003Cp>Aaasaasa AI Client sépare la sélection du fournisseur et du modèle, l'emplacement d'exécution, les autorisations de l'espace de travail, les ressources locales et l'accès aux outils. Cela empêche le contexte du modèle de devenir le propriétaire de l'autorisation ou de l'état de l'application.\u003C\u002Fp>\n\u003Cp>Le chat direct et les environnements d'exécution agentiques peuvent avoir des capacités d'outils différentes. Les profils d'autorisation de l'espace de travail sont appliqués par l'environnement d'exécution plutôt que simplement décrits dans un contexte en langage naturel. Cette distinction est importante : le contexte peut indiquer à un modèle ce qu'il devrait faire, tandis que l'environnement d'exécution doit toujours appliquer ce qu'il est réellement autorisé à faire.\u003C\u002Fp>\n\u003Cp>Les preuves de mise en œuvre ici relèvent de la séparation architecturale, et non de l'affirmation que chaque technique avancée de gestion du contexte décrite dans cet article est déjà implémentée.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Modèle de mise en œuvre\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Leçon d'ingénierie du contexte\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Magasin de preuves externe\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La connaissance durable n'a pas besoin de rester dans la fenêtre du modèle.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Étapes de recherche délimitées\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Différentes étapes peuvent recevoir différents contextes au lieu d'accumuler un historique géant unique.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Affirmations + provenance hors contexte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'identité des preuves survit au-delà de l'état d'inférence temporaire.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorisations appliquées par l'environnement d'exécution\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'autorité de sécurité ne dépend pas du fait que le modèle se souvienne d'une instruction.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Séparer les concepts local\u002Ffournisseur\u002Fmodèle\u002Fenvironnement d'exécution\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le contexte n'est qu'une couche de l'architecture applicative d'IA au sens large.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Limite des preuves\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Ces implémentations soutiennent la séparation architecturale entre l&#39;état durable, la récupération, les contrôles d&#39;exécution et le contexte orienté modèle. Elles ne sont pas présentées comme une preuve de référence qu&#39;une stratégie de contexte est universellement optimale.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-96\">Modes de défaillance courants de l'ingénierie du contexte\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Mode de défaillance\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ce qui ne va pas\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rejouer toute la conversation indéfiniment\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les anciennes hypothèses, la répétition et la croissance des tokens submergent l'intention actuelle.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mettre chaque résultat récupéré dans le prompt\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le bruit, la duplication et les versions contradictoires diluent les preuves décisives.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Utiliser la mémoire comme état actuel\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des informations obsolètes remplacent silencieusement l'état actif faisant autorité.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Renvoyer la sortie brute des outils\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des journaux ou réponses volumineux consomment l'attention sans apporter de valeur décisionnelle.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Masquer les descriptions d'outils derrière des noms vagues\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le modèle ne peut pas décider de manière fiable quelle capacité utiliser.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Compacter sans tests de rétention\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des contraintes critiques, identifiants ou exceptions disparaissent.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mélanger instructions et données non fiables\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un contenu externe peut être interprété comme une instruction d'autorité supérieure.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Utiliser un modèle de contexte statique unique pour chaque tâche\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Différentes tâches reçoivent des informations non pertinentes et manquent de preuves spécifiques à la tâche.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ignorer la version\u002Fdate de la source\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des preuves obsolètes mais pertinentes peuvent dominer l'état actuel faisant autorité.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Considérer une fenêtre de contexte plus grande comme une garantie de qualité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La capacité augmente tandis que les problèmes d'attention et de conflit subsistent.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-98\">Idées fausses courantes\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Idée fausse\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Correction\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« L'ingénierie du contexte n'est que l'ingénierie des prompts sous un nouveau nom. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les prompts ne sont qu'une composante ; l'ingénierie du contexte couvre aussi la récupération, la mémoire, l'état, les résultats d'outils, l'historique et la compaction.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Le contexte signifie l'historique de chat. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'historique n'est qu'une source de contexte possible.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Plus de contexte est toujours mieux. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des informations supplémentaires peuvent réduire le signal, introduire des conflits et augmenter le coût.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Si la récupération l'a trouvé, le modèle l'a vu. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les candidats récupérés peuvent être filtrés, tronqués ou omis avant l'inférence.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Un contexte long supprime le besoin de RAG. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">De grandes fenêtres augmentent la capacité mais ne résolvent pas la fraîcheur, l'autorité, les autorisations ou la récupération dynamique.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« La mémoire devrait toujours être chargée. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La mémoire devrait être sélectionnée en fonction de la tâche actuelle.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Un résumé préserve tout ce qui est important. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La compaction est avec perte sauf si elle est explicitement évaluée pour la rétention.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Les instructions peuvent appliquer les autorisations. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'autorisation doit être appliquée par les contrôles de l'environnement d'exécution ou de l'application, pas seulement par le contexte.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Une recette de contexte fonctionne pour chaque modèle. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La sensibilité au contexte varie selon le modèle, la tâche, le corpus et l'environnement d'exécution.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« L'ingénierie du contexte est uniquement pour les agents. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les agents amplifient le besoin, mais les applications RAG ordinaires et conversationnelles nécessitent aussi la construction du contexte.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-100\">Une séquence pratique d'ingénierie du contexte\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Construire le contexte à partir de la décision actuelle en remontant\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Définir la prochaine décision du modèle\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Spécifier ce que le modèle doit répondre, classer, planifier ou choisir à cette étape.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Identifier les faits et contraintes requis\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Lister l'état, les règles, les preuves et les instructions minimaux qui peuvent modifier matériellement le résultat.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Résoudre l'autorité et les autorisations\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Déterminer quelles sources sont actuelles, faisant autorité et accessibles au principal actuel.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Récupérer ou lire à la demande\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Acquérir les preuves nécessaires et l'état volatil plutôt que de s'appuyer sur un contexte obsolète.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Réduire le bruit\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Dédoublonner, résumer ou sélectionner des passages sans écarter les exceptions décisives ou la provenance.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Structurer et ordonner\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Rendre distinguables les instructions, l'état actuel, les preuves et les observations d'outils.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Respecter le budget de tokens\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Privilégier un contexte à fort signal et déplacer les informations durables hors de la fenêtre.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">8\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">8. Exécuter le modèle\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Exécuter l'inférence sur le contexte assemblé.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">9\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">9. Observer les défaillances\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Capturer si le problème provenait d'un contexte manquant, obsolète, bruité, contradictoire ou mal ordonné.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">10\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">10. Réévaluer après les changements de modèle\u002Fenvironnement d'exécution\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Une stratégie de contexte n'est valide que pour les modèles, outils et charges de travail sur lesquels elle a été testée.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-102\">Liste de contrôle d'ingénierie du contexte\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Question\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Réponse attendue\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelle décision exacte le modèle prendra-t-il ensuite ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Une tâche délimitée, pas un objectif à long terme vague.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles informations peuvent modifier matériellement cette décision ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ensemble minimal explicite de preuves\u002Fétat.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles données font autorité maintenant ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Source\u002Fversion actuelle et règle de fraîcheur.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles données sont un contexte facultatif ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Séparées des preuves décisives.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Que ne doit pas entrer dans le contexte ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Données non autorisées, inutiles ou trop sensibles.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quels éléments de mémoire sont pertinents ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sélectionnés par tâche, pas rejoués automatiquement.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles sorties d'outils doivent être réduites ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les réponses volumineuses sont transformées en une forme pertinente pour la décision.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles contraintes doivent survivre à la compaction ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identifiants, exceptions, obligations, état non résolu et provenance.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment la priorité est-elle représentée ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les informations actuelles\u002Ffaisant autorité peuvent remplacer de manière fiable des sources obsolètes ou plus faibles.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment saurez-vous que le contexte a échoué ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des évaluations et traces spécifiques au contexte existent.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La réponse peut-elle être reproduite ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'entrée du modèle ou une trace de contexte reconstructible est disponible le cas échéant.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un modèle plus fort ou plus grand peut-il changer la stratégie ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La politique de contexte est sensible à la version et réévaluée empiriquement.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-104\">Cas limites et limitations\u003C\u002Fh2>\n\u003Cp>Certaines tâches sont assez simples pour que l'ingénierie du contexte se réduise à un court prompt système et un seul message utilisateur. Ajouter la récupération, la mémoire et la compaction n'introduirait qu'une architecture inutile.\u003C\u002Fp>\n\u003Cp>Certaines tâches nécessitent un rappel élevé et peuvent intentionnellement inclure plus de contexte avant une synthèse ultérieure. La recherche, la découverte et l'examen juridique peuvent préférer éviter les omissions plutôt que minimiser le nombre de tokens.\u003C\u002Fp>\n\u003Cp>Certaines informations ne devraient jamais être résumées avant utilisation. Les contrats exacts, le code, le matériel cryptographique, les enregistrements numériques et les textes réglementaires peuvent nécessiter une récupération verbatim ou structurée lorsque la compression pourrait altérer le sens.\u003C\u002Fp>\n\u003Cp>Le comportement en contexte long varie considérablement d'un modèle à l'autre. Une stratégie validée sur un modèle, une longueur de contexte ou un harnais d'outils ne devrait pas être automatiquement transférée à un autre.\u003C\u002Fp>\n\u003Cp>Le modèle peut encore ignorer ou mal interpréter un excellent contexte. L'ingénierie de contexte améliore l'environnement informationnel ; elle ne garantit pas l'exactitude du raisonnement.\u003C\u002Fp>\n\u003Ch2 id=\"section-110\">Qu'est-ce qui pourrait changer cette réponse ?\u003C\u002Fh2>\n\u003Cp>Les futurs modèles pourraient devenir plus robustes face aux contextes longs, aux effets de position et aux informations contradictoires. Cela pourrait réduire la quantité de curation manuelle nécessaire.\u003C\u002Fp>\n\u003Cp>La distinction architecturale resterait néanmoins utile car les permissions, la fraîcheur, la persistance de la mémoire, l'autorité des sources et l'état des applications externes existent en dehors du modèle, indépendamment de la taille de la fenêtre de contexte.\u003C\u002Fp>\n\u003Cp>L'équilibre recommandé entre contexte préchargé et contexte juste-à-temps évolue également avec les exigences de latence, la fiabilité des outils, la taille du corpus, le coût du modèle et le degré de dynamicité des informations sous-jacentes.\u003C\u002Fp>\n\u003Ch2 id=\"section-114\">Connaissances canoniques associées\u003C\u002Fh2>\n\u003Cp>L'ingénierie de contexte se situe entre la récupération et la génération. Le RAG explique comment les connaissances externes sont récupérées ; R01 distingue les embeddings, la recherche vectorielle et le reranking ; l'ingénierie de contexte explique ce qui parvient finalement au modèle.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">Qu'est-ce que le RAG ? L'explication la plus simple de son fonctionnement\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">La base de récupération pour comprendre comment des connaissances externes peuvent être fournies à un modèle avant la génération.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire les fondements du RAG →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Cp>L'architecture de source de vérité répond à une question différente : non pas quelles informations sont présentes dans le contexte, mais quelle source est autorisée à établir une affirmation.\u003C\u002Fp>\n\u003Cp>L'article existant Pourquoi plus de contexte peut dégrader les réponses de l'IA est le complément diagnostique de cette définition canonique. Il se concentre sur la pollution du contexte, les effets de position, la croissance du top-k, la perte due à la compaction et la dégradation des réponses plutôt que de redéfinir l'ingénierie de contexte elle-même.\u003C\u002Fp>\n\u003Ch2 id=\"section-119\">Questions fréquentes\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">FAQ sur l&#39;ingénierie de contexte\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Qu&#39;est-ce que l&#39;ingénierie de contexte ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">L&#39;ingénierie de contexte est la conception et la gestion à l&#39;exécution des informations qu&#39;un modèle de langage reçoit au moment de l&#39;inférence, y compris les instructions, l&#39;historique, les preuves récupérées, la mémoire, l&#39;état, les outils et les résultats d&#39;outils.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">En quoi l&#39;ingénierie de contexte diffère-t-elle de l&#39;ingénierie de prompt ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">L&#39;ingénierie de prompt se concentre sur la manière dont les instructions et les exemples sont rédigés. L&#39;ingénierie de contexte inclut les prompts mais décide aussi quelles informations externes, quel état, quel historique, quelle mémoire et quelles observations d&#39;outils sont placés autour d&#39;eux.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Le RAG est-il identique à l&#39;ingénierie de contexte ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. Le RAG récupère des informations externes. L&#39;ingénierie de contexte décide comment les informations récupérées sont filtrées, combinées avec d&#39;autres états et effectivement transmises au modèle.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">La mémoire est-elle identique au contexte ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. La mémoire conserve des informations en dehors de l&#39;appel courant au modèle. Le contexte est le sous-ensemble d&#39;informations chargé dans l&#39;inférence en cours.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Pourquoi plus de contexte peut-il dégrader une réponse ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Un contexte supplémentaire peut introduire du bruit, un état obsolète, des preuves contradictoires, des doublons et une compétition positionnelle. Une grande capacité de contexte ne garantit pas une utilisation également fiable de chaque token.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq6\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Qu&#39;est-ce que la compaction de contexte ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">La compaction résume ou transforme l&#39;historique accumulé en une représentation plus petite afin qu&#39;un système de longue durée puisse continuer sans rejouer chaque token antérieur.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq7\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">L&#39;état actuel de l&#39;application doit-il être stocké dans le contexte ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Il peut être représenté dans le contexte pour le raisonnement, mais les opérations conséquentes devraient souvent relire la source faisant autorité car les instantanés de contexte peuvent devenir obsolètes.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq8\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">L&#39;ingénierie de contexte n&#39;est-elle nécessaire que pour les agents IA ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. Les agents rendent la gestion du contexte plus dynamique, mais les systèmes RAG, les assistants, les copilotes et les applications multi-tours ont aussi besoin d&#39;une construction délibérée du contexte.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-121\">Glossaire\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Termes clés de l'ingénierie de contexte\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"context-engineering\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Ingénierie de contexte\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La conception et la gestion à l'exécution des informations fournies à un modèle de langage pour une étape d'inférence donnée.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"context-window\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Fenêtre de contexte\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La capacité finie en tokens du modèle pour l'entrée et, selon l'interface du modèle, les tokens générés associés ou la séquence active.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"prompt-engineering\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Ingénierie de prompt\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La conception des instructions, des exemples et de la structure du prompt visant à susciter un comportement utile du modèle.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"context-assembly\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Assemblage du contexte\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Le processus de sélection, de filtrage, d'ordonnancement et de formatage des informations visibles par le modèle avant l'inférence.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"just-in-time-retrieval\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Récupération juste-à-temps\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Le chargement dynamique d'informations lorsque la tâche en cours l'exige, au lieu de précharger toutes les données potentiellement pertinentes.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"compaction\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Compaction\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La réduction du contexte accumulé en une représentation plus petite tout en tentant de préserver les informations nécessaires aux étapes futures.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"context-pollution\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Pollution du contexte\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La dégradation causée par des informations non pertinentes, obsolètes, contradictoires ou redondantes occupant le contexte de travail du modèle.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"application-state\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">État de l'application\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La condition actuelle faisant autorité du système externe, du flux de travail ou du domaine, qui existe indépendamment du contexte du modèle.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"memory\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Mémoire\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Les informations stockées en dehors de l'invocation immédiate du modèle en vue d'une utilisation possible dans des tours ou sessions ultérieurs.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"retrieved-context\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Contexte récupéré\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Les informations externes sélectionnées par un système de récupération et mises à la disposition du modèle, en tout ou en partie.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"position-robustness\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Robustesse positionnelle\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Le degré auquel l'exactitude du modèle reste stable lorsque l'emplacement ou l'ordre du contexte pertinent change.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"validity-boundary\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Frontière de validité\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La portée, le temps, les hypothèses, les versions et les conditions de preuve dans lesquels une conclusion reste étayée.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-123\">Conclusion\u003C\u002Fh2>\n\u003Cp>L'ingénierie de contexte est la couche qui décide ce que le modèle peut voir avant de répondre. Cela la rend plus large que le prompting et en aval de la récupération, tout en restant distincte de la mémoire durable et de l'état faisant autorité de l'application.\u003C\u002Fp>\n\u003Cp>Une architecture de contexte solide ne traite pas la fenêtre de contexte comme une base de données. Elle conserve l'état durable et les connaissances en dehors du modèle, charge ce qui est nécessaire à la décision en cours, préserve l'autorité et la provenance, élimine le bruit inutile et actualise les informations volatiles lorsque nécessaire.\u003C\u002Fp>\n\u003Cp>L'objectif pratique n'est donc pas un contexte maximal. C'est un contexte minimal suffisant, à fort signal, correctement autorisé et préservant la validité pour la prochaine décision du modèle.\u003C\u002Fp>\n\u003Ch2 id=\"section-127\">Sources primaires et recommandations actuelles\u003C\u002Fh2>\n\u003Cp>Les sources ci-dessous étayent la terminologie actuelle de l'ingénierie de contexte, le comportement en contexte long et les modèles opérationnels de gestion du contexte. Les sections du projet constituent explicitement des preuves de mise en œuvre plutôt que des affirmations universelles.\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Anthropic — Ingénierie de contexte efficace pour les agents IA\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recommandations d&#39;ingénierie officielles définissant l&#39;ingénierie de contexte, la récupération juste-à-temps, la compaction, la mémoire structurée et la curation du contexte pour les agents.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Fagents_sdk\u002Fsession_memory\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Ingénierie de contexte : gestion de la mémoire à court terme avec les sessions\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recommandations officielles de cookbook sur la gestion du contexte, l&#39;élagage et la compression pour les sessions d&#39;agents de longue durée.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Guide des agents\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recommandations actuelles pour les développeurs OpenAI sur les environnements d&#39;exécution des agents, le contexte entre les étapes et la responsabilité de l&#39;orchestration.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Lost in the Middle : Comment les modèles de langage utilisent les contextes longs\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Recherche montrant que la performance des modèles à contexte long peut dépendre fortement de la position des informations pertinentes dans l&#39;entrée.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":1409},1791480877810,[214,220,228,235,242,250,255,260,265,270,275,280,285,290,319,324,329,334,339,393,398,433,438,443,448,453,458,465,470,475,480,485,494,499,504,509,515,520,525,530,535,540,569,574,579,584,589,594,599,604,609,614,619,624,629,634,639,644,649,675,680,685,690,695,701,706,711,716,724,729,734,739,744,749,755,787,792,797,841,846,891,896,901,906,914,919,924,929,934,939,944,949,954,959,982,988,993,1031,1036,1074,1079,1115,1120,1163,1168,1173,1178,1183,1188,1193,1198,1203,1208,1213,1218,1223,1231,1236,1241,1246,1284,1289,1342,1347,1352,1357,1362,1367,1372,1382,1391,1400],{"id":215,"data":216,"type":218,"tunes":219},"intro",{"text":217},"L'ingénierie de contexte est la conception de ce qu'un modèle de langage reçoit comme information au moment de l'inférence, sous quelle forme, dans quel ordre et pendant combien de temps. Elle est plus large que l'ingénierie de prompt car le contexte du modèle peut inclure des instructions système, des messages utilisateur, des documents récupérés, des résultats d'outils, de la mémoire, l'état actuel de l'application, des exemples, des données structurées et des artefacts intermédiaires. L'objectif n'est pas de maximiser le nombre de tokens, mais de construire le plus petit contexte utile qui préserve les informations, contraintes et preuves nécessaires à la tâche en cours.","paragraph",{},{"id":221,"data":222,"type":226,"tunes":227},"direct",{"body":223,"title":224,"variant":225},"L'ingénierie de prompt demande \u003Cstrong>comment devons-nous instruire le modèle ?\u003C\u002Fstrong> L'ingénierie de contexte demande \u003Cstrong>que doit savoir le modèle maintenant, et comment ces informations doivent-elles être assemblées ?\u003C\u002Fstrong>\u003Cbr>\u003Cbr>La récupération, la mémoire, la gestion d'état, la conception d'outils, l'élagage de l'historique, la compaction et l'ordonnancement sont donc des mécanismes d'ingénierie de contexte lorsqu'ils déterminent les tokens disponibles pour le modèle avant qu'il ne produise la sortie suivante.","Réponse directe","info","callout",{},{"id":229,"data":230,"type":226,"tunes":234},"boundary",{"body":231,"title":232,"variant":233},"Un système peut savoir quelque chose sans le placer dans le contexte actuel. Il peut se souvenir de quelque chose en dehors de la fenêtre du modèle. Il peut récupérer un document mais l'exclure ensuite du prompt final. Le modèle ne peut utiliser directement que le contexte qui atteint l'inférence en cours.","Le contexte n'est pas la même chose que la connaissance ou la mémoire","warning",{},{"id":236,"data":237,"type":226,"tunes":241},"current",{"body":238,"title":239,"variant":240},"L'ingénierie de contexte est désormais une terminologie pratique établie dans les principales recommandations d'ingénierie en IA, mais ce n'est pas une norme formelle unique avec une architecture obligatoire. Anthropic la décrit comme la curation et le maintien de l'ensemble optimal de tokens pour l'inférence ; les recommandations actuelles d'OpenAI sur les agents traitent le contexte de session, l'élagage et la compression comme des préoccupations d'ingénierie explicites pour les systèmes de longue durée.","Note sur les sources actuelles — 8 octobre 2026","note",{},{"id":243,"data":244,"type":248,"tunes":249},"toc",{"title":245,"maxLevel":246,"minLevel":247},"Sommaire",3,2,"tableOfContents",{},{"id":251,"data":252,"type":42,"tunes":254},"h-meaning",{"text":253,"level":247},"Ce que signifie réellement l'ingénierie de contexte",{},{"id":256,"data":257,"type":218,"tunes":259},"p-meaning-1",{"text":258},"Chaque appel au modèle s'effectue dans un environnement de travail temporaire : les instructions actuelles, les messages, les preuves récupérées, les sorties d'outils et l'état qui tiennent dans la fenêtre de contexte active. L'ingénierie de contexte est la discipline qui consiste à construire cet environnement délibérément.",{},{"id":261,"data":262,"type":218,"tunes":264},"p-meaning-2",{"text":263},"Le mot clé est délibérément. Un système naïf concatène simplement tout ce qu'il possède : l'historique complet, tous les documents récupérés, chaque réponse d'outil et de grands prompts système. Un système conçu avec une ingénierie de contexte décide quelles informations sont nécessaires à la décision en cours et quelles informations doivent rester en dehors de la fenêtre jusqu'à ce qu'elles soient nécessaires.",{},{"id":266,"data":267,"type":218,"tunes":269},"p-meaning-3",{"text":268},"Cela fait de l'ingénierie de contexte en partie un problème d'architecture de l'information, en partie un problème d'exécution et en partie un problème d'évaluation. La conception doit décider ce qui peut entrer dans le contexte, d'où cela vient, quelle version est actuelle, comment les conflits sont résolus, quel niveau de détail est conservé et comment le résultat est testé.",{},{"id":271,"data":272,"type":42,"tunes":274},"h-simple",{"text":273,"level":247},"L'exemple le plus simple",{},{"id":276,"data":277,"type":218,"tunes":279},"p-simple-1",{"text":278},"Imaginez un assistant de support interne. Un utilisateur demande : « Ce client peut-il annuler sans frais ? »",{},{"id":281,"data":282,"type":218,"tunes":284},"p-simple-2",{"text":283},"Le modèle pourrait avoir besoin de cinq choses : la politique d'annulation actuelle, le type de contrat actuel du client, la date d'effet du contrat, les règles d'exception pertinentes et le périmètre d'autorisation de l'utilisateur.",{},{"id":286,"data":287,"type":218,"tunes":289},"p-simple-3",{"text":288},"Il n'a pas nécessairement besoin de toute la base de données clients, de l'intégralité des archives de politiques, de chaque conversation précédente ou de chaque ticket de support. L'ingénierie de contexte est le processus qui sélectionne et assemble les cinq éléments utiles tout en excluant les informations non pertinentes.",{},{"id":291,"data":292,"type":317,"tunes":318},"simple-flow",{"steps":293,"title":315,"orientation":316},[294,297,300,303,306,309,312],{"label":295,"description":296},"1. Comprendre la tâche","Classer ce que la question actuelle exige et quels types d'informations peuvent affecter la réponse.",{"label":298,"description":299},"2. Résoudre l'état faisant autorité","Lire l'état actuel de l'application ou de l'entreprise qui ne doit pas être deviné à partir de la mémoire.",{"label":301,"description":302},"3. Récupérer les connaissances de support","Trouver la politique, les documents ou les preuves externes pertinentes pour la tâche spécifique.",{"label":304,"description":305},"4. Appliquer l'éligibilité et les permissions","Exclure les données que l'utilisateur actuel ou l'environnement d'exécution n'est pas autorisé à exposer au modèle.",{"label":307,"description":308},"5. Réduire et structurer","Supprimer les doublons, sélectionner les extraits utiles et préserver les métadonnées critiques, les conditions et les exceptions.",{"label":310,"description":311},"6. Ordonner le contexte","Placer les instructions, l'état actuel et les preuves décisives là où le modèle peut les utiliser de manière cohérente.",{"label":313,"description":314},"7. Exécuter l'inférence","Le modèle reçoit le contexte assemblé et produit la réponse suivante ou la proposition d'action.","De l'état de l'application au contexte du modèle","auto","processFlow",{},{"id":320,"data":321,"type":42,"tunes":323},"h-stops",{"text":322,"level":247},"Où l'exemple simple s'arrête",{},{"id":325,"data":326,"type":218,"tunes":328},"p-stops-1",{"text":327},"Les systèmes réels sont plus difficiles car les informations nécessaires à une étape peuvent ne pas être connues avant le début de l'exécution. Un agent peut découvrir de nouveaux faits via des outils, créer des fichiers intermédiaires, recevoir un état externe changeant ou couvrir une tâche plus longue qu'une fenêtre de contexte.",{},{"id":330,"data":331,"type":218,"tunes":333},"p-stops-2",{"text":332},"L'ingénierie de contexte devient donc dynamique. Le contexte de l'étape 12 ne devrait pas simplement être le contexte de l'étape 1 plus onze couches de sortie accumulée. Il devrait refléter l'état actuel de la tâche, les décisions qui comptent encore et les preuves nécessaires à l'action suivante.",{},{"id":335,"data":336,"type":42,"tunes":338},"h-anatomy",{"text":337,"level":247},"Qu'est-ce qui peut entrer dans un contexte de modèle ?",{},{"id":340,"data":341,"type":391,"tunes":392},"anatomy-table",{"content":342,"stretched":43,"withHeadings":14},[343,347,351,355,359,363,367,371,375,379,383,387],[344,345,346],"Composant du contexte","Objectif","Risque typique",[348,349,350],"Instructions système \u002F développeur","Définir le rôle, les contraintes, les politiques et le comportement","Trop vague, contradictoire ou surchargé de logique fragile",[352,353,354],"Demande actuelle de l'utilisateur","Définit la tâche immédiate et l'intention","Ambiguïté ou conflit avec l'historique antérieur",[356,357,358],"Historique de conversation","Préserve la continuité entre les tours","Hypothèses obsolètes, répétition et croissance des tokens",[360,361,362],"Documents récupérés","Fournir des connaissances\u002Fpreuves externes","Non-pertinence, versions obsolètes, faible autorité ou duplication",[364,365,366],"État actuel de l'application","Fournit des faits métier\u002Fsystème volatils","Utiliser un état mis en cache ou mémorisé au lieu de l'autorité actuelle",[368,369,370],"Définitions d'outils","Indiquent au modèle quelles capacités existent et comment les appeler","Trop d'outils qui se chevauchent ou des schémas verbeux",[372,373,374],"Résultats d'outils","Apportent des observations de l'environnement dans la boucle","Sorties volumineuses et bruitées, contenu non fiable ou observations obsolètes",[376,377,378],"Mémoire","Réintroduit des informations sélectionnées d'interactions précédentes","Obsolescence, généralisation incorrecte ou sur-personnalisation",[380,381,382],"Exemples","Démontrent le comportement souhaité","Trop de cas limites peuvent évincer la tâche actuelle",[384,385,386],"Artefacts intermédiaires","Transportent des plans, résumés, code, calculs ou notes","Un ancien état intermédiaire peut être pris pour la vérité finale",[388,389,390],"Politiques \u002F garde-fous","Définissent un comportement interdit ou contraint","Conflit avec la logique métier ou lacunes d'application cachées","table",{},{"id":394,"data":395,"type":42,"tunes":397},"h-prompt",{"text":396,"level":247},"Ingénierie du contexte vs ingénierie du prompt",{},{"id":399,"data":400,"type":431,"tunes":432},"prompt-comparison",{"rows":401,"title":423,"layout":391,"columns":424},[402,407,411,415,419],{"id":403,"label":404,"values":405},"focus","Focus principal",[406,406],"",{"id":408,"label":409,"values":410},"scope","Portée typique",[406,406],{"id":412,"label":413,"values":414},"timing","Quand cela change",[406,406],{"id":416,"label":417,"values":418},"failure","Échec typique",[406,406],{"id":420,"label":421,"values":422},"relationship","Relation",[406,406],"L'ingénierie du prompt et l'ingénierie du contexte résolvent des couches différentes",[425,428],{"id":426,"label":427},"prompt","Ingénierie du prompt",{"id":429,"label":430},"context","Ingénierie du contexte","comparison",{},{"id":434,"data":435,"type":218,"tunes":437},"p-prompt-1",{"text":436},"Anthropic décrit explicitement l'ingénierie du contexte comme la progression naturelle de l'ingénierie du prompt pour les systèmes dans lesquels le modèle doit travailler avec des outils, des données externes, un historique de messages et un état d'agent de longue durée. La distinction pratique est utile car un prompt parfaitement rédigé ne peut pas compenser des données autoritaires manquantes ou un contexte pollué par un état contradictoire.",{},{"id":439,"data":440,"type":42,"tunes":442},"h-retrieval",{"text":441,"level":247},"Ingénierie du contexte vs récupération",{},{"id":444,"data":445,"type":218,"tunes":447},"p-ret-1",{"text":446},"La récupération sélectionne des informations candidates à partir d'un corpus ou d'une source externe. L'ingénierie du contexte décide de ce qui se passe après et autour de cette récupération.",{},{"id":449,"data":450,"type":218,"tunes":452},"p-ret-2",{"text":451},"Le récupérateur peut renvoyer 30 passages. Un reranker peut les réduire à 10. La couche de contexte peut sélectionner quatre passages, supprimer les doublons, attacher des métadonnées de source\u002Fversion, les combiner avec l'état actuel de l'application et les placer après les instructions système.",{},{"id":454,"data":455,"type":218,"tunes":457},"p-ret-3",{"text":456},"C'est pourquoi un système RAG peut récupérer le bon passage et néanmoins mal répondre : l'échec peut survenir lors de l'assemblage du contexte plutôt que lors de la récupération.",{},{"id":459,"data":460,"type":226,"tunes":464},"retrieval-boundary",{"body":461,"title":462,"variant":463},"Le bon résultat de récupération n'est utile que s'il survit aux décisions de filtrage, d'ordonnancement, de compression et de budget de tokens et parvient réellement au modèle sous une forme utilisable.","La récupération trouve des candidats ; l'ingénierie du contexte construit l'entrée du modèle","success",{},{"id":466,"data":467,"type":42,"tunes":469},"h-memory",{"text":468,"level":247},"Ingénierie du contexte vs mémoire",{},{"id":471,"data":472,"type":218,"tunes":474},"p-memory-1",{"text":473},"La mémoire est une information conservée en dehors de l'invocation immédiate du modèle afin de pouvoir être réutilisée plus tard. Le contexte est l'information réellement chargée dans l'invocation actuelle.",{},{"id":476,"data":477,"type":218,"tunes":479},"p-memory-2",{"text":478},"Un système de mémoire peut contenir des milliers de faits, notes ou décisions antérieures. L'ingénierie du contexte sélectionne lesquels doivent être réintroduits pour la tâche actuelle. Charger toute la mémoire à chaque tour va à l'encontre de l'objectif même de disposer d'une couche de mémoire externe.",{},{"id":481,"data":482,"type":218,"tunes":484},"p-memory-3",{"text":483},"La distinction devient cruciale pour l'état volatil. Un statut de projet ou une préférence utilisateur mémorisé peut être utile, mais l'état autoritaire actuel peut devoir être relu avant une décision conséquente.",{},{"id":486,"data":487,"type":492,"tunes":493},"ref-memory",{"url":488,"title":489,"excerpt":490,"ctaLabel":491},"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","La mémoire des agents IA n'est pas du RAG : comment séparer mémoire, récupération, état et contexte","Une architecture pratique séparant ce qui persiste, ce qui fait autorité maintenant, ce qui est récupéré et ce que le modèle reçoit réellement.","Lire l'article sur l'architecture de la mémoire","referralArticle",{},{"id":495,"data":496,"type":42,"tunes":498},"h-state",{"text":497,"level":247},"Ingénierie du contexte vs état de l'application",{},{"id":500,"data":501,"type":218,"tunes":503},"p-state-1",{"text":502},"L'état de l'application est la condition actuelle du système externe : solde du compte, statut du ticket, version du fichier, étape du workflow, état de déploiement ou progression de la tâche.",{},{"id":505,"data":506,"type":218,"tunes":508},"p-state-2",{"text":507},"L'état peut être résumé dans le contexte, mais le résumé n'est pas l'état lui-même. Pour les opérations conséquentes, le runtime peut devoir relire le système autoritaire immédiatement avant l'action plutôt que de faire confiance à un instantané antérieur visible par le modèle.",{},{"id":510,"data":511,"type":226,"tunes":514},"state-rule",{"body":512,"title":513,"variant":233},"Une fois l'état copié dans un prompt, il peut devenir obsolète. L'ingénierie du contexte doit définir quand l'état volatil doit être actualisé et quelles opérations nécessitent une nouvelle lecture autoritaire.","Le contexte est un instantané",{},{"id":516,"data":517,"type":42,"tunes":519},"h-tools",{"text":518,"level":247},"La conception des outils fait partie de l'ingénierie du contexte",{},{"id":521,"data":522,"type":218,"tunes":524},"p-tools-1",{"text":523},"Les outils ne se contentent pas de donner des capacités aux agents. Les noms, descriptions, schémas et résultats des outils deviennent des informations visibles par le modèle qui façonnent les décisions.",{},{"id":526,"data":527,"type":218,"tunes":529},"p-tools-2",{"text":528},"Les recommandations actuelles d'Anthropic en matière d'ingénierie du contexte mettent l'accent sur des outils économes en tokens et avertissent contre les ensembles d'outils gonflés aux fonctionnalités qui se chevauchent. Un catalogue d'outils qu'un humain a du mal à distinguer est également difficile pour un modèle à router de manière fiable.",{},{"id":531,"data":532,"type":218,"tunes":534},"p-tools-3",{"text":533},"Les sorties d'outils nécessitent également une discipline de contexte. Renvoyer un journal complet de 20 000 lignes alors que l'agent a demandé une seule condition d'erreur consomme de l'attention et peut enterrer la preuve décisive.",{},{"id":536,"data":537,"type":42,"tunes":539},"h-jit",{"text":538,"level":247},"Contexte juste-à-temps vs contexte préchargé",{},{"id":541,"data":542,"type":431,"tunes":568},"jit-comparison",{"rows":543,"title":560,"layout":391,"columns":561},[544,548,552,556],{"id":545,"label":546,"values":547},"method","Méthode",[406,406],{"id":549,"label":550,"values":551},"strength","Force",[406,406],{"id":553,"label":554,"values":555},"risk","Risque",[406,406],{"id":557,"label":558,"values":559},"best","Utile lorsque",[406,406],"Deux façons de fournir de l'information",[562,565],{"id":563,"label":564},"preload","Contexte préchargé",{"id":566,"label":567},"jit","Contexte juste-à-temps",{},{"id":570,"data":571,"type":218,"tunes":573},"p-jit-1",{"text":572},"Anthropic décrit un modèle hybride dans lequel un certain contexte stable est préchargé tandis que les agents récupèrent des informations supplémentaires à l'exécution. C'est un modèle d'architecture utile car tous les faits importants ne méritent pas une résidence permanente dans la fenêtre de contexte.",{},{"id":575,"data":576,"type":42,"tunes":578},"h-budget",{"text":577,"level":247},"Le contexte est un budget, pas un système de stockage",{},{"id":580,"data":581,"type":218,"tunes":583},"p-budget-1",{"text":582},"Une fenêtre de contexte définit une capacité. Elle ne garantit pas que chaque token sera utilisé aussi bien. Le modèle doit répartir son attention entre les instructions, l'historique, les preuves, les outils et l'état intermédiaire.",{},{"id":585,"data":586,"type":218,"tunes":588},"p-budget-2",{"text":587},"L'objectif pratique n'est donc pas de « remplir la fenêtre ». Il est de maximiser l'utilité du budget d'attention limité.",{},{"id":590,"data":591,"type":218,"tunes":593},"p-budget-3",{"text":592},"Anthropic formule un principe similaire comme la recherche du plus petit ensemble de tokens à fort signal qui maximise la probabilité du comportement souhaité. Les recommandations d'OpenAI en matière de gestion du contexte avertissent également qu'un historique non organisé, des résultats d'outils redondants et une récupération bruitée peuvent submerger même de grandes fenêtres.",{},{"id":595,"data":596,"type":42,"tunes":598},"h-more",{"text":597,"level":247},"Pourquoi plus de contexte peut être pire",{},{"id":600,"data":601,"type":218,"tunes":603},"p-more-1",{"text":602},"Un contexte supplémentaire peut introduire des informations non pertinentes, un état obsolète, des preuves en double, des instructions contradictoires ou une compétition positionnelle. Il peut également amener les systèmes de compactage à écarter des détails qui deviennent importants par la suite.",{},{"id":605,"data":606,"type":218,"tunes":608},"p-more-2",{"text":607},"L'étude classique Lost in the Middle a démontré que les modèles à long contexte peuvent utiliser les informations différemment selon l'endroit où le contenu pertinent apparaît, les performances se dégradant souvent lorsque des informations décisives sont placées au milieu de longues entrées.",{},{"id":610,"data":611,"type":218,"tunes":613},"p-more-3",{"text":612},"Cela ne signifie pas que le contexte long est intrinsèquement mauvais. Cela signifie que la disponibilité dans la fenêtre n'est pas la même chose qu'une utilisation fiable.",{},{"id":615,"data":616,"type":42,"tunes":618},"h-order",{"text":617,"level":247},"L'ordre du contexte doit être intentionnel",{},{"id":620,"data":621,"type":218,"tunes":623},"p-order-1",{"text":622},"La construction du contexte est aussi un problème d'ordre. Les instructions critiques, l'état actuel, les preuves décisives et les contraintes spécifiques à la tâche ne doivent pas être concaténés arbitrairement.",{},{"id":625,"data":626,"type":218,"tunes":628},"p-order-2",{"text":627},"Il n'existe pas d'ordre parfait universel pour chaque modèle et chaque tâche. L'architecture doit donc tester si la réorganisation des preuves change l'exactitude et si les informations importantes restent robustes à travers des variations de contexte réalistes.",{},{"id":630,"data":631,"type":218,"tunes":633},"p-order-3",{"text":632},"Une réponse stable qui change radicalement lorsque deux passages également valides échangent leurs positions indique une sensibilité au contexte qui devrait être mesurée plutôt qu'ignorée.",{},{"id":635,"data":636,"type":42,"tunes":638},"h-conflict",{"text":637,"level":247},"Un contexte conflictuel nécessite une préséance explicite",{},{"id":640,"data":641,"type":218,"tunes":643},"p-conflict-1",{"text":642},"Un modèle peut recevoir une ancienne politique et une nouvelle politique, une préférence mémorisée et une instruction explicite actuelle, ou un statut mis en cache et un résultat d'API en direct. Le système ne devrait pas s'attendre à ce que le modèle déduise la préséance à partir du style de la prose.",{},{"id":645,"data":646,"type":218,"tunes":648},"p-conflict-2",{"text":647},"L'ingénierie du contexte devrait encoder la préséance par la sélection des sources, les métadonnées, l'ordre ou des instructions explicites : l'état actuel faisant autorité prime sur les copies obsolètes ; une instruction explicite actuelle de l'utilisateur prime sur une préférence plus ancienne inférée ; une politique approuvée supplante les brouillons obsolètes.",{},{"id":650,"data":651,"type":391,"tunes":674},"conflict-table",{"content":652,"stretched":43,"withHeadings":14},[653,656,659,662,665,668,671],[654,655],"Conflit","Règle de contexte préférée",[657,658],"État actuel vs état mémorisé","Actualiser et privilégier la source actuelle faisant autorité.",[660,661],"Politique actuelle vs politique supplantée","Inclure la version actuelle ; ne conserver l'ancienne version que lorsqu'une comparaison historique est requise.",[663,664],"Instruction explicite de l'utilisateur vs ancienne préférence inférée","Privilégier l'instruction explicite actuelle.",[666,667],"Source primaire vs résumé secondaire","Utiliser la source primaire pour les affirmations qui exigent une autorité ; le résumé peut soutenir l'explication.",[669,670],"Observation d'outil vs a priori du modèle","Privilégier l'état observé actuel lorsque l'outil fait autorité pour ce fait.",[672,673],"Deux sources faisant autorité non résolues","Exposer le conflit plutôt que de fabriquer une réponse cohérente unique.",{},{"id":676,"data":677,"type":42,"tunes":679},"h-compaction",{"text":678,"level":247},"La compaction est une transformation du contexte, pas un stockage sans perte",{},{"id":681,"data":682,"type":218,"tunes":684},"p-comp-1",{"text":683},"Les systèmes de longue durée finissent par devoir réduire, résumer ou compacter l'historique. La compaction crée une nouvelle représentation du contexte antérieur afin que l'agent puisse continuer sans rejouer chaque token.",{},{"id":686,"data":687,"type":218,"tunes":689},"p-comp-2",{"text":688},"Les exemples de gestion du contexte d'OpenAI utilisent la réduction et la compression pour les sessions de longue durée. Anthropic décrit la compaction comme une technique principale pour maintenir la cohérence lorsqu'une interaction approche de la limite de contexte.",{},{"id":691,"data":692,"type":218,"tunes":694},"p-comp-3",{"text":693},"La partie difficile consiste à décider ce qui ne peut pas être supprimé en toute sécurité : les tâches non résolues, les identifiants, les contraintes de l'utilisateur, les frontières de sécurité, les décisions d'architecture, les exceptions, la provenance des sources et les conditions qui rendent une conclusion précédente valide.",{},{"id":696,"data":697,"type":226,"tunes":700},"compaction-rule",{"body":698,"title":699,"variant":233},"Si la compaction conserve « utiliser l'approche X » mais écarte pourquoi X a été choisie, quelle version a été testée ou quelle condition l'invaliderait, les réponses ultérieures peuvent rester cohérentes en interne tout en devenant fausses en externe.","Un résumé peut préserver la conclusion et détruire la raison",{},{"id":702,"data":703,"type":42,"tunes":705},"h-validity",{"text":704,"level":247},"Préserver les limites de validité",{},{"id":707,"data":708,"type":218,"tunes":710},"p-validity-1",{"text":709},"Les conclusions importantes devraient porter les conditions dans lesquelles elles restent étayées : version, date, portée, hypothèses, autorité de la source et désaccord non résolu.",{},{"id":712,"data":713,"type":218,"tunes":715},"p-validity-2",{"text":714},"L'ingénierie du contexte est donc liée à la Frontière de Validité des Réponses. L'assembleur de contexte ne devrait pas supprimer les métadonnées qui déterminent si les preuves s'appliquent encore.",{},{"id":717,"data":718,"type":492,"tunes":723},"ref-avb",{"url":719,"title":720,"excerpt":721,"ctaLabel":722},"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers","La Frontière de Validité des Réponses : La Couche Manquante Entre Pertinence et Réponses IA Fiables","Un cadre pour préserver la portée, les hypothèses, les versions et les conditions de preuve dans lesquelles une affirmation IA reste étayée.","Lire la Frontière de Validité des Réponses",{},{"id":725,"data":726,"type":42,"tunes":728},"h-security",{"text":727,"level":247},"L'ingénierie du contexte est aussi une frontière de sécurité",{},{"id":730,"data":731,"type":218,"tunes":733},"p-sec-1",{"text":732},"Les données qui atteignent le modèle ont franchi une frontière système importante. L'assemblage du contexte doit donc respecter les règles d'autorisation, d'isolation des locataires, de confidentialité et de minimisation des données.",{},{"id":735,"data":736,"type":218,"tunes":738},"p-sec-2",{"text":737},"Un récupérateur peut techniquement trouver un passage auquel l'utilisateur actuel ne peut pas accéder. La conception correcte consiste à empêcher ce passage d'entrer dans le contexte du modèle plutôt que de compter sur le modèle pour l'ignorer.",{},{"id":740,"data":741,"type":218,"tunes":743},"p-sec-3",{"text":742},"Les sorties d'outils peuvent également contenir des instructions non fiables ou du contenu adversarial. L'ingénierie du contexte devrait préserver la distinction entre les instructions de l'application et les données externes afin que le texte récupéré ne puisse pas acquérir silencieusement une autorité d'instruction.",{},{"id":745,"data":746,"type":42,"tunes":748},"h-architecture",{"text":747,"level":247},"Une architecture pratique d'ingénierie de contexte",{},{"id":750,"data":751,"type":226,"tunes":754},"arch-note",{"body":752,"title":753,"variant":240},"Les couches suivantes constituent une synthèse pratique pour les systèmes de production, et non une norme industrielle formelle. L'objectif est de maintenir la propriété de l'information séparée du contexte temporaire exposé au modèle.","Modèle d'architecture proposé",{},{"id":756,"data":757,"type":391,"tunes":786},"arch-table",{"content":758,"stretched":43,"withHeadings":14},[759,762,765,768,771,774,777,780,783],[760,761],"Couche","Responsabilité",[763,764],"Systèmes faisant autorité","Détiennent l'état actuel de l'entreprise\u002Fdu système et les enregistrements officiels.",[766,767],"Sources de connaissances","Détiennent les documents, politiques, spécifications, recherches ou preuves externes.",[769,770],"Stockage de mémoire","Préserve les informations sélectionnées à travers les tours ou les sessions.",[772,773],"Couche de récupération","Localise les candidats pertinents pour la tâche à partir de sources externes.",[775,776],"Couche outil\u002Fexécution","Lit l'état, effectue des actions et renvoie des observations.",[778,779],"Assembleur de contexte","Sélectionne, filtre, déduplique, ordonne et formate les informations visibles par le modèle.",[781,782],"Modèle","Raisonne et génère à partir du contexte assemblé.",[784,785],"Validation\u002Févaluation","Vérifie si le contexte sélectionné et la sortie résultante satisfont les exigences spécifiques à la tâche.",{},{"id":788,"data":789,"type":218,"tunes":791},"p-arch-1",{"text":790},"L'assembleur de contexte est conceptuellement important même lorsqu'aucun module ne porte exactement ce nom. Dans une petite application, il peut s'agir de code applicatif ordinaire. Dans une grande plateforme d'agents, il peut combiner la gestion de session, la récupération, la mémoire, l'intergiciel d'outils, la compaction et l'application des politiques.",{},{"id":793,"data":794,"type":42,"tunes":796},"h-policy",{"text":795,"level":247},"Une politique pratique de construction de contexte",{},{"id":798,"data":799,"type":391,"tunes":840},"policy-table",{"content":800,"stretched":43,"withHeadings":14},[801,804,807,810,813,816,819,822,825,828,831,834,837],[802,803],"Règle","Pourquoi c'est important",[805,806],"Partir de la tâche actuelle","Ne pas transporter des informations simplement parce qu'elles existaient auparavant.",[808,809],"Relire l'état volatil","La mémoire et l'ancien contexte peuvent être obsolètes.",[811,812],"Récupérer juste assez de preuves","De grands ensembles de candidats peuvent diluer les informations décisives.",[814,815],"Préserver les métadonnées de source","La version, la date et l'autorité déterminent si une preuve s'applique encore.",[817,818],"Supprimer le contenu en double","La redondance consomme des tokens sans ajouter d'information.",[820,821],"Privilégier les résumés structurés pour les sorties d'outils volumineuses","Exposer les champs décisifs plutôt que le bruit brut lorsque la fidélité le permet.",[823,824],"Garder les règles avec leurs exceptions","Séparer une règle de son exception crée une fausse certitude.",[826,827],"Rendre la priorité explicite","Ne pas demander au modèle de déduire quelle source contradictoire l'emporte.",[829,830],"Garder l'état durable en dehors du contexte","Le contexte est une mémoire de travail temporaire, pas la base de données.",[832,833],"Compacter avec des tests de rétention","Vérifier que les identifiants, contraintes, provenance et état non résolu survivent.",[835,836],"Mesurer la sensibilité à l'ordre","La justesse ne doit pas dépendre accidentellement d'un ordre de documents arbitraire.",[838,839],"Évaluer le contexte séparément de la qualité du modèle","Un modèle plus puissant ne peut pas compenser de manière fiable des preuves manquantes ou non autorisées.",{},{"id":842,"data":843,"type":42,"tunes":845},"h-eval",{"text":844,"level":247},"Comment évaluer l'ingénierie de contexte",{},{"id":847,"data":848,"type":391,"tunes":890},"eval-table",{"content":849,"stretched":43,"withHeadings":14},[850,854,858,862,866,870,874,878,882,886],[851,852,853],"Propriété","Question","Test exemple",[855,856,857],"Suffisance","Le contexte contient-il tout ce qui est nécessaire pour résoudre la tâche ?","Retirer un élément de preuve et observer si la réponse devient non étayée.",[859,860,861],"Pertinence","Quelle part du contexte est inutile pour la tâche ?","Mesurer la qualité à mesure que des passages non pertinents sont ajoutés ou retirés.",[863,864,865],"Autorité","Les affirmations décisives sont-elles fondées sur la bonne classe de source ?","Injecter une source contradictoire plus fluide mais non faisant autorité.",[867,868,869],"Fraîcheur","L'état actuel prime-t-il sur les copies obsolètes ?","Modifier l'état faisant autorité après un tour précédent et relancer.",[871,872,873],"Robustesse à la position","La qualité de la réponse dépend-elle fortement de la position des preuves ?","Randomiser l'ordre des candidats sur des essais répétés.",[875,876,877],"Gestion des conflits","Le modèle suit-il des règles de priorité explicites ?","Présenter ensemble l'ancien et le nouvel état.",[879,880,881],"Rétention après compaction","La summarisation préserve-t-elle les contraintes et les limites de validité ?","Comparer les performances de la tâche avant\u002Faprès compaction.",[883,884,885],"Efficacité des tokens","Le contexte supplémentaire améliore-t-il suffisamment la qualité pour justifier la latence\u002Fle coût ?","Exécuter des ablations contrôlées de la taille du contexte.",[887,888,889],"Sécurité","Un contenu non autorisé ou adversarial peut-il entrer dans le contexte du modèle ?","Tester les frontières de locataire, de permission et d'injection de prompt.",{},{"id":892,"data":893,"type":42,"tunes":895},"h-rag-diagnostic",{"text":894,"level":247},"L'assemblage de contexte est une couche de défaillance RAG distincte",{},{"id":897,"data":898,"type":218,"tunes":900},"p-ragdiag-1",{"text":899},"Un pipeline RAG peut réussir la récupération et échouer en aval. La source pertinente peut apparaître au rang 2, mais l'assembleur de contexte peut la supprimer, la tronquer, la combiner avec des éléments contradictoires obsolètes ou dépasser le budget de tokens.",{},{"id":902,"data":903,"type":218,"tunes":905},"p-ragdiag-2",{"text":904},"C'est pourquoi les traces de récupération doivent être comparées au contexte réel envoyé au modèle. Sans cette comparaison, les défaillances de contexte sont facilement diagnostiquées à tort comme des défaillances d'embedding ou de modèle.",{},{"id":907,"data":908,"type":492,"tunes":913},"ref-ragfail",{"url":909,"title":910,"excerpt":911,"ctaLabel":912},"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method","RAG a échoué — mais quelle couche a réellement échoué ? Une méthode de diagnostic","Une approche couche par couche pour séparer les défaillances de couverture des sources, de récupération, de classement, d'assemblage de contexte, de génération, d'attribution des preuves et de fraîcheur.","Lire la méthode de diagnostic RAG",{},{"id":915,"data":916,"type":42,"tunes":918},"h-implementation",{"text":917,"level":247},"Preuves d'implémentation originales",{},{"id":920,"data":921,"type":42,"tunes":923},"h-sot-engine",{"text":922,"level":246},"Source of Truth Research Engine : une recherche bornée au lieu d'un contexte illimité",{},{"id":925,"data":926,"type":218,"tunes":928},"p-sot-1",{"text":927},"Le Source of Truth Research Engine sépare la découverte, l'acquisition, l'extraction, la vérification, l'analyse des contradictions et la synthèse en étapes de recherche bornées, au lieu d'envoyer une seule énorme tâche de recherche et tout le matériel accumulé dans un unique appel au modèle.",{},{"id":930,"data":931,"type":218,"tunes":933},"p-sot-2",{"text":932},"Son modèle de preuves stocke les Sources, Artefacts, Affirmations, Relations, Contradictions et la provenance en dehors du contexte du modèle. Le modèle peut recevoir le sous-ensemble nécessaire à l'étape de recherche en cours, tandis que les preuves durables restent dans le stockage externe.",{},{"id":935,"data":936,"type":218,"tunes":938},"p-sot-3",{"text":937},"C'est un modèle concret d'ingénierie de contexte : l'état de recherche durable vit en dehors de la fenêtre du modèle ; le contexte actif du modèle est reconstruit pour l'étape en cours.",{},{"id":940,"data":941,"type":42,"tunes":943},"h-ai-client",{"text":942,"level":246},"Aaasaasa AI Client : l'exécution, les permissions et le contexte sont des préoccupations distinctes",{},{"id":945,"data":946,"type":218,"tunes":948},"p-client-1",{"text":947},"Aaasaasa AI Client sépare la sélection du fournisseur et du modèle, l'emplacement d'exécution, les autorisations de l'espace de travail, les ressources locales et l'accès aux outils. Cela empêche le contexte du modèle de devenir le propriétaire de l'autorisation ou de l'état de l'application.",{},{"id":950,"data":951,"type":218,"tunes":953},"p-client-2",{"text":952},"Le chat direct et les environnements d'exécution agentiques peuvent avoir des capacités d'outils différentes. Les profils d'autorisation de l'espace de travail sont appliqués par l'environnement d'exécution plutôt que simplement décrits dans un contexte en langage naturel. Cette distinction est importante : le contexte peut indiquer à un modèle ce qu'il devrait faire, tandis que l'environnement d'exécution doit toujours appliquer ce qu'il est réellement autorisé à faire.",{},{"id":955,"data":956,"type":218,"tunes":958},"p-client-3",{"text":957},"Les preuves de mise en œuvre ici relèvent de la séparation architecturale, et non de l'affirmation que chaque technique avancée de gestion du contexte décrite dans cet article est déjà implémentée.",{},{"id":960,"data":961,"type":391,"tunes":981},"impl-table",{"content":962,"stretched":43,"withHeadings":14},[963,966,969,972,975,978],[964,965],"Modèle de mise en œuvre","Leçon d'ingénierie du contexte",[967,968],"Magasin de preuves externe","La connaissance durable n'a pas besoin de rester dans la fenêtre du modèle.",[970,971],"Étapes de recherche délimitées","Différentes étapes peuvent recevoir différents contextes au lieu d'accumuler un historique géant unique.",[973,974],"Affirmations + provenance hors contexte","L'identité des preuves survit au-delà de l'état d'inférence temporaire.",[976,977],"Autorisations appliquées par l'environnement d'exécution","L'autorité de sécurité ne dépend pas du fait que le modèle se souvienne d'une instruction.",[979,980],"Séparer les concepts local\u002Ffournisseur\u002Fmodèle\u002Fenvironnement d'exécution","Le contexte n'est qu'une couche de l'architecture applicative d'IA au sens large.",{},{"id":983,"data":984,"type":226,"tunes":987},"impl-boundary",{"body":985,"title":986,"variant":240},"Ces implémentations soutiennent la séparation architecturale entre l'état durable, la récupération, les contrôles d'exécution et le contexte orienté modèle. Elles ne sont pas présentées comme une preuve de référence qu'une stratégie de contexte est universellement optimale.","Limite des preuves",{},{"id":989,"data":990,"type":42,"tunes":992},"h-failures",{"text":991,"level":247},"Modes de défaillance courants de l'ingénierie du contexte",{},{"id":994,"data":995,"type":391,"tunes":1030},"failure-table",{"content":996,"stretched":43,"withHeadings":14},[997,1000,1003,1006,1009,1012,1015,1018,1021,1024,1027],[998,999],"Mode de défaillance","Ce qui ne va pas",[1001,1002],"Rejouer toute la conversation indéfiniment","Les anciennes hypothèses, la répétition et la croissance des tokens submergent l'intention actuelle.",[1004,1005],"Mettre chaque résultat récupéré dans le prompt","Le bruit, la duplication et les versions contradictoires diluent les preuves décisives.",[1007,1008],"Utiliser la mémoire comme état actuel","Des informations obsolètes remplacent silencieusement l'état actif faisant autorité.",[1010,1011],"Renvoyer la sortie brute des outils","Des journaux ou réponses volumineux consomment l'attention sans apporter de valeur décisionnelle.",[1013,1014],"Masquer les descriptions d'outils derrière des noms vagues","Le modèle ne peut pas décider de manière fiable quelle capacité utiliser.",[1016,1017],"Compacter sans tests de rétention","Des contraintes critiques, identifiants ou exceptions disparaissent.",[1019,1020],"Mélanger instructions et données non fiables","Un contenu externe peut être interprété comme une instruction d'autorité supérieure.",[1022,1023],"Utiliser un modèle de contexte statique unique pour chaque tâche","Différentes tâches reçoivent des informations non pertinentes et manquent de preuves spécifiques à la tâche.",[1025,1026],"Ignorer la version\u002Fdate de la source","Des preuves obsolètes mais pertinentes peuvent dominer l'état actuel faisant autorité.",[1028,1029],"Considérer une fenêtre de contexte plus grande comme une garantie de qualité","La capacité augmente tandis que les problèmes d'attention et de conflit subsistent.",{},{"id":1032,"data":1033,"type":42,"tunes":1035},"h-misconceptions",{"text":1034,"level":247},"Idées fausses courantes",{},{"id":1037,"data":1038,"type":391,"tunes":1073},"misconceptions-table",{"content":1039,"stretched":43,"withHeadings":14},[1040,1043,1046,1049,1052,1055,1058,1061,1064,1067,1070],[1041,1042],"Idée fausse","Correction",[1044,1045],"« L'ingénierie du contexte n'est que l'ingénierie des prompts sous un nouveau nom. »","Les prompts ne sont qu'une composante ; l'ingénierie du contexte couvre aussi la récupération, la mémoire, l'état, les résultats d'outils, l'historique et la compaction.",[1047,1048],"« Le contexte signifie l'historique de chat. »","L'historique n'est qu'une source de contexte possible.",[1050,1051],"« Plus de contexte est toujours mieux. »","Des informations supplémentaires peuvent réduire le signal, introduire des conflits et augmenter le coût.",[1053,1054],"« Si la récupération l'a trouvé, le modèle l'a vu. »","Les candidats récupérés peuvent être filtrés, tronqués ou omis avant l'inférence.",[1056,1057],"« Un contexte long supprime le besoin de RAG. »","De grandes fenêtres augmentent la capacité mais ne résolvent pas la fraîcheur, l'autorité, les autorisations ou la récupération dynamique.",[1059,1060],"« La mémoire devrait toujours être chargée. »","La mémoire devrait être sélectionnée en fonction de la tâche actuelle.",[1062,1063],"« Un résumé préserve tout ce qui est important. »","La compaction est avec perte sauf si elle est explicitement évaluée pour la rétention.",[1065,1066],"« Les instructions peuvent appliquer les autorisations. »","L'autorisation doit être appliquée par les contrôles de l'environnement d'exécution ou de l'application, pas seulement par le contexte.",[1068,1069],"« Une recette de contexte fonctionne pour chaque modèle. »","La sensibilité au contexte varie selon le modèle, la tâche, le corpus et l'environnement d'exécution.",[1071,1072],"« L'ingénierie du contexte est uniquement pour les agents. »","Les agents amplifient le besoin, mais les applications RAG ordinaires et conversationnelles nécessitent aussi la construction du contexte.",{},{"id":1075,"data":1076,"type":42,"tunes":1078},"h-sequence",{"text":1077,"level":247},"Une séquence pratique d'ingénierie du contexte",{},{"id":1080,"data":1081,"type":317,"tunes":1114},"design-sequence",{"steps":1082,"title":1113,"orientation":316},[1083,1086,1089,1092,1095,1098,1101,1104,1107,1110],{"label":1084,"description":1085},"1. Définir la prochaine décision du modèle","Spécifier ce que le modèle doit répondre, classer, planifier ou choisir à cette étape.",{"label":1087,"description":1088},"2. Identifier les faits et contraintes requis","Lister l'état, les règles, les preuves et les instructions minimaux qui peuvent modifier matériellement le résultat.",{"label":1090,"description":1091},"3. Résoudre l'autorité et les autorisations","Déterminer quelles sources sont actuelles, faisant autorité et accessibles au principal actuel.",{"label":1093,"description":1094},"4. Récupérer ou lire à la demande","Acquérir les preuves nécessaires et l'état volatil plutôt que de s'appuyer sur un contexte obsolète.",{"label":1096,"description":1097},"5. Réduire le bruit","Dédoublonner, résumer ou sélectionner des passages sans écarter les exceptions décisives ou la provenance.",{"label":1099,"description":1100},"6. Structurer et ordonner","Rendre distinguables les instructions, l'état actuel, les preuves et les observations d'outils.",{"label":1102,"description":1103},"7. Respecter le budget de tokens","Privilégier un contexte à fort signal et déplacer les informations durables hors de la fenêtre.",{"label":1105,"description":1106},"8. Exécuter le modèle","Exécuter l'inférence sur le contexte assemblé.",{"label":1108,"description":1109},"9. Observer les défaillances","Capturer si le problème provenait d'un contexte manquant, obsolète, bruité, contradictoire ou mal ordonné.",{"label":1111,"description":1112},"10. Réévaluer après les changements de modèle\u002Fenvironnement d'exécution","Une stratégie de contexte n'est valide que pour les modèles, outils et charges de travail sur lesquels elle a été testée.","Construire le contexte à partir de la décision actuelle en remontant",{},{"id":1116,"data":1117,"type":42,"tunes":1119},"h-checklist",{"text":1118,"level":247},"Liste de contrôle d'ingénierie du contexte",{},{"id":1121,"data":1122,"type":391,"tunes":1162},"checklist-table",{"content":1123,"stretched":43,"withHeadings":14},[1124,1126,1129,1132,1135,1138,1141,1144,1147,1150,1153,1156,1159],[852,1125],"Réponse attendue",[1127,1128],"Quelle décision exacte le modèle prendra-t-il ensuite ?","Une tâche délimitée, pas un objectif à long terme vague.",[1130,1131],"Quelles informations peuvent modifier matériellement cette décision ?","Ensemble minimal explicite de preuves\u002Fétat.",[1133,1134],"Quelles données font autorité maintenant ?","Source\u002Fversion actuelle et règle de fraîcheur.",[1136,1137],"Quelles données sont un contexte facultatif ?","Séparées des preuves décisives.",[1139,1140],"Que ne doit pas entrer dans le contexte ?","Données non autorisées, inutiles ou trop sensibles.",[1142,1143],"Quels éléments de mémoire sont pertinents ?","Sélectionnés par tâche, pas rejoués automatiquement.",[1145,1146],"Quelles sorties d'outils doivent être réduites ?","Les réponses volumineuses sont transformées en une forme pertinente pour la décision.",[1148,1149],"Quelles contraintes doivent survivre à la compaction ?","Identifiants, exceptions, obligations, état non résolu et provenance.",[1151,1152],"Comment la priorité est-elle représentée ?","Les informations actuelles\u002Ffaisant autorité peuvent remplacer de manière fiable des sources obsolètes ou plus faibles.",[1154,1155],"Comment saurez-vous que le contexte a échoué ?","Des évaluations et traces spécifiques au contexte existent.",[1157,1158],"La réponse peut-elle être reproduite ?","L'entrée du modèle ou une trace de contexte reconstructible est disponible le cas échéant.",[1160,1161],"Un modèle plus fort ou plus grand peut-il changer la stratégie ?","La politique de contexte est sensible à la version et réévaluée empiriquement.",{},{"id":1164,"data":1165,"type":42,"tunes":1167},"h-edge",{"text":1166,"level":247},"Cas limites et limitations",{},{"id":1169,"data":1170,"type":218,"tunes":1172},"p-edge-1",{"text":1171},"Certaines tâches sont assez simples pour que l'ingénierie du contexte se réduise à un court prompt système et un seul message utilisateur. Ajouter la récupération, la mémoire et la compaction n'introduirait qu'une architecture inutile.",{},{"id":1174,"data":1175,"type":218,"tunes":1177},"p-edge-2",{"text":1176},"Certaines tâches nécessitent un rappel élevé et peuvent intentionnellement inclure plus de contexte avant une synthèse ultérieure. La recherche, la découverte et l'examen juridique peuvent préférer éviter les omissions plutôt que minimiser le nombre de tokens.",{},{"id":1179,"data":1180,"type":218,"tunes":1182},"p-edge-3",{"text":1181},"Certaines informations ne devraient jamais être résumées avant utilisation. Les contrats exacts, le code, le matériel cryptographique, les enregistrements numériques et les textes réglementaires peuvent nécessiter une récupération verbatim ou structurée lorsque la compression pourrait altérer le sens.",{},{"id":1184,"data":1185,"type":218,"tunes":1187},"p-edge-4",{"text":1186},"Le comportement en contexte long varie considérablement d'un modèle à l'autre. Une stratégie validée sur un modèle, une longueur de contexte ou un harnais d'outils ne devrait pas être automatiquement transférée à un autre.",{},{"id":1189,"data":1190,"type":218,"tunes":1192},"p-edge-5",{"text":1191},"Le modèle peut encore ignorer ou mal interpréter un excellent contexte. L'ingénierie de contexte améliore l'environnement informationnel ; elle ne garantit pas l'exactitude du raisonnement.",{},{"id":1194,"data":1195,"type":42,"tunes":1197},"h-change",{"text":1196,"level":247},"Qu'est-ce qui pourrait changer cette réponse ?",{},{"id":1199,"data":1200,"type":218,"tunes":1202},"p-change-1",{"text":1201},"Les futurs modèles pourraient devenir plus robustes face aux contextes longs, aux effets de position et aux informations contradictoires. Cela pourrait réduire la quantité de curation manuelle nécessaire.",{},{"id":1204,"data":1205,"type":218,"tunes":1207},"p-change-2",{"text":1206},"La distinction architecturale resterait néanmoins utile car les permissions, la fraîcheur, la persistance de la mémoire, l'autorité des sources et l'état des applications externes existent en dehors du modèle, indépendamment de la taille de la fenêtre de contexte.",{},{"id":1209,"data":1210,"type":218,"tunes":1212},"p-change-3",{"text":1211},"L'équilibre recommandé entre contexte préchargé et contexte juste-à-temps évolue également avec les exigences de latence, la fiabilité des outils, la taille du corpus, le coût du modèle et le degré de dynamicité des informations sous-jacentes.",{},{"id":1214,"data":1215,"type":42,"tunes":1217},"h-related",{"text":1216,"level":247},"Connaissances canoniques associées",{},{"id":1219,"data":1220,"type":218,"tunes":1222},"p-related-1",{"text":1221},"L'ingénierie de contexte se situe entre la récupération et la génération. Le RAG explique comment les connaissances externes sont récupérées ; R01 distingue les embeddings, la recherche vectorielle et le reranking ; l'ingénierie de contexte explique ce qui parvient finalement au modèle.",{},{"id":1224,"data":1225,"type":492,"tunes":1230},"ref-rag",{"url":1226,"title":1227,"excerpt":1228,"ctaLabel":1229},"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","Qu'est-ce que le RAG ? L'explication la plus simple de son fonctionnement","La base de récupération pour comprendre comment des connaissances externes peuvent être fournies à un modèle avant la génération.","Lire les fondements du RAG",{},{"id":1232,"data":1233,"type":218,"tunes":1235},"p-related-2",{"text":1234},"L'architecture de source de vérité répond à une question différente : non pas quelles informations sont présentes dans le contexte, mais quelle source est autorisée à établir une affirmation.",{},{"id":1237,"data":1238,"type":218,"tunes":1240},"p-related-3",{"text":1239},"L'article existant Pourquoi plus de contexte peut dégrader les réponses de l'IA est le complément diagnostique de cette définition canonique. Il se concentre sur la pollution du contexte, les effets de position, la croissance du top-k, la perte due à la compaction et la dégradation des réponses plutôt que de redéfinir l'ingénierie de contexte elle-même.",{},{"id":1242,"data":1243,"type":42,"tunes":1245},"h-faq",{"text":1244,"level":247},"Questions fréquentes",{},{"id":1247,"data":1248,"type":1247,"tunes":1283},"faq",{"items":1249,"title":1282},[1250,1254,1258,1262,1266,1270,1274,1278],{"id":1251,"answer":1252,"question":1253},"faq1","L'ingénierie de contexte est la conception et la gestion à l'exécution des informations qu'un modèle de langage reçoit au moment de l'inférence, y compris les instructions, l'historique, les preuves récupérées, la mémoire, l'état, les outils et les résultats d'outils.","Qu'est-ce que l'ingénierie de contexte ?",{"id":1255,"answer":1256,"question":1257},"faq2","L'ingénierie de prompt se concentre sur la manière dont les instructions et les exemples sont rédigés. L'ingénierie de contexte inclut les prompts mais décide aussi quelles informations externes, quel état, quel historique, quelle mémoire et quelles observations d'outils sont placés autour d'eux.","En quoi l'ingénierie de contexte diffère-t-elle de l'ingénierie de prompt ?",{"id":1259,"answer":1260,"question":1261},"faq3","Non. Le RAG récupère des informations externes. L'ingénierie de contexte décide comment les informations récupérées sont filtrées, combinées avec d'autres états et effectivement transmises au modèle.","Le RAG est-il identique à l'ingénierie de contexte ?",{"id":1263,"answer":1264,"question":1265},"faq4","Non. La mémoire conserve des informations en dehors de l'appel courant au modèle. Le contexte est le sous-ensemble d'informations chargé dans l'inférence en cours.","La mémoire est-elle identique au contexte ?",{"id":1267,"answer":1268,"question":1269},"faq5","Un contexte supplémentaire peut introduire du bruit, un état obsolète, des preuves contradictoires, des doublons et une compétition positionnelle. Une grande capacité de contexte ne garantit pas une utilisation également fiable de chaque token.","Pourquoi plus de contexte peut-il dégrader une réponse ?",{"id":1271,"answer":1272,"question":1273},"faq6","La compaction résume ou transforme l'historique accumulé en une représentation plus petite afin qu'un système de longue durée puisse continuer sans rejouer chaque token antérieur.","Qu'est-ce que la compaction de contexte ?",{"id":1275,"answer":1276,"question":1277},"faq7","Il peut être représenté dans le contexte pour le raisonnement, mais les opérations conséquentes devraient souvent relire la source faisant autorité car les instantanés de contexte peuvent devenir obsolètes.","L'état actuel de l'application doit-il être stocké dans le contexte ?",{"id":1279,"answer":1280,"question":1281},"faq8","Non. Les agents rendent la gestion du contexte plus dynamique, mais les systèmes RAG, les assistants, les copilotes et les applications multi-tours ont aussi besoin d'une construction délibérée du contexte.","L'ingénierie de contexte n'est-elle nécessaire que pour les agents IA ?","FAQ sur l'ingénierie de contexte",{},{"id":1285,"data":1286,"type":42,"tunes":1288},"h-glossary",{"text":1287,"level":247},"Glossaire",{},{"id":1290,"data":1291,"type":1290,"tunes":1341},"glossary",{"title":1292,"entries":1293},"Termes clés de l'ingénierie de contexte",[1294,1298,1302,1306,1310,1314,1318,1322,1326,1329,1333,1337],{"term":1295,"anchor":1296,"definition":1297},"Ingénierie de contexte","context-engineering","La conception et la gestion à l'exécution des informations fournies à un modèle de langage pour une étape d'inférence donnée.",{"term":1299,"anchor":1300,"definition":1301},"Fenêtre de contexte","context-window","La capacité finie en tokens du modèle pour l'entrée et, selon l'interface du modèle, les tokens générés associés ou la séquence active.",{"term":1303,"anchor":1304,"definition":1305},"Ingénierie de prompt","prompt-engineering","La conception des instructions, des exemples et de la structure du prompt visant à susciter un comportement utile du modèle.",{"term":1307,"anchor":1308,"definition":1309},"Assemblage du contexte","context-assembly","Le processus de sélection, de filtrage, d'ordonnancement et de formatage des informations visibles par le modèle avant l'inférence.",{"term":1311,"anchor":1312,"definition":1313},"Récupération juste-à-temps","just-in-time-retrieval","Le chargement dynamique d'informations lorsque la tâche en cours l'exige, au lieu de précharger toutes les données potentiellement pertinentes.",{"term":1315,"anchor":1316,"definition":1317},"Compaction","compaction","La réduction du contexte accumulé en une représentation plus petite tout en tentant de préserver les informations nécessaires aux étapes futures.",{"term":1319,"anchor":1320,"definition":1321},"Pollution du contexte","context-pollution","La dégradation causée par des informations non pertinentes, obsolètes, contradictoires ou redondantes occupant le contexte de travail du modèle.",{"term":1323,"anchor":1324,"definition":1325},"État de l'application","application-state","La condition actuelle faisant autorité du système externe, du flux de travail ou du domaine, qui existe indépendamment du contexte du modèle.",{"term":376,"anchor":1327,"definition":1328},"memory","Les informations stockées en dehors de l'invocation immédiate du modèle en vue d'une utilisation possible dans des tours ou sessions ultérieurs.",{"term":1330,"anchor":1331,"definition":1332},"Contexte récupéré","retrieved-context","Les informations externes sélectionnées par un système de récupération et mises à la disposition du modèle, en tout ou en partie.",{"term":1334,"anchor":1335,"definition":1336},"Robustesse positionnelle","position-robustness","Le degré auquel l'exactitude du modèle reste stable lorsque l'emplacement ou l'ordre du contexte pertinent change.",{"term":1338,"anchor":1339,"definition":1340},"Frontière de validité","validity-boundary","La portée, le temps, les hypothèses, les versions et les conditions de preuve dans lesquels une conclusion reste étayée.",{},{"id":1343,"data":1344,"type":42,"tunes":1346},"h-conclusion",{"text":1345,"level":247},"Conclusion",{},{"id":1348,"data":1349,"type":218,"tunes":1351},"p-conclusion-1",{"text":1350},"L'ingénierie de contexte est la couche qui décide ce que le modèle peut voir avant de répondre. Cela la rend plus large que le prompting et en aval de la récupération, tout en restant distincte de la mémoire durable et de l'état faisant autorité de l'application.",{},{"id":1353,"data":1354,"type":218,"tunes":1356},"p-conclusion-2",{"text":1355},"Une architecture de contexte solide ne traite pas la fenêtre de contexte comme une base de données. Elle conserve l'état durable et les connaissances en dehors du modèle, charge ce qui est nécessaire à la décision en cours, préserve l'autorité et la provenance, élimine le bruit inutile et actualise les informations volatiles lorsque nécessaire.",{},{"id":1358,"data":1359,"type":218,"tunes":1361},"p-conclusion-3",{"text":1360},"L'objectif pratique n'est donc pas un contexte maximal. C'est un contexte minimal suffisant, à fort signal, correctement autorisé et préservant la validité pour la prochaine décision du modèle.",{},{"id":1363,"data":1364,"type":42,"tunes":1366},"h-sources",{"text":1365,"level":247},"Sources primaires et recommandations actuelles",{},{"id":1368,"data":1369,"type":218,"tunes":1371},"p-sources-note",{"text":1370},"Les sources ci-dessous étayent la terminologie actuelle de l'ingénierie de contexte, le comportement en contexte long et les modèles opérationnels de gestion du contexte. Les sections du projet constituent explicitement des preuves de mise en œuvre plutôt que des affirmations universelles.",{},{"id":1373,"data":1374,"type":1380,"tunes":1381},"src-anthropic",{"link":1375,"meta":1376},"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"image":1377,"title":1378,"description":1379},{"url":406},"Anthropic — Ingénierie de contexte efficace pour les agents IA","Recommandations d'ingénierie officielles définissant l'ingénierie de contexte, la récupération juste-à-temps, la compaction, la mémoire structurée et la curation du contexte pour les agents.","linkTool",{},{"id":1383,"data":1384,"type":1380,"tunes":1390},"src-openai-session",{"link":1385,"meta":1386},"https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Fagents_sdk\u002Fsession_memory",{"image":1387,"title":1388,"description":1389},{"url":406},"OpenAI — Ingénierie de contexte : gestion de la mémoire à court terme avec les sessions","Recommandations officielles de cookbook sur la gestion du contexte, l'élagage et la compression pour les sessions d'agents de longue durée.",{},{"id":1392,"data":1393,"type":1380,"tunes":1399},"src-openai-agents",{"link":1394,"meta":1395},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents",{"image":1396,"title":1397,"description":1398},{"url":406},"OpenAI — Guide des agents","Recommandations actuelles pour les développeurs OpenAI sur les environnements d'exécution des agents, le contexte entre les étapes et la responsabilité de l'orchestration.",{},{"id":1401,"data":1402,"type":1380,"tunes":1408},"src-lost-middle",{"link":1403,"meta":1404},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"image":1405,"title":1406,"description":1407},{"url":406},"Lost in the Middle : Comment les modèles de langage utilisent les contextes longs","Recherche montrant que la performance des modèles à contexte long peut dépendre fortement de la position des informations pertinentes dans l'entrée.",{},"2.31","L'ingénierie de contexte conçoit les informations qu'un modèle d'IA reçoit avant l'inférence, y compris les invites, la récupération, la mémoire, l'état de l'application, les résultats d'outils et l'historique des conversations.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers-1791480653258-018kcv.webp","what-is-context-engineering-what-the-model-receives-before-it-answers-1791480653258-018kcv","PUBLISHED","2026-10-08T13:29:00.000Z","2026-10-08T17:29:05.600Z","2026-10-08T17:43:15.694Z",{"en":1418,"de":1419,"sr":1420,"es":1421,"fr":1422,"it":1423,"ru":1424,"zh":1425},"\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers","\u002Fde\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers","\u002Fsr\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers","\u002Fes\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers","\u002Ffr\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers","\u002Fit\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers","\u002Fru\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers","\u002Fzh\u002Fblog\u002Fwhat-is-context-engineering-what-the-model-receives-before-it-answers",[1427,1431,1435],{"id":1428,"name":1429,"slug":1430},55,"Modèle de référence : Capacités LLM","llm-capability",{"id":1432,"name":1433,"slug":1434},64,"Architecture de l’information","information-architecture",{"id":1436,"name":1437,"slug":1438},88,"Versioning (prompts, modèles)","versioning",{"id":1440,"login":1441,"email":1442,"displayName":1443},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[1445,2457],{"lang":1446,"title":1447,"content":1448,"contentJson":1449,"excerpt":2456},"en","What Is Context Engineering? What the Model Receives Before It Answers","{\"time\":1791480654232,\"blocks\":[{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context engineering is the design of what information a language model receives at inference time, in what form, in what order and for how long. It is broader than prompt engineering because the model context can include system instructions, user messages, retrieved documents, tool results, memory, current application state, examples, structured data and intermediate artifacts. The goal is not to maximize the number of tokens, but to construct the smallest useful context that preserves the information, constraints and evidence needed for the current task.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"Prompt engineering asks \u003Cstrong>how should we instruct the model?\u003C\u002Fstrong> Context engineering asks \u003Cstrong>what should the model know right now, and how should that information be assembled?\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Retrieval, memory, state management, tool design, history trimming, compaction and ordering are therefore context-engineering mechanisms when they determine the tokens available to the model before it produces the next output.\"},\"tunes\":{}},{\"id\":\"boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Context is not the same as knowledge or memory\",\"body\":\"A system can know something without placing it in the current context. It can remember something outside the model window. It can retrieve a document but later exclude it from the final prompt. The model can only directly use the context that reaches the current inference.\"},\"tunes\":{}},{\"id\":\"current\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current-source note — 8 October 2026\",\"body\":\"Context engineering is now established practical terminology in major AI engineering guidance, but it is not a single formal standard with one mandatory architecture. Anthropic describes it as curating and maintaining the optimal set of tokens for inference; OpenAI's current agent guidance treats session context, trimming and compression as explicit engineering concerns for long-running systems.\"},\"tunes\":{}},{\"id\":\"toc\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"h-meaning\",\"type\":\"header\",\"data\":{\"text\":\"What context engineering really means\",\"level\":2},\"tunes\":{}},{\"id\":\"p-meaning-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Every model call is made under a temporary working environment: the current instructions, messages, retrieved evidence, tool outputs and state that fit into the active context window. Context engineering is the discipline of constructing that environment deliberately.\"},\"tunes\":{}},{\"id\":\"p-meaning-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The key word is deliberately. A naive system simply concatenates everything it has: full history, all retrieved documents, every tool response and large system prompts. A context-engineered system decides which information is required for the current decision and which information should remain outside the window until needed.\"},\"tunes\":{}},{\"id\":\"p-meaning-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"This makes context engineering partly an information-architecture problem, partly a runtime problem and partly an evaluation problem. The design must decide what can enter context, where it comes from, which version is current, how conflicts are resolved, how much detail is retained and how the result is tested.\"},\"tunes\":{}},{\"id\":\"h-simple\",\"type\":\"header\",\"data\":{\"text\":\"The simplest example\",\"level\":2},\"tunes\":{}},{\"id\":\"p-simple-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Imagine an internal support assistant. A user asks: “Can this customer cancel without a fee?”\"},\"tunes\":{}},{\"id\":\"p-simple-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The model might need five things: the current cancellation policy, the customer's current contract type, the effective contract date, the relevant exception rules and the user's authorization scope.\"},\"tunes\":{}},{\"id\":\"p-simple-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"It does not necessarily need the entire customer database, the full policy archive, every previous conversation or every support ticket. Context engineering is the process that selects and assembles the five useful pieces while excluding unrelated information.\"},\"tunes\":{}},{\"id\":\"simple-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"From application state to model context\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Understand the task\",\"description\":\"Classify what the current question requires and which information types can affect the answer.\"},{\"label\":\"2. Resolve authoritative state\",\"description\":\"Read current application or business state that should not be guessed from memory.\"},{\"label\":\"3. Retrieve supporting knowledge\",\"description\":\"Find the policy, documents or external evidence relevant to the specific task.\"},{\"label\":\"4. Apply eligibility and permissions\",\"description\":\"Exclude data the current user or runtime is not allowed to expose to the model.\"},{\"label\":\"5. Reduce and structure\",\"description\":\"Remove duplication, select useful excerpts and preserve critical metadata, conditions and exceptions.\"},{\"label\":\"6. Order the context\",\"description\":\"Place instructions, current state and decisive evidence where the model can use them consistently.\"},{\"label\":\"7. Run inference\",\"description\":\"The model receives the assembled context and produces the next answer or action proposal.\"}]},\"tunes\":{}},{\"id\":\"h-stops\",\"type\":\"header\",\"data\":{\"text\":\"Where the simple example stops\",\"level\":2},\"tunes\":{}},{\"id\":\"p-stops-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Real systems are more difficult because the information needed for one step may not be known before execution begins. An agent can discover new facts through tools, create intermediate files, receive changing external state or span a task longer than one context window.\"},\"tunes\":{}},{\"id\":\"p-stops-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context engineering therefore becomes dynamic. The context for step 12 should not simply be step 1 context plus eleven layers of accumulated output. It should reflect the current task state, the decisions that still matter and the evidence required for the next action.\"},\"tunes\":{}},{\"id\":\"h-anatomy\",\"type\":\"header\",\"data\":{\"text\":\"What can enter a model context?\",\"level\":2},\"tunes\":{}},{\"id\":\"anatomy-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Context component\",\"Purpose\",\"Typical risk\"],[\"System \u002F developer instructions\",\"Define role, constraints, policies and behavior\",\"Too vague, contradictory or overloaded with brittle logic\"],[\"Current user request\",\"Defines immediate task and intent\",\"Ambiguity or conflict with prior history\"],[\"Conversation history\",\"Preserves continuity across turns\",\"Stale assumptions, repetition and token growth\"],[\"Retrieved documents\",\"Provide external knowledge\u002Fevidence\",\"Irrelevance, stale versions, weak authority or duplication\"],[\"Current application state\",\"Supplies volatile business\u002Fsystem facts\",\"Using cached or remembered state instead of current authority\"],[\"Tool definitions\",\"Tell the model what capabilities exist and how to call them\",\"Too many overlapping tools or verbose schemas\"],[\"Tool results\",\"Bring observations from the environment into the loop\",\"Large noisy outputs, untrusted content or obsolete observations\"],[\"Memory\",\"Reintroduces selected information from previous interactions\",\"Staleness, incorrect generalization or over-personalization\"],[\"Examples\",\"Demonstrate desired behavior\",\"Too many edge cases can crowd out the current task\"],[\"Intermediate artifacts\",\"Carry plans, summaries, code, calculations or notes\",\"Old intermediate state may be mistaken for final truth\"],[\"Policies \u002F guardrails\",\"Define prohibited or constrained behavior\",\"Conflict with business logic or hidden enforcement gaps\"]]},\"tunes\":{}},{\"id\":\"h-prompt\",\"type\":\"header\",\"data\":{\"text\":\"Context engineering vs prompt engineering\",\"level\":2},\"tunes\":{}},{\"id\":\"prompt-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Prompt engineering and context engineering solve different layers\",\"layout\":\"table\",\"columns\":[{\"id\":\"prompt\",\"label\":\"Prompt engineering\"},{\"id\":\"context\",\"label\":\"Context engineering\"}],\"rows\":[{\"id\":\"focus\",\"label\":\"Primary focus\",\"values\":[\"\",\"\"]},{\"id\":\"scope\",\"label\":\"Typical scope\",\"values\":[\"\",\"\"]},{\"id\":\"timing\",\"label\":\"When it changes\",\"values\":[\"\",\"\"]},{\"id\":\"failure\",\"label\":\"Typical failure\",\"values\":[\"\",\"\"]},{\"id\":\"relationship\",\"label\":\"Relationship\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"p-prompt-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Anthropic explicitly describes context engineering as the natural progression of prompt engineering for systems in which the model must work with tools, external data, message history and long-running agent state. The practical distinction is useful because a perfectly written prompt cannot compensate for missing authoritative data or a context polluted by contradictory state.\"},\"tunes\":{}},{\"id\":\"h-retrieval\",\"type\":\"header\",\"data\":{\"text\":\"Context engineering vs retrieval\",\"level\":2},\"tunes\":{}},{\"id\":\"p-ret-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Retrieval selects candidate information from an external corpus or source. Context engineering decides what happens after and around that retrieval.\"},\"tunes\":{}},{\"id\":\"p-ret-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The retriever may return 30 passages. A reranker may reduce them to 10. The context layer may select four passages, remove duplicates, attach source\u002Fversion metadata, combine them with current application state and place them after the system instructions.\"},\"tunes\":{}},{\"id\":\"p-ret-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is why a RAG system can retrieve the correct passage and still answer badly: the failure may occur during context assembly rather than retrieval.\"},\"tunes\":{}},{\"id\":\"retrieval-boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"Retrieval finds candidates; context engineering constructs the model input\",\"body\":\"The correct retrieval result is only useful if it survives filtering, ordering, compression and token-budget decisions and actually reaches the model in a usable form.\"},\"tunes\":{}},{\"id\":\"h-memory\",\"type\":\"header\",\"data\":{\"text\":\"Context engineering vs memory\",\"level\":2},\"tunes\":{}},{\"id\":\"p-memory-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Memory is information preserved outside the immediate model invocation so it can be used again later. Context is the information actually loaded into the current invocation.\"},\"tunes\":{}},{\"id\":\"p-memory-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A memory system may contain thousands of facts, notes or prior decisions. Context engineering selects which of those should be reintroduced for the current task. Loading all memory on every turn defeats the purpose of having an external memory layer.\"},\"tunes\":{}},{\"id\":\"p-memory-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The distinction becomes crucial for volatile state. A remembered project status or user preference can be useful, but current authoritative state may need to be re-read before a consequential decision.\"},\"tunes\":{}},{\"id\":\"ref-memory\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context\",\"title\":\"AI Agent Memory Is Not RAG: How to Separate Memory, Retrieval, State and Context\",\"excerpt\":\"A practical architecture separating what persists, what is authoritative now, what is retrieved and what the model actually receives.\",\"ctaLabel\":\"Read the memory architecture article\"},\"tunes\":{}},{\"id\":\"h-state\",\"type\":\"header\",\"data\":{\"text\":\"Context engineering vs application state\",\"level\":2},\"tunes\":{}},{\"id\":\"p-state-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Application state is the current condition of the outside system: account balance, ticket status, file version, workflow stage, deployment state or task progress.\"},\"tunes\":{}},{\"id\":\"p-state-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"State can be summarized into context, but the summary is not the state itself. For consequential operations, the runtime may need to re-read the authoritative system immediately before the action rather than trust an earlier model-visible snapshot.\"},\"tunes\":{}},{\"id\":\"state-rule\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Context is a snapshot\",\"body\":\"Once state is copied into a prompt, it can become stale. Context engineering must define when volatile state needs refreshing and which operations require a new authoritative read.\"},\"tunes\":{}},{\"id\":\"h-tools\",\"type\":\"header\",\"data\":{\"text\":\"Tool design is part of context engineering\",\"level\":2},\"tunes\":{}},{\"id\":\"p-tools-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tools do more than give agents capabilities. Tool names, descriptions, schemas and results become model-visible information that shapes decisions.\"},\"tunes\":{}},{\"id\":\"p-tools-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Anthropic's current context-engineering guidance emphasizes token-efficient tools and warns against bloated tool sets with overlapping functionality. A tool catalog that is difficult for a human to distinguish is also difficult for a model to route reliably.\"},\"tunes\":{}},{\"id\":\"p-tools-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tool outputs also need context discipline. Returning an entire 20,000-line log when the agent requested one error condition consumes attention and can bury the decisive evidence.\"},\"tunes\":{}},{\"id\":\"h-jit\",\"type\":\"header\",\"data\":{\"text\":\"Just-in-time context vs preloaded context\",\"level\":2},\"tunes\":{}},{\"id\":\"jit-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Two ways to supply information\",\"layout\":\"table\",\"columns\":[{\"id\":\"preload\",\"label\":\"Preloaded context\"},{\"id\":\"jit\",\"label\":\"Just-in-time context\"}],\"rows\":[{\"id\":\"method\",\"label\":\"Method\",\"values\":[\"\",\"\"]},{\"id\":\"strength\",\"label\":\"Strength\",\"values\":[\"\",\"\"]},{\"id\":\"risk\",\"label\":\"Risk\",\"values\":[\"\",\"\"]},{\"id\":\"best\",\"label\":\"Useful when\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"p-jit-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Anthropic describes a hybrid pattern in which some stable context is preloaded while agents retrieve additional information at runtime. This is a useful architecture pattern because not every important fact deserves permanent residency in the context window.\"},\"tunes\":{}},{\"id\":\"h-budget\",\"type\":\"header\",\"data\":{\"text\":\"Context is a budget, not a storage system\",\"level\":2},\"tunes\":{}},{\"id\":\"p-budget-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A context window defines capacity. It does not guarantee that every token will be used equally well. The model must distribute attention across instructions, history, evidence, tools and intermediate state.\"},\"tunes\":{}},{\"id\":\"p-budget-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The practical objective is therefore not “fill the window.” It is to maximize the utility of the limited attention budget.\"},\"tunes\":{}},{\"id\":\"p-budget-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Anthropic formulates a similar principle as finding the smallest high-signal set of tokens that maximizes the probability of the desired behavior. OpenAI's context-management guidance likewise warns that uncurated history, redundant tool results and noisy retrieval can overwhelm even large windows.\"},\"tunes\":{}},{\"id\":\"h-more\",\"type\":\"header\",\"data\":{\"text\":\"Why more context can be worse\",\"level\":2},\"tunes\":{}},{\"id\":\"p-more-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Additional context can introduce irrelevant information, stale state, duplicate evidence, contradictory instructions or positional competition. It can also cause compaction systems to discard details that later become important.\"},\"tunes\":{}},{\"id\":\"p-more-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The classic Lost in the Middle study demonstrated that long-context models can use information differently depending on where relevant content appears, with performance often degrading when decisive information is placed in the middle of long inputs.\"},\"tunes\":{}},{\"id\":\"p-more-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"This does not mean long context is inherently bad. It means availability inside the window is not the same as reliable utilization.\"},\"tunes\":{}},{\"id\":\"h-order\",\"type\":\"header\",\"data\":{\"text\":\"Context ordering should be intentional\",\"level\":2},\"tunes\":{}},{\"id\":\"p-order-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context construction is also an ordering problem. Critical instructions, current state, decisive evidence and task-specific constraints should not be concatenated arbitrarily.\"},\"tunes\":{}},{\"id\":\"p-order-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"There is no universal perfect ordering for every model and task. The architecture should therefore test whether reordering evidence changes correctness and whether important information remains robust across realistic context variations.\"},\"tunes\":{}},{\"id\":\"p-order-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A stable answer that changes dramatically when two equally valid passages swap positions indicates context sensitivity that should be measured rather than ignored.\"},\"tunes\":{}},{\"id\":\"h-conflict\",\"type\":\"header\",\"data\":{\"text\":\"Conflicting context needs explicit precedence\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conflict-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A model may receive an old policy and a new policy, a remembered preference and a current explicit instruction, or a cached status and a live API result. The system should not expect the model to infer precedence from prose style.\"},\"tunes\":{}},{\"id\":\"p-conflict-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context engineering should encode precedence through source selection, metadata, ordering or explicit instructions: current authoritative state overrides stale copies; explicit current user instruction overrides older inferred preference; approved policy supersedes obsolete drafts.\"},\"tunes\":{}},{\"id\":\"conflict-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Conflict\",\"Preferred context rule\"],[\"Current state vs remembered state\",\"Refresh and prefer the authoritative current source.\"],[\"Current policy vs superseded policy\",\"Include current version; keep old version only when historical comparison is required.\"],[\"Explicit user instruction vs old inferred preference\",\"Prefer the current explicit instruction.\"],[\"Primary source vs secondary summary\",\"Use primary source for claims that require authority; summary may support explanation.\"],[\"Tool observation vs model prior\",\"Prefer current observed state when the tool is authoritative for that fact.\"],[\"Two unresolved authoritative sources\",\"Expose the conflict rather than fabricating one consistent answer.\"]]},\"tunes\":{}},{\"id\":\"h-compaction\",\"type\":\"header\",\"data\":{\"text\":\"Compaction is context transformation, not lossless storage\",\"level\":2},\"tunes\":{}},{\"id\":\"p-comp-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Long-running systems eventually need to trim, summarize or compact history. Compaction creates a new representation of prior context so the agent can continue without replaying every token.\"},\"tunes\":{}},{\"id\":\"p-comp-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"OpenAI's context-management examples use trimming and compression for long-running sessions. Anthropic describes compaction as a primary technique for maintaining coherence when an interaction approaches the context limit.\"},\"tunes\":{}},{\"id\":\"p-comp-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The difficult part is deciding what cannot be safely removed: unresolved tasks, identifiers, user constraints, security boundaries, architecture decisions, exceptions, source provenance and the conditions that make a previous conclusion valid.\"},\"tunes\":{}},{\"id\":\"compaction-rule\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"A summary can preserve the conclusion and destroy the reason\",\"body\":\"If compaction keeps “use approach X” but discards why X was chosen, which version was tested or what condition would invalidate it, later responses can remain internally consistent while becoming externally wrong.\"},\"tunes\":{}},{\"id\":\"h-validity\",\"type\":\"header\",\"data\":{\"text\":\"Preserve validity boundaries\",\"level\":2},\"tunes\":{}},{\"id\":\"p-validity-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Important conclusions should carry the conditions under which they remain supported: version, date, scope, assumptions, source authority and unresolved disagreement.\"},\"tunes\":{}},{\"id\":\"p-validity-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context engineering is therefore connected to the Answer Validity Boundary. The context assembler should not strip away the metadata that determines whether evidence still applies.\"},\"tunes\":{}},{\"id\":\"ref-avb\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers\",\"title\":\"The Answer Validity Boundary: The Missing Layer Between Relevance and Reliable AI Answers\",\"excerpt\":\"A framework for preserving the scope, assumptions, versions and evidence conditions under which an AI claim remains supported.\",\"ctaLabel\":\"Read the Answer Validity Boundary\"},\"tunes\":{}},{\"id\":\"h-security\",\"type\":\"header\",\"data\":{\"text\":\"Context engineering is also a security boundary\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sec-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Data that reaches the model has crossed an important system boundary. Context assembly must therefore respect authorization, tenant isolation, confidentiality and data-minimization rules.\"},\"tunes\":{}},{\"id\":\"p-sec-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A retriever may technically find a passage the current user cannot access. The correct design is to prevent that passage from entering model context rather than rely on the model to ignore it.\"},\"tunes\":{}},{\"id\":\"p-sec-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tool outputs can also contain untrusted instructions or adversarial content. Context engineering should preserve the distinction between application instructions and external data so retrieved text cannot silently acquire instruction authority.\"},\"tunes\":{}},{\"id\":\"h-architecture\",\"type\":\"header\",\"data\":{\"text\":\"A practical context-engineering architecture\",\"level\":2},\"tunes\":{}},{\"id\":\"arch-note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Proposed architecture model\",\"body\":\"The following layers are a practical synthesis for production systems, not a formal industry standard. The purpose is to keep information ownership separate from the temporary model-facing context.\"},\"tunes\":{}},{\"id\":\"arch-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Layer\",\"Responsibility\"],[\"Authoritative systems\",\"Own current business\u002Fsystem state and official records.\"],[\"Knowledge sources\",\"Own documents, policies, specifications, research or external evidence.\"],[\"Memory store\",\"Preserves selected information across turns or sessions.\"],[\"Retrieval layer\",\"Locates task-relevant candidates from external sources.\"],[\"Tool\u002Fruntime layer\",\"Reads state, performs actions and returns observations.\"],[\"Context assembler\",\"Selects, filters, deduplicates, orders and formats model-visible information.\"],[\"Model\",\"Reasons and generates over the assembled context.\"],[\"Validation\u002Fevaluation\",\"Checks whether selected context and resulting output satisfy task-specific requirements.\"]]},\"tunes\":{}},{\"id\":\"p-arch-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The context assembler is conceptually important even when no module has that exact name. In a small application it may be ordinary application code. In a large agent platform it may combine session management, retrieval, memory, tool middleware, compaction and policy enforcement.\"},\"tunes\":{}},{\"id\":\"h-policy\",\"type\":\"header\",\"data\":{\"text\":\"A practical context construction policy\",\"level\":2},\"tunes\":{}},{\"id\":\"policy-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Rule\",\"Why it matters\"],[\"Start from the current task\",\"Do not carry information merely because it existed earlier.\"],[\"Re-read volatile state\",\"Memory and old context can be stale.\"],[\"Retrieve just enough evidence\",\"Large candidate sets can dilute decisive information.\"],[\"Preserve source metadata\",\"Version, date and authority determine whether evidence still applies.\"],[\"Remove duplicate content\",\"Redundancy consumes tokens without adding information.\"],[\"Prefer structured summaries for large tool output\",\"Expose decisive fields instead of raw noise where fidelity permits.\"],[\"Keep rules with exceptions\",\"Separating a rule from its exception creates false certainty.\"],[\"Make precedence explicit\",\"Do not ask the model to infer which conflicting source wins.\"],[\"Keep durable state outside context\",\"Context is temporary working memory, not the database.\"],[\"Compact with retention tests\",\"Verify that identifiers, constraints, provenance and unresolved state survive.\"],[\"Measure order sensitivity\",\"Correctness should not depend accidentally on arbitrary document ordering.\"],[\"Evaluate context separately from model quality\",\"A stronger model cannot compensate reliably for missing or unauthorized evidence.\"]]},\"tunes\":{}},{\"id\":\"h-eval\",\"type\":\"header\",\"data\":{\"text\":\"How to evaluate context engineering\",\"level\":2},\"tunes\":{}},{\"id\":\"eval-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Property\",\"Question\",\"Example test\"],[\"Sufficiency\",\"Does the context contain everything required to solve the task?\",\"Remove one evidence item and observe whether the answer becomes unsupported.\"],[\"Relevance\",\"How much context is unnecessary for the task?\",\"Measure quality as irrelevant passages are added or removed.\"],[\"Authority\",\"Are decisive claims grounded in the correct source class?\",\"Inject a more fluent but non-authoritative conflicting source.\"],[\"Freshness\",\"Does current state override stale copies?\",\"Change authoritative state after a previous turn and rerun.\"],[\"Position robustness\",\"Does answer quality depend strongly on evidence position?\",\"Randomize candidate ordering across repeated trials.\"],[\"Conflict handling\",\"Does the model follow explicit precedence rules?\",\"Present old and new state together.\"],[\"Compaction retention\",\"Does summarization preserve constraints and validity boundaries?\",\"Compare pre\u002Fpost-compaction task performance.\"],[\"Token efficiency\",\"Does extra context improve quality enough to justify latency\u002Fcost?\",\"Run controlled context-size ablations.\"],[\"Security\",\"Can unauthorized or adversarial content enter model context?\",\"Test tenant, permission and prompt-injection boundaries.\"]]},\"tunes\":{}},{\"id\":\"h-rag-diagnostic\",\"type\":\"header\",\"data\":{\"text\":\"Context assembly is a distinct RAG failure layer\",\"level\":2},\"tunes\":{}},{\"id\":\"p-ragdiag-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A RAG pipeline can succeed at retrieval and still fail downstream. The relevant source may appear at rank 2, yet the context assembler can drop it, truncate it, combine it with stale contradictory material or exceed the token budget.\"},\"tunes\":{}},{\"id\":\"p-ragdiag-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is why retrieval traces should be compared with the actual context sent to the model. Without that comparison, context failures are easily misdiagnosed as embedding or model failures.\"},\"tunes\":{}},{\"id\":\"ref-ragfail\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method\",\"title\":\"RAG Failed — But Which Layer Actually Failed? A Diagnostic Method\",\"excerpt\":\"A layer-by-layer approach to separating source coverage, retrieval, ranking, context assembly, generation, evidence attribution and freshness failures.\",\"ctaLabel\":\"Read the RAG diagnostic method\"},\"tunes\":{}},{\"id\":\"h-implementation\",\"type\":\"header\",\"data\":{\"text\":\"Original implementation evidence\",\"level\":2},\"tunes\":{}},{\"id\":\"h-sot-engine\",\"type\":\"header\",\"data\":{\"text\":\"Source of Truth Research Engine: bounded research instead of unlimited context\",\"level\":3},\"tunes\":{}},{\"id\":\"p-sot-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The Source of Truth Research Engine separates discovery, acquisition, extraction, verification, contradiction analysis and synthesis into bounded research stages instead of sending one huge research task and all accumulated material into a single model call.\"},\"tunes\":{}},{\"id\":\"p-sot-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Its evidence model stores Sources, Artifacts, Claims, Relations, Contradictions and provenance outside the model context. The model can receive the subset needed for the current research step while durable evidence remains in the external store.\"},\"tunes\":{}},{\"id\":\"p-sot-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is a concrete context-engineering pattern: durable research state lives outside the model window; the active model context is reconstructed for the current stage.\"},\"tunes\":{}},{\"id\":\"h-ai-client\",\"type\":\"header\",\"data\":{\"text\":\"Aaasaasa AI Client: runtime, permissions and context are separate concerns\",\"level\":3},\"tunes\":{}},{\"id\":\"p-client-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Aaasaasa AI Client separates provider\u002Fmodel selection, runtime location, workspace permissions, local resources and tool access. This prevents the model context from becoming the owner of authorization or application state.\"},\"tunes\":{}},{\"id\":\"p-client-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Direct Chat and agentic runtimes can have different tool capabilities. Workspace permission profiles are enforced by the runtime rather than merely described in natural-language context. This distinction is important: context can tell a model what it should do, while the runtime must still enforce what it is actually allowed to do.\"},\"tunes\":{}},{\"id\":\"p-client-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The implementation evidence here is architectural separation, not a claim that every advanced context-management technique described in this article is already implemented.\"},\"tunes\":{}},{\"id\":\"impl-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Implementation pattern\",\"Context-engineering lesson\"],[\"External evidence store\",\"Durable knowledge does not need to remain in the model window.\"],[\"Bounded research stages\",\"Different steps can receive different context instead of accumulating one giant history.\"],[\"Claims + provenance outside context\",\"Evidence identity survives beyond temporary inference state.\"],[\"Runtime-enforced permissions\",\"Security authority does not depend on the model remembering an instruction.\"],[\"Separate local\u002Fprovider\u002Fmodel\u002Fruntime concepts\",\"Context is only one layer of the wider AI application architecture.\"]]},\"tunes\":{}},{\"id\":\"impl-boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Evidence boundary\",\"body\":\"These implementations support the architectural separation between durable state, retrieval, runtime controls and model-facing context. They are not presented as benchmark proof that one context strategy is universally optimal.\"},\"tunes\":{}},{\"id\":\"h-failures\",\"type\":\"header\",\"data\":{\"text\":\"Common context-engineering failure modes\",\"level\":2},\"tunes\":{}},{\"id\":\"failure-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Failure mode\",\"What goes wrong\"],[\"Replay the entire conversation forever\",\"Old assumptions, repetition and token growth overwhelm current intent.\"],[\"Put every retrieved result into the prompt\",\"Noise, duplication and conflicting versions dilute decisive evidence.\"],[\"Use memory as current state\",\"Stale information silently replaces authoritative live state.\"],[\"Return raw tool output\",\"Large logs or responses consume attention without adding decision value.\"],[\"Hide tool descriptions behind vague names\",\"The model cannot reliably decide which capability to use.\"],[\"Compact without retention tests\",\"Critical constraints, identifiers or exceptions disappear.\"],[\"Mix instructions and untrusted data\",\"External content can be interpreted as higher-authority instruction.\"],[\"Use one static context template for every task\",\"Different tasks receive irrelevant information and miss task-specific evidence.\"],[\"Ignore source version\u002Fdate\",\"Stale but relevant evidence can dominate current authoritative state.\"],[\"Treat a larger context window as a quality guarantee\",\"Capacity increases while attention and conflict problems remain.\"]]},\"tunes\":{}},{\"id\":\"h-misconceptions\",\"type\":\"header\",\"data\":{\"text\":\"Common misconceptions\",\"level\":2},\"tunes\":{}},{\"id\":\"misconceptions-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Misconception\",\"Correction\"],[\"“Context engineering is just prompt engineering with a new name.”\",\"Prompts are one component; context engineering also covers retrieval, memory, state, tool results, history and compaction.\"],[\"“Context means chat history.”\",\"History is only one possible context source.\"],[\"“More context is always better.”\",\"Additional information can reduce signal, introduce conflicts and increase cost.\"],[\"“If retrieval found it, the model saw it.”\",\"Retrieved candidates can be filtered, truncated or omitted before inference.\"],[\"“Long context removes the need for RAG.”\",\"Large windows increase capacity but do not solve freshness, authority, permissions or dynamic retrieval.\"],[\"“Memory should always be loaded.”\",\"Memory should be selected according to the current task.\"],[\"“A summary preserves everything important.”\",\"Compaction is lossy unless explicitly evaluated for retention.\"],[\"“Instructions can enforce permissions.”\",\"Authorization must be enforced by runtime\u002Fapplication controls, not only by context.\"],[\"“One context recipe works for every model.”\",\"Context sensitivity varies by model, task, corpus and runtime.\"],[\"“Context engineering is only for agents.”\",\"Agents amplify the need, but ordinary RAG and conversational applications also require context construction.\"]]},\"tunes\":{}},{\"id\":\"h-sequence\",\"type\":\"header\",\"data\":{\"text\":\"A practical context-engineering sequence\",\"level\":2},\"tunes\":{}},{\"id\":\"design-sequence\",\"type\":\"processFlow\",\"data\":{\"title\":\"Construct context from the current decision backward\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Define the next model decision\",\"description\":\"Specify what the model must answer, classify, plan or choose at this step.\"},{\"label\":\"2. Identify required facts and constraints\",\"description\":\"List the minimum state, rules, evidence and instructions that can materially change the result.\"},{\"label\":\"3. Resolve authority and permissions\",\"description\":\"Determine which sources are current, authoritative and accessible to the current principal.\"},{\"label\":\"4. Retrieve or read on demand\",\"description\":\"Acquire the necessary evidence and volatile state rather than relying on stale context.\"},{\"label\":\"5. Reduce noise\",\"description\":\"Deduplicate, summarize or select passages without discarding decisive exceptions or provenance.\"},{\"label\":\"6. Structure and order\",\"description\":\"Make instructions, current state, evidence and tool observations distinguishable.\"},{\"label\":\"7. Fit the token budget\",\"description\":\"Prefer high-signal context and move durable information outside the window.\"},{\"label\":\"8. Run the model\",\"description\":\"Execute inference over the assembled context.\"},{\"label\":\"9. Observe failures\",\"description\":\"Capture whether the problem came from missing, stale, noisy, conflicting or poorly ordered context.\"},{\"label\":\"10. Re-evaluate after model\u002Fruntime changes\",\"description\":\"A context strategy is only valid for the models, tools and workloads on which it was tested.\"}]},\"tunes\":{}},{\"id\":\"h-checklist\",\"type\":\"header\",\"data\":{\"text\":\"Context-engineering checklist\",\"level\":2},\"tunes\":{}},{\"id\":\"checklist-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Question\",\"Expected answer\"],[\"What exact decision will the model make next?\",\"A bounded task, not a vague long-term objective.\"],[\"Which information can materially change that decision?\",\"Explicit minimum evidence\u002Fstate set.\"],[\"Which data is authoritative now?\",\"Current source\u002Fversion and freshness rule.\"],[\"Which data is optional background?\",\"Separated from decisive evidence.\"],[\"What must not enter context?\",\"Unauthorized, unnecessary or overly sensitive data.\"],[\"Which memory items are relevant?\",\"Selected by task, not replayed automatically.\"],[\"Which tool outputs should be reduced?\",\"Large responses are transformed into decision-relevant form.\"],[\"Which constraints must survive compaction?\",\"Identifiers, exceptions, obligations, unresolved state and provenance.\"],[\"How is precedence represented?\",\"Current\u002Fauthoritative information can reliably override stale or weaker sources.\"],[\"How will you know context failed?\",\"Context-specific evals and traces exist.\"],[\"Can the answer be reproduced?\",\"Model input or reconstructable context trace is available where appropriate.\"],[\"Can a stronger or larger model change the strategy?\",\"Context policy is version-aware and reevaluated empirically.\"]]},\"tunes\":{}},{\"id\":\"h-edge\",\"type\":\"header\",\"data\":{\"text\":\"Edge cases and limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-edge-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some tasks are simple enough that context engineering reduces to a short system prompt and one user message. Adding retrieval, memory and compaction would only introduce unnecessary architecture.\"},\"tunes\":{}},{\"id\":\"p-edge-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some tasks require high recall and may intentionally include more context before later synthesis. Research, discovery and legal review can prefer omission avoidance over minimal token count.\"},\"tunes\":{}},{\"id\":\"p-edge-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some information should never be summarized before use. Exact contracts, code, cryptographic material, numerical records and regulatory text may require verbatim or structured retrieval where compression could alter meaning.\"},\"tunes\":{}},{\"id\":\"p-edge-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"Long-context behavior varies substantially between models. A strategy validated on one model, context length or tool harness should not automatically be transferred to another.\"},\"tunes\":{}},{\"id\":\"p-edge-5\",\"type\":\"paragraph\",\"data\":{\"text\":\"The model can still ignore or misinterpret excellent context. Context engineering improves the information environment; it does not guarantee reasoning correctness.\"},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Future models may become more robust to long context, positional effects and conflicting information. That could reduce the amount of manual curation required.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The architectural distinction would still remain useful because permissions, freshness, memory persistence, source authority and external application state exist outside the model regardless of context-window size.\"},\"tunes\":{}},{\"id\":\"p-change-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The recommended balance between preloaded and just-in-time context also changes with latency requirements, tool reliability, corpus size, model cost and how dynamic the underlying information is.\"},\"tunes\":{}},{\"id\":\"h-related\",\"type\":\"header\",\"data\":{\"text\":\"Related canonical knowledge\",\"level\":2},\"tunes\":{}},{\"id\":\"p-related-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context engineering sits between retrieval and generation. RAG explains how external knowledge is retrieved; R01 separates embeddings, vector search and reranking; context engineering explains what eventually reaches the model.\"},\"tunes\":{}},{\"id\":\"ref-rag\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works\",\"title\":\"What Is RAG? The Simplest Explanation of How It Works\",\"excerpt\":\"The retrieval foundation for understanding how external knowledge can be supplied to a model before generation.\",\"ctaLabel\":\"Read the RAG foundation\"},\"tunes\":{}},{\"id\":\"p-related-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Source-of-Truth architecture answers a different question: not which information is present in context, but which source is authorized to establish a claim.\"},\"tunes\":{}},{\"id\":\"p-related-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The existing article Why More Context Can Make AI Answers Worse is the diagnostic companion to this canonical definition. It focuses on context pollution, position effects, top-k growth, compaction loss and answer degradation rather than redefining context engineering itself.\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"Frequently asked questions\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"Context engineering FAQ\",\"items\":[{\"id\":\"faq1\",\"question\":\"What is context engineering?\",\"answer\":\"Context engineering is the design and runtime management of what information a language model receives at inference time, including instructions, history, retrieved evidence, memory, state, tools and tool results.\"},{\"id\":\"faq2\",\"question\":\"How is context engineering different from prompt engineering?\",\"answer\":\"Prompt engineering focuses on how instructions and examples are written. Context engineering includes prompts but also decides which external information, state, history, memory and tool observations are placed around them.\"},{\"id\":\"faq3\",\"question\":\"Is RAG the same as context engineering?\",\"answer\":\"No. RAG retrieves external information. Context engineering decides how retrieved information is filtered, combined with other state and actually delivered to the model.\"},{\"id\":\"faq4\",\"question\":\"Is memory the same as context?\",\"answer\":\"No. Memory persists information outside the current model call. Context is the subset of information loaded into the current inference.\"},{\"id\":\"faq5\",\"question\":\"Why can more context make an answer worse?\",\"answer\":\"Additional context can introduce noise, stale state, conflicting evidence, duplication and positional competition. Large context capacity does not guarantee equally reliable use of every token.\"},{\"id\":\"faq6\",\"question\":\"What is context compaction?\",\"answer\":\"Compaction summarizes or transforms accumulated history into a smaller representation so a long-running system can continue without replaying every prior token.\"},{\"id\":\"faq7\",\"question\":\"Should current application state be stored in context?\",\"answer\":\"It can be represented in context for reasoning, but consequential operations should often re-read the authoritative source because context snapshots can become stale.\"},{\"id\":\"faq8\",\"question\":\"Is context engineering only needed for AI agents?\",\"answer\":\"No. Agents make context management more dynamic, but RAG systems, assistants, copilots and multi-turn applications also need deliberate context construction.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key context-engineering terms\",\"entries\":[{\"term\":\"Context engineering\",\"definition\":\"The design and runtime management of the information supplied to a language model for a particular inference step.\",\"anchor\":\"context-engineering\"},{\"term\":\"Context window\",\"definition\":\"The model's finite token capacity for the input and, depending on the model interface, associated generated tokens or active sequence.\",\"anchor\":\"context-window\"},{\"term\":\"Prompt engineering\",\"definition\":\"The design of instructions, examples and prompt structure intended to elicit useful model behavior.\",\"anchor\":\"prompt-engineering\"},{\"term\":\"Context assembly\",\"definition\":\"The process of selecting, filtering, ordering and formatting model-visible information before inference.\",\"anchor\":\"context-assembly\"},{\"term\":\"Just-in-time retrieval\",\"definition\":\"Loading information dynamically when the current task requires it instead of preloading all potentially relevant data.\",\"anchor\":\"just-in-time-retrieval\"},{\"term\":\"Compaction\",\"definition\":\"Reducing accumulated context into a smaller representation while attempting to preserve information needed for future steps.\",\"anchor\":\"compaction\"},{\"term\":\"Context pollution\",\"definition\":\"Degradation caused by irrelevant, stale, contradictory or redundant information occupying the model's working context.\",\"anchor\":\"context-pollution\"},{\"term\":\"Application state\",\"definition\":\"The current authoritative condition of the external system, workflow or domain that exists independently of the model context.\",\"anchor\":\"application-state\"},{\"term\":\"Memory\",\"definition\":\"Information stored outside the immediate model invocation for possible use in later turns or sessions.\",\"anchor\":\"memory\"},{\"term\":\"Retrieved context\",\"definition\":\"External information selected by a retrieval system and made available, wholly or partly, to the model.\",\"anchor\":\"retrieved-context\"},{\"term\":\"Position robustness\",\"definition\":\"The degree to which model correctness remains stable when the location or order of relevant context changes.\",\"anchor\":\"position-robustness\"},{\"term\":\"Validity boundary\",\"definition\":\"The scope, time, assumptions, versions and evidence conditions within which a conclusion remains supported.\",\"anchor\":\"validity-boundary\"}]},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conclusion-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Context engineering is the layer that decides what the model gets to see before it answers. That makes it broader than prompting and downstream of retrieval, while remaining distinct from durable memory and authoritative application state.\"},\"tunes\":{}},{\"id\":\"p-conclusion-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A strong context architecture does not treat the context window as a database. It keeps durable state and knowledge outside the model, loads what is required for the current decision, preserves authority and provenance, removes unnecessary noise and refreshes volatile information when needed.\"},\"tunes\":{}},{\"id\":\"p-conclusion-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The practical objective is therefore not maximum context. It is minimum sufficient, high-signal, correctly authorized and validity-preserving context for the next model decision.\"},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources and current guidance\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sources-note\",\"type\":\"paragraph\",\"data\":{\"text\":\"The sources below support the current context-engineering terminology, long-context behavior and operational context-management patterns. Project sections are explicitly implementation evidence rather than universal claims.\"},\"tunes\":{}},{\"id\":\"src-anthropic\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Anthropic — Effective context engineering for AI agents\",\"description\":\"Official engineering guidance defining context engineering, just-in-time retrieval, compaction, structured memory and context curation for agents.\"}},\"tunes\":{}},{\"id\":\"src-openai-session\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Fagents_sdk\u002Fsession_memory\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Context Engineering: Short-Term Memory Management with Sessions\",\"description\":\"Official cookbook guidance on context management, trimming and compression for long-running agent sessions.\"}},\"tunes\":{}},{\"id\":\"src-openai-agents\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Agents guide\",\"description\":\"Current OpenAI developer guidance on agent runtimes, context across steps and orchestration ownership.\"}},\"tunes\":{}},{\"id\":\"src-lost-middle\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Lost in the Middle: How Language Models Use Long Contexts\",\"description\":\"Research showing that long-context model performance can depend strongly on the position of relevant information in the input.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1450,"blocks":1451,"version":2455},1791480654232,[1452,1456,1461,1466,1471,1475,1479,1483,1487,1491,1495,1499,1503,1507,1533,1537,1541,1545,1549,1601,1605,1630,1634,1638,1642,1646,1650,1655,1659,1663,1667,1671,1678,1682,1686,1690,1695,1699,1703,1707,1711,1715,1737,1741,1745,1749,1753,1757,1761,1765,1769,1773,1777,1781,1785,1789,1793,1797,1801,1826,1830,1834,1838,1842,1847,1851,1855,1859,1866,1870,1874,1878,1882,1886,1891,1922,1926,1930,1973,1977,2020,2024,2028,2032,2039,2043,2047,2051,2055,2059,2063,2067,2071,2075,2097,2102,2106,2143,2147,2183,2187,2222,2226,2268,2272,2276,2280,2284,2288,2292,2296,2300,2304,2308,2312,2316,2323,2327,2331,2335,2364,2368,2404,2407,2411,2415,2419,2423,2427,2434,2441,2448],{"id":215,"data":1453,"type":218,"tunes":1455},{"text":1454},"Context engineering is the design of what information a language model receives at inference time, in what form, in what order and for how long. It is broader than prompt engineering because the model context can include system instructions, user messages, retrieved documents, tool results, memory, current application state, examples, structured data and intermediate artifacts. The goal is not to maximize the number of tokens, but to construct the smallest useful context that preserves the information, constraints and evidence needed for the current task.",{},{"id":221,"data":1457,"type":226,"tunes":1460},{"body":1458,"title":1459,"variant":225},"Prompt engineering asks \u003Cstrong>how should we instruct the model?\u003C\u002Fstrong> Context engineering asks \u003Cstrong>what should the model know right now, and how should that information be assembled?\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Retrieval, memory, state management, tool design, history trimming, compaction and ordering are therefore context-engineering mechanisms when they determine the tokens available to the model before it produces the next output.","Direct answer",{},{"id":229,"data":1462,"type":226,"tunes":1465},{"body":1463,"title":1464,"variant":233},"A system can know something without placing it in the current context. It can remember something outside the model window. It can retrieve a document but later exclude it from the final prompt. The model can only directly use the context that reaches the current inference.","Context is not the same as knowledge or memory",{},{"id":236,"data":1467,"type":226,"tunes":1470},{"body":1468,"title":1469,"variant":240},"Context engineering is now established practical terminology in major AI engineering guidance, but it is not a single formal standard with one mandatory architecture. Anthropic describes it as curating and maintaining the optimal set of tokens for inference; OpenAI's current agent guidance treats session context, trimming and compression as explicit engineering concerns for long-running systems.","Current-source note — 8 October 2026",{},{"id":243,"data":1472,"type":248,"tunes":1474},{"title":1473,"maxLevel":246,"minLevel":247},"Contents",{},{"id":251,"data":1476,"type":42,"tunes":1478},{"text":1477,"level":247},"What context engineering really means",{},{"id":256,"data":1480,"type":218,"tunes":1482},{"text":1481},"Every model call is made under a temporary working environment: the current instructions, messages, retrieved evidence, tool outputs and state that fit into the active context window. Context engineering is the discipline of constructing that environment deliberately.",{},{"id":261,"data":1484,"type":218,"tunes":1486},{"text":1485},"The key word is deliberately. A naive system simply concatenates everything it has: full history, all retrieved documents, every tool response and large system prompts. A context-engineered system decides which information is required for the current decision and which information should remain outside the window until needed.",{},{"id":266,"data":1488,"type":218,"tunes":1490},{"text":1489},"This makes context engineering partly an information-architecture problem, partly a runtime problem and partly an evaluation problem. The design must decide what can enter context, where it comes from, which version is current, how conflicts are resolved, how much detail is retained and how the result is tested.",{},{"id":271,"data":1492,"type":42,"tunes":1494},{"text":1493,"level":247},"The simplest example",{},{"id":276,"data":1496,"type":218,"tunes":1498},{"text":1497},"Imagine an internal support assistant. A user asks: “Can this customer cancel without a fee?”",{},{"id":281,"data":1500,"type":218,"tunes":1502},{"text":1501},"The model might need five things: the current cancellation policy, the customer's current contract type, the effective contract date, the relevant exception rules and the user's authorization scope.",{},{"id":286,"data":1504,"type":218,"tunes":1506},{"text":1505},"It does not necessarily need the entire customer database, the full policy archive, every previous conversation or every support ticket. Context engineering is the process that selects and assembles the five useful pieces while excluding unrelated information.",{},{"id":291,"data":1508,"type":317,"tunes":1532},{"steps":1509,"title":1531,"orientation":316},[1510,1513,1516,1519,1522,1525,1528],{"label":1511,"description":1512},"1. Understand the task","Classify what the current question requires and which information types can affect the answer.",{"label":1514,"description":1515},"2. Resolve authoritative state","Read current application or business state that should not be guessed from memory.",{"label":1517,"description":1518},"3. Retrieve supporting knowledge","Find the policy, documents or external evidence relevant to the specific task.",{"label":1520,"description":1521},"4. Apply eligibility and permissions","Exclude data the current user or runtime is not allowed to expose to the model.",{"label":1523,"description":1524},"5. Reduce and structure","Remove duplication, select useful excerpts and preserve critical metadata, conditions and exceptions.",{"label":1526,"description":1527},"6. Order the context","Place instructions, current state and decisive evidence where the model can use them consistently.",{"label":1529,"description":1530},"7. Run inference","The model receives the assembled context and produces the next answer or action proposal.","From application state to model context",{},{"id":320,"data":1534,"type":42,"tunes":1536},{"text":1535,"level":247},"Where the simple example stops",{},{"id":325,"data":1538,"type":218,"tunes":1540},{"text":1539},"Real systems are more difficult because the information needed for one step may not be known before execution begins. An agent can discover new facts through tools, create intermediate files, receive changing external state or span a task longer than one context window.",{},{"id":330,"data":1542,"type":218,"tunes":1544},{"text":1543},"Context engineering therefore becomes dynamic. The context for step 12 should not simply be step 1 context plus eleven layers of accumulated output. It should reflect the current task state, the decisions that still matter and the evidence required for the next action.",{},{"id":335,"data":1546,"type":42,"tunes":1548},{"text":1547,"level":247},"What can enter a model context?",{},{"id":340,"data":1550,"type":391,"tunes":1600},{"content":1551,"stretched":43,"withHeadings":14},[1552,1556,1560,1564,1568,1572,1576,1580,1584,1588,1592,1596],[1553,1554,1555],"Context component","Purpose","Typical risk",[1557,1558,1559],"System \u002F developer instructions","Define role, constraints, policies and behavior","Too vague, contradictory or overloaded with brittle logic",[1561,1562,1563],"Current user request","Defines immediate task and intent","Ambiguity or conflict with prior history",[1565,1566,1567],"Conversation history","Preserves continuity across turns","Stale assumptions, repetition and token growth",[1569,1570,1571],"Retrieved documents","Provide external knowledge\u002Fevidence","Irrelevance, stale versions, weak authority or duplication",[1573,1574,1575],"Current application state","Supplies volatile business\u002Fsystem facts","Using cached or remembered state instead of current authority",[1577,1578,1579],"Tool definitions","Tell the model what capabilities exist and how to call them","Too many overlapping tools or verbose schemas",[1581,1582,1583],"Tool results","Bring observations from the environment into the loop","Large noisy outputs, untrusted content or obsolete observations",[1585,1586,1587],"Memory","Reintroduces selected information from previous interactions","Staleness, incorrect generalization or over-personalization",[1589,1590,1591],"Examples","Demonstrate desired behavior","Too many edge cases can crowd out the current task",[1593,1594,1595],"Intermediate artifacts","Carry plans, summaries, code, calculations or notes","Old intermediate state may be mistaken for final truth",[1597,1598,1599],"Policies \u002F guardrails","Define prohibited or constrained behavior","Conflict with business logic or hidden enforcement gaps",{},{"id":394,"data":1602,"type":42,"tunes":1604},{"text":1603,"level":247},"Context engineering vs prompt engineering",{},{"id":399,"data":1606,"type":431,"tunes":1629},{"rows":1607,"title":1623,"layout":391,"columns":1624},[1608,1611,1614,1617,1620],{"id":403,"label":1609,"values":1610},"Primary focus",[406,406],{"id":408,"label":1612,"values":1613},"Typical scope",[406,406],{"id":412,"label":1615,"values":1616},"When it changes",[406,406],{"id":416,"label":1618,"values":1619},"Typical failure",[406,406],{"id":420,"label":1621,"values":1622},"Relationship",[406,406],"Prompt engineering and context engineering solve different layers",[1625,1627],{"id":426,"label":1626},"Prompt engineering",{"id":429,"label":1628},"Context engineering",{},{"id":434,"data":1631,"type":218,"tunes":1633},{"text":1632},"Anthropic explicitly describes context engineering as the natural progression of prompt engineering for systems in which the model must work with tools, external data, message history and long-running agent state. The practical distinction is useful because a perfectly written prompt cannot compensate for missing authoritative data or a context polluted by contradictory state.",{},{"id":439,"data":1635,"type":42,"tunes":1637},{"text":1636,"level":247},"Context engineering vs retrieval",{},{"id":444,"data":1639,"type":218,"tunes":1641},{"text":1640},"Retrieval selects candidate information from an external corpus or source. Context engineering decides what happens after and around that retrieval.",{},{"id":449,"data":1643,"type":218,"tunes":1645},{"text":1644},"The retriever may return 30 passages. A reranker may reduce them to 10. The context layer may select four passages, remove duplicates, attach source\u002Fversion metadata, combine them with current application state and place them after the system instructions.",{},{"id":454,"data":1647,"type":218,"tunes":1649},{"text":1648},"This is why a RAG system can retrieve the correct passage and still answer badly: the failure may occur during context assembly rather than retrieval.",{},{"id":459,"data":1651,"type":226,"tunes":1654},{"body":1652,"title":1653,"variant":463},"The correct retrieval result is only useful if it survives filtering, ordering, compression and token-budget decisions and actually reaches the model in a usable form.","Retrieval finds candidates; context engineering constructs the model input",{},{"id":466,"data":1656,"type":42,"tunes":1658},{"text":1657,"level":247},"Context engineering vs memory",{},{"id":471,"data":1660,"type":218,"tunes":1662},{"text":1661},"Memory is information preserved outside the immediate model invocation so it can be used again later. Context is the information actually loaded into the current invocation.",{},{"id":476,"data":1664,"type":218,"tunes":1666},{"text":1665},"A memory system may contain thousands of facts, notes or prior decisions. Context engineering selects which of those should be reintroduced for the current task. Loading all memory on every turn defeats the purpose of having an external memory layer.",{},{"id":481,"data":1668,"type":218,"tunes":1670},{"text":1669},"The distinction becomes crucial for volatile state. A remembered project status or user preference can be useful, but current authoritative state may need to be re-read before a consequential decision.",{},{"id":486,"data":1672,"type":492,"tunes":1677},{"url":1673,"title":1674,"excerpt":1675,"ctaLabel":1676},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","AI Agent Memory Is Not RAG: How to Separate Memory, Retrieval, State and Context","A practical architecture separating what persists, what is authoritative now, what is retrieved and what the model actually receives.","Read the memory architecture article",{},{"id":495,"data":1679,"type":42,"tunes":1681},{"text":1680,"level":247},"Context engineering vs application state",{},{"id":500,"data":1683,"type":218,"tunes":1685},{"text":1684},"Application state is the current condition of the outside system: account balance, ticket status, file version, workflow stage, deployment state or task progress.",{},{"id":505,"data":1687,"type":218,"tunes":1689},{"text":1688},"State can be summarized into context, but the summary is not the state itself. For consequential operations, the runtime may need to re-read the authoritative system immediately before the action rather than trust an earlier model-visible snapshot.",{},{"id":510,"data":1691,"type":226,"tunes":1694},{"body":1692,"title":1693,"variant":233},"Once state is copied into a prompt, it can become stale. Context engineering must define when volatile state needs refreshing and which operations require a new authoritative read.","Context is a snapshot",{},{"id":516,"data":1696,"type":42,"tunes":1698},{"text":1697,"level":247},"Tool design is part of context engineering",{},{"id":521,"data":1700,"type":218,"tunes":1702},{"text":1701},"Tools do more than give agents capabilities. Tool names, descriptions, schemas and results become model-visible information that shapes decisions.",{},{"id":526,"data":1704,"type":218,"tunes":1706},{"text":1705},"Anthropic's current context-engineering guidance emphasizes token-efficient tools and warns against bloated tool sets with overlapping functionality. A tool catalog that is difficult for a human to distinguish is also difficult for a model to route reliably.",{},{"id":531,"data":1708,"type":218,"tunes":1710},{"text":1709},"Tool outputs also need context discipline. Returning an entire 20,000-line log when the agent requested one error condition consumes attention and can bury the decisive evidence.",{},{"id":536,"data":1712,"type":42,"tunes":1714},{"text":1713,"level":247},"Just-in-time context vs preloaded context",{},{"id":541,"data":1716,"type":431,"tunes":1736},{"rows":1717,"title":1730,"layout":391,"columns":1731},[1718,1721,1724,1727],{"id":545,"label":1719,"values":1720},"Method",[406,406],{"id":549,"label":1722,"values":1723},"Strength",[406,406],{"id":553,"label":1725,"values":1726},"Risk",[406,406],{"id":557,"label":1728,"values":1729},"Useful when",[406,406],"Two ways to supply information",[1732,1734],{"id":563,"label":1733},"Preloaded context",{"id":566,"label":1735},"Just-in-time context",{},{"id":570,"data":1738,"type":218,"tunes":1740},{"text":1739},"Anthropic describes a hybrid pattern in which some stable context is preloaded while agents retrieve additional information at runtime. This is a useful architecture pattern because not every important fact deserves permanent residency in the context window.",{},{"id":575,"data":1742,"type":42,"tunes":1744},{"text":1743,"level":247},"Context is a budget, not a storage system",{},{"id":580,"data":1746,"type":218,"tunes":1748},{"text":1747},"A context window defines capacity. It does not guarantee that every token will be used equally well. The model must distribute attention across instructions, history, evidence, tools and intermediate state.",{},{"id":585,"data":1750,"type":218,"tunes":1752},{"text":1751},"The practical objective is therefore not “fill the window.” It is to maximize the utility of the limited attention budget.",{},{"id":590,"data":1754,"type":218,"tunes":1756},{"text":1755},"Anthropic formulates a similar principle as finding the smallest high-signal set of tokens that maximizes the probability of the desired behavior. OpenAI's context-management guidance likewise warns that uncurated history, redundant tool results and noisy retrieval can overwhelm even large windows.",{},{"id":595,"data":1758,"type":42,"tunes":1760},{"text":1759,"level":247},"Why more context can be worse",{},{"id":600,"data":1762,"type":218,"tunes":1764},{"text":1763},"Additional context can introduce irrelevant information, stale state, duplicate evidence, contradictory instructions or positional competition. It can also cause compaction systems to discard details that later become important.",{},{"id":605,"data":1766,"type":218,"tunes":1768},{"text":1767},"The classic Lost in the Middle study demonstrated that long-context models can use information differently depending on where relevant content appears, with performance often degrading when decisive information is placed in the middle of long inputs.",{},{"id":610,"data":1770,"type":218,"tunes":1772},{"text":1771},"This does not mean long context is inherently bad. It means availability inside the window is not the same as reliable utilization.",{},{"id":615,"data":1774,"type":42,"tunes":1776},{"text":1775,"level":247},"Context ordering should be intentional",{},{"id":620,"data":1778,"type":218,"tunes":1780},{"text":1779},"Context construction is also an ordering problem. Critical instructions, current state, decisive evidence and task-specific constraints should not be concatenated arbitrarily.",{},{"id":625,"data":1782,"type":218,"tunes":1784},{"text":1783},"There is no universal perfect ordering for every model and task. The architecture should therefore test whether reordering evidence changes correctness and whether important information remains robust across realistic context variations.",{},{"id":630,"data":1786,"type":218,"tunes":1788},{"text":1787},"A stable answer that changes dramatically when two equally valid passages swap positions indicates context sensitivity that should be measured rather than ignored.",{},{"id":635,"data":1790,"type":42,"tunes":1792},{"text":1791,"level":247},"Conflicting context needs explicit precedence",{},{"id":640,"data":1794,"type":218,"tunes":1796},{"text":1795},"A model may receive an old policy and a new policy, a remembered preference and a current explicit instruction, or a cached status and a live API result. The system should not expect the model to infer precedence from prose style.",{},{"id":645,"data":1798,"type":218,"tunes":1800},{"text":1799},"Context engineering should encode precedence through source selection, metadata, ordering or explicit instructions: current authoritative state overrides stale copies; explicit current user instruction overrides older inferred preference; approved policy supersedes obsolete drafts.",{},{"id":650,"data":1802,"type":391,"tunes":1825},{"content":1803,"stretched":43,"withHeadings":14},[1804,1807,1810,1813,1816,1819,1822],[1805,1806],"Conflict","Preferred context rule",[1808,1809],"Current state vs remembered state","Refresh and prefer the authoritative current source.",[1811,1812],"Current policy vs superseded policy","Include current version; keep old version only when historical comparison is required.",[1814,1815],"Explicit user instruction vs old inferred preference","Prefer the current explicit instruction.",[1817,1818],"Primary source vs secondary summary","Use primary source for claims that require authority; summary may support explanation.",[1820,1821],"Tool observation vs model prior","Prefer current observed state when the tool is authoritative for that fact.",[1823,1824],"Two unresolved authoritative sources","Expose the conflict rather than fabricating one consistent answer.",{},{"id":676,"data":1827,"type":42,"tunes":1829},{"text":1828,"level":247},"Compaction is context transformation, not lossless storage",{},{"id":681,"data":1831,"type":218,"tunes":1833},{"text":1832},"Long-running systems eventually need to trim, summarize or compact history. Compaction creates a new representation of prior context so the agent can continue without replaying every token.",{},{"id":686,"data":1835,"type":218,"tunes":1837},{"text":1836},"OpenAI's context-management examples use trimming and compression for long-running sessions. Anthropic describes compaction as a primary technique for maintaining coherence when an interaction approaches the context limit.",{},{"id":691,"data":1839,"type":218,"tunes":1841},{"text":1840},"The difficult part is deciding what cannot be safely removed: unresolved tasks, identifiers, user constraints, security boundaries, architecture decisions, exceptions, source provenance and the conditions that make a previous conclusion valid.",{},{"id":696,"data":1843,"type":226,"tunes":1846},{"body":1844,"title":1845,"variant":233},"If compaction keeps “use approach X” but discards why X was chosen, which version was tested or what condition would invalidate it, later responses can remain internally consistent while becoming externally wrong.","A summary can preserve the conclusion and destroy the reason",{},{"id":702,"data":1848,"type":42,"tunes":1850},{"text":1849,"level":247},"Preserve validity boundaries",{},{"id":707,"data":1852,"type":218,"tunes":1854},{"text":1853},"Important conclusions should carry the conditions under which they remain supported: version, date, scope, assumptions, source authority and unresolved disagreement.",{},{"id":712,"data":1856,"type":218,"tunes":1858},{"text":1857},"Context engineering is therefore connected to the Answer Validity Boundary. The context assembler should not strip away the metadata that determines whether evidence still applies.",{},{"id":717,"data":1860,"type":492,"tunes":1865},{"url":1861,"title":1862,"excerpt":1863,"ctaLabel":1864},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers","The Answer Validity Boundary: The Missing Layer Between Relevance and Reliable AI Answers","A framework for preserving the scope, assumptions, versions and evidence conditions under which an AI claim remains supported.","Read the Answer Validity Boundary",{},{"id":725,"data":1867,"type":42,"tunes":1869},{"text":1868,"level":247},"Context engineering is also a security boundary",{},{"id":730,"data":1871,"type":218,"tunes":1873},{"text":1872},"Data that reaches the model has crossed an important system boundary. Context assembly must therefore respect authorization, tenant isolation, confidentiality and data-minimization rules.",{},{"id":735,"data":1875,"type":218,"tunes":1877},{"text":1876},"A retriever may technically find a passage the current user cannot access. The correct design is to prevent that passage from entering model context rather than rely on the model to ignore it.",{},{"id":740,"data":1879,"type":218,"tunes":1881},{"text":1880},"Tool outputs can also contain untrusted instructions or adversarial content. Context engineering should preserve the distinction between application instructions and external data so retrieved text cannot silently acquire instruction authority.",{},{"id":745,"data":1883,"type":42,"tunes":1885},{"text":1884,"level":247},"A practical context-engineering architecture",{},{"id":750,"data":1887,"type":226,"tunes":1890},{"body":1888,"title":1889,"variant":240},"The following layers are a practical synthesis for production systems, not a formal industry standard. The purpose is to keep information ownership separate from the temporary model-facing context.","Proposed architecture model",{},{"id":756,"data":1892,"type":391,"tunes":1921},{"content":1893,"stretched":43,"withHeadings":14},[1894,1897,1900,1903,1906,1909,1912,1915,1918],[1895,1896],"Layer","Responsibility",[1898,1899],"Authoritative systems","Own current business\u002Fsystem state and official records.",[1901,1902],"Knowledge sources","Own documents, policies, specifications, research or external evidence.",[1904,1905],"Memory store","Preserves selected information across turns or sessions.",[1907,1908],"Retrieval layer","Locates task-relevant candidates from external sources.",[1910,1911],"Tool\u002Fruntime layer","Reads state, performs actions and returns observations.",[1913,1914],"Context assembler","Selects, filters, deduplicates, orders and formats model-visible information.",[1916,1917],"Model","Reasons and generates over the assembled context.",[1919,1920],"Validation\u002Fevaluation","Checks whether selected context and resulting output satisfy task-specific requirements.",{},{"id":788,"data":1923,"type":218,"tunes":1925},{"text":1924},"The context assembler is conceptually important even when no module has that exact name. In a small application it may be ordinary application code. In a large agent platform it may combine session management, retrieval, memory, tool middleware, compaction and policy enforcement.",{},{"id":793,"data":1927,"type":42,"tunes":1929},{"text":1928,"level":247},"A practical context construction policy",{},{"id":798,"data":1931,"type":391,"tunes":1972},{"content":1932,"stretched":43,"withHeadings":14},[1933,1936,1939,1942,1945,1948,1951,1954,1957,1960,1963,1966,1969],[1934,1935],"Rule","Why it matters",[1937,1938],"Start from the current task","Do not carry information merely because it existed earlier.",[1940,1941],"Re-read volatile state","Memory and old context can be stale.",[1943,1944],"Retrieve just enough evidence","Large candidate sets can dilute decisive information.",[1946,1947],"Preserve source metadata","Version, date and authority determine whether evidence still applies.",[1949,1950],"Remove duplicate content","Redundancy consumes tokens without adding information.",[1952,1953],"Prefer structured summaries for large tool output","Expose decisive fields instead of raw noise where fidelity permits.",[1955,1956],"Keep rules with exceptions","Separating a rule from its exception creates false certainty.",[1958,1959],"Make precedence explicit","Do not ask the model to infer which conflicting source wins.",[1961,1962],"Keep durable state outside context","Context is temporary working memory, not the database.",[1964,1965],"Compact with retention tests","Verify that identifiers, constraints, provenance and unresolved state survive.",[1967,1968],"Measure order sensitivity","Correctness should not depend accidentally on arbitrary document ordering.",[1970,1971],"Evaluate context separately from model quality","A stronger model cannot compensate reliably for missing or unauthorized evidence.",{},{"id":842,"data":1974,"type":42,"tunes":1976},{"text":1975,"level":247},"How to evaluate context engineering",{},{"id":847,"data":1978,"type":391,"tunes":2019},{"content":1979,"stretched":43,"withHeadings":14},[1980,1983,1987,1991,1995,1999,2003,2007,2011,2015],[1981,852,1982],"Property","Example test",[1984,1985,1986],"Sufficiency","Does the context contain everything required to solve the task?","Remove one evidence item and observe whether the answer becomes unsupported.",[1988,1989,1990],"Relevance","How much context is unnecessary for the task?","Measure quality as irrelevant passages are added or removed.",[1992,1993,1994],"Authority","Are decisive claims grounded in the correct source class?","Inject a more fluent but non-authoritative conflicting source.",[1996,1997,1998],"Freshness","Does current state override stale copies?","Change authoritative state after a previous turn and rerun.",[2000,2001,2002],"Position robustness","Does answer quality depend strongly on evidence position?","Randomize candidate ordering across repeated trials.",[2004,2005,2006],"Conflict handling","Does the model follow explicit precedence rules?","Present old and new state together.",[2008,2009,2010],"Compaction retention","Does summarization preserve constraints and validity boundaries?","Compare pre\u002Fpost-compaction task performance.",[2012,2013,2014],"Token efficiency","Does extra context improve quality enough to justify latency\u002Fcost?","Run controlled context-size ablations.",[2016,2017,2018],"Security","Can unauthorized or adversarial content enter model context?","Test tenant, permission and prompt-injection boundaries.",{},{"id":892,"data":2021,"type":42,"tunes":2023},{"text":2022,"level":247},"Context assembly is a distinct RAG failure layer",{},{"id":897,"data":2025,"type":218,"tunes":2027},{"text":2026},"A RAG pipeline can succeed at retrieval and still fail downstream. The relevant source may appear at rank 2, yet the context assembler can drop it, truncate it, combine it with stale contradictory material or exceed the token budget.",{},{"id":902,"data":2029,"type":218,"tunes":2031},{"text":2030},"This is why retrieval traces should be compared with the actual context sent to the model. Without that comparison, context failures are easily misdiagnosed as embedding or model failures.",{},{"id":907,"data":2033,"type":492,"tunes":2038},{"url":2034,"title":2035,"excerpt":2036,"ctaLabel":2037},"https:\u002F\u002Fstajic.de\u002Fblog\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method","RAG Failed — But Which Layer Actually Failed? A Diagnostic Method","A layer-by-layer approach to separating source coverage, retrieval, ranking, context assembly, generation, evidence attribution and freshness failures.","Read the RAG diagnostic method",{},{"id":915,"data":2040,"type":42,"tunes":2042},{"text":2041,"level":247},"Original implementation evidence",{},{"id":920,"data":2044,"type":42,"tunes":2046},{"text":2045,"level":246},"Source of Truth Research Engine: bounded research instead of unlimited context",{},{"id":925,"data":2048,"type":218,"tunes":2050},{"text":2049},"The Source of Truth Research Engine separates discovery, acquisition, extraction, verification, contradiction analysis and synthesis into bounded research stages instead of sending one huge research task and all accumulated material into a single model call.",{},{"id":930,"data":2052,"type":218,"tunes":2054},{"text":2053},"Its evidence model stores Sources, Artifacts, Claims, Relations, Contradictions and provenance outside the model context. The model can receive the subset needed for the current research step while durable evidence remains in the external store.",{},{"id":935,"data":2056,"type":218,"tunes":2058},{"text":2057},"That is a concrete context-engineering pattern: durable research state lives outside the model window; the active model context is reconstructed for the current stage.",{},{"id":940,"data":2060,"type":42,"tunes":2062},{"text":2061,"level":246},"Aaasaasa AI Client: runtime, permissions and context are separate concerns",{},{"id":945,"data":2064,"type":218,"tunes":2066},{"text":2065},"Aaasaasa AI Client separates provider\u002Fmodel selection, runtime location, workspace permissions, local resources and tool access. This prevents the model context from becoming the owner of authorization or application state.",{},{"id":950,"data":2068,"type":218,"tunes":2070},{"text":2069},"Direct Chat and agentic runtimes can have different tool capabilities. Workspace permission profiles are enforced by the runtime rather than merely described in natural-language context. This distinction is important: context can tell a model what it should do, while the runtime must still enforce what it is actually allowed to do.",{},{"id":955,"data":2072,"type":218,"tunes":2074},{"text":2073},"The implementation evidence here is architectural separation, not a claim that every advanced context-management technique described in this article is already implemented.",{},{"id":960,"data":2076,"type":391,"tunes":2096},{"content":2077,"stretched":43,"withHeadings":14},[2078,2081,2084,2087,2090,2093],[2079,2080],"Implementation pattern","Context-engineering lesson",[2082,2083],"External evidence store","Durable knowledge does not need to remain in the model window.",[2085,2086],"Bounded research stages","Different steps can receive different context instead of accumulating one giant history.",[2088,2089],"Claims + provenance outside context","Evidence identity survives beyond temporary inference state.",[2091,2092],"Runtime-enforced permissions","Security authority does not depend on the model remembering an instruction.",[2094,2095],"Separate local\u002Fprovider\u002Fmodel\u002Fruntime concepts","Context is only one layer of the wider AI application architecture.",{},{"id":983,"data":2098,"type":226,"tunes":2101},{"body":2099,"title":2100,"variant":240},"These implementations support the architectural separation between durable state, retrieval, runtime controls and model-facing context. They are not presented as benchmark proof that one context strategy is universally optimal.","Evidence boundary",{},{"id":989,"data":2103,"type":42,"tunes":2105},{"text":2104,"level":247},"Common context-engineering failure modes",{},{"id":994,"data":2107,"type":391,"tunes":2142},{"content":2108,"stretched":43,"withHeadings":14},[2109,2112,2115,2118,2121,2124,2127,2130,2133,2136,2139],[2110,2111],"Failure mode","What goes wrong",[2113,2114],"Replay the entire conversation forever","Old assumptions, repetition and token growth overwhelm current intent.",[2116,2117],"Put every retrieved result into the prompt","Noise, duplication and conflicting versions dilute decisive evidence.",[2119,2120],"Use memory as current state","Stale information silently replaces authoritative live state.",[2122,2123],"Return raw tool output","Large logs or responses consume attention without adding decision value.",[2125,2126],"Hide tool descriptions behind vague names","The model cannot reliably decide which capability to use.",[2128,2129],"Compact without retention tests","Critical constraints, identifiers or exceptions disappear.",[2131,2132],"Mix instructions and untrusted data","External content can be interpreted as higher-authority instruction.",[2134,2135],"Use one static context template for every task","Different tasks receive irrelevant information and miss task-specific evidence.",[2137,2138],"Ignore source version\u002Fdate","Stale but relevant evidence can dominate current authoritative state.",[2140,2141],"Treat a larger context window as a quality guarantee","Capacity increases while attention and conflict problems remain.",{},{"id":1032,"data":2144,"type":42,"tunes":2146},{"text":2145,"level":247},"Common misconceptions",{},{"id":1037,"data":2148,"type":391,"tunes":2182},{"content":2149,"stretched":43,"withHeadings":14},[2150,2152,2155,2158,2161,2164,2167,2170,2173,2176,2179],[2151,1042],"Misconception",[2153,2154],"“Context engineering is just prompt engineering with a new name.”","Prompts are one component; context engineering also covers retrieval, memory, state, tool results, history and compaction.",[2156,2157],"“Context means chat history.”","History is only one possible context source.",[2159,2160],"“More context is always better.”","Additional information can reduce signal, introduce conflicts and increase cost.",[2162,2163],"“If retrieval found it, the model saw it.”","Retrieved candidates can be filtered, truncated or omitted before inference.",[2165,2166],"“Long context removes the need for RAG.”","Large windows increase capacity but do not solve freshness, authority, permissions or dynamic retrieval.",[2168,2169],"“Memory should always be loaded.”","Memory should be selected according to the current task.",[2171,2172],"“A summary preserves everything important.”","Compaction is lossy unless explicitly evaluated for retention.",[2174,2175],"“Instructions can enforce permissions.”","Authorization must be enforced by runtime\u002Fapplication controls, not only by context.",[2177,2178],"“One context recipe works for every model.”","Context sensitivity varies by model, task, corpus and runtime.",[2180,2181],"“Context engineering is only for agents.”","Agents amplify the need, but ordinary RAG and conversational applications also require context construction.",{},{"id":1075,"data":2184,"type":42,"tunes":2186},{"text":2185,"level":247},"A practical context-engineering sequence",{},{"id":1080,"data":2188,"type":317,"tunes":2221},{"steps":2189,"title":2220,"orientation":316},[2190,2193,2196,2199,2202,2205,2208,2211,2214,2217],{"label":2191,"description":2192},"1. Define the next model decision","Specify what the model must answer, classify, plan or choose at this step.",{"label":2194,"description":2195},"2. Identify required facts and constraints","List the minimum state, rules, evidence and instructions that can materially change the result.",{"label":2197,"description":2198},"3. Resolve authority and permissions","Determine which sources are current, authoritative and accessible to the current principal.",{"label":2200,"description":2201},"4. Retrieve or read on demand","Acquire the necessary evidence and volatile state rather than relying on stale context.",{"label":2203,"description":2204},"5. Reduce noise","Deduplicate, summarize or select passages without discarding decisive exceptions or provenance.",{"label":2206,"description":2207},"6. Structure and order","Make instructions, current state, evidence and tool observations distinguishable.",{"label":2209,"description":2210},"7. Fit the token budget","Prefer high-signal context and move durable information outside the window.",{"label":2212,"description":2213},"8. Run the model","Execute inference over the assembled context.",{"label":2215,"description":2216},"9. Observe failures","Capture whether the problem came from missing, stale, noisy, conflicting or poorly ordered context.",{"label":2218,"description":2219},"10. Re-evaluate after model\u002Fruntime changes","A context strategy is only valid for the models, tools and workloads on which it was tested.","Construct context from the current decision backward",{},{"id":1116,"data":2223,"type":42,"tunes":2225},{"text":2224,"level":247},"Context-engineering checklist",{},{"id":1121,"data":2227,"type":391,"tunes":2267},{"content":2228,"stretched":43,"withHeadings":14},[2229,2231,2234,2237,2240,2243,2246,2249,2252,2255,2258,2261,2264],[852,2230],"Expected answer",[2232,2233],"What exact decision will the model make next?","A bounded task, not a vague long-term objective.",[2235,2236],"Which information can materially change that decision?","Explicit minimum evidence\u002Fstate set.",[2238,2239],"Which data is authoritative now?","Current source\u002Fversion and freshness rule.",[2241,2242],"Which data is optional background?","Separated from decisive evidence.",[2244,2245],"What must not enter context?","Unauthorized, unnecessary or overly sensitive data.",[2247,2248],"Which memory items are relevant?","Selected by task, not replayed automatically.",[2250,2251],"Which tool outputs should be reduced?","Large responses are transformed into decision-relevant form.",[2253,2254],"Which constraints must survive compaction?","Identifiers, exceptions, obligations, unresolved state and provenance.",[2256,2257],"How is precedence represented?","Current\u002Fauthoritative information can reliably override stale or weaker sources.",[2259,2260],"How will you know context failed?","Context-specific evals and traces exist.",[2262,2263],"Can the answer be reproduced?","Model input or reconstructable context trace is available where appropriate.",[2265,2266],"Can a stronger or larger model change the strategy?","Context policy is version-aware and reevaluated empirically.",{},{"id":1164,"data":2269,"type":42,"tunes":2271},{"text":2270,"level":247},"Edge cases and limitations",{},{"id":1169,"data":2273,"type":218,"tunes":2275},{"text":2274},"Some tasks are simple enough that context engineering reduces to a short system prompt and one user message. Adding retrieval, memory and compaction would only introduce unnecessary architecture.",{},{"id":1174,"data":2277,"type":218,"tunes":2279},{"text":2278},"Some tasks require high recall and may intentionally include more context before later synthesis. Research, discovery and legal review can prefer omission avoidance over minimal token count.",{},{"id":1179,"data":2281,"type":218,"tunes":2283},{"text":2282},"Some information should never be summarized before use. Exact contracts, code, cryptographic material, numerical records and regulatory text may require verbatim or structured retrieval where compression could alter meaning.",{},{"id":1184,"data":2285,"type":218,"tunes":2287},{"text":2286},"Long-context behavior varies substantially between models. A strategy validated on one model, context length or tool harness should not automatically be transferred to another.",{},{"id":1189,"data":2289,"type":218,"tunes":2291},{"text":2290},"The model can still ignore or misinterpret excellent context. Context engineering improves the information environment; it does not guarantee reasoning correctness.",{},{"id":1194,"data":2293,"type":42,"tunes":2295},{"text":2294,"level":247},"What would change this answer?",{},{"id":1199,"data":2297,"type":218,"tunes":2299},{"text":2298},"Future models may become more robust to long context, positional effects and conflicting information. That could reduce the amount of manual curation required.",{},{"id":1204,"data":2301,"type":218,"tunes":2303},{"text":2302},"The architectural distinction would still remain useful because permissions, freshness, memory persistence, source authority and external application state exist outside the model regardless of context-window size.",{},{"id":1209,"data":2305,"type":218,"tunes":2307},{"text":2306},"The recommended balance between preloaded and just-in-time context also changes with latency requirements, tool reliability, corpus size, model cost and how dynamic the underlying information is.",{},{"id":1214,"data":2309,"type":42,"tunes":2311},{"text":2310,"level":247},"Related canonical knowledge",{},{"id":1219,"data":2313,"type":218,"tunes":2315},{"text":2314},"Context engineering sits between retrieval and generation. RAG explains how external knowledge is retrieved; R01 separates embeddings, vector search and reranking; context engineering explains what eventually reaches the model.",{},{"id":1224,"data":2317,"type":492,"tunes":2322},{"url":2318,"title":2319,"excerpt":2320,"ctaLabel":2321},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fwhat-is-rag-the-simplest-explanation-of-how-it-works","What Is RAG? The Simplest Explanation of How It Works","The retrieval foundation for understanding how external knowledge can be supplied to a model before generation.","Read the RAG foundation",{},{"id":1232,"data":2324,"type":218,"tunes":2326},{"text":2325},"Source-of-Truth architecture answers a different question: not which information is present in context, but which source is authorized to establish a claim.",{},{"id":1237,"data":2328,"type":218,"tunes":2330},{"text":2329},"The existing article Why More Context Can Make AI Answers Worse is the diagnostic companion to this canonical definition. It focuses on context pollution, position effects, top-k growth, compaction loss and answer degradation rather than redefining context engineering itself.",{},{"id":1242,"data":2332,"type":42,"tunes":2334},{"text":2333,"level":247},"Frequently asked questions",{},{"id":1247,"data":2336,"type":1247,"tunes":2363},{"items":2337,"title":2362},[2338,2341,2344,2347,2350,2353,2356,2359],{"id":1251,"answer":2339,"question":2340},"Context engineering is the design and runtime management of what information a language model receives at inference time, including instructions, history, retrieved evidence, memory, state, tools and tool results.","What is context engineering?",{"id":1255,"answer":2342,"question":2343},"Prompt engineering focuses on how instructions and examples are written. Context engineering includes prompts but also decides which external information, state, history, memory and tool observations are placed around them.","How is context engineering different from prompt engineering?",{"id":1259,"answer":2345,"question":2346},"No. RAG retrieves external information. Context engineering decides how retrieved information is filtered, combined with other state and actually delivered to the model.","Is RAG the same as context engineering?",{"id":1263,"answer":2348,"question":2349},"No. Memory persists information outside the current model call. Context is the subset of information loaded into the current inference.","Is memory the same as context?",{"id":1267,"answer":2351,"question":2352},"Additional context can introduce noise, stale state, conflicting evidence, duplication and positional competition. Large context capacity does not guarantee equally reliable use of every token.","Why can more context make an answer worse?",{"id":1271,"answer":2354,"question":2355},"Compaction summarizes or transforms accumulated history into a smaller representation so a long-running system can continue without replaying every prior token.","What is context compaction?",{"id":1275,"answer":2357,"question":2358},"It can be represented in context for reasoning, but consequential operations should often re-read the authoritative source because context snapshots can become stale.","Should current application state be stored in context?",{"id":1279,"answer":2360,"question":2361},"No. Agents make context management more dynamic, but RAG systems, assistants, copilots and multi-turn applications also need deliberate context construction.","Is context engineering only needed for AI agents?","Context engineering FAQ",{},{"id":1285,"data":2365,"type":42,"tunes":2367},{"text":2366,"level":247},"Glossary",{},{"id":1290,"data":2369,"type":1290,"tunes":2403},{"title":2370,"entries":2371},"Key context-engineering terms",[2372,2374,2377,2379,2382,2385,2387,2390,2393,2395,2398,2400],{"term":1628,"anchor":1296,"definition":2373},"The design and runtime management of the information supplied to a language model for a particular inference step.",{"term":2375,"anchor":1300,"definition":2376},"Context window","The model's finite token capacity for the input and, depending on the model interface, associated generated tokens or active sequence.",{"term":1626,"anchor":1304,"definition":2378},"The design of instructions, examples and prompt structure intended to elicit useful model behavior.",{"term":2380,"anchor":1308,"definition":2381},"Context assembly","The process of selecting, filtering, ordering and formatting model-visible information before inference.",{"term":2383,"anchor":1312,"definition":2384},"Just-in-time retrieval","Loading information dynamically when the current task requires it instead of preloading all potentially relevant data.",{"term":1315,"anchor":1316,"definition":2386},"Reducing accumulated context into a smaller representation while attempting to preserve information needed for future steps.",{"term":2388,"anchor":1320,"definition":2389},"Context pollution","Degradation caused by irrelevant, stale, contradictory or redundant information occupying the model's working context.",{"term":2391,"anchor":1324,"definition":2392},"Application state","The current authoritative condition of the external system, workflow or domain that exists independently of the model context.",{"term":1585,"anchor":1327,"definition":2394},"Information stored outside the immediate model invocation for possible use in later turns or sessions.",{"term":2396,"anchor":1331,"definition":2397},"Retrieved context","External information selected by a retrieval system and made available, wholly or partly, to the model.",{"term":2000,"anchor":1335,"definition":2399},"The degree to which model correctness remains stable when the location or order of relevant context changes.",{"term":2401,"anchor":1339,"definition":2402},"Validity boundary","The scope, time, assumptions, versions and evidence conditions within which a conclusion remains supported.",{},{"id":1343,"data":2405,"type":42,"tunes":2406},{"text":1345,"level":247},{},{"id":1348,"data":2408,"type":218,"tunes":2410},{"text":2409},"Context engineering is the layer that decides what the model gets to see before it answers. That makes it broader than prompting and downstream of retrieval, while remaining distinct from durable memory and authoritative application state.",{},{"id":1353,"data":2412,"type":218,"tunes":2414},{"text":2413},"A strong context architecture does not treat the context window as a database. It keeps durable state and knowledge outside the model, loads what is required for the current decision, preserves authority and provenance, removes unnecessary noise and refreshes volatile information when needed.",{},{"id":1358,"data":2416,"type":218,"tunes":2418},{"text":2417},"The practical objective is therefore not maximum context. It is minimum sufficient, high-signal, correctly authorized and validity-preserving context for the next model decision.",{},{"id":1363,"data":2420,"type":42,"tunes":2422},{"text":2421,"level":247},"Primary sources and current guidance",{},{"id":1368,"data":2424,"type":218,"tunes":2426},{"text":2425},"The sources below support the current context-engineering terminology, long-context behavior and operational context-management patterns. Project sections are explicitly implementation evidence rather than universal claims.",{},{"id":1373,"data":2428,"type":1380,"tunes":2433},{"link":1375,"meta":2429},{"image":2430,"title":2431,"description":2432},{"url":406},"Anthropic — Effective context engineering for AI agents","Official engineering guidance defining context engineering, just-in-time retrieval, compaction, structured memory and context curation for agents.",{},{"id":1383,"data":2435,"type":1380,"tunes":2440},{"link":1385,"meta":2436},{"image":2437,"title":2438,"description":2439},{"url":406},"OpenAI — Context Engineering: Short-Term Memory Management with Sessions","Official cookbook guidance on context management, trimming and compression for long-running agent sessions.",{},{"id":1392,"data":2442,"type":1380,"tunes":2447},{"link":1394,"meta":2443},{"image":2444,"title":2445,"description":2446},{"url":406},"OpenAI — Agents guide","Current OpenAI developer guidance on agent runtimes, context across steps and orchestration ownership.",{},{"id":1401,"data":2449,"type":1380,"tunes":2454},{"link":1403,"meta":2450},{"image":2451,"title":2452,"description":2453},{"url":406},"Lost in the Middle: How Language Models Use Long Contexts","Research showing that long-context model performance can depend strongly on the position of relevant information in the input.",{},"2.31.6","Context engineering designs what information an AI model receives before inference, including prompts, retrieval, memory, application state, tool results and conversation history.",{"lang":7,"title":208,"content":210,"contentJson":2458,"excerpt":1410},{"time":212,"blocks":2459,"version":1409},[2460,2463,2466,2469,2472,2475,2478,2481,2484,2487,2490,2493,2496,2499,2510,2513,2516,2519,2522,2538,2541,2558,2561,2564,2567,2570,2573,2576,2579,2582,2585,2588,2591,2594,2597,2600,2603,2606,2609,2612,2615,2618,2633,2636,2639,2642,2645,2648,2651,2654,2657,2660,2663,2666,2669,2672,2675,2678,2681,2692,2695,2698,2701,2704,2707,2710,2713,2716,2719,2722,2725,2728,2731,2734,2737,2750,2753,2756,2773,2776,2790,2793,2796,2799,2802,2805,2808,2811,2814,2817,2820,2823,2826,2829,2839,2842,2845,2860,2863,2878,2881,2895,2898,2915,2918,2921,2924,2927,2930,2933,2936,2939,2942,2945,2948,2951,2954,2957,2960,2963,2975,2978,2994,2997,3000,3003,3006,3009,3012,3017,3022,3027],{"id":215,"data":2461,"type":218,"tunes":2462},{"text":217},{},{"id":221,"data":2464,"type":226,"tunes":2465},{"body":223,"title":224,"variant":225},{},{"id":229,"data":2467,"type":226,"tunes":2468},{"body":231,"title":232,"variant":233},{},{"id":236,"data":2470,"type":226,"tunes":2471},{"body":238,"title":239,"variant":240},{},{"id":243,"data":2473,"type":248,"tunes":2474},{"title":245,"maxLevel":246,"minLevel":247},{},{"id":251,"data":2476,"type":42,"tunes":2477},{"text":253,"level":247},{},{"id":256,"data":2479,"type":218,"tunes":2480},{"text":258},{},{"id":261,"data":2482,"type":218,"tunes":2483},{"text":263},{},{"id":266,"data":2485,"type":218,"tunes":2486},{"text":268},{},{"id":271,"data":2488,"type":42,"tunes":2489},{"text":273,"level":247},{},{"id":276,"data":2491,"type":218,"tunes":2492},{"text":278},{},{"id":281,"data":2494,"type":218,"tunes":2495},{"text":283},{},{"id":286,"data":2497,"type":218,"tunes":2498},{"text":288},{},{"id":291,"data":2500,"type":317,"tunes":2509},{"steps":2501,"title":315,"orientation":316},[2502,2503,2504,2505,2506,2507,2508],{"label":295,"description":296},{"label":298,"description":299},{"label":301,"description":302},{"label":304,"description":305},{"label":307,"description":308},{"label":310,"description":311},{"label":313,"description":314},{},{"id":320,"data":2511,"type":42,"tunes":2512},{"text":322,"level":247},{},{"id":325,"data":2514,"type":218,"tunes":2515},{"text":327},{},{"id":330,"data":2517,"type":218,"tunes":2518},{"text":332},{},{"id":335,"data":2520,"type":42,"tunes":2521},{"text":337,"level":247},{},{"id":340,"data":2523,"type":391,"tunes":2537},{"content":2524,"stretched":43,"withHeadings":14},[2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536],[344,345,346],[348,349,350],[352,353,354],[356,357,358],[360,361,362],[364,365,366],[368,369,370],[372,373,374],[376,377,378],[380,381,382],[384,385,386],[388,389,390],{},{"id":394,"data":2539,"type":42,"tunes":2540},{"text":396,"level":247},{},{"id":399,"data":2542,"type":431,"tunes":2557},{"rows":2543,"title":423,"layout":391,"columns":2554},[2544,2546,2548,2550,2552],{"id":403,"label":404,"values":2545},[406,406],{"id":408,"label":409,"values":2547},[406,406],{"id":412,"label":413,"values":2549},[406,406],{"id":416,"label":417,"values":2551},[406,406],{"id":420,"label":421,"values":2553},[406,406],[2555,2556],{"id":426,"label":427},{"id":429,"label":430},{},{"id":434,"data":2559,"type":218,"tunes":2560},{"text":436},{},{"id":439,"data":2562,"type":42,"tunes":2563},{"text":441,"level":247},{},{"id":444,"data":2565,"type":218,"tunes":2566},{"text":446},{},{"id":449,"data":2568,"type":218,"tunes":2569},{"text":451},{},{"id":454,"data":2571,"type":218,"tunes":2572},{"text":456},{},{"id":459,"data":2574,"type":226,"tunes":2575},{"body":461,"title":462,"variant":463},{},{"id":466,"data":2577,"type":42,"tunes":2578},{"text":468,"level":247},{},{"id":471,"data":2580,"type":218,"tunes":2581},{"text":473},{},{"id":476,"data":2583,"type":218,"tunes":2584},{"text":478},{},{"id":481,"data":2586,"type":218,"tunes":2587},{"text":483},{},{"id":486,"data":2589,"type":492,"tunes":2590},{"url":488,"title":489,"excerpt":490,"ctaLabel":491},{},{"id":495,"data":2592,"type":42,"tunes":2593},{"text":497,"level":247},{},{"id":500,"data":2595,"type":218,"tunes":2596},{"text":502},{},{"id":505,"data":2598,"type":218,"tunes":2599},{"text":507},{},{"id":510,"data":2601,"type":226,"tunes":2602},{"body":512,"title":513,"variant":233},{},{"id":516,"data":2604,"type":42,"tunes":2605},{"text":518,"level":247},{},{"id":521,"data":2607,"type":218,"tunes":2608},{"text":523},{},{"id":526,"data":2610,"type":218,"tunes":2611},{"text":528},{},{"id":531,"data":2613,"type":218,"tunes":2614},{"text":533},{},{"id":536,"data":2616,"type":42,"tunes":2617},{"text":538,"level":247},{},{"id":541,"data":2619,"type":431,"tunes":2632},{"rows":2620,"title":560,"layout":391,"columns":2629},[2621,2623,2625,2627],{"id":545,"label":546,"values":2622},[406,406],{"id":549,"label":550,"values":2624},[406,406],{"id":553,"label":554,"values":2626},[406,406],{"id":557,"label":558,"values":2628},[406,406],[2630,2631],{"id":563,"label":564},{"id":566,"label":567},{},{"id":570,"data":2634,"type":218,"tunes":2635},{"text":572},{},{"id":575,"data":2637,"type":42,"tunes":2638},{"text":577,"level":247},{},{"id":580,"data":2640,"type":218,"tunes":2641},{"text":582},{},{"id":585,"data":2643,"type":218,"tunes":2644},{"text":587},{},{"id":590,"data":2646,"type":218,"tunes":2647},{"text":592},{},{"id":595,"data":2649,"type":42,"tunes":2650},{"text":597,"level":247},{},{"id":600,"data":2652,"type":218,"tunes":2653},{"text":602},{},{"id":605,"data":2655,"type":218,"tunes":2656},{"text":607},{},{"id":610,"data":2658,"type":218,"tunes":2659},{"text":612},{},{"id":615,"data":2661,"type":42,"tunes":2662},{"text":617,"level":247},{},{"id":620,"data":2664,"type":218,"tunes":2665},{"text":622},{},{"id":625,"data":2667,"type":218,"tunes":2668},{"text":627},{},{"id":630,"data":2670,"type":218,"tunes":2671},{"text":632},{},{"id":635,"data":2673,"type":42,"tunes":2674},{"text":637,"level":247},{},{"id":640,"data":2676,"type":218,"tunes":2677},{"text":642},{},{"id":645,"data":2679,"type":218,"tunes":2680},{"text":647},{},{"id":650,"data":2682,"type":391,"tunes":2691},{"content":2683,"stretched":43,"withHeadings":14},[2684,2685,2686,2687,2688,2689,2690],[654,655],[657,658],[660,661],[663,664],[666,667],[669,670],[672,673],{},{"id":676,"data":2693,"type":42,"tunes":2694},{"text":678,"level":247},{},{"id":681,"data":2696,"type":218,"tunes":2697},{"text":683},{},{"id":686,"data":2699,"type":218,"tunes":2700},{"text":688},{},{"id":691,"data":2702,"type":218,"tunes":2703},{"text":693},{},{"id":696,"data":2705,"type":226,"tunes":2706},{"body":698,"title":699,"variant":233},{},{"id":702,"data":2708,"type":42,"tunes":2709},{"text":704,"level":247},{},{"id":707,"data":2711,"type":218,"tunes":2712},{"text":709},{},{"id":712,"data":2714,"type":218,"tunes":2715},{"text":714},{},{"id":717,"data":2717,"type":492,"tunes":2718},{"url":719,"title":720,"excerpt":721,"ctaLabel":722},{},{"id":725,"data":2720,"type":42,"tunes":2721},{"text":727,"level":247},{},{"id":730,"data":2723,"type":218,"tunes":2724},{"text":732},{},{"id":735,"data":2726,"type":218,"tunes":2727},{"text":737},{},{"id":740,"data":2729,"type":218,"tunes":2730},{"text":742},{},{"id":745,"data":2732,"type":42,"tunes":2733},{"text":747,"level":247},{},{"id":750,"data":2735,"type":226,"tunes":2736},{"body":752,"title":753,"variant":240},{},{"id":756,"data":2738,"type":391,"tunes":2749},{"content":2739,"stretched":43,"withHeadings":14},[2740,2741,2742,2743,2744,2745,2746,2747,2748],[760,761],[763,764],[766,767],[769,770],[772,773],[775,776],[778,779],[781,782],[784,785],{},{"id":788,"data":2751,"type":218,"tunes":2752},{"text":790},{},{"id":793,"data":2754,"type":42,"tunes":2755},{"text":795,"level":247},{},{"id":798,"data":2757,"type":391,"tunes":2772},{"content":2758,"stretched":43,"withHeadings":14},[2759,2760,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2771],[802,803],[805,806],[808,809],[811,812],[814,815],[817,818],[820,821],[823,824],[826,827],[829,830],[832,833],[835,836],[838,839],{},{"id":842,"data":2774,"type":42,"tunes":2775},{"text":844,"level":247},{},{"id":847,"data":2777,"type":391,"tunes":2789},{"content":2778,"stretched":43,"withHeadings":14},[2779,2780,2781,2782,2783,2784,2785,2786,2787,2788],[851,852,853],[855,856,857],[859,860,861],[863,864,865],[867,868,869],[871,872,873],[875,876,877],[879,880,881],[883,884,885],[887,888,889],{},{"id":892,"data":2791,"type":42,"tunes":2792},{"text":894,"level":247},{},{"id":897,"data":2794,"type":218,"tunes":2795},{"text":899},{},{"id":902,"data":2797,"type":218,"tunes":2798},{"text":904},{},{"id":907,"data":2800,"type":492,"tunes":2801},{"url":909,"title":910,"excerpt":911,"ctaLabel":912},{},{"id":915,"data":2803,"type":42,"tunes":2804},{"text":917,"level":247},{},{"id":920,"data":2806,"type":42,"tunes":2807},{"text":922,"level":246},{},{"id":925,"data":2809,"type":218,"tunes":2810},{"text":927},{},{"id":930,"data":2812,"type":218,"tunes":2813},{"text":932},{},{"id":935,"data":2815,"type":218,"tunes":2816},{"text":937},{},{"id":940,"data":2818,"type":42,"tunes":2819},{"text":942,"level":246},{},{"id":945,"data":2821,"type":218,"tunes":2822},{"text":947},{},{"id":950,"data":2824,"type":218,"tunes":2825},{"text":952},{},{"id":955,"data":2827,"type":218,"tunes":2828},{"text":957},{},{"id":960,"data":2830,"type":391,"tunes":2838},{"content":2831,"stretched":43,"withHeadings":14},[2832,2833,2834,2835,2836,2837],[964,965],[967,968],[970,971],[973,974],[976,977],[979,980],{},{"id":983,"data":2840,"type":226,"tunes":2841},{"body":985,"title":986,"variant":240},{},{"id":989,"data":2843,"type":42,"tunes":2844},{"text":991,"level":247},{},{"id":994,"data":2846,"type":391,"tunes":2859},{"content":2847,"stretched":43,"withHeadings":14},[2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858],[998,999],[1001,1002],[1004,1005],[1007,1008],[1010,1011],[1013,1014],[1016,1017],[1019,1020],[1022,1023],[1025,1026],[1028,1029],{},{"id":1032,"data":2861,"type":42,"tunes":2862},{"text":1034,"level":247},{},{"id":1037,"data":2864,"type":391,"tunes":2877},{"content":2865,"stretched":43,"withHeadings":14},[2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876],[1041,1042],[1044,1045],[1047,1048],[1050,1051],[1053,1054],[1056,1057],[1059,1060],[1062,1063],[1065,1066],[1068,1069],[1071,1072],{},{"id":1075,"data":2879,"type":42,"tunes":2880},{"text":1077,"level":247},{},{"id":1080,"data":2882,"type":317,"tunes":2894},{"steps":2883,"title":1113,"orientation":316},[2884,2885,2886,2887,2888,2889,2890,2891,2892,2893],{"label":1084,"description":1085},{"label":1087,"description":1088},{"label":1090,"description":1091},{"label":1093,"description":1094},{"label":1096,"description":1097},{"label":1099,"description":1100},{"label":1102,"description":1103},{"label":1105,"description":1106},{"label":1108,"description":1109},{"label":1111,"description":1112},{},{"id":1116,"data":2896,"type":42,"tunes":2897},{"text":1118,"level":247},{},{"id":1121,"data":2899,"type":391,"tunes":2914},{"content":2900,"stretched":43,"withHeadings":14},[2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913],[852,1125],[1127,1128],[1130,1131],[1133,1134],[1136,1137],[1139,1140],[1142,1143],[1145,1146],[1148,1149],[1151,1152],[1154,1155],[1157,1158],[1160,1161],{},{"id":1164,"data":2916,"type":42,"tunes":2917},{"text":1166,"level":247},{},{"id":1169,"data":2919,"type":218,"tunes":2920},{"text":1171},{},{"id":1174,"data":2922,"type":218,"tunes":2923},{"text":1176},{},{"id":1179,"data":2925,"type":218,"tunes":2926},{"text":1181},{},{"id":1184,"data":2928,"type":218,"tunes":2929},{"text":1186},{},{"id":1189,"data":2931,"type":218,"tunes":2932},{"text":1191},{},{"id":1194,"data":2934,"type":42,"tunes":2935},{"text":1196,"level":247},{},{"id":1199,"data":2937,"type":218,"tunes":2938},{"text":1201},{},{"id":1204,"data":2940,"type":218,"tunes":2941},{"text":1206},{},{"id":1209,"data":2943,"type":218,"tunes":2944},{"text":1211},{},{"id":1214,"data":2946,"type":42,"tunes":2947},{"text":1216,"level":247},{},{"id":1219,"data":2949,"type":218,"tunes":2950},{"text":1221},{},{"id":1224,"data":2952,"type":492,"tunes":2953},{"url":1226,"title":1227,"excerpt":1228,"ctaLabel":1229},{},{"id":1232,"data":2955,"type":218,"tunes":2956},{"text":1234},{},{"id":1237,"data":2958,"type":218,"tunes":2959},{"text":1239},{},{"id":1242,"data":2961,"type":42,"tunes":2962},{"text":1244,"level":247},{},{"id":1247,"data":2964,"type":1247,"tunes":2974},{"items":2965,"title":1282},[2966,2967,2968,2969,2970,2971,2972,2973],{"id":1251,"answer":1252,"question":1253},{"id":1255,"answer":1256,"question":1257},{"id":1259,"answer":1260,"question":1261},{"id":1263,"answer":1264,"question":1265},{"id":1267,"answer":1268,"question":1269},{"id":1271,"answer":1272,"question":1273},{"id":1275,"answer":1276,"question":1277},{"id":1279,"answer":1280,"question":1281},{},{"id":1285,"data":2976,"type":42,"tunes":2977},{"text":1287,"level":247},{},{"id":1290,"data":2979,"type":1290,"tunes":2993},{"title":1292,"entries":2980},[2981,2982,2983,2984,2985,2986,2987,2988,2989,2990,2991,2992],{"term":1295,"anchor":1296,"definition":1297},{"term":1299,"anchor":1300,"definition":1301},{"term":1303,"anchor":1304,"definition":1305},{"term":1307,"anchor":1308,"definition":1309},{"term":1311,"anchor":1312,"definition":1313},{"term":1315,"anchor":1316,"definition":1317},{"term":1319,"anchor":1320,"definition":1321},{"term":1323,"anchor":1324,"definition":1325},{"term":376,"anchor":1327,"definition":1328},{"term":1330,"anchor":1331,"definition":1332},{"term":1334,"anchor":1335,"definition":1336},{"term":1338,"anchor":1339,"definition":1340},{},{"id":1343,"data":2995,"type":42,"tunes":2996},{"text":1345,"level":247},{},{"id":1348,"data":2998,"type":218,"tunes":2999},{"text":1350},{},{"id":1353,"data":3001,"type":218,"tunes":3002},{"text":1355},{},{"id":1358,"data":3004,"type":218,"tunes":3005},{"text":1360},{},{"id":1363,"data":3007,"type":42,"tunes":3008},{"text":1365,"level":247},{},{"id":1368,"data":3010,"type":218,"tunes":3011},{"text":1370},{},{"id":1373,"data":3013,"type":1380,"tunes":3016},{"link":1375,"meta":3014},{"image":3015,"title":1378,"description":1379},{"url":406},{},{"id":1383,"data":3018,"type":1380,"tunes":3021},{"link":1385,"meta":3019},{"image":3020,"title":1388,"description":1389},{"url":406},{},{"id":1392,"data":3023,"type":1380,"tunes":3026},{"link":1394,"meta":3024},{"image":3025,"title":1397,"description":1398},{"url":406},{},{"id":1401,"data":3028,"type":1380,"tunes":3031},{"link":1403,"meta":3029},{"image":3030,"title":1406,"description":1407},{"url":406},{},"Post erfolgreich abgerufen",{"items":3034,"source":3116,"manualIds":3117,"manualMatchedIds":3118},[3035,3042,3049,3056,3063,3070,3077,3082,3089,3096,3103,3110],{"id":3036,"slug":3037,"title":3038,"excerpt":3039,"featuredImage":3040,"publishedAt":3041},"487","vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","Bases de données vectorielles, plongements et reclassement : trois parties distinctes de la recherche","Les embeddings représentent le sens, les bases de données vectorielles récupèrent des candidats, et les rerankers affinent les résultats. Découvrez comment ces trois couches de récupération diffèrent et fonctionnent ensemble dans le RAG.","\u002Fuploads\u002F2026\u002F10\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval-1791480129884-9dtasz.webp","2026-10-08T11:21:00.000Z",{"id":3043,"slug":3044,"title":3045,"excerpt":3046,"featuredImage":3047,"publishedAt":3048},"467","the-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers","La frontière de validité des réponses : la couche manquante entre la pertinence et les réponses fiables de l'IA","Une source peut être pertinente, faisant autorité et pourtant être erronée pour la question posée. La couche manquante est l'applicabilité : les conditions dans lesquelles une réponse est valable, et les changements qui obligent à la reconsidérer. Cet article présente la Frontière de Validité de la Réponse comme un modèle de conception de source pour les humains, la recherche par IA et les systèmes RAG.","\u002Fuploads\u002F2026\u002F09\u002Fthe-answer-validity-boundary-the-missing-layer-between-relevance-and-reliable-ai-answers-1790272901306-1g5jly.webp","2026-09-24T11:59:00.000Z",{"id":3050,"slug":3051,"title":3052,"excerpt":3053,"featuredImage":3054,"publishedAt":3055},"466","the-gpu-is-not-the-product-future-proof-private-ai-architecture","Le GPU n'est pas le produit : architecture d'IA privée pérenne","Une infrastructure d'IA privée ne devrait pas être conçue autour d'un seul GPU ou d'un seul modèle. Une approche plus résiliente combine des GPU d'inférence rapides, des systèmes d'IA riches en mémoire, des nœuds d'IA physique et des modèles cloud de pointe optionnels derrière une couche de routage prenant en compte les capacités.","\u002Fuploads\u002F2026\u002F09\u002Fthe-gpu-is-not-the-product-future-proof-private-ai-architecture-1790140878812-8hsl39.webp","2026-09-23T01:19:00.000Z",{"id":3057,"slug":3058,"title":3059,"excerpt":3060,"featuredImage":3061,"publishedAt":3062},"468","ai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context","La mémoire des agents IA n'est pas le RAG : comment séparer la mémoire, la récupération, l'état et le contexte","La mémoire des agents, le RAG, l'état et le contexte sont souvent utilisés comme s'ils étaient interchangeables. Ils ne le sont pas. Ce modèle d'architecture pratique sépare les quatre couches, montre où chacune se situe et explique ce qui dysfonctionne lorsque les systèmes les fusionnent en une seule.","\u002Fuploads\u002F2026\u002F09\u002Fai-agent-memory-is-not-rag-how-to-separate-memory-retrieval-state-and-context-1790350560308-np0xy6.webp","2026-09-25T11:34:00.000Z",{"id":3064,"slug":3065,"title":3066,"excerpt":3067,"featuredImage":3068,"publishedAt":3069},"490","rbac-vs-tenant-isolation-two-different-security-boundaries","RBAC vs isolation des locataires : deux frontières de sécurité différentes","Le RBAC contrôle ce qu’un utilisateur peut faire ; l’isolation des locataires contrôle à quelles ressources de locataire cette action peut accéder. Découvrez pourquoi la sécurité SaaS multi-locataires nécessite ces deux frontières.","\u002Fuploads\u002F2026\u002F10\u002Frbac-vs-tenant-isolation-two-different-security-boundaries-1791485111528-qqtzby.webp","2026-10-08T14:43:00.000Z",{"id":3071,"slug":3072,"title":3073,"excerpt":3074,"featuredImage":3075,"publishedAt":3076},"493","mlops-vs-llmops-what-changes-when-the-model-is-an-llm","MLOps vs LLMOps : qu'est-ce qui change lorsque le modèle est un LLM","MLOps exploite les systèmes d'apprentissage automatique ; LLMOps étend ces pratiques aux prompts, au contexte, à la récupération, aux fournisseurs, aux outils, aux évaluations et au comportement d'exécution autour des grands modèles de langage.","\u002Fuploads\u002F2026\u002F10\u002Fmlops-vs-llmops-what-changes-when-the-model-is-an-llm-1791487319869-2v7hxo.webp","2026-10-08T15:20:00.000Z",{"id":3078,"slug":3079,"title":3079,"excerpt":10,"featuredImage":3080,"publishedAt":3081},"369","git-with-automatic-upload-and-synchronization-to-a-production-server","\u002Fuploads\u002F2024\u002F05\u002Fstep-by-step-guide-illustration-showing-the-process-of-setting-up-Git-with-auto-upload-and-synchronization-to-a-production-server-large.webp","2024-05-28T22:48:00.000Z",{"id":3083,"slug":3084,"title":3085,"excerpt":3086,"featuredImage":3087,"publishedAt":3088},"363","front-und-backend-entwicklung","Développement front-end et back-end","Le développement front-end et back-end est une partie essentielle du développement web et implique la création d'applications web et de sites web. Le développement front-end se concentre sur l'interface utilisateur, tandis que le développement back-end est responsable de la programmation et de la gestion côté serveur.","\u002Fuploads\u002F2026\u002F03\u002Ffront-und-backend-entwicklung-1774872219531-wyu4i1.webp","2023-04-12T11:11:00.000Z",{"id":3090,"slug":3091,"title":3092,"excerpt":3093,"featuredImage":3094,"publishedAt":3095},"472","why-more-context-can-make-ai-answers-worse","Pourquoi plus de contexte peut rendre les réponses de l'IA pires","Une fenêtre de contexte plus grande ne garantit pas une meilleure réponse. Cet article explique comment la dilution du signal, les preuves contradictoires, l'état obsolète, la sensibilité à la position et la compression avec perte peuvent réduire la fiabilité de l'IA — et présente un test pratique de pression de contexte.","\u002Fuploads\u002F2026\u002F09\u002Fwhy-more-context-can-make-ai-answers-worse-1790351615793-2ntv2v.webp","2026-09-25T11:51:00.000Z",{"id":3097,"slug":3098,"title":3099,"excerpt":3100,"featuredImage":3101,"publishedAt":3102},"364","tipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung","Maîtriser le flux de travail SEO : Stratégies d'optimisation essentielles pour la croissance organique","Un flux de travail SEO structuré est crucial pour une croissance organique durable. Découvrez les dix stratégies fondamentales, de la recherche de mots-clés et l'optimisation technique à la qualité du contenu et l'analyse des performances.","\u002Fuploads\u002F2026\u002F03\u002Ftipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung-1774866098131-hwkzrg.webp","2024-01-26T06:35:00.000Z",{"id":3104,"slug":3105,"title":3106,"excerpt":3107,"featuredImage":3108,"publishedAt":3109},"384","new-qwen-3-5-plus","Nouveau Qwen 3.5-Plus : l'IA open-source passe aux choses sérieuses","Découvrez les fonctionnalités et avantages révolutionnaires de Qwen 3.5-Plus d'Alibaba, une IA open-source qui change la donne pour les développeurs.","\u002Fuploads\u002F2026\u002F02\u002Fnew-qwen-3-5-plus-1771515512741-dcbi9p.webp","2026-02-19T10:23:00.000Z",{"id":3111,"slug":3112,"title":3113,"excerpt":3114,"featuredImage":3108,"publishedAt":3115},"445","qwen-3-6-in-production-release-runbook-ai-rollback-and-llmops-versioning","Qwen 3.6 en production : Runbook de déploiement, Rollback IA et Versionnage LLMOps","Qwen 3.6 n'est pas seulement une autre mise à jour de modèle. C'est à la fois un événement de déploiement, un scénario de rollback et un problème de versionnage. Cet article explique comment Qwen 3.6 doit être géré en production à travers la discipline LLMOps, la traçabilité des prompts et des modèles, le déploiement contrôlé et une préparation au rollback basée sur des preuves.","2026-05-04T02:49:00.000Z","fallback",[],[]]