écrits
Architecture·Mai 2026·Lecture · 6 min

Le harness, expliqué simplement

Le terme est partout depuis février 2026, sans qu'il existe vraiment de définition stable. La formule qui s'est imposée tient en quatre mots : Agent = Model + Harness. Tout est dans le « plus ».

Tout sauf le modèle

Le terme harness a été popularisé en février 2026 par Mitchell Hashimoto, créateur de Terraform et de Ghostty. La discipline qu'il décrit : chaque fois qu'un agent commet une erreur, on n'ajuste pas le prompt — on modifie l'environnement pour que cette erreur devienne structurellement impossible. Six jours plus tard, OpenAI publiait une étude de cas où une équipe initialement de trois ingénieurs avait livré 1 million de lignes de code via des agents Codex, en mergeant 1 500 PRs. Conclusion partagée par les deux publications : quand l'IA écrit tout le code, le savoir-faire ne consiste plus à écrire du code, mais à concevoir le système autour de l'agent.

Birgitta Böckeler (Thoughtworks) a ensuite formalisé le vocabulaire dans un article publié sur le site de Martin Fowler en avril 2026, qui sert désormais de référence. La définition canonique qui en est sortie :

Le harness, c'est tout ce qui se trouve dans un agent IA, à l'exception du modèle lui-même.

Cela inclut les outils, la mémoire, la boucle d'orchestration, les permissions, les hooks de sécurité, les mécanismes de feedback, l'observabilité. Tout. La formule complète, attribuée à Hashimoto, est devenue le slogan du domaine :

La formule canoniqueHashimoto, fév. 2026
Agent = Model + Harness

Cette équation cohabite avec une trinité conceptuelle qui s'est imposée en parallèle, et qu'il faut bien distinguer :

01
Prompt engineering
Façonne ce que l'agent essaie de faire sur une interaction donnée.
02
Context engineering
Façonne ce que l'agent sait : l'environnement informationnel injecté avant et pendant la boucle de raisonnement.
03
Harness engineering
Façonne ce que l'agent peut et ne peut pas faire. Englobe les deux précédentes, plus tout le reste.

Le prompt engineering n'a pas disparu. Il a été reclassifié : un composant parmi d'autres à l'intérieur du harness.

Le modèle se commoditise, le harness devient le moat

L'argument économique tient en une formule devenue virale dans la communauté : « A decent model with a great harness beats a great model with a bad harness ». Les data points qui l'étayent commencent à s'accumuler.

Sur Terminal Bench 2.0, Claude Opus 4.6 obtient des scores nettement différents selon le harness qui l'emballe : une équipe a fait passer son coding agent du top 30 au top 5 en ne changeant que le harness, à modèle constant. LangChain a publié une mesure plus précise sur DeepAgents : +13.7 points de benchmark en modifiant uniquement le harness (passage de 52.8% à 66.5%). Vercel a documenté qu'en réduisant le nombre d'outils accessibles à l'agent, le taux de succès des tâches augmente — la richesse fonctionnelle n'est pas une variable monotone, le cadrage compte autant que les capacités.

La conséquence stratégique est devenue un cliché du domaine, mais elle reste exacte : les modèles frontière sont interchangeables (les principaux providers se substituent sans réécriture du reste), le harness encode le savoir-faire métier, les contraintes de sécurité, et la logique de vérification. Le harness ne se déplace pas avec un changement de fournisseur — il constitue donc le moat compétitif des organisations qui déploient des agents en production.

De quoi un harness est-il fait

Aucune liste n'est canonique, mais une convergence s'est faite autour de six familles de composants. Tout harness en implémente plusieurs, rarement tous.

