Au quotidien, la différence vient du harness plus que du modèle
Le harness, c'est tout ce qu'on construit autour du modèle pour le faire travailler. Il s'écrit une fois, il vous appartient, et il ne se refacture pas à l'usage.
Le harness, c'est tout ce qui entoure le modèle : les outils auxquels il a accès, ce qu'il garde en mémoire d'un tour à l'autre, ce qu'il fait quand une étape échoue, les règles qu'il doit respecter, et la façon dont une tâche est découpée en étapes. Le modèle produit du texte. Le harness décide de ce que le modèle voit, de ce qu'il peut faire, et de ce qui arrive ensuite.
Sur une tâche à une seule étape, le modèle explique presque tout le résultat. Sur une tâche de vingt étapes, il en explique une partie seulement. Le reste tient à des choses qui ne sont pas dans le modèle : est-ce que l'agent IA avait accès aux fichiers, est-ce qu'il a relu la sortie d'erreur, est-ce qu'il a réessayé, est-ce qu'il a arrêté après trois échecs au lieu de continuer à brûler des appels.
Les classements de génie logiciel le montrent dans leur façon même de présenter les résultats. Sur SWE-bench Verified, une soumission n'est jamais un modèle seul : c'est une paire, un modèle et le harness qui l'utilise. Le même modèle apparaît à plusieurs endroits du classement, avec des scores différents, selon ce qu'on a construit autour.
Le harness décide aussi de la facture, parce que c'est lui qui décide de ce qui est relu à chaque appel. Un agent IA qui renvoie tout son historique à chaque tour paie cette relecture au complet, à chaque tour. En boucle agentique, la relecture dépasse couramment 130 tokens d'entrée pour chaque token généré. Un harness qui résume, qui coupe ce qui ne sert plus, ou qui s'appuie sur le cache de préfixe fait descendre ce chiffre sans changer une ligne du modèle.
La différence entre les deux dépenses est plus importante que leur taille. Le harness est un coût fixe : il s'écrit une fois, il reste dans votre dépôt, il s'améliore chaque fois que quelqu'un corrige un cas d'échec. Le modèle est un coût variable : il se paie à chaque appel, tous les jours, pour toujours.
Ce qui suit de là est simple : changer de modèle ne jette pas le harness. Les outils, les règles internes, le découpage des tâches et la reprise après échec ne dépendent pas du fournisseur. Rediriger un client comme Claude Code vers un autre endpoint tient dans trois variables d'environnement. Ce qui coûte cher à construire reste, ce qui se paie au token se remplace.
Ça change l'ordre des décisions quand un agent IA échoue. La première réaction est souvent de prendre un modèle plus gros, ce qui augmente la facture tout de suite et de façon permanente. La question qui rapporte le plus est ailleurs : est-ce que l'agent IA avait le bon outil, le bon contexte, et une façon de reprendre après l'erreur.
Pour trancher, il faut isoler les deux. Gardez le harness identique et remplacez seulement le modèle, sur les mêmes tâches, avec les mêmes règles. C'est la seule façon de savoir lequel des deux vous limite. Autrement, chaque essai change deux choses en même temps et ne prouve rien.