Aller au contenu

GEO

Agent harness : pourquoi le modèle ne suffit pas

Un agent, c’est un modèle plus un harnais. Ce qu’il y a dans ce harnais, ce que deux harnais font d’un même modèle, et ce qu’il prélève de votre page.

Deux éditeurs écrivent noir sur blanc la même équation — un agent, c’est un modèle plus un harnais (en anglais harness, la couche logicielle qui entoure le modèle) — et une préimpression, c’est-à-dire un article scientifique publié avant relecture par les pairs, mesure 23,8 points d’écart agrégé entre six harnais, sur un banc d’essai hors ligne. Ce qui est observé sans être documenté par les éditeurs, c’est ce que le harnais fait de votre page : deux mesures tierces relèvent environ 5 700 caractères prélevés à la première ouverture, et une page ouverte citée 74 % du temps. Ce qu’aucun éditeur ne publie, c’est ce volume prélevé page par page — Google documente en revanche un plafond de 60 minutes pour son propre agent de recherche.

Un modèle seul ne fait rien

Un modèle de langage — un LLM, pour large language model, le système qui produit du texte mot après mot — ne sait faire qu’une chose : recevoir du texte et en renvoyer. Il n’ouvre pas de page, n’exécute rien, ne se souvient de rien. Pour cette brique de base, voir comment ChatGPT génère une réponse.

Tout ce qui transforme ce moteur à texte en agent capable d’agir s’appelle le harnais. Databricks en donne la définition la plus directe : « An AI agent harness is the software infrastructure that wraps around a large language model (LLM) and enables it to act on tasks, not just respond to prompts. » (« un harnais d’agent IA est l’infrastructure logicielle qui enveloppe un grand modèle de langage et lui permet d’agir sur des tâches, pas seulement de répondre à des instructions »). Et la formule qui résume tout : « Agent = Model + Harness ».

L’image est juste : un cheval de trait fournit la puissance, le harnais décide de ce à quoi elle est attelée, dans quelle direction, et quand on s’arrête.

Ce qu’il y a dans un harnais

Il n’existe pas une liste, mais plusieurs, et aucune ne coïncide. Les auteurs de la préimpression Harness-Bench en donnent même deux dans le même article : sept fonctions dans leur introduction — « the system layer that manages context, tools, state, constraints, permissions, tracing, and recovery » (« la couche système qui gère le contexte, les outils, l’état, les contraintes, les permissions, le traçage et la reprise ») — et neuf dans leur section 3, où s’ajoutent les gabarits d’instructions, les formats d’action et le contrôle de budget. Databricks en énumère huit : instructions permanentes, outils, bac à sable (sandbox : un espace isolé où l’agent peut lancer du code), stockage de fichiers, mémoire, boucles de vérification, garde-fous humains, journalisation. NVIDIA publie six « capacités », qui relèvent d’un autre ordre : des principes de conception, pas des composants. À ce jour, personne n’a donc figé ce qu’un harnais doit contenir.

La pièce la moins visible est en tout cas la plus décisive : la gestion du contexte. La fenêtre de contexte — la quantité de texte que le modèle peut avoir sous les yeux en une fois — est toujours trop petite pour tout ce qu’il aurait intérêt à retenir, note Arize, dont le schéma liste six gestes de harnais : « capping file reads, truncating tool results, compacting history, evicting stale data, using search instead of loading everything, and restoring context after compaction » (« plafonner les lectures de fichiers, tronquer les résultats d’outils, compacter l’historique, évincer les données périmées, chercher au lieu de tout charger, et rétablir le contexte après compaction »).

