Ingénierie de harness : définition et fonctionnement

Un guide accessible pour comprendre ce que sont les harness d'IA et comment l'ingénierie de harness détermine ce que les agents d'IA sont capables de faire.

Diagram of an AI harness: an AI model that reads and writes text sits at the center, connected to six parts: agent loop, context management, tools, memory, permissions, and verification.

Qu’est-ce que l’ingénierie du harness ?

L’ingénierie du harness consiste à concevoir le harness d’un outil d’IA, c’est-à-dire tout ce qui compose l’outil à l’exception du modèle d’IA.

Le modèle est le système d’IA, entraîné sur de grands volumes de texte afin de pouvoir lire et écrire du langage. Parmi les modèles d’IA, on peut citer GPT d’OpenAI, Claude d’Anthropic ou Gemini de Google.

À lui seul, un modèle ne peut que recevoir du texte (et parfois des images ou de l’audio) et produire du texte en retour. Il ne peut pas se souvenir des conversations passées, rechercher des informations à jour ni exécuter du code. Il lui faut donc un harness qui gère les informations transmises au modèle, les applications qu’il peut utiliser, ce qu’il est autorisé à faire et la manière dont son travail est vérifié.

Même un simple assistant conversationnel a besoin d’un harness. Le modèle oublie chaque échange dès qu’il a répondu ; le harness conserve donc un historique de la conversation. Si quelqu’un pose une question sur Paris, puis demande « quelle est sa population ? », le harness envoie les deux questions ensemble au modèle. C’est ainsi que le modèle sait que « sa » désigne Paris.

L’ingénierie du harness est l’une des raisons pour lesquelles deux outils reposant sur le même modèle peuvent afficher des performances si différentes. Lors d’un test indépendant, par exemple, des chercheurs ont conservé le même modèle (GPT5) et modifié uniquement le harness, et le score du modèle à un test de programmation a varié jusqu’à 11 %.

Les développeurs de modèles d’IA tels qu’Anthropic et OpenAI conçoivent des harness pour leurs propres produits d’IA, comme Claude Code et Codex. Les entreprises qui créent des produits d’IA conçoivent elles aussi des harness pour les modèles sous-jacents qu’elles choisissent. Les utilisateurs d’outils d’IA façonnent également une partie du harness. De nombreux outils leur permettent d’ajouter des instructions permanentes, de connecter des applications et de choisir quelles actions nécessitent leur approbation avant que l’outil ne poursuive.

L’ingénierie du harness pour les agents d’IA

Tout outil d’IA possède un harness, mais l’ingénierie du harness devient particulièrement importante lorsqu’on travaille avec des agents d’IA. Les agents réalisent seuls des tâches en plusieurs étapes, comme analyser la concurrence et consigner les résultats dans une feuille de calcul, et c’est le harness qui exécute chaque étape. Si le harness commet une erreur, par exemple en récupérant les prix de l’année dernière, celle-ci se répercutera donc aussi sur toutes les étapes suivantes.

La plupart des harness d’agents comportent six éléments principaux :

1. La boucle de l’agent

La boucle de l’agent est le code du harness qui fait avancer une tâche, une étape à la fois.

Le modèle d’IA détermine la prochaine étape nécessaire pour accomplir la tâche et rédige un appel d’outil : une courte requête qui désigne un outil du harness, comme la recherche web, et ce que cet outil doit faire.

Le harness repère la requête, lance la recherche et ajoute les résultats à ce que le modèle peut voir. Le modèle les lit et décide de la suite.

2. La gestion du contexte

Un modèle acquiert des connaissances générales pendant son entraînement, mais ces connaissances s’arrêtent à la date de fin de l’entraînement. Elles n’incluent rien de spécifique à la tâche en cours, comme les fichiers d’une entreprise, l’actualité du jour ou ce qui a été dit plus tôt dans la conversation.

Pour tout cela, le modèle dépend de sa fenêtre de contexte : le texte que le harness lui fournit avant chaque réponse, comme ses instructions, la requête, l’historique de la conversation et les résultats de recherche.

