Extension de workflow qui impose un cycle de développement structuré à l’agent de codage Pi
(github.com/popododo0720)Ces derniers temps, les outils d’agents IA pour le code se multiplient, et la mode est aux agents parallèles qui modifient plusieurs fichiers en même temps. Mais quand on les utilise réellement, on s’en rend vite compte : les résultats partent dans tous les sens.
L’agent produit du code sans plan, la cohérence entre les modules se dégrade, et il répète les mêmes erreurs d’une session à l’autre. « Générer vite et beaucoup » n’est pas forcément une bonne chose. Même si la vitesse de génération est élevée, si l’humain doit ensuite passer plus de temps à réparer derrière, cela perd tout son intérêt.
J’ai donc changé d’approche. Et si on ralentissait volontairement l’agent, tout en lui imposant une structure, pour améliorer la qualité finale ?
J’ai créé une extension de workflow pour l’agent de codage Pi (@mariozechner/pi-coding-agent), dont le cœur consiste à lui imposer un cycle de développement en 6 étapes :
📝 Plan → 🔍 Verify Plan → 🔨 Implement → ✅ Verify Impl → 🧠 Compound → 🎉 Done
- Blocage des outils selon l’étape
En dehors de l’étape d’implémentation (Implement), les outils de modification de fichiers sont eux-mêmes bloqués. Les commandes bash commerm,mv,sed -isont aussi bloquées pendant les phases en lecture seule. L’IA ne peut tout simplement pas toucher au code avant d’avoir établi un plan. - Vérification adversariale parallèle multi-modèles
Le plan et les résultats de l’implémentation sont vérifiés simultanément par plusieurs LLM. Il ne s’agit pas d’une simple revue de code, mais d’une méthode qui attaque le code en créant des scénarios concrets pour le faire échouer. La gravité est classée en 🔴 CRITICAL / 🟡 WARNING / 🔵 INFO, et s’il existe ne serait-ce qu’un seul CRITICAL, l’étape ne peut pas être validée. - Apprentissage Compound & mémoire du projet
À la fin de chaque cycle, les patterns, erreurs récurrentes (gotchas) et décisions d’architecture sont enregistrés automatiquement. Cette mémoire est stockée dans.pi/workflow-memory.jsonet persiste même d’une session à l’autre. Cela permet de se dire : « Hier, on s’est embourbé ici, donc ne refaisons pas la même chose aujourd’hui. » - Repo Map (AST + PageRank)
Avecweb-tree-sitter, l’extension extrait les symboles de tout le projet (fonctions, classes, interfaces, etc.), construit un graphe d’imports et attribue un score d’importance à chaque fichier via PageRank. Comme cela permet de comprendre la structure du projet dans un budget de tokens limité (2048 par défaut), l’agent travaille en comprenant « à quoi ressemble ce projet ». 18 langages sont pris en charge.
Autres caractéristiques
- Système de TODO — découpe les grosses tâches en unités TODO, puis exécute indépendamment pour chacune un cycle Implement → Verify → Compound
- Automatisation Git — commit/push automatiques à chaque frontière TODO, et si l’arbre est sale, le nettoyage est imposé en premier
- Vérifications personnalisées — en plaçant des fichiers Markdown dans
docs/checks/, il est possible d’ajouter des critères de validation propres au projet - Gestion du contexte — sépare un contexte minimal toujours injecté d’un contexte à la demande récupéré si nécessaire, afin d’éviter le gaspillage de tokens
Philosophie
Je ne dis pas que les agents parallèles sont mauvais. Mais je pense qu’une génération parallèle sans structure revient pratiquement à produire de la dette technique en parallèle. Cette extension est née de l’idée suivante : « confier le travail à l’IA, mais lui appliquer la même discipline que celle d’un humain au travail ».
Écrit à 100 % en TypeScript, l’outil s’installe avecnpm install+ un lien symbolique.
GitHub: https://github.com/popododo0720/pi-stuff
Tous les retours sont les bienvenus !
Aucun commentaire pour le moment.