Comment arrêter d'écrire du code à la main et commencer à concevoir des harnais pour les réseaux de neurones
Récemment, je me suis surpris à ressentir une sensation étrange. Vous êtes assis dans un éditeur, vous lancez un agent comme Claude Code ou Cursor, vous lui donnez une tâche, et dix minutes plus tard vous triez un désordre de fonctions inventées et de types cassés. Essayer de dicter une invite système de cinq pages aggrave généralement les choses : le modèle oublie le début de l'instruction dès la troisième étape.
Il s'avère que dans la communauté d'ingénierie autour d'OpenAI, Anthropic et Cursor, ce problème a déjà été formalisé en une discipline distincte. Elle s'appelle Harness Engineering, ce qui peut être traduit par la conception de harnais ou de brides pour les agents.
Le dépôt deusyu/harness-engineering a regroupé en un seul endroit une base de connaissances complète sur ce sujet : des analyses de concepts, des traductions de dizaines d'articles en anglais d'ingénieurs comme Martin Fowler, LangChain et les créateurs de Bun, ainsi que des modèles prêts à l'emploi pour mettre en œuvre cette approche dans vos propres projets.
D'où vient cette idée
Si dans le développement classique, une personne écrit le code et la machine l'exécute, alors avec l'arrivée des agents autonomes, la chaîne change. Une personne formule des contraintes et des règles du jeu, le réseau de neurones écrit le code, et l'environnement exécute des vérifications et renvoie des commentaires à l'agent.
L'essentiel est que l'ingénieur cesse d'être l'auteur de chaque ligne. Le produit principal de l'ingénieur devient un système de contraintes : fichiers de configuration AGENTS.md, linters personnalisés, tests structurels et portes strictes dans la CI.
Le dépôt cite les données d'une expérience réelle menée par l'une des équipes : en 5 mois, une équipe de 3 à 7 personnes a fusionné environ 15 000 pull requests totalisant près d'un million de lignes de code, fermant en moyenne 3,5 PR par personne et par jour. La majeure partie de la génération s'est déroulée pendant la nuit en sessions de six heures.
Principes fondamentaux du Harness Engineering
L'auteur du dépôt décompose l'approche en plusieurs concepts appliqués.
Le dépôt comme seule source de vérité
Tout ce qui ne se trouve pas dans un dépôt git n'existe pas pour l'agent. Vos appels Zoom, vos discussions d'architecture sur Slack ou vos brouillons dans Google Docs ne font pas partie du contexte du modèle.
Si vous avez décidé de modifier une signature d'API ou convenu d'une structure de dossiers, cela doit résider dans le dépôt sous forme de fichiers versionnés. Toute spécification et plan de tâche est immédiatement commité dans une branche.
Une carte au lieu d'une encyclopédie
Une erreur fréquente lors de la configuration du développement agentique est de créer un fichier système massif contenant toutes les instructions du projet. Les modèles sont submergés par des invites trop longues.
Au lieu de cela, un fichier AGENTS.md d'environ 100 lignes est utilisé. Il fonctionne comme une table des matières ou une carte du terrain, indiquant à l'agent quels sous-répertoires consulter pour les détails en fonction de la tâche. Chaque sous-répertoire contient son propre AGENTS.md local. Ce principe est appelé la divulgation progressive du contexte.
Contrôle mécanique au lieu de persuasion verbale
Les règles textuelles dans la documentation deviennent rapidement obsolètes, et les agents ont tendance à les ignorer ou à les mal interpréter. Les linters et les tests unitaires ne deviennent pas obsolètes.
Au lieu de longues descriptions de style d'architecture, des linters personnalisés sont écrits. La partie la plus intéressante : les messages d'erreur dans ces linters contiennent immédiatement des instructions claires pour résoudre le problème. L'agent exécute la vérification, capture l'erreur du linter, lit le texte d'indice et réécrit lui-même la section de code problématique.
La lisibilité du code pour les agents et la gestion de l'entropie
Lors du choix des bibliothèques, la priorité est donnée aux technologies stables, bien documentées et au comportement prévisible. Si une bibliothèque est trop complexe ou utilise une magie de métaprogrammation obscure, l'agent trébuchera constamment. Parfois, il est plus facile d'implémenter un module interne simple from scratch que de faire deviner au réseau de neurones le comportement d'un package externe opaque.
De plus, les agents adorent copier les mauvais patterns s'ils les trouvent dans la base de code existante. Pour éviter que le dépôt ne pourrisse, des agents de refactoring spéciaux s'exécutent en arrière-plan, dont la tâche se limite à trouver les écarts par rapport aux normes et à créer des PR correctives.
Dépôt auto-référentiel
Ce qui rend le projet deusyu/harness-engineering attrayant est qu'il est construit sur les mêmes principes qu'il décrit.
À l'intérieur du dépôt, un script strict scripts/check-consistency.sh s'exécute, déclenché via des hooks pre-commit et GitHub Actions. Le script vérifie treize niveaux d'intégrité :
- Vérifie le nombre exact d'articles mentionnés dans les badges et la documentation
- Surveille que la structure des répertoires corresponde à l'arborescence de fichiers déclarée
- Valide tous les liens et tableaux
- Contrôle les audits d'images dans les traductions d'articles afin qu'aucun diagramme des originaux ne soit perdu
Le processus d'ajout de nouveaux matériaux est automatisé via une compétence Claude spécialisée, où les agents effectuent l'analyse et le formatage initiaux des articles, tandis qu'un humain n'agit qu'en tant que censeur final.
À qui s'adresse ce projet
Si vous écrivez des projets personnels en solo ou souhaitez configurer un travail efficace avec Cursor, Claude Code, Aider ou des modèles locaux dans votre équipe, ce dépôt mérite d'être ajouté aux favoris.
Il n'y a pas de boutons magiques ni de binaires prêts à l'emploi ici. C'est un manuel et une collection d'expériences d'ingénierie, expliquant pourquoi vos invites cessent de fonctionner à distance et comment configurer le dépôt pour que les réseaux de neurones apportent des bénéfices au lieu de transformer la base de code en décharge.
Le moyen le plus simple pour commencer à apprendre est d'examiner les fichiers du répertoire concepts/, puis de regarder l'implémentation de AGENTS.md à la racine du projet et d'essayer une structure similaire pour vos propres dépôts de travail.
Projets similaires
