Agents IA
L'ingénierie de harnais : la couche logicielle qui transforme un modèle en agent
· 36 min de lecture · Paul-Antoine Tual
La chose la plus claire écrite en 2026 sur l’architecture des agents est une équation, et elle tient sur une ligne : un agent est un modèle plus un harnais. Le modèle est la partie que vous louez, il est probabiliste, et son comportement n’est pas le vôtre à garantir. Le harnais est tout le code, toute la configuration et toute la logique d’exécution qui ne sont pas le modèle, et c’est la partie que vous possédez, versionnez, testez et assumez. Cet article expose ce qu’il y a réellement dans un harnais, à partir des sources qui se vérifient, et nomme les deux chiffres les plus cités sur l’échec des agents qui, eux, ne se vérifient pas.
- Une analyse conceptuelle publiée en juin 2026 donne quatre conditions nécessaires et suffisantes pour qu’un système soit un harnais : une boucle d’agent, une interface d’outils, une gestion du contexte et des mécanismes de contrôle [1].
- Un audit du code source de onze harnais de production, sur environ quatre millions de lignes de Python, TypeScript et Rust, constate qu’aucun n’importe de framework agentique généraliste et qu’aucun ne récupère du code par plongements vectoriels [2].
- Reflexion atteint 91 % de pass@1 sur HumanEval contre 80 % pour le même modèle GPT-4 en référence, ce qui reste le cas publié le plus net d’un changement de harnais qui bat un changement de modèle [3].
- Les deux chiffres le plus souvent invoqués pour justifier le travail sur le harnais, « 88 % des initiatives d’agents échouent » et « 65 % des échecs viennent de l’infrastructure », n’ont aucune source traçable, tandis que ceux qui en ont une disent quelque chose de plus étroit.
1. Un agent est un modèle plus un harnais
Le terme s’est stabilisé en une définition utilisable au cours de six mois de 2026, et il vaut la peine de noter qui a dit quoi : le vocabulaire est assez jeune pour que les erreurs d’attribution circulent déjà.
- Mitchell Hashimoto nomme la pratique en février 2026, sans prétendre que le terme soit établi : « I don’t know if there is a broad industry-accepted term for this yet, but I’ve grown to calling this “harness engineering.” It is the idea that anytime you find an agent makes a mistake, you take the time to engineer a solution such that the agent never makes that mistake again » [4].
- Vivek Trivedy, qui dirige la recherche appliquée chez LangChain, publie l’équation en mars 2026 avec une définition qui fait le travail : « A harness is every piece of code, configuration, and execution logic that isn’t the model itself » [5].
- Birgitta Böckeler pose la discipline d’ingénierie en avril 2026 et introduit une distinction qui compte commercialement, entre le builder harness livré par qui a construit l’agent et le user harness qu’une équipe assemble par-dessus pour son propre système et son propre code [6].
- OpenAI chiffre l’enjeu le même mois, en rapportant une construction interne de cinq mois portant sur environ un million de lignes de code, environ 1 500 demandes de fusion et sept ingénieurs, avec, dans ses propres termes, « 0 lines of manually-written code », et un partage des rôles résumé en « Humans steer. Agents execute. » [7]. C’est une déclaration d’entreprise sur son propre outillage, pas un résultat audité.
- L’idée est plus ancienne que le mot. L’AI Safety Institute britannique décrit la même couche en octobre 2024 et l’appelle échafaudage : « a model is provided with a “scaffolding”, which consists of a set of tools, a prompting procedure, and error handling » [8].
La définition la plus solide disponible est constitutive, publiée en juin 2026, et elle énonce ce qu’un système doit avoir pour mériter le nom de harnais.
- Les quatre conditions sont une boucle d’agent qui entrelace raisonnement, action et observation ; une interface d’outils qui permet au modèle de percevoir et de modifier l’environnement ; une gestion du contexte qui décide de ce qui entre et sort de la fenêtre ; et des mécanismes de contrôle, c’est-à-dire des limites, de la vérification et des actions déterministes [1].
- Chacune est argumentée par ce que son absence produit : « Without an agent loop, the system answers once and stops; it is a generator, not an agent » et « Without control mechanisms, the system acts, but no one can tell whether it did what it claims, nor is there a way to contain it » [1].
- La définition exclut aussi, délibérément, un framework d’agents, un kit de développement, une extension d’éditeur, un banc d’évaluation et un orchestrateur, ce qui en fait un test utilisable plutôt qu’un slogan.
- Le même article reconstitue la généalogie du mot, de l’ancien français harneis au sens du XIVe siècle des sangles qui relient un animal de trait à une charrette, puis au banc d’essai logiciel avec ses scripts, ses simulacres et ses bouchons, puis au banc d’évaluation en apprentissage automatique [1].
Les trois paliers d’intervention se présentent d’ordinaire comme une progression, et la façon utile de les distinguer est de demander ce que vous avez le droit de changer.
- L’ingénierie d’invites change la formulation d’une consigne et rien d’autre, ce qui explique qu’elle cesse d’opérer dès que la défaillance est structurelle. Nous avions posé cette limite quand la pratique se vendait encore comme un intitulé de poste, dans concevoir un contexte fiable pour l’IA.
- L’ingénierie de contexte change ce qui entre et sort de la fenêtre d’attention : sélection, ordre, compression, récupération. L’arithmétique de ce palier, cache KV et mise en cache d’invites comprises, est dans notre guide de la taille du contexte.
- L’ingénierie de harnais change l’environnement lui-même : quels outils existent, où le code s’exécute, ce que l’agent a le droit de lire, ce qui l’arrête. Un problème de harnais se reconnaît à ce qu’aucune reformulation ne le règle.
- Une opposition entre « harness engineering » et « loop engineering » circule largement dans les commentaires de 2026, la première construisant l’environnement et la seconde la dynamique d’itération. C’est un outil pédagogique commode, mais aucun des auteurs ci-dessus ne cadre la discipline ainsi : à lire comme du vocabulaire de blog, pas comme une distinction établie.
2. Ce que onze harnais de production contiennent vraiment
Le travail empirique le plus utile sur les harnais lit leur code source plutôt que leur argumentaire, et il a été publié en 2026 comme un audit de onze agents de codage de production, plus un méta-harnais en point de comparaison [2].
- Les systèmes audités sont Claude Code, Codex CLI, Gemini CLI, Mistral Vibe, OpenHands, Aider, Mini-SWE-Agent, Hermes, Pi, OpenCode et OpenClaw, sur environ quatre millions de lignes de Python, TypeScript et Rust.
- L’article cartographie sept sous-systèmes canoniques : la boucle d’agent, l’intégration du modèle, les outils et actions, la mémoire et le contexte, la sûreté et les permissions, l’orchestration et les surfaces d’extension, chacun avec son implémentation minimale et maximale.
- Il produit treize observations transversales et un catalogue de vingt-neuf motifs de conception récurrents, et se termine par un harnais minimal viable de quatre-vingt-dix lignes.
- Sa définition rejoint la définition constitutive : « The harness is everything except the model: the runtime that couples an LLM to the world, its loop, its tools, its context, its safety controls, its orchestration, and its extension surfaces » [2].
Deux constats ont survécu à un élargissement du corpus, et tous deux contredisent ce que le marché de l’outillage dit de lui-même.
- Aucun moteur d’exécution de l’échantillon n’importe de framework agentique généraliste. LangChain, AutoGen et LangGraph sont absents des onze systèmes, qui tournent sur des boucles asynchrones écrites à la main.
- Aucun ne récupère du code par plongements vectoriels. La récupération est déterministe : ripgrep, tree-sitter, motifs glob et fichiers Markdown de contexte découverts automatiquement.
- Les compétences d’agent devancent le Model Context Protocol en adoption, neuf systèmes contre huit, et l’Agent Client Protocol est livré dans six.
- Lus ensemble, ces chiffres décrivent un domaine qui a discrètement abandonné deux des architectures le plus vivement recommandées aux entreprises entre 2023 et 2025.
La métaphore équestre enfouie dans le mot se révèle une carte utilisable de ces sous-systèmes, à condition de convertir chaque pièce de harnachement en composant réel plutôt que de la laisser à l’état d’image.
| Pièce de harnachement | Sous-système du harnais | Ce qu’il fait de façon déterministe |
|---|---|---|
| Mors et rênes | Contrats d’outils typés, schémas, serveurs de protocole | Contraint du texte libre en appels qui valident ou échouent |
| Œillères | Assemblage du contexte, consignes de domaine, compétences | Décide de ce que le modèle voit avant qu’il décide quoi que ce soit |
| Clôtures | Bacs à sable, permissions, contrôle de politique entre proposition et exécution | Borne la portée d’une action, y compris en cas de compromission |
| Selle et étriers | Système de fichiers persistant, points de reprise, documents de travail | Tient l’état hors de la fenêtre d’attention, et autorise le retour en arrière |
| Sacoches | Mémoire externe et récupération | Rappelle des faits sans les porter en mémoire de travail |
| Rênes tenues courtes | Plafonds d’étapes, temporisations, conditions d’arrêt | Termine une exécution qui consomme du budget sans converger |
3. Les rênes : des contrats typés, pas une ligne de commande
Le lien entre ce que le modèle émet et ce que la machine fait est l’endroit où un harnais tient ou ne tient pas, et le cadre de recherche qui le décrit est l’interface agent-ordinateur.
- Le terme vient de SWE-agent, dont la prémisse est que les agents forment une nouvelle catégorie d’utilisateurs : « we posit that LM agents represent a new category of end users with their own needs and abilities, and would benefit from specially-built interfaces to the software they use » [9].
- L’apport de l’article est que la conception de l’interface change la performance mesurée, et il se termine en donnant « insight on how the design of the ACI can impact agents’ behavior and performance », ce qui est la revendication empirique sous chaque recommandation de schéma d’outil depuis.
- En pratique, cela signifie des fonctions aux types déclarés et aux modes d’échec documentés, pas un terminal dans lequel le modèle taperait librement, parce qu’un appel invalide doit échouer à la frontière plutôt qu’au milieu d’un effet de bord.
- Le Model Context Protocol est devenu le transporteur commun de cette frontière. Anthropic l’a donné à l’Agentic AI Foundation, un fonds dédié de la Linux Foundation, en décembre 2025, et une révision substantielle de la spécification a suivi en juillet 2026 [10].
Une règle de conception mérite d’être énoncée simplement, parce qu’elle est largement pratiquée et n’a aucun nom établi : la réponse finale d’un agent doit être scindée, la partie narrative étant rédigée par le modèle et la partie quantitative recopiée depuis le système de référence sans que le modèle la ressaisisse.
- Les totaux, identifiants, dates et états de compte sont copiés par le harnais depuis le résultat de la requête vers la réponse, et le modèle reçoit la prose autour.
- La défaillance ainsi évitée est précise et coûteuse : un modèle qui reformate un tableau correct en altérant silencieusement une valeur produit une erreur qu’aucun validateur de schéma n’attrapera, puisque la sortie reste bien formée.
- Présenter cela comme un motif nommé de l’industrie serait surjouer. C’est une convention applicative, et nous l’annonçons comme telle.
4. La boucle : raisonner, agir, observer, et le problème de la trace empoisonnée
La boucle est la plus ancienne des quatre conditions et la mieux documentée, et sa défaillance caractéristique est que le raisonnement erroné de l’agent reste dans la fenêtre et se relit comme une preuve.
- ReAct a établi l’entrelacement que presque tous les moteurs emploient encore, « the use of LLMs to generate both reasoning traces and task-specific actions in an interleaved manner, allowing for greater synergy between the two » [11], et Toolformer a montré la moitié complémentaire à la même période : un modèle peut apprendre seul quand et comment appeler une API externe à partir de quelques démonstrations, sans annotation des appels à faire [12].
- La pathologie de la version naïve est qu’une tentative ratée ne quitte pas l’historique. L’étape suivante la lit, la traite comme du contexte, et produit une variation sur la même erreur.
- Reflexion sépare les rôles : l’agent tente, un signal externe évalue, et un critique analyse l’écart en mots avant la tentative suivante. L’article rapporte 91 % de pass@1 sur HumanEval contre 80 % pour le même GPT-4 en référence [3]. Le banc d’essai est depuis saturé et le modèle a trois générations de retard : c’est l’architecture qui se transpose, pas le chiffre.
- La technique Ralph répond à l’autre défaillance, l’agent qui s’arrête trop tôt ou se noie dans sa propre transcription, en le relançant avec une fenêtre vierge et rien d’autre que l’état qu’il avait obligation d’écrire sur disque [13]. C’est une boucle shell dans sa forme originale, et son intérêt est que la continuité du travail réside dans le système de fichiers plutôt que dans la conversation.
5. Les clôtures : la partie qui pense ne doit pas être celle qui agit
Un agent qui lit du contenu non fiable et détient des privilèges d’exécution a déjà perdu la partie, parce qu’une instruction dissimulée dans une page récupérée arrive à l’étape de raisonnement avec le même statut que la consigne de l’utilisateur.
- Simon Willison a décrit la réponse structurelle dès avril 2023 sous le nom de motif dual LLM : un modèle privilégié qui ne voit jamais de contenu non fiable, un modèle en quarantaine qui le voit, et aucun chemin du second vers un outil [14].
- CaMeL l’a formalisée par un modèle de flux de contrôle et de données où un modèle privilégié planifie, un modèle en quarantaine analyse les données non fiables, et un interpréteur dédié vérifie les capacités avant chaque appel d’outil [15].
- La taxonomie de 2025 des motifs de conception pour sécuriser les agents contre l’injection d’invite généralise la famille, et sa contrainte centrale vaut comme règle de conception : une fois qu’un agent a ingéré une entrée non fiable, ses actions restantes doivent être contraintes à l’avance plutôt que jugées après coup [16].
- Un préprint de 2026 propose la même séparation sous le nom de séparation cognitivo-exécutive, avec une évaluation qui contourne délibérément la couche de raisonnement pour tester la frontière architecturale sous compromission totale, et rapporte 98,9 % de 280 cas adverses bloqués sur neuf catégories d’attaque, sans faux positif dans la configuration par défaut [17]. C’est un préprint d’auteur unique avec un banc d’essai maison : l’architecture est la partie transposable, le pourcentage ne l’est pas.
La question de savoir par où entre réellement le contenu non fiable a une réponse concrète, et c’est la description de l’outil plutôt que sa sortie.
- La spécification du protocole le dit elle-même : « Tools represent arbitrary code execution and must be treated with appropriate caution. In particular, descriptions of tool behavior such as annotations should be considered untrusted, unless obtained from a trusted server » [10]. Le même document concède que « while MCP itself cannot enforce these security principles at the protocol level », la charge revient aux implémenteurs.
- Luca Beurer-Kellner et Marc Fischer ont démontré l’attaque en avril 2025 et l’ont nommée empoisonnement d’outil : des instructions logées dans une description d’outil, « invisible to users but visible to AI models », qui exploitent le fait que le modèle lit la description complète quand l’interface n’en montre qu’une version simplifiée [18]. Leur seconde démonstration est celle qu’il faut retenir. Un outil de calcul malveillant a silencieusement pris le pas sur un outil de messagerie de confiance, et « the agent willingly sends all emails to the attacker, even if the user explicitly specifies a different recipient ».
- L’autorisation n’est pas durable non plus. Une définition d’outil peut changer après avoir été approuvée, un motif que la proposition qui entend le corriger par des définitions signées et versionnées appelle un rug pull, au constat que le protocole ne prévoit ni versionnement, ni empreinte de contenu, ni réapprobation en cas de modification [19]. La CVE-2025-54136 est le même mécanisme observé en vrai : remplacer dans un dépôt partagé une configuration de serveur déjà approuvée par une commande malveillante, sans nouvelle demande de consentement.
- La population a été mesurée, et elle ne rassure pas. Une étude portant sur 67 057 serveurs issus de six registres publics a trouvé 833 porteurs de faiblesses de code exploitables et 18 affichant des descriptions suspectes [20]. Un audit dynamique de juillet 2026 a confirmé 640 serveurs exposés sur Internet en production, en a testé 414, et rapporte 91,8 % sans authentification OAuth et 41,6 % disparus en moins de trois jours entre deux campagnes consécutives [21].
C’est le point où l’équation publiée sert le moins bien un exploitant. Trivedy place les serveurs de protocole dans le harnais, à côté des crochets que vous avez écrits vous-même, et Böckeler les place dans le user harness, l’anneau extérieur qu’une équipe assemble pour son propre système. Les deux se défendent comme architecture. Aucune des deux n’enregistre qu’un serveur tiers est du code que vous n’avez pas écrit, qui s’exécute là où vous ne voyez rien, et dont le comportement peut changer entre deux exécutions sans numéro de version. Un article de gouvernance de 2026 nomme cette classe directement, les attaquants de chaîne d’approvisionnement « who distribute compromised servers », et relève que les cadres existants comme le NIST AI Risk Management Framework et l’ISO/IEC 42001 « do not yet cover » le sujet en détail [22].
Les clôtures supposent aussi de savoir quand s’arrêter, et c’est le point du harnais où l’outillage est réellement en retard sur la théorie.
- Chaque moteur majeur livre un plafond dur sous un nom différent :
max_turnsdans le Claude Agent SDK et le SDK Agents d’OpenAI,max_iterationsdans LangChain,recursion_limitdans LangGraph. Un plafond met fin à une exécution ; il ne remarque pas qu’elle a cessé de progresser deux cents étapes plus tôt. - Une étude de 2026 a nommé la classe de défaillance, analysé 6 549 dépôts d’agents avec un analyseur statique, et confirmé 68 défaillances par boucle infinie dans 47 projets, avec une précision de 91,9 % [23].
- Détecter un agent qui tourne en rond à l’intérieur de son budget, plutôt qu’au-delà, reste un problème ouvert. Une demande de terminaison sensible au progrès a été ouverte chez LangChain en mars 2026 et fermée sans livraison.
- Le substitut praticable est un contrôle externe : une suite de tests, un compilateur ou un diff qui doit changer entre deux itérations, le harnais terminant l’exécution quand ce n’est pas le cas. C’est la logique du point de contrôle humain décrite dans l’ingénierie des systèmes agentiques.
6. La selle : un système de fichiers contre le context rot
Les contextes longs se dégradent, et la dégradation est mesurée plutôt que folklorique, ce qui explique que les harnais sérieux traitent la fenêtre d’attention comme rare même quand l’éditeur la vend comme abondante.
- Le rapport technique de Chroma a testé dix-huit modèles sur des tâches contrôlées qui étendent l’aiguille dans une botte de foin par de l’appariement sémantique et des distracteurs, et constate que les modèles ne traitent pas le contexte uniformément : la performance baisse à mesure que l’entrée s’allonge, y compris sur des tâches triviales en version courte [24].
- La version positionnelle de l’effet était établie plus tôt : une information située au début ou à la fin d’un contexte long est exploitée plus sûrement que la même information au milieu [25].
- Anthropic définit la compaction comme « taking a conversation nearing the context window limit, summarizing its contents, and reinitiating a new context window with the summary », et nomme l’effacement des résultats d’outils comme sa forme la plus légère, au motif qu’un résultat brut enfoui dans l’historique a cessé de mériter ses jetons [26].
- Manus a décrit une pratique complémentaire qu’elle appelle compression restaurable : abandonner le contenu d’une page tant que l’URL est conservée, abandonner le contenu d’un document tant que son chemin dans le bac à sable reste disponible [27].
L’économie renforce l’architecture, et un rapport tient depuis assez longtemps pour qu’on planifie dessus.
- Le billet de Manus a chiffré la différence sans détour en juillet 2025 : « With Claude Sonnet, cached input tokens cost $0.30/MTok, while uncached ones cost $3/MTok, a 10x difference » [27].
- Ces montants absolus sont périmés, le rapport ne l’est pas. Sur la grille Anthropic de septembre 2026, Sonnet 5 coûte 2 $ par million de jetons d’entrée et 0,20 $ en lecture de cache, soit le même écart d’un facteur dix [28].
- La conséquence d’ingénierie est qu’un harnais doit garder la tête de son invite stable octet pour octet : un horodatage ou une liste d’outils réordonnée en haut du contexte invalide le cache pour tout ce qui suit.
- Externaliser la mémoire produit un ordre de grandeur comparable : l’article Mem0 rapporte environ 90 % d’économie de jetons face aux approches à contexte complet sur son banc d’essai, soit un facteur dix et non le facteur cent parfois cité [29].
Là où la sortie brute compte encore, le motif qui s’est imposé en pratique consiste à garder la tête et la queue d’un gros résultat d’outil dans la fenêtre, à écrire l’ensemble sur le système de fichiers, et à laisser l’agent relire la partie dont il a besoin. C’est une convention d’implémentation visible dans plusieurs moteurs, pas l’apport nommé de l’un d’eux.
7. Le déterminisme d’abord : le harnais comme régulateur
Le principe qui fait de tout ce qui précède une discipline plutôt qu’une liste d’astuces vient de la théorie du contrôle, et Böckeler l’énonce avec la loi empruntée qui convient : un régulateur doit posséder au moins autant de variété que le système qu’il gouverne, et il ne peut réguler que ce dont il a un modèle [6] [30].
- Un modèle de langage non contraint peut produire une variété non bornée de sorties : le régulateur ne peut donc pas l’égaler par inspection après coup.
- Le geste qui fonctionne consiste à réduire la variété à la source, par des interfaces typées, une récupération restreinte et des ensembles d’actions bornés, jusqu’à ce que le reste soit assez petit pour être gouverné par du code.
- La classification de Böckeler trie chaque contrôle selon deux axes, la direction et l’exécution : des guides qui agissent avant que le modèle travaille (feedforward) face à des capteurs qui agissent après (feedback), et des contrôles qui s’exécutent comme du calcul face à ceux qui s’exécutent comme de l’inférence [6].
- Elle nomme aussi la propriété d’une base de code qui décide de l’efficacité de tout cela, la harnessability : « Not every codebase is equally amenable to harnessing. A codebase written in a strongly typed language naturally has type-checking as a sensor; clearly definable module boundaries afford architectural constraint rules. »
La même logique, poussée à son terme, rétrograde le modèle de chef d’orchestre à composant.
- Cloudflare a défendu la version pratique en septembre 2025 sous le nom de code mode : donner une API à l’agent et le laisser écrire du code contre elle, plutôt que de lui faire émettre un appel d’outil à la fois [31].
- Anthropic a publié l’équivalent pour les serveurs de protocole en novembre 2025, en présentant l’exécution de code avec MCP comme la voie vers moins de jetons et moins d’allers-retours [32].
- La formulation académique est arrivée en juin 2026 sous le nom de programmation agentique, où le programme détient tout le flux de contrôle et le modèle devient un composant adaptatif invoqué seulement là où la tâche demande du raisonnement ou de la génération. La thèse de l’article est que l’explosion du nombre de jetons, l’hallucination de flux de contrôle et la terminaison peu fiable sont des conséquences architecturales du fait de confier à un système probabiliste le travail déterministe des boucles et des branchements [33].
- C’est le même réflexe que le point de contrôle appliqué aux changements de code dans le développement à décision gardée : le plan est approuvé par autre chose que ce qui l’a écrit.
8. Les chiffres qui circulent et que personne ne peut sourcer
Tout article défendant l’importance des harnais se verra proposer deux statistiques pour le prouver, et les deux échouent au premier contrôle, ce qui mérite d’être documenté parce que le mécanisme de blanchiment fait désormais partie du sujet.
- « Près de 88 % des initiatives d’agents autonomes n’atteignent pas la stabilité en production » apparaît dans des billets de contenu de 2026 sans aucune citation nulle part dans la chaîne. L’un le dérive en soustrayant de 100 un taux d’adoption sans rapport.
- « 65 % de ces défaillances viennent de l’infrastructure environnante plutôt que du modèle » n’a pas davantage d’étude derrière lui, et le triptyque qui l’accompagne d’ordinaire n’apparaît dans aucune taxonomie publiée.
- Le phénomène s’étend au vocabulaire. Plusieurs taxonomies de harnais proposées dans des préprints isolés de 2026, ainsi que des acronymes de listes de composants, sont repris par des sites agrégateurs comme s’il s’agissait de standards, pendant que des décompositions concurrentes du même objet paraissent en parallèle.
- Le test qui résiste au contact de cette littérature est celui qui coûte trente secondes : remonter la citation jusqu’à une source primaire datée, ou abandonner le chiffre.
Les mesures qui existent, elles, disent quelque chose de plus étroit et de plus utile.
- Gartner prévoit que plus de 40 % des projets d’IA agentique seront annulés d’ici fin 2027, « due to escalating costs, unclear business value or inadequate risk controls » [34]. Le communiqué présente cela comme une prévision d’analyste et n’y attache aucun échantillon ; le sondage de 3 412 répondants cité à côté est un élément de contexte, pas la base du chiffre.
- Le rapport MIT NANDA écrit que « 95% of organizations are getting zero return », sur une base de plus de 300 initiatives publiquement documentées, 52 entretiens structurés et 153 dirigeants interrogés [35]. C’est un rapport de projet portant une signature MIT plutôt qu’une publication institutionnelle du MIT, son propre avertissement le dit, et cela vaut d’être su avant de le citer comme « le MIT a mesuré ».
- Ce qui ressemble le plus à une anatomie des défaillances est la taxonomie MAST, construite en annotant des traces d’exécution sur sept frameworks multi-agents, 1 642 dans la version publiée, avec un accord inter-annotateurs de 0,88 : problèmes de spécification et de conception à environ 42 %, désalignement entre agents à environ 37 %, vérification et terminaison à environ 21 % [36]. Ces trois parts se lisent sur le graphique de l’article plutôt que dans une phrase, elles sont donc rapportées ici comme des approximations.
- Ces trois catégories relèvent du harnais plutôt que de la capacité du modèle, ce qui soutient l’argument que les chiffres inventés cherchaient à atteindre. Le soutien est qualitatif, et le dire ne coûte rien.
Une dernière note honnête sur la direction que prend le domaine. La conception des harnais commence à s’automatiser : Self-Harness rapporte un agent qui améliore son propre harnais par fouille de faiblesses, proposition de modifications et validation sous garde de régression, avec des gains relatifs de taux de réussite atteignant 132 % sur trois bancs d’essai et trois modèles de base [37]. Un autre système, Harness-1, sort la gestion d’état de la politique pour la confier à l’environnement, et rapporte 11,4 points de rappel de plus que le meilleur agent de recherche ouvert suivant [38]. Ce sont deux préprints de 2026 sur les évaluations de leurs propres auteurs. Ils dessinent la prochaine discussion, ils ne prouvent pas celle-ci.
La partie que vous louez et celle que vous possédez
Un dirigeant qui décide où placer les six prochains mois d’ingénierie a une question à se poser, et ce n’est pas quel modèle choisir.
- Le modèle est loué. Ses poids, son comportement de sûreté, sa date de retrait et son prix se décident ailleurs, et le fournisseur peut changer le builder harness en dessous sans changer l’identifiant que vous testez. Nous avons posé la discipline de versionnement qui en découle dans reprendre le contrôle de ses dépendances.
- Le harnais est possédé. Les contrats d’outils, la frontière du bac à sable, les conditions d’arrêt, les fichiers de travail, la suite d’évaluation et les contrôles de politique sont du code dans votre dépôt, ils survivent à une migration de modèle, et ce sont les seuls éléments qu’un juge, un auditeur ou un client peut examiner.
- Les serveurs tiers ne sont ni l’un ni l’autre. Un serveur de protocole que vous n’avez pas écrit n’est pas loué, puisque personne ne vous a promis de durée, et il n’est pas possédé, puisque vous ne pouvez pas en figer le comportement. C’est la seule partie de la pile qui peut changer sous vous sans numéro de version, et l’état mesuré de cette population est dans la section précédente. L’équation publiée le range dans le harnais. Sur l’axe qui décide de qui répond quand un incident survient, cet article préfère l’énoncer à part : un modèle que vous louez, un harnais que vous possédez, et des serveurs qui appartiennent à quelqu’un d’autre. C’est une proposition sur la responsabilité, donnée comme telle, et non une correction de l’architecture de qui que ce soit.
- Le travail est ingrat et c’est le travail : déclarer les outils, borner le rayon d’action, mettre les serveurs sur liste d’autorisation et les réapprouver quand leurs définitions changent, remonter dans le compilateur tout contrôle qu’un compilateur sait faire, écrire l’état sur disque, et réserver le modèle aux étapes où le jugement est le produit. Ce qui ramène à la place des processus agentiques dans une organisation, c’est-à-dire à l’intérieur d’un processus dont quelqu’un répond.
- Le cheval, dans la métaphore, n’a jamais été l’exploit. N’importe qui peut en acheter un plus rapide.
Cet article décrit une pratique d’ingénierie et cite comme telles des recherches publiées et des déclarations d’entreprises. Les chiffres rapportés par des éditeurs sur leurs propres systèmes, dont l’expérience OpenAI Codex et les résultats de bancs d’essai des préprints de 2026, ne sont pas audités de façon indépendante et sont présentés ici avec cette limite énoncée.
Sources
- Sanderson Oliveira de Macedo, ‘What makes a harness a harness: necessary and sufficient conditions for an agent harness’, arXiv:2606.10106, 8 juin 2026.
- Paul Barbaste, Tristan Darrigol, Germain Vu et Tom Wiltberger, ‘Harness Engineering: Anatomy, Architecture, and Evolution of Coding Agents. A Source-Code Study of Eleven Systems’, arXiv:2609.00006, 2026.
- Noah Shinn, Federico Cassano, Edward Berman, Ashwin Gopinath, Karthik Narasimhan et Shunyu Yao, ‘Reflexion: Language Agents with Verbal Reinforcement Learning’, arXiv:2303.11366, NeurIPS 2023.
- Mitchell Hashimoto, ‘My AI Adoption Journey’, mitchellh.com, 5 février 2026.
- Vivek Trivedy, ‘The Anatomy of an Agent Harness’, LangChain blog, 10 mars 2026.
- Birgitta Böckeler, ‘Harness engineering for coding agent users’, martinfowler.com, 2 avril 2026.
- Ryan Lopopolo, ‘Harness engineering: leveraging Codex in an agent-first world’, OpenAI, 11 février 2026. Chiffres rapportés par OpenAI sur son propre projet interne.
- UK AI Safety Institute, ‘Early lessons from evaluating frontier AI systems’, 24 octobre 2024. L’institut a été renommé AI Security Institute en février 2025.
- John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan et Ofir Press, ‘SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering’, arXiv:2405.15793, NeurIPS 2024.
- Model Context Protocol, ‘MCP joins the Agentic AI Foundation’, 9 décembre 2025; spécification du 28 juillet 2026 et son journal des modifications.
- Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan et Yuan Cao, ‘ReAct: Synergizing Reasoning and Acting in Language Models’, arXiv:2210.03629, 6 octobre 2022; ICLR 2023.
- Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda et Thomas Scialom, ‘Toolformer: Language Models Can Teach Themselves to Use Tools’, arXiv:2302.04761, 2023.
- Geoffrey Huntley, ‘Ralph Wiggum as a “software engineer”’, ghuntley.com, 14 juillet 2025.
- Simon Willison, ‘The Dual LLM pattern for building AI assistants that can resist prompt injection’, simonwillison.net, 25 avril 2023.
- Edoardo Debenedetti, Ilia Shumailov, Tianqi Fan, Jamie Hayes, Nicholas Carlini, Daniel Fabian, Christoph Kern, Chongyang Shi, Andreas Terzis et Florian Tramèr, ‘Defeating Prompt Injections by Design’, arXiv:2503.18813, 24 mars 2025.
- Luca Beurer-Kellner, Beat Buesser, Ana-Maria Crețu, Edoardo Debenedetti, Daniel Dobos, Daniel Fabian, Marc Fischer, David Froelicher, Kathrin Grosse, Daniel Naeff, Ezinwanne Ozoani, Andrew Paverd, Florian Tramèr et Václav Volhejn, ‘Design Patterns for Securing LLM Agents against Prompt Injections’, arXiv:2506.08837, 10 juin 2025.
- Joel Fokou, ‘Parallax: Why AI Agents That Think Must Never Act’, arXiv:2604.12986, 14 avril 2026. Préprint d’auteur unique ; l’évaluation utilise un banc d’essai construit par l’auteur.
- Luca Beurer-Kellner et Marc Fischer, ‘MCP Security Notification: Tool Poisoning Attacks’, Invariant Labs, 1er avril 2025.
- Manish Bhatt, Vineeth Sai Narajala et Idan Habler, ‘ETDI: Mitigating Tool Squatting and Rug Pull Attacks in Model Context Protocol (MCP) by using OAuth-Enhanced Tool Definitions and Policy-Based Access Control’, arXiv:2506.01333, 2 juin 2025 ; CVE-2025-54136, NVD, 2 août 2025.
- Xiaofan Li et Xing Gao, ‘A First Look at the Security Issues in the Model Context Protocol Ecosystem’, arXiv:2510.16558, 18 octobre 2025 ; DSN 2026.
- Nicolás Padilla, ‘Exposed by Design: A Dynamic Security Assessment of Internet-Facing MCP Servers at Scale’, arXiv:2608.00150, 31 juillet 2026.
- Herman Errico, Jiquan Ngiam et Shanita Sojan, ‘Securing the Model Context Protocol (MCP): Risks, Controls, and Governance’, arXiv:2511.20920, 25 novembre 2025.
- Xinyi Hou, Shenao Wang, Yanjie Zhao et Haoyu Wang, ‘When Agents Do Not Stop: Uncovering Infinite Agentic Loops in LLM Agents’, arXiv:2607.01641, 2 juillet 2026.
- Kelly Hong, Anton Troynikov et Jeff Huber, ‘Context Rot: How Increasing Input Tokens Impacts LLM Performance’, rapport technique Chroma, 14 juillet 2025.
- Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni et Percy Liang, ‘Lost in the Middle: How Language Models Use Long Contexts’, arXiv:2307.03172, 2023; Transactions of the Association for Computational Linguistics.
- Anthropic, ‘Effective context engineering for AI agents’, Anthropic Engineering, 29 septembre 2025.
- Yichao ‘Peak’ Ji, ‘Context Engineering for AI Agents: Lessons from Building Manus’, Manus blog, 18 juillet 2025.
- Anthropic, grille tarifaire, consultée le 20 septembre 2026.
- Prateek Chhikara, Dev Khant, Saket Aryan, Taranjeet Singh et Deshraj Yadav, ‘Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory’, arXiv:2504.19413, 28 avril 2025.
- W. Ross Ashby, An Introduction to Cybernetics, Chapman and Hall, Londres, 1956. La loi de la variété requise est citée ici dans la paraphrase employée par [6].
- Kenton Varda et Sunil Pai, ‘Code Mode: the better way to use MCP’, Cloudflare Blog, 26 septembre 2025.
- Anthropic, ‘Code execution with MCP: Building more efficient agents’, Anthropic Engineering, 4 novembre 2025.
- Junjia Qi, Wenlin Zhang, Zichuan Fu, Hanyu Yan, Xiangyu Zhao, Jingtong Gao et Xian Wu, ‘LLM-as-Code: Agentic Programming for Agent Harness’, arXiv:2606.15874, 2026; atelier KDD 2026 sur l’ingénierie logicielle agentique.
- Gartner, ‘Gartner Predicts Over 40% of Agentic AI Projects Will Be Canceled by End of 2027’, communiqué de presse, 25 juin 2025.
- Aditya Challapally, Chris Pease, Ramesh Raskar et Pradyumna Chari, ‘The GenAI Divide: State of AI in Business 2025’, MIT NANDA, juillet 2025. Le rapport n’est pas hébergé par le MIT et précise que les vues exprimées n’engagent que ses auteurs.
- Mert Cemri, Melissa Z. Pan, Shuyi Yang, Lakshya A. Agrawal, Bhavya Chopra, Rishabh Tiwari, Kurt Keutzer, Aditya Parameswaran, Dan Klein, Kannan Ramchandran, Matei Zaharia, Joseph E. Gonzalez et Ion Stoica, ‘Why Do Multi-Agent LLM Systems Fail?’, arXiv:2503.13657, 17 mars 2025; NeurIPS 2025.
- Hangfan Zhang, Shao Zhang, Kangcong Li, Chen Zhang, Yang Chen, Yiqun Zhang, Lei Bai et Shuyue Hu, ‘Self-Harness: Harnesses That Improve Themselves’, arXiv:2606.09498, 8 juin 2026.
- Pengcheng Jiang, Zhiyi Shi, Kelly Hong, Xueqiang Xu, Jiashuo Sun, Jimeng Sun, Hammad Bashir et Jiawei Han, ‘Harness-1: Reinforcement Learning for Search Agents with State-Externalizing Harnesses’, arXiv:2606.02373, 1er juin 2026.
Questions fréquentes
- Qu'est-ce qu'un harnais agentique ?
-
Le harnais est tout ce qui, dans un système agentique, n'est pas le modèle : le moteur d'exécution qui relie un modèle de langage au monde par une boucle, une interface d'outils, une gestion du contexte et des mécanismes de contrôle.
- Une analyse conceptuelle publiée en 2026 énonce quatre conditions nécessaires : sans boucle le système répond une fois et s'arrête, sans outils il ne perçoit ni ne modifie rien, sans gestion du contexte la boucle n'est pas viable, et sans contrôles personne ne peut dire ce qu'il a fait.
- La même définition exclut délibérément un framework d'agents, un kit de développement, une extension d'éditeur, un banc d'évaluation et un orchestrateur.
- Le mot est plus ancien que le domaine : il va de l'attelage d'un animal de trait au banc d'essai logiciel, puis au banc d'évaluation en apprentissage automatique.
- En quoi l'ingénierie de harnais diffère-t-elle de l'ingénierie d'invites et de l'ingénierie de contexte ?
-
Les trois paliers se distinguent par ce que vous avez le droit de changer : la formulation d'une consigne, le contenu de la fenêtre d'attention, ou l'environnement dans lequel le modèle agit.
- Un problème d'invite se règle en réécrivant une directive.
- Un problème de contexte se règle en changeant ce qui entre et sort de la fenêtre.
- Un problème de harnais se règle en changeant ce que le modèle peut voir, manipuler ou exécuter, ce qui demande du code plutôt que des mots.
- Un meilleur harnais bat-il un meilleur modèle ?
-
Parfois, et c'est mesurable, mais la version honnête est plus étroite que le slogan : les gains publiés viennent de techniques nommées sur des bancs d'essai nommés, pas d'une loi générale.
- Reflexion atteint 91 % de pass@1 sur HumanEval contre 80 % pour le même modèle GPT-4 en référence.
- Un article de 2026 rapporte des harnais qui se réécrivent eux-mêmes et améliorent les taux de réussite jusqu'à 132 % en relatif, sur trois bancs d'essai et trois modèles de base.
- Aucun de ces résultats n'autorise à dire que n'importe quelle modification de harnais bat n'importe quelle montée de version du modèle, et aucune étude publiée ne mesure cet arbitrage en général.
- Pourquoi la partie qui raisonne ne doit-elle pas être celle qui agit ?
-
Parce qu'une instruction dissimulée dans un contenu récupéré arrive à l'étape de raisonnement : tout privilège détenu par cette étape est un privilège que l'attaquant hérite.
- La réponse établie est un ensemble de motifs d'architecture : le motif dual LLM, CaMeL, et la taxonomie de six motifs publiée en 2025.
- Les garde-fous au niveau de l'invite opèrent au même niveau d'abstraction que l'attaque qu'ils prétendent arrêter.
- Séparer la proposition de l'exécution transforme une question de sécurité en question de code, la seule forme sous laquelle elle se teste.
- Qu'est-ce qui échoue réellement dans les systèmes agentiques en production ?
-
La réponse la mieux étayée est une taxonomie construite à partir de traces d'exécution annotées, qui situe la plupart des défaillances en amont de la capacité brute du modèle, dans la spécification, la coordination et la vérification.
- Dans l'étude MAST, construite à partir de traces annotées sur sept frameworks, les problèmes de spécification et de conception représentent environ 42 %, le désalignement entre agents environ 37 %, la vérification et la terminaison environ 21 %.
- Une analyse de 2026 portant sur 6 549 dépôts d'agents a confirmé 68 défaillances par boucle infinie dans 47 projets.
- Détecter un agent bloqué mais encore dans son budget d'étapes reste un problème ouvert plutôt qu'une fonctionnalité livrée.
- Est-il vrai que 88 % des projets d'agents échouent et que 65 % des échecs viennent de l'infrastructure ?
-
Aucune source n'étaye ces deux chiffres. Ils circulent dans des billets qui ne citent rien, et les chiffres sourcés sur la même question mesurent autre chose.
- Gartner prévoit que plus de 40 % des projets d'IA agentique seront annulés d'ici fin 2027, comme prévision d'analyste et non comme résultat d'enquête.
- Le rapport MIT NANDA écrit que 95 % des organisations n'obtiennent aucun retour, sur une base bien plus petite et plus qualitative, et il porte une signature MIT sans être une publication institutionnelle du MIT.
- Ni l'un ni l'autre ne mesure la stabilité en production, qui est pourtant ce que le chiffre de 88 % prétend décrire.
- Les serveurs MCP font-ils partie du harnais, ou forment-ils un terme à part ?
-
Toutes les définitions publiées les rangent dans le harnais. Cet article soutient qu'ils méritent une ligne à part sur un autre axe, parce qu'un serveur tiers est le seul composant qui peut changer sous vous sans numéro de version.
- La liste de composants de Trivedy place les outils, les compétences et les MCP dans le harnais, et Böckeler place les serveurs de protocole dans le user harness qu'une équipe assemble.
- L'audit du code source de onze systèmes les sépare bien, un niveau plus bas, en classant MCP sous l'extensibilité plutôt que sous les outils et actions.
- La spécification du protocole écrit que les descriptions d'outils doivent être tenues pour non fiables si elles ne viennent pas d'un serveur de confiance, et que MCP ne peut pas l'imposer au niveau du protocole.
- La séparation proposée ici porte sur la responsabilité plutôt que sur l'architecture : un modèle que vous louez, un harnais que vous possédez, et des serveurs qui appartiennent à quelqu'un d'autre.
- Qu'en fait une PME ?
-
Elle traite le harnais comme la partie qu'elle possède et versionne, parce que le modèle est la partie qu'elle loue et ne contrôle pas.
- Écrire quels outils existent, où le code s'exécute et qui a le droit de lire quoi, avant de choisir un modèle.
- Confier au compilateur et à la suite de tests les contrôles qu'ils savent faire, et réserver le modèle au jugement.
- Versionner et tester le harnais lui-même, puisqu'un fournisseur peut le modifier sans changer l'identifiant du modèle.
Paul-Antoine Tual
AI Transformation Leader · Méthode Junyr™ · Manager de transition IA pour PME et ETI françaises. Ingénieur des Mines de Nantes, juriste, développeur depuis 1993.