Dans le contexte des agents d'IA, un harness est l'infrastructure logicielle qui entoure un modèle de langage et lui permet d'agir comme un agent fonctionnel. Il ne s'agit pas du modèle en soi, mais de l'ensemble des composants qui gèrent le flux de travail : la construction des prompts, l'accès aux outils externes, la mémoire, le contrôle des étapes d'exécution et la capture des résultats.
Son importance réside dans le fait que la performance d'un agent dépend autant du modèle sous-jacent que du harness qui l'orchestre. Un même modèle peut offrir des résultats très différents selon la manière dont le contexte lui est fourni ou dont ses appels aux outils sont gérés. C'est pourquoi, lors de la comparaison d'agents dans des benchmarks tels que SWE-bench, il est essentiel de spécifier quel harness a été utilisé.
Un harness typique se charge de :
- Itérer sur les actions de l'agent jusqu'à atteindre l'objectif.
- Connecter le modèle à des outils (terminal, navigateur, API).
- Enregistrer des traces pour évaluer et déboguer le comportement.