La fenêtre de contexte et les six gestes du harnais Une barre représente la fenêtre de contexte, découpée en quatre parts inégales. En dessous, les six gestes par lesquels le harnais décide de ce qui reste dans cette fenêtre. La fenêtre de contexte est toujours trop petite Le harnais arbitre en permanence ce que le modèle voit — et ce qu’il ne voit pas. Système Historique Contenu des pages et fichiers lus Résultats d’outils fixe grandit premier poste, plafonné par lecture s’accumulent vite Les six gestes du harnais 1. Plafonner les lectures 2. Tronquer les résultats d’outils 3. Compacter l’historique 4. Évincer le périmé 5. Chercher au lieu de charger 6. Rétablir après compaction Le modèle ne choisit pas ce qu’il voit de votre page. Découpage de la fenêtre : schéma de principe, sans échelle. Les six gestes sont ceux qu’Arize énumère ; la part relative de chaque segment n’est publiée par aucune source.
Ce que le harnais arbitre en permanence. Le découpage de la fenêtre est un schéma de principe, sans échelle : la part relative de chaque segment n’est publiée par aucune source. Les six gestes sont ceux qu’Arize énumère dans le schéma de sa page « Context management in agent harnesses ».

Autrement dit : ce n’est pas le modèle qui décide ce qu’il voit de votre page. C’est le harnais.

Le même modèle, deux harnais, deux résultats

C’est la partie qui se chiffre. Databricks a fait tourner le même modèle, au même effort de réflexion, dans deux harnais : « the cost per task differed significantly (more than 2x in some cases), while quality remained the same » (« le coût par tâche différait fortement — plus du double dans certains cas — à qualité égale »), entre « Claude Code/Codex vs Pi » (« Claude Code/Codex contre Pi »). Deux causes sont nommées, pas une : Pi envoyait environ trois fois moins de contexte par tour, et finissait les tâches en moins d’exécutions.

Trois réserves de périmètre. Pi est le harnais de Databricks, le banc d’essai est son code, et c’est Pi qui gagne. « Claude Code/Codex » forme un seul bras pour deux produits distincts : on ne sait pas auquel s’applique le « plus du double ». Et le contexte par tour n’est pas la seule variable.

Même modèle, deux harnais, deux coûts Deux couloirs partent du même modèle. Le premier harnais envoie environ trois fois plus de contexte par tour et prend plus d’exécutions ; le second coûte plus de deux fois moins, à qualité égale. Le même modèle, deux harnais Modèle identique, effort de réflexion identique. Seul le harnais change. Un seul modèle, un seul effort Claude Code / Codex un bras, deux produits Pi le harnais de Databricks contexte envoyé à chaque tour ×3 ×1 coût par tâche plus du double référence Qualité : identique dans les deux couloirs. Longueurs de barres proportionnelles aux seuls rapports publiés (×3 de contexte, « plus du double » de coût) : schéma de principe, sans échelle absolue. Mesure de Databricks, sur le code de Databricks, où le harnais gagnant est son propre produit — périmètre non indépendant.
Le même modèle, au même effort de réflexion, dans deux harnais. Longueurs de barres proportionnelles aux seuls rapports publiés — trois fois moins de contexte par tour, « plus du double » de coût par tâche : schéma de principe, sans échelle absolue. Périmètre à retenir : c’est une mesure de Databricks, sur le code de Databricks, où le harnais gagnant (Pi) est son propre produit, et où « Claude Code/Codex » forme un seul bras pour deux produits distincts.

Harness-Bench prend le problème par l’autre bout, avec un dispositif dont personne n’est propriétaire : 106 tâches hors ligne, six harnais configurables, huit modèles accessibles par interface de programmation (API), tous croisés — 5 088 exécutions, 5 194 avec le harnais non configurable ajouté en référence. Résultat : « Among configurable harnesses, NanoBot obtains the highest aggregate score (76.2), while OpenClaw obtains the lowest score (52.4), giving a 23.8-point gap under the same task set and model-backend pool. » (« parmi les harnais configurables, NanoBot obtient le meilleur score agrégé, 76,2, et OpenClaw le plus faible, 52,4, soit 23,8 points d’écart, à jeu de tâches et réservoir de modèles identiques »).

Deux réserves, que les auteurs posent eux-mêmes. Ces 23,8 points sont un écart agrégé — moyenné sur les huit modèles testés — et non la variation d’un modèle précis ; et le protocole est volontairement fermé, hors ligne et en bac à sable, sans service en ligne. D’où leur consigne de lecture : ce sont des « diagnostic measurements under a fixed benchmark protocol, not as guarantees of real-world deployment performance » (« mesures de diagnostic sous un protocole d’évaluation figé, non des garanties de performance en production »). Un score bas sur un banc fermé ne dit rien de l’usage réel : OpenClaw, dernier ici, a été testé de bout en bout comme créateur d’agents autonomes.

