Le repo est le contexte : pourquoi les agents n'ont pas besoin d'historique
Les agents de codage lisent tout ce que vous leur donnez. Cela ressemble à une force. En général, c'est un problème.
J'avais l'habitude de donner plus de documentation aux agents. Je rédigeais des spécifications, des ADR et des documents de planification. Je pensais qu'un contexte plus riche était préférable. Puis, j'ai vu un agent commettre une erreur avec assurance. Ce n'était pas une hallucination. Il suivait simplement un ancien document décrivant un système que nous avions cessé d'utiliser des mois auparavant. Il obéissait à l'histoire plutôt qu'à la vérité.
L'historique est destiné aux humains. Il explique pourquoi un système existe. Il vous aide à comprendre les compromis et les anciennes décisions.
Les agents sont différents. Ils modifient le système actuel. Pour cette tâche, ils n'ont pas besoin de prose historique. Ils ont besoin de la source de vérité actuelle.
Ils ont besoin de : • Schémas actuels • Limites de modules actuelles • APIs actuelles • Tests actuels • Configurations actuelles
Si vous voulez qu'un agent comprenne une base de données, ne le forcez pas à rejouer chaque journal de migration. Donnez-lui le schéma actuel. Si vous voulez qu'il comprenne l'architecture, ne le forcez pas à lire de vieux ADR. Donnez-lui le graphe de modules actuel.
Le danger est la pollution du contexte. Cela se produit lorsqu'un fait réside à deux endroits : dans le code et dans un fichier Markdown. Le code change rapidement. La prose ne change que lorsque quelqu'un s'en souvient. Lorsqu'ils divergent, l'agent fait confiance au document obsolète. Un agent ne plisse pas les yeux et ne vérifie pas les informations comme un humain. Il prend la première chose qu'il lit pour une vérité établie.
Arrêtez d'écrire de meilleures documentations. Commencez par réduire le nombre d'endroits où les faits peuvent s'altérer.
Déplacez les règles du texte vers la structure du système : • Utilisez des structures de répertoires pour l'architecture. • Utilisez le nommage pour l'intention. • Utilisez les exports de packages pour les APIs. • Utilisez des règles de lint pour les limites. • Utilisez des schémas pour les contrats de données. • Utilisez des tests pour le comportement.
Une règle dans un README est une suggestion. Une règle dans une configuration ESLint est un mur. L'agent ne peut pas ignorer un mur.
J'ai réduit la taille de mes fichiers d'instructions. Ils ne reformulent plus l'architecture. Au lieu de cela, ils indiquent où l'architecture se trouve.
Gardez l'historique pour les humains. Façonnez le présent pour les agents.
Source: https://dev.to/gyu07/the-repo-is-the-context-why-agents-dont-need-history-4ien
Communauté d'apprentissage optionnelle: https://t.me/GyaanSetuAi