01
Tools interfaces vers le monde
Ce que l'agent peut invoquer : CLIs, MCP servers, APIs, lecture/écriture de fichiers, exécution de code. La sélection compte autant que la disponibilité.
02
Context management mémoire et compaction
Comment l'historique, la mémoire long terme et les retrievals sont injectés dans la fenêtre de contexte. Inclut la stratégie de compaction quand la limite approche.
03
Orchestration loop
La boucle qui enchaîne les tours : ReAct, Plan-Execute-Verify, Ralph Loops. C'est le cœur cybernétique du harness.
04
Guides feedforward
Ce qui prévient les erreurs avant qu'elles arrivent : AGENTS.md, skills, conventions, types, ref docs. Le harness apprend ici les règles du domaine.
05
Sensors feedback
Ce qui détecte et corrige après coup : linters, tests, type checkers, LLM-as-judge, code review agents. Permettent la self-correction sans intervention humaine.
06
Permissions & observability
Les couches de sécurité (sandboxing, hooks d'approbation, allowlists) et de traçabilité (logs, traces, audit trail). Indispensables en production.

feedforward → model → feedback · le harness boucle l'apprentissage

Böckeler propose une distinction transversale utile : computational vs inferential. Les contrôles computationnels sont déterministes et rapides (un linter, un type checker, un test) — fiables, peu coûteux, exécutables à chaque commit. Les contrôles inferentiels sont sémantiques et non déterministes (un LLM qui juge la qualité d'un code) — plus riches en jugement, mais plus lents et plus coûteux. Un harness mature combine les deux selon le coût acceptable à chaque étape du cycle de vie.

Ce que chaque harness illustre

Le terme étant générique, il vaut mieux le rendre concret par opposition entre plusieurs harnesses connus, dont les philosophies divergent.

A
Claude Code l'archétype opinionné
Harness intégré, batteries-included. Hooks programmables, fichiers CLAUDE.md/AGENTS.md chargés au démarrage, skills, sub-agents, plan mode, permissions, observability via le SDK. Tout est fourni, le développeur compose. C'est aussi l'exemple le plus cité dans la littérature sur la harnessability : la qualité d'un harness mesurée par sa capacité à laisser l'agent travailler avec moins de supervision.
B
Pi le harness minimal assumé
Tagline officielle : « There are many agent harnesses, but this one is yours ». Earendil Inc. positionne Pi comme un coding harness terminal minimal et aggressively extensible : pas de MCP intégré, pas de sub-agents, pas de plan mode, pas de permission popups, tout est extension TypeScript. Mais ses primitives — SDK Node.js, RPC mode (JSONL sur stdin/stdout), JSON event stream, TUI components — en font aussi une base utilisable pour construire des agents qui ne sont pas du coding. OpenClaw en est la preuve : l'agent personnel multi-canal embarque Pi via SDK. La philosophie est inverse de Claude Code : primitives, not features.
C
OpenClaw le harness gateway-driven
Harness pour agent personnel multi-canal. Le control plane (un daemon Node.js) concentre l'auth, le routage des messageries, le sandboxing, le scheduling et l'exécution. L'agent embarqué (basé sur Pi via SDK) n'est qu'un composant. C'est l'exemple type d'un harness où la complexité est externalisée dans une infrastructure dédiée, plutôt que confiée à l'agent lui-même.
D
Hermes Agent le harness auto-évolutif
Harness construit autour d'une boucle d'agent qui se modifie elle-même. Mémoire gelée par session pour préserver le cache prompt, skills auto-générées par self-evaluation tous les 15 tool calls, projet GEPA companion pour l'amélioration offline. Le harness ne se contente pas de cadrer l'agent — il code une stratégie d'apprentissage procédural dans la durée.

Ces quatre exemples couvrent les deux axes structurants du débat actuel. Axe 1 : minimalisme (Pi) vs richesse intégrée (Claude Code). Axe 2 : évolution ad-hoc et opérée par l'humain (Claude Code, OpenClaw — l'agent peut modifier son workspace, créer ou patcher ses skills, mais sans boucle formalisée) vs évolution structurée par le harness lui-même (Hermes — self-evaluation explicite tous les 15 tool calls, mécanisme intégré). Tout déploiement réel se positionne quelque part sur ces deux axes, en fonction du compromis acceptable entre contrôle et autonomie.

L'arbitrage se déplace

Le débat « quel modèle choisir » a occupé 2024 et 2025. Il continue, mais il s'est dévalué : à modèle constant, le harness fait la différence entre un agent qui rend service et un agent qui produit du dommage silencieux. Plus le modèle est puissant, plus un mauvais harness lui permet de faire des bêtises avec efficacité.

Pour qui déploie aujourd'hui : avant de comparer les derniers modèles frontière entre eux, il est plus rentable de questionner la qualité du harness dans lequel ils vont tourner. Quelles erreurs reviennent et n'ont pas été cadrées par un guide ? Quels sensors manquent pour les détecter avant production ? Quels outils retirer parce qu'ils élargissent l'espace de décision sans bénéfice mesurable ? C'est cette discipline, devenue assez mature pour avoir un nom, que la littérature appelle désormais harness engineering.

En une phrase

Le harness, c'est tout ce qui n'est pas le modèle dans un agent IA. C'est de moins en moins une couche d'intégration et de plus en plus le terrain où se joue la qualité.