La comparaison inverse existe aussi, et elle est plus rare : harnais constant, modèle variable. NVIDIA annonce, avec son harnais NOOA, 82,2 % sur SWE-bench Verified — une série de tâches de correction de bugs réels qui sert de mètre étalon — avec GPT-5.5, et 79,8 % avec Opus 4.6. Changer de modèle déplace donc le résultat de 2,4 points, là où changer de harnais en déplaçait 23,8.

Où votre site rencontre le harnais

Un agent qui va chercher sur le web ouvre vraiment des pages — le mécanisme complet est décrit dans comment un agent IA cherche à votre place. Ce que le harnais y prélève a été mesuré deux fois, par deux tiers, avec deux dispositifs différents : Peec AI en juin 2026, par lecture des journaux de session — la trace des étapes de l’agent, pas les journaux du serveur — sur une dizaine de comptes en offre gratuite, environ vingt requêtes chacun ; RESONEO en juillet 2026, par capture du flux réseau, rejeu des mêmes instructions via l’API d’OpenAI, et publication de pages témoins sur son propre domaine avec les journaux serveur complets, sur 1 200 réponses et 26 900 pages.

Avant l’ouverture, il y a un guichet très étroit : « Bing snippet caps at about 285 characters, which is the entire window you have to earn the open. » (« l’extrait Bing plafonne à environ 285 caractères, et c’est toute la fenêtre dont vous disposez pour mériter l’ouverture »). Une fois la page ouverte, le budget relevé est d’environ 5 700 caractères en médiane — la valeur qui coupe l’échantillon en deux — et 8 000 au maximum.

Ce qui atteint le modèle depuis votre page Quatre étapes : un extrait de 285 caractères décide de l’ouverture, une page est ouverte pour environ 81 remontées, la première lecture prélève environ 5 700 caractères dans l’ordre du code source, et une page ouverte est citée 74 pour cent du temps contre 7 pour cent sinon. Ce qui atteint vraiment le modèle depuis votre page 1. L’extrait 285 caractères pour mériter l’ouverture 2. L’ouverture 1 page ouverte pour environ 81 remontées 3. La lecture environ 5 700 signes, dans l’ordre du source Ce que la navigation prend sur cette lecture sous 20 liens 78 % de 20 à 59 liens 55 % plus de 60 liens 33 % votre contenu menus, liens et balises 4. La citation page ouverte citée 74 % page seulement remontée citée 7 % Toutes les valeurs sont celles publiées par Peec AI (juin 2026) et RESONEO (juillet 2026), sur ChatGPT. Le ratio de 81 est calculé à partir de leurs deux valeurs publiées.
Ce qui atteint vraiment le modèle depuis une page, et ce que la navigation prend sur le budget de lecture. Valeurs telles que publiées par Peec AI (lecture des journaux de session, juin 2026, comptes en offre gratuite) et par RESONEO (capture du flux, rejeu par API et pages témoins, juillet 2026), toutes deux sur ChatGPT. Le ratio d’une page ouverte pour environ 81 remontées est calculé à partir des deux valeurs publiées par RESONEO (61 332 URL remontées, 759 pages ouvertes) ; aucun éditeur ne publie ce rapport.

Ce budget ne se remplit pas comme on l’imagine, pour deux raisons contre-intuitives.

C’est l’ordre du code source qui compte, pas la position à l’écran. « what fits in the first read is determined by where your content sits in the HTML source, not where it appears on the screen » (« ce qui entre dans la première lecture dépend de la place de votre contenu dans le code source HTML, pas de son apparence à l’écran »). Conséquence chiffrée sur ce qui reste au contenu réel : environ 78 % avec une navigation sous 20 liens, environ 55 % entre 20 et 59, environ 33 % au-delà de 60.

La relecture ne prolonge pas la première lecture, elle se déplace. Déclenchée par une recherche interne à la page, elle « re-opens the page positioned on those lines, not from the top » (« rouvre la page positionnée sur ces lignes, pas depuis le haut »). Les 6 200 caractères en médiane d’une relecture ne sont donc pas 500 caractères de plus à la suite des premiers : c’est une autre fenêtre, ailleurs dans la page.

