
Ce qu'est un harness d'agent, et comment choisir le sien
Un modèle de langage, seul, ne produit que du texte. Ce qui en fait un agent de code, c'est le programme autour de lui : le harness. Il donne au modèle des outils (lire un fichier, lancer une commande, chercher), vérifie les permissions, décide ce qui entre dans le contexte et ce qui est compacté, se connecte à un fournisseur de modèles, et vous montre ce qui se passe. Le même modèle dans deux harness peut être brillant dans l'un et inutile dans l'autre.
Ce que vous y gagnez. Une carte claire des harness que nous utilisons chaque jour et de leurs raisons, et cinq questions qui disent lequel convient à un travail donné. Chacun a son tutoriel d'installation.
Un peu d'histoire
Les premiers assistants de code (à partir de 2021) complétaient des lignes dans un éditeur. En 2023, des projets ouverts ont commencé à laisser un modèle appeler des outils en boucle jusqu'à ce qu'une tâche soit finie. En 2025, les grands laboratoires ont sorti leurs propres agents de terminal, et les agents libres se sont multipliés. La leçon était alors claire : la boucle, les outils et la gestion du contexte comptent autant que le modèle. C'est pourquoi un même modèle peut sembler très différent d'un harness à l'autre.
1. Ce qu'un harness décide pour vous
- Les outils : quelles actions existent, et comment elles sont décrites au modèle (chaque description coûte du contexte à chaque tour).
- Les permissions : ce qui tourne sans demander, ce qui attend votre oui, ce qui est refusé.
- Le contexte : ce que voit le modèle, quand les anciens tours sont compactés, quelle taille de fenêtre est déclarée.
- Le fournisseur : un abonnement, une clé d'API, ou vos propres modèles par une passerelle.
- L'interface : un terminal, une page web, un téléphone, ou aucune (une file qui travaille seule).
2. Les six que nous utilisons, et pourquoi
| Harness | Ce qui le distingue | Pourquoi nous l'utilisons |
|---|---|---|
| OpenFox | fait pour les modèles locaux ; critères d'acceptation en guise de contrat ; interface web ; agents, workflows, skills | le code de tous les jours sur nos propres cartes, depuis n'importe quel appareil, avec notre propre agent « fh-coder » |
| Claude Code | la boucle la plus mûre ; des crochets qui peuvent refuser une commande ; des skills ; tourne sur abonnement ou sur modèles locaux | l'exploitation de tout le labo, et le moteur du junior qui travaille seul |
| Kimi Code | un million de jetons de contexte ; terminal, interface web et contrôle à distance ; son propre abonnement | les tâches longues qui lisent beaucoup, et un second agent hébergé quand le quota du premier est épuisé |
| FH Coder | pas interactif : une file, un exécutant, une barrière de vérification, une demande de fusion, un compte rendu | le travail fait pendant que personne ne regarde, sans rien fusionner sans l'avoir lu |
| OpenCode | un agent de terminal libre, indépendant de tout fournisseur, avec greffons et skills | installé sur les deux machines ; notre console vocale peut le piloter comme agent de code |
| Cœur cloudroom | héberge plusieurs harness derrière un seul protocole ; des sessions qui passent d'une machine à l'autre | la base de nos salles, pour que le téléphone et le bureau voient les mêmes conversations |
3. Cinq questions pour choisir
- Quel modèle ? Vos propres cartes favorisent un harness pensé pour les modèles locaux ; un modèle de pointe favorise le harness de son laboratoire.
- Allez-vous regarder, ou déléguer ? Regarder : un harness interactif. Déléguer : une file avec une barrière de vérification.
- Combien doit-il lire ? Un dépôt entier ou un long historique : la plus grande fenêtre que vous puissiez obtenir.
- À quoi a-t-il le droit de toucher ? Le travail sans surveillance demande un bac à sable, une liste fermée de fichiers, et aucun identifiant à portée (voir agents et autorité).
- Où serez-vous ? Sur le canapé ou en déplacement : un harness avec une interface web ou un client sur téléphone.
Pièges
Déclarez la vraie fenêtre de contexte dans chaque harness qui parle à un modèle local. Chacun suppose une grande valeur par défaut ; quand elle est fausse, les réponses s'arrêtent en pleine phrase et le message accuse la limite de sortie.
Ne jugez pas un modèle dans le mauvais harness. Un modèle qui semble incapable d'appeler des outils dans l'un peut être excellent dans un autre qui décrit les outils dans son style.
Sources
Utile ? Dites-nous ce qu'il faut mesurer ensuite.