Cette fenêtre ne peut contenir qu’une quantité de texte limitée. Et avant même qu’elle soit pleine, les modèles passent parfois à côté d’informations noyées au milieu de longues entrées.

Le harness se charge donc de la gestion du contexte et ne sélectionne que les informations nécessaires à chaque étape. Par exemple, si la tâche consiste à comparer les tarifs de cinq concurrents, le harness peut inclure la page de tarifs de chaque entreprise plutôt que l’intégralité de son site web. Sur les tâches longues, le harness peut aussi remplacer l’historique détaillé des étapes précédentes par un court résumé, afin que le modèle garde la trace de ce qu’il a déjà fait sans que cet historique n’encombre la fenêtre.

3. Les outils

Les outils sont du code qui exécute les actions demandées par le modèle. Chaque outil gère un type d’action, comme effectuer une recherche sur le web, ouvrir et lire une page web, exécuter du code ou modifier un fichier. Lorsque le modèle rédige un appel d’outil, le harness le transmet à l’outil approprié et renvoie le résultat.

De nombreux harness incluent aussi des connecteurs, c’est-à-dire des outils qui relient l’agent à une application précise, comme une messagerie, un agenda ou un espace de stockage partagé, grâce à un accès accordé par une personne. Avec un connecteur d’agenda, par exemple, un agent peut vérifier les disponibilités de quelqu’un avant de proposer un horaire de réunion.

4. La mémoire

La mémoire désigne les informations stockées qui sont conservées d’une session à l’autre. Pendant une session, le harness enregistre de courtes notes, comme les préférences d’une personne ou l’état d’avancement d’un projet. Au début de la session suivante, le harness ajoute ces notes à la fenêtre de contexte, si bien que le modèle les lit avant de lire la nouvelle requête. C’est ainsi qu’un agent peut, par exemple, reprendre un rapport hebdomadaire là où il s’était arrêté au lieu de tout recommencer depuis le début.

5. Les autorisations

Les autorisations sont des règles qui définissent ce à quoi un agent peut accéder et ce qu’il peut faire. Les règles d’accès déterminent quels fichiers, applications ou sites web il peut ouvrir. Les règles d’approbation déterminent quelles actions doivent attendre le feu vert d’une personne, comme l’envoi d’un message ou un achat.

L’entreprise qui conçoit l’agent définit certaines de ces règles dans le code du harness. Les administrateurs d’une organisation peuvent ensuite ajouter les leurs, et chaque utilisateur peut choisir certains éléments, comme les comptes à connecter.

6. La vérification

La vérification est du code qui contrôle le travail de l’agent avant qu’il ne parvienne à une personne. Elle repose sur deux types de contrôles :

  • Des règles fixes, c’est-à-dire des tests précis qui réussissent ou échouent de la même manière à chaque fois, comme vérifier que chaque chiffre d’un rapport figure dans un document que l’agent a réellement lu.
  • Une relecture par un autre modèle d’IA, qui lit le travail et l’évalue. Elle permet de repérer des problèmes difficiles à traduire en règle, comme un résumé qui omet un point important.

Aucun contrôle ne détecte tout à lui seul : les harness combinent donc généralement les deux types. Lorsqu’un contrôle détecte un problème, le harness en ajoute une description à la fenêtre de contexte du modèle et renvoie la tâche dans la boucle de l’agent. Le modèle corrige le problème et fait une nouvelle tentative, si bien que de nombreuses erreurs sont corrigées avant que l’utilisateur ne voie le résultat.

Exemples d’ingénierie du harness

Préparer une réunion client

Tâche : Un chargé de compte demande à un agent de préparer un dossier pour la réunion de demain avec un client, présentant les points en suspens et une proposition d’ordre du jour.

Ce que fait le harness :

  • Grâce à un connecteur de messagerie, l’agent recherche dans la boîte de réception du chargé de compte les échanges avec le client.
  • Les autorisations lui permettent de lire les e-mails, mais pas d’en envoyer.
  • La gestion du contexte ne transmet au modèle que les échanges des trois derniers mois avec ce client, et non toute la boîte de réception.
  • La boucle de l’agent effectue plusieurs cycles de recherche et de lecture, et le modèle regroupe ce qu’il trouve en points en suspens.
  • La vérification contrôle ensuite que chaque point du dossier renvoie bien à un e-mail réel.

Résultat possible : Le chargé de compte reçoit un dossier d’une page dans lequel chaque point peut être rattaché à l’e-mail dont il provient.

Mettre à jour un rapport mensuel des ventes

Tâche : Un responsable des opérations demande à un agent de mettre à jour le rapport mensuel des ventes avec les chiffres de ce mois-ci.

Ce que fait le harness :

  • La mémoire charge les notes de la session du mois dernier, notamment le format du rapport et la demande du responsable d’arrondir les chiffres au millier près.
  • Un outil de gestion de fichiers ouvre la feuille de calcul des ventes sur l’espace de stockage partagé de l’équipe.
  • Les autorisations permettent à l’agent de modifier le brouillon du rapport, mais pas la feuille de calcul source, afin que les chiffres d’origine ne puissent pas être modifiés par erreur.
  • La vérification contrôle que les totaux du rapport correspondent à ceux de la feuille de calcul.

Résultat possible : Le rapport est livré dans le même format que celui du mois dernier, sans que l’utilisateur ait besoin de le réexpliquer.

Trier une boîte de réception partagée

Tâche : Une équipe d’assistance demande à un agent de trier par thème les demandes reçues dans la matinée et de rédiger des brouillons de réponse aux demandes les plus courantes.

Ce que fait le harness :

  • La boucle de l’agent parcourt la boîte de réception, un message à la fois.
  • Pour chacun d’eux, le modèle choisit un libellé de thème, et le harness l’applique via le connecteur de messagerie.
  • Au début de la tâche, le harness ajoute à la fenêtre de contexte les réponses types validées par l’équipe à titre de référence, afin que le modèle s’appuie sur l’une d’elles pour chaque brouillon.
  • Une règle d’approbation conserve chaque réponse à l’état de brouillon jusqu’à ce qu’un membre de l’équipe la relise et l’envoie.

Résultat possible : L’équipe commence la journée avec des demandes triées et des réponses prêtes à être relues.

Corriger un bug sur un site web

Tâche : Un développeur demande à un agent de codage de corriger un bug qui empêche un bouton de paiement de fonctionner.

Ce que fait le harness :

  • L’agent travaille dans un bac à sable, une copie isolée du code dans laquelle ses modifications ne peuvent pas affecter le site web en production.
  • Un outil de code permet au modèle de lire et de modifier des fichiers.
  • Après chaque modification, la vérification exécute les tests automatisés du projet.
  • Tout échec est renvoyé au modèle sous forme de nouvelle information.

Résultat possible : L’agent continue d’ajuster son correctif jusqu’à ce que les tests réussissent. Le développeur examine ensuite la modification avant sa mise en production.

Ingénierie du harness, ingénierie des prompts et ingénierie du contexte : quelles différences ?

L’ingénierie des prompts consiste à concevoir et à optimiser une requête unique. L’ingénierie du contexte consiste à gérer tout ce que voit le modèle. L’ingénierie du harness consiste à concevoir et à améliorer l’ensemble du système dans lequel le modèle fonctionne.

Terme

Qui s’en charge généralement

Exemple tiré d’une tâche d’analyse de la concurrence

Ingénierie des prompts

Toute personne qui rédige une requête

Demander « une ligne par concurrent, une colonne par formule tarifaire »

Ingénierie du contexte

Les personnes qui conçoivent le harness, ainsi que les utilisateurs qui joignent des fichiers ou des gabarits

Fournir au modèle la page de tarifs de chaque concurrent et le gabarit de feuille de calcul de l’équipe

Ingénierie du harness

Les entreprises qui conçoivent des produits d’IA, ainsi que les équipes et les utilisateurs qui choisissent des paramètres et des préférences et importent des informations

Déterminer les outils que l’agent peut utiliser, les actions qui nécessitent une approbation et la manière dont son travail est vérifié

Comment les utilisateurs peuvent agir sur le harness d’un outil d’IA

L’essentiel du harness d’un agent provient de l’entreprise qui conçoit l’agent, mais de nombreux produits d’IA permettent aux utilisateurs d’en ajuster une partie grâce à des paramètres comme les instructions personnalisées, les applications connectées et les approbations.

Les utilisateurs peuvent façonner le harness d’un agent, et ainsi améliorer ses résultats, de quatre manières :

1. Les instructions permanentes

Les instructions permanentes sont des notes qu’une personne rédige une seule fois, afin que le harness puisse les ajouter à la fenêtre de contexte au début de chaque tâche. Elles valent la peine d’être configurées pour tout ce qu’une personne devrait sinon répéter d’une requête à l’autre : qui elle est et ce qu’elle fait, la façon dont elle souhaite que ses contenus soient rédigés, ou encore les règles d’une tâche récurrente comme le rapport mensuel d’un client.

De nombreux produits d’IA proposent des instructions permanentes à deux niveaux. Les instructions à l’échelle du compte conviennent à ce qui s’applique à l’ensemble du travail, comme les préférences orthographiques. Les instructions de projet conviennent à un client ou à un flux de travail précis, afin que les consignes propres à l’un ne s’appliquent pas à un autre.

Les instructions permanentes fonctionnent de la même manière dans les assistants conversationnels et dans les agents, mais les agents en dépendent davantage. Dans un chat, une personne peut corriger l’IA après chaque réponse. Un agent peut effectuer de nombreuses étapes avant que quiconque ne voie son travail : les instructions données en amont sont donc l’un des rares moyens de l’orienter en cours de route.

Comment rédiger des instructions permanentes efficaces

  • Commencez par une instruction courte, par exemple : « Je suis responsable marketing dans une société de logiciels. Écris dans un anglais simple, limite les résumés à 200 mots et utilise l’orthographe américaine. »
  • Complétez-les lorsque l’IA commet une erreur. Si l’IA arrondit sans cesse des chiffres dont l’équipe a besoin sous leur forme exacte, ajoutez une ligne pour le préciser.
  • Formulez des instructions précises : « Donne des chiffres exacts, jamais arrondis » est plus efficace que « Sois précis ».
  • Gardez une liste courte et supprimez les lignes dès qu’elles ne sont plus utiles, car chaque ligne occupe de la place dans la fenêtre de contexte.

2. Les applications connectées

Les applications connectées relient un produit d’IA aux outils qu’une personne utilise déjà, comme sa messagerie, son agenda ou un espace de stockage partagé. Une fois une application connectée, l’IA peut travailler avec les propres informations de la personne, et pas seulement avec ce qui est collé dans le chat.

Ces connexions valent la peine d’être configurées lorsqu’une tâche dépend d’informations qui se trouvent dans ces applications, par exemple pour préparer un dossier de réunion à partir de fils d’e-mails ou résumer des documents stockés sur un espace partagé.

Comment connecter des applications en toute sécurité

  • Ne connectez que les applications dont une tâche a besoin, car chaque connexion constitue une source d’erreurs supplémentaire.
  • Choisissez un accès en lecture seule lorsque c’est possible. Par exemple, un agent qui prépare des dossiers de réunion a besoin de lire les e-mails, pas d’en envoyer.
  • Configurez les connexions par projet lorsque le produit le permet. Dans Perplexity, par exemple, il est possible de choisir les connecteurs utilisés par chaque Projet.
  • Pensez à déconnecter les applications que vous n’utilisez plus.

3. Les paramètres d’approbation

Les paramètres d’approbation déterminent quelles actions doivent attendre le feu vert d’une personne avant que l’IA ne poursuive. Certaines approbations sont intégrées au produit, et certains produits permettent de choisir quelles autres actions en nécessitent une.