Le harnais décide enfin quel récupérateur — le robot qui va effectivement chercher la page — se présente, et lequel obéit à quoi : « OAI-SearchBot is the one Deep Research’s fetch obeys. (It’s a different bot from GPTBot, which is about model training, so unblocking one doesn’t change the other.) » (« OAI-SearchBot est celui auquel la récupération de Deep Research obéit ; c’est un robot différent de GPTBot, qui concerne l’entraînement des modèles, donc débloquer l’un ne change rien à l’autre »). D’où l’utilité de savoir ce qu’un fichier robots.txt autorise, ligne par ligne avant d’y toucher.

Lu n’est pas cité

Peec AI sépare les deux gestes : « the agent reads far more pages than it cites » (« l’agent lit bien plus de pages qu’il n’en cite »), la citation étant une décision distincte de la lecture. RESONEO chiffre l’entonnoir : « 61,332 URLs were surfaced into the sources sidebar. 5,032 became the lead source behind a citation. 759 pages were actually opened » (« 61 332 URL ont été remontées dans le panneau des sources ; 5 032 sont devenues la source principale d’une citation ; 759 pages ont réellement été ouvertes »). Rapportées l’une à l’autre, ces deux valeurs donnent une page ouverte pour environ 81 remontées.

Et l’ouverture est ce qui change tout : « An opened page ends up cited 74% of the time. A page merely retrieved but never opened, 7%. » (« une page ouverte finit citée 74 % du temps ; une page seulement récupérée mais jamais ouverte, 7 % »). C’est le prolongement de ce qui se joue à l’étage précédent, où le second classement décide qui sera cité.

Documenté, observé, déduit, invisible

# Affirmation Statut Source
1 Un agent est un modèle plus un harnais — mais aucune liste de ses pièces ne fait consensus : Harness-Bench en publie deux différentes, Databricks huit, NVIDIA six Documenté Databricks (« Agent = Model + Harness ») ; Harness-Bench sections 1 et 3 ; NVIDIA
2 23,8 points séparent le meilleur et le moins bon des six harnais configurables testés, à jeu de tâches et réservoir de modèles identiques, en écart agrégé sur huit modèles et 106 tâches hors ligne Documenté Harness-Bench, sections 4.1, 4.2 et 6
3 Même modèle, même effort, deux harnais : plus du double d’écart de coût, à qualité égale — mesure de l’éditeur, sur son propre code, où le harnais gagnant est son propre produit Documenté, périmètre non indépendant Databricks
4 Harnais constant, modèle variable : 82,2 % avec GPT-5.5 contre 79,8 % avec Opus 4.6 sur SWE-bench Verified — billet de l’éditeur du harnais Documenté, périmètre non indépendant NVIDIA
5 Un modèle plus fort varie moins d’un harnais à l’autre Tendance déclarée, non causale (« tend to », « This pattern suggests… may be ») Harness-Bench, section 4.3
6 Le harnais plafonne les lectures, tronque les résultats d’outils, compacte l’historique et rétablit le contexte après compaction Documenté Arize (schéma de la page, sans méthodologie publiée)
7 Une première ouverture de page rend environ 5 700 caractères en médiane ; l’extrait qui décide de cette ouverture plafonne vers 285 caractères Observé, non documenté par l’éditeur Peec AI, juin 2026, comptes en offre gratuite
8 C’est l’ordre du code source HTML qui remplit ce budget, pas la position à l’écran ; au-delà de 60 liens de navigation, environ 33 % de la lecture reste pour le contenu Observé, non documenté par l’éditeur Peec AI, juin 2026
9 Une page ouverte est citée 74 % du temps, une page seulement remontée 7 % ; une page est ouverte pour environ 81 remontées Observé, non documenté par l’éditeur ; le ratio de 81 est un calcul à partir des deux valeurs publiées RESONEO / Search Engine Land, juillet-août 2026
10 La récupération de Deep Research obéit au robots.txt sous le nom OAI-SearchBot, distinct de GPTBot Observé, non documenté par l’éditeur Peec AI, juin 2026
11 Le volume prélevé page par page chez OpenAI et chez Google — Google publie en revanche des réglages d’agent et un plafond de 60 minutes de recherche Non documenté pour le volume, connu seulement par les mesures tierces ci-dessus ; Documenté pour le plafond de temps recherche sans résultat au 31/08/2026 ; doc Gemini API mise à jour du 26/08/2026
12 « Le harnais compte plus que le modèle », comme règle générale Déduit extrapolation d’un protocole hors ligne que ses auteurs déclarent non généralisable

Ce que ça change pour un site

Remonter la réponse dans le code source, pas à l’écran. Un menu que le CSS affiche en haut mais qui vit tard dans le source ne coûte rien ; une réponse placée après un gros bloc de navigation peut n’apparaître dans aucune première lecture. Et la relecture ne rattrape pas : elle se positionne ailleurs.

Compter les liens de navigation. Sous 20 liens, environ 78 % du budget de lecture reste pour le contenu ; au-delà de 60, environ 33 %.

Soigner les 285 caractères qui décident de l’ouverture. L’extrait est le guichet, et l’ouverture fait passer la probabilité de citation de 7 % à 74 %.

Vérifier OAI-SearchBot, et lui seul. Débloquer GPTBot ne change rien à la récupération d’un agent : ce sont deux robots distincts, avec deux objets différents.

Une nuance, pour ne pas confondre les deux derniers points : autoriser un nom de robot coûte une ligne et se corrige en une minute, alors qu’adosser une stratégie éditoriale au classement d’un harnais revient à parier sur une mesure que ses auteurs refusent de garantir. Un réglage, pas un pari.

Quatre questions fréquentes

Le harnais, est-ce la même chose que le prompt système ? Non : les instructions permanentes ne sont qu’une des huit pièces énumérées par Databricks.

Peut-on savoir quel harnais a lu mon site ? Partiellement. Les journaux du serveur donnent le nom du récupérateur ; le nom OAI-SearchBot a d’ailleurs été relevé par Peec AI dans la trace de l’agent, et par RESONEO sur des pages témoins avec journaux serveur. Mais le réglage du harnais derrière ce robot — combien il prélève, quand il s’arrête — n’est publié par aucun éditeur.

Un meilleur modèle règle-t-il le problème ? Il semble le réduire, sans le supprimer. Harness-Bench observe que le modèle branché derrière le harnais — son backend, en anglais — pèse sur cette sensibilité : « stronger model backends tend to achieve higher mean scores while exhibiting lower cross-harness variance » (« les modèles les plus solides ont tendance à obtenir des scores moyens plus élevés tout en variant moins d’un harnais à l’autre »). Les auteurs n’en font pas une causalité : le motif « suggère » que ces modèles « pourraient » être plus tolérants.

Faut-il déclarer quelque chose de particulier aux agents ? C’est un chantier distinct de la lecture de page : un site peut déclarer explicitement les actions qu’il expose, comme l’explique comment un site déclare ses actions aux IA.

Sources

  1. databricks.com — définition du harnais d’agent, formule « Agent = Model + Harness », huit composants.
  2. databricks.com — même modèle dans deux harnais : écart de coût, contexte par tour, nombre d’exécutions.
  3. arxiv.orgHarness-Bench, préimpression : deux définitions, protocole, écart de 23,8 points, limites déclarées.
  4. developer.nvidia.com — harnais NOOA, SWE-bench Verified avec GPT-5.5 et Opus 4.6.
  5. arize.com — les six gestes de gestion du contexte.
  6. peec.ai — journaux de session, juin 2026 : extrait de 285 caractères, budget de lecture, ordre du code source, navigation, relecture, OAI-SearchBot contre GPTBot.
  7. searchengineland.com — étude RESONEO du 17 août 2026 : méthodologie, entonnoir 61 332 / 5 032 / 759, citation à 74 % contre 7 %.
  8. ai.google.dev — réglages d’agent et plafond de 60 minutes, mise à jour du 26 août 2026.

Grégory Florin

Expert SEO et auteur sur learnSEO.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *