Il n’existe pas de définition standard. Harnais d’IA et harnais d’agent désignent souvent l’environnement d’exécution autour d’un modèle utilisant des outils. Certains développeurs emploient ce terme dans un sens plus large pour désigner presque tout ce qui compose une application d’IA, à l’exception du modèle lui-même.

Comment fonctionne un harnais d’IA

Un modèle reçoit une entrée et produit une sortie. À lui seul, il ne décide pas comment une application stocke une conversation, si une action demandée est autorisée ou ce qui doit se passer après l’échec d’un outil. Le harnais prend en charge ces tâches.

Un harnais type répète quatre étapes :

  1. Préparer l’entrée du modèle. Le harnais combine la demande de l’utilisateur avec les instructions et les informations nécessaires pour cette étape. Il peut charger l’état de la conversation, récupérer un document ou décrire les outils que le modèle peut demander.
  2. Appeler le modèle. Il envoie cette entrée à un fournisseur de modèles et reçoit du texte ou une demande structurée.
  3. Interpréter et contrôler la sortie. Si le modèle demande un outil, le harnais vérifie que l’outil existe, valide ses arguments et applique les règles d’autorisation ou d’approbation. Si la sortie doit respecter un format, le harnais la valide également.
  4. Renvoyer, agir ou continuer. Le harnais peut afficher une réponse finale, exécuter une action autorisée ou renvoyer le résultat d’un outil au modèle pour une étape supplémentaire. Il impose également des conditions d’arrêt, comme une limite de tours ou un délai d’expiration.

Tous les harnais n’intègrent pas nécessairement toutes ces fonctionnalités. Un simple service de résumé peut se contenter de construire une entrée, d’appeler un modèle, de valider la réponse et de la renvoyer. Un harnais de programmation peut également fournir des fichiers, un exécuteur de commandes, un état persistant, des résultats de tests, des approbations humaines et des journaux de chaque action.

La distinction essentielle est la suivante : le modèle propose une sortie, tandis que le harnais détermine ce que cette sortie peut accomplir. Un modèle peut produire une demande d’envoi d’un e-mail, mais le code applicatif ordinaire du harnais authentifie l’utilisateur, vérifie le destinataire, demande une approbation si nécessaire, appelle le service de messagerie et signale le résultat.

Exemple : un assistant chargé des remboursements

Supposons qu’un client écrive : « Veuillez rembourser le casque audio de la commande 4812. »

Tout d’abord, le harnais envoie la demande au modèle avec des instructions et la description de deux outils disponibles : get_order et issue_refund. Le modèle demande l’appel de get_order avec le numéro de commande 4812.

Le harnais vérifie que l’argument respecte le format attendu et que le client peut accéder à cette commande. Il effectue la recherche et en transmet le résultat au modèle. Le résultat indique que le casque audio coûte 80 $ et qu’il peut toujours être remboursé.

Le modèle demande ensuite l’appel de issue_refund pour un montant de 80 $. Avant tout transfert d’argent, le harnais vérifie la politique de remboursement et l’identité du client. Si la politique de l’entreprise exige une approbation, il interrompt le processus et affiche l’action proposée à un employé. Ce n’est qu’après l’approbation que le harnais appelle le système de paiement.

Le modèle a contribué à choisir les étapes. Le harnais a pris en charge les aspects importants : l’accès aux données, la validation, l’application de la politique, l’approbation, l’exécution et l’enregistrement de ce qui s’est passé.

Cette séparation facilite également la gestion des échecs. Si le service de commandes expire, le harnais peut effectuer une nouvelle tentative, puis s’arrêter en affichant une erreur claire. Il n’a pas besoin d’espérer que le modèle invente un plan de récupération sûr.

Pourquoi le harnais est important

Un même modèle peut se comporter très différemment dans deux harnais. L’un peut lui fournir des descriptions claires des outils, un contexte pertinent, des autorisations strictes et des messages d’erreur utiles. L’autre peut le surcharger d’informations inutiles, lui exposer des outils risqués et dissimuler les échecs. La qualité du modèle compte, mais elle ne décrit pas le comportement du système complet.

Les harnais sont également l’endroit où les développeurs peuvent imposer des règles plutôt que simplement les demander. Une instruction telle que « ne remboursez jamais plus de 100 $ sans approbation » peut influencer un modèle, mais ne constitue pas un contrôle fiable. Une vérification au niveau du code qui bloque l’appel de paiement est applicable même lorsque le modèle commet une erreur ou qu’un texte non fiable tente de le rediriger.

Un harnais bien défini facilite également l’inspection et la modification d’une application. Les journaux peuvent afficher les entrées, les demandes d’outils, les approbations, les résultats et la raison de l’arrêt d’une exécution. Il est parfois possible de remplacer un modèle sans reconstruire toutes les intégrations environnantes, même si les invites propres au modèle et le comportement des outils doivent toujours être testés.

Un harnais n’est pas toujours un agent

Un harnais est une couche d’un système. Un agent désigne généralement le système complet qui utilise un modèle pour choisir des actions en une ou plusieurs étapes.

Cela signifie qu’un harnais peut exister sans offrir beaucoup d’autonomie. Le logiciel qui se trouve derrière une interface de conversation élémentaire gère tout de même les instructions, l’historique des messages, les appels au modèle et la sortie affichée. Ce sont des fonctions de harnais, même si le modèle ne peut pas utiliser d’outils ni poursuivre une tâche de sa propre initiative.

L’inverse n’est pas vrai pour un agent déployé. Un modèle ne peut pas s’authentifier directement auprès d’une base de données, appliquer une politique d’approbation ou préserver l’état d’une tâche après le redémarrage d’un processus. Le logiciel qui entoure le modèle doit fournir ces capacités, que ses développeurs le qualifient ou non de harnais.

Le terme apparaît également dans harnais d’évaluation. Dans ce contexte, un harnais fait passer des modèles par un ensemble uniforme de tâches de test et enregistre les scores. Il s’agit d’un système de test, pas nécessairement de l’environnement d’exécution d’un agent. Le contexte permet généralement de déterminer le sens visé.

Pour aller plus loin

Lisez Qu’est-ce qu’un agent d’IA ? pour voir comment un modèle et un harnais peuvent former un système qui choisit et exécute plusieurs étapes. Lisez Qu’est-ce que l’utilisation d’outils dans les LLM ? pour découvrir la boucle de proposition, de validation, d’exécution et d’observation contrôlée par un harnais. Pour comprendre les frontières entre les principales couches, consultez Modèle d’IA, chatbot, harnais et agent : quelles différences ?.