Comment définir des règles d'approbation

  • Exigez une approbation pour les actions irréversibles, comme l'envoi d'un message, un achat ou la suppression d'un fichier.
  • Limitez la liste des approbations au strict nécessaire. Si un agent demande un feu vert à chaque petite étape, les gens finissent par approuver sans lire.

4. Standards et vérifications

La plupart des produits d'IA intègrent déjà certains standards. Perplexity, par exemple, accompagne ses réponses de citations afin que chaque affirmation puisse être vérifiée. Les standards définis par l'utilisateur apportent ce qu'un produit ne peut pas savoir de lui-même, comme le format de rapport préféré d'une équipe.

Comment définir des standards pour le travail de l'IA

  • Fournissez une trame pour les tâches récurrentes, afin que l'IA dispose d'une structure fixe à compléter.
  • Partagez un exemple de travail passé que l'équipe a apprécié, afin que l'IA puisse en reproduire le ton et le niveau de détail.
  • Demandez un lien vers la source à côté de chaque chiffre.
  • Examinez attentivement les premiers résultats et transformez toute lacune récurrente en nouvelle instruction permanente.

L'approche de Perplexity en matière de harness d'agent

Perplexity Computer repose sur un harness indépendant des modèles, qui réunit plus de 20 modèles avancés au sein d'un même système. Il décompose chaque tâche en sous-tâches, les confie à des sous-agents (des agents distincts qui prennent chacun en charge une partie) et attribue chaque élément de travail au modèle le plus adapté.

Découvrez comment configurer des instructions, des fichiers et des connecteurs dans le guide des projets Perplexity.

FAQ

Qu'est-ce qu'un ingénieur harness ?

Un ingénieur harness conçoit et maintient le système qui permet à un modèle d'IA d'effectuer un travail fiable. Cela peut consister à ajouter un nouvel outil que l'agent pourra utiliser, à comprendre pourquoi un agent répète sans cesse la même erreur, ou à renforcer les vérifications qu'il effectue avant de terminer une tâche. Il ne s'agit pas d'un intitulé de poste courant, même si cela pourrait changer. Ce travail est généralement assuré par des ingénieurs logiciels au sein d'entreprises d'IA ou d'équipes qui développent des agents. Dans l'industrie manufacturière, le même intitulé désigne la personne qui conçoit des faisceaux de câbles (wire harnesses), c'est-à-dire les ensembles de câbles regroupés à l'intérieur des voitures et des machines.

Qu'est-ce qu'un harness d'agent ?

Un harness d'agent désigne généralement tout ce qui compose un agent d'IA, hormis le modèle lui-même. Cela inclut le code qui exécute la boucle de l'agent, gère le contexte, effectue les appels d'outils, stocke la mémoire, applique les autorisations et vérifie le travail de l'agent avant qu'il ne parvienne à une personne.

Tous les outils d'IA ont-ils un harness ?

Oui. Même un simple assistant conversationnel s'appuie sur un harness pour garder la trace de la conversation, car le modèle ne se souvient pas de lui-même des messages précédents.

Les développeurs peuvent aussi utiliser un modèle en lui envoyant des requêtes depuis leur propre logiciel via une API (une connexion qui permet à un programme d'envoyer des requêtes à un autre). Dans ce cas, c'est le code du développeur qui joue le rôle du harness.

Des modèles plus performants rendront-ils les harness inutiles ?

Des modèles plus performants auront peut-être besoin de moins de consignes étape par étape, si bien qu'une partie du rôle actuel des harness pourrait se réduire. Mais à lui seul, un modèle ne fait que transformer du texte en texte. Il n'a ni connexion Internet ni accès à d'autres applications. L'accès aux fichiers, l'exécution d'actions et l'application des règles d'approbation se déroulent dans le logiciel qui entoure le modèle : ce travail devrait donc rester du ressort du harness, aussi performants que deviennent les modèles.