Réduire le gaspillage de jetons et les erreurs des agents Claude grâce à la configuration Fallow
2026년 5월 1일
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
Lorsque vous utilisez des agents IA dans un monorepo massif, vous vous en rendez vite compte : ils lisent des dizaines de milliers de fichiers de manière indiscriminée, vidant votre portefeuille tout en produisant souvent un code médiocre qui manque de contexte. Avant de blâmer l'intelligence de l'agent, nous devons examiner ce que nous lui donnons à consommer. Voici une méthode concrète pour utiliser Fallow, un outil d'analyse de code basé sur Rust, afin de forcer l'agent à ne lire que le « code réellement critique ».
Donner l'intégralité de la base de code à un agent est irresponsable. Trop d'informations provoquent le phénomène de « Lost in the Middle », où le modèle oublie le contenu intermédiaire. Vous devez limiter physiquement le périmètre d'exploration de l'agent en utilisant les fonctions d'indexation de Fallow.
.fallow.json à la racine du projet. Ajoutez **/dist/**, **/tests/** et les packages legacy dans le tableau exclude. La priorité est de réduire le bruit.rules, fixez le seuil de high-complexity à environ 15. C'est un mécanisme pour forcer l'agent à scanner en priorité les modules ayant une complexité cognitive élevée.strictBoundaries. Cela empêche l'agent d'ignorer les frontières entre les packages et de créer des dépendances chaotiques.Rien qu'avec ces réglages, le nombre de fichiers lus par l'agent chute drastiquement. En bloquant la lecture de fichiers inutiles, vous pouvez économiser plus de 40 % sur vos coûts d'API.
Ne laissez pas l'agent chercher les problèmes en lisant le code ligne par ligne. C'est un gaspillage d'argent. Il est bien plus rapide et précis de lui fournir les données structurelles pré-calculées par Fallow.
Exécutez fallow audit --format json > audit_report.json dans votre terminal pour extraire les violations d'architecture et les rapports de complexité. Insérez ces données JSON directement dans la fenêtre de contexte de Claude ou référencez-les dans un fichier CLAUDE.md. Ajoutez simplement dans le prompt système : "Vérifiez systématiquement le verdict et le score de complexity du rapport avant toute modification, et commencez par les modules ayant les scores les plus bas."
Le développeur n'a plus besoin de donner de longues explications. L'agent commence l'opération chirurgicale sur le code le plus corrompu, en suivant les priorités déjà organisées par les données.
L'analyse statique seule ne permet pas de savoir si un code est réellement utilisé. Le « code zombie » — dont les références existent mais qui n'est jamais appelé — est le fléau des monorepos. Comme l'a prouvé le framework SCARF de Meta, il faut combiner analyse statique et couverture dynamique pour une suppression sécurisée.
Après avoir collecté les données de couverture V8 (NODE_V8_COVERAGE), utilisez la fonction runtime-sync de Fallow. Vous obtiendrez une liste des "fonctions ayant des références statiques mais n'ayant jamais été exécutées au cours du mois dernier". Donnez cette liste à l'agent et demandez-lui de solliciter une approbation de suppression. Vous entendrez l'agent argumenter : "Cette fonction n'a aucun historique d'appel depuis 6 mois, elle peut donc être supprimée en toute sécurité."
Ce n'est pas parce que le code écrit par l'agent fonctionne immédiatement qu'il doit être fusionné aveuglément. Il faut vérifier s'il nuit à la lisibilité à long terme. Fallow calcule un indice de maintenabilité (MI) en combinant la complexité de Halstead et le nombre de chemins logiques.
Ajoutez une étape fallow audit --base main --format json à vos GitHub Actions. Il suffit de faire échouer le build si le health_score descend en dessous de 70.
Ce simple garde-fou permet aux développeurs seniors de gagner plus de 2 heures de revue de code par semaine. Au lieu de nettoyer les erreurs de l'agent, ils n'ont plus qu'à examiner la conception d'un code de haute qualité déjà validé par la machine. Dans la collaboration avec les agents, la différence de productivité dépend de la rigueur avec laquelle vous utilisez ces outils déterministes.