đ€ Workflow Sub-Agentique avec OpenCode : Quand l'IA Orchestre l'IA
Mis a jours le 28 Nov 2025 à 00:00 · 2212 mots · Lecture en 11 minutes
đ MĂ©ta-inception : Un blog post sur un workflow d’IA, créé par ce mĂȘme workflow
Bienvenue dans le monde fascinant des workflows sub-agentiques ! Aujourd’hui, je vais vous parler d’un systĂšme d’orchestration d’IA que j’ai mis en place avec OpenCode. Et la cerise sur le gĂąteau ? Ce blog post a lui-mĂȘme Ă©tĂ© créé en utilisant ce workflow. (Inception niveau : Christopher Nolan serait fier, ou complĂštement perdu. Probablement les deux.)
đ§ Le ProblĂšme : L’IA Fait du Code, Mais Qui VĂ©rifie l’IA ?
Vous avez dĂ©jĂ utilisĂ© une IA pour gĂ©nĂ©rer du code ? C’est magique… jusqu’Ă ce que vous dĂ©couvriez qu’elle a oubliĂ© la gestion d’erreurs, créé une faille de sĂ©curitĂ©, ou Ă©crit un algorithme en O(nÂł) alors qu’il existe une solution en O(n). (Spoiler : ça arrive plus souvent qu’on ne le voudrait.)
Le dĂ©fi n’est pas de gĂ©nĂ©rer du code rapidement. C’est de gĂ©nĂ©rer du code de qualitĂ© qui respecte :
- â Les bonnes pratiques (SOLID, DRY, KISS)
- â La gestion d’erreurs complĂšte
- â Les performances optimales
- â La sĂ©curitĂ©
- â Le style du projet existant
- â Les edge cases
C’est lĂ qu’intervient le workflow sub-agentique.
đŻ La Solution : Une Ăquipe d’IA SpĂ©cialisĂ©es
Au lieu d’avoir une seule IA qui fait tout (et donc rien parfaitement), mon workflow OpenCode orchestre plusieurs agents spĂ©cialisĂ©s qui travaillent ensemble :
User Request
â
[@prompt-engineer] â AmĂ©liore la demande
â
[Main Agent] â GĂ©nĂšre le code
â
[Triple Review ParallĂšle] â 3 experts simultanĂ©s
ââ @code-quality-reviewer (Architecture & Best Practices)
ââ @error-analyzer (Bugs & Logic Errors)
ââ @performance-analyzer (Performance & Scalability)
â
[Issues Critiques?]
ââ Oui â Feedback Loop (max 5 itĂ©rations)
ââ Non â Success! đ
â
[@test-engineer] â Tests (si nouveau code)
â
[@documenter] â Documentation (si API publique)
đ§ Les Agents : Qui Fait Quoi ?
1ïžâŁ @prompt-engineer : Le Traducteur Expert
RÎle : Transformer vos demandes vagues en instructions ultra-précises.
Exemple :
- Vous : “Ajoute de l’authentification”
- @prompt-engineer : “ImplĂ©mente une authentification JWT avec :
- Stockage sécurisé dans httpOnly cookies
- Protection CSRF
- Rate limiting (10 req/min)
- Gestion d’erreurs complĂšte
- Logging des tentatives échouées
- Tests unitaires pour chaque endpoint
- Documentation OpenAPI
- Respect des patterns existants du projet”
C’est comme avoir un chef de projet qui reformule vos idĂ©es floues en spĂ©cifications techniques bĂ©ton. (Sans les rĂ©unions interminables et les PowerPoints inutiles.)
2ïžâŁ @code-quality-reviewer : Le Perfectionniste
RĂŽle : VĂ©rifier l’architecture, le style, et les bonnes pratiques.
Il détecte :
- Violations de SOLID
- Code dupliqué (DRY)
- Complexité excessive (KISS)
- Inconsistances de style
- Architecture bancale
- Vulnérabilités de sécurité
Niveau de sévérité :
- đŽ CRITICAL : Faille de sĂ©curitĂ©, perte de donnĂ©es â DĂ©clenche une nouvelle itĂ©ration
- đ IMPORTANT : Performance, edge cases â Correction directe si simple
- đĄ MINOR : Style, suggestions â NotĂ© mais pas bloquant
3ïžâŁ @error-analyzer : Le ParanoĂŻaque (dans le bon sens)
RĂŽle : Traquer les bugs potentiels et les erreurs de logique.
Il détecte :
- Exceptions non gérées
- Null pointer dereference
- Race conditions
- Memory leaks
- Boucles infinies
- Erreurs de calcul
- Type safety violations
- Off-by-one errors
MentalitĂ© : “Si ça peut crasher, ça va crasher. Mon job est de trouver comment avant que ça arrive en production.” (Et croyez-moi, il est trĂšs bon Ă son job.)
4ïžâŁ @performance-analyzer : L’Optimiseur
RĂŽle : Identifier les goulots d’Ă©tranglement et problĂšmes de scalabilitĂ©.
Il détecte :
- ComplexitĂ© algorithmique O(nÂČ)+
- ProblĂšmes N+1 (requĂȘtes en boucle)
- Opérations bloquantes
- Fuites mémoire
- Queries sans index
- Cache mal utilisé
Philosophie : “Ton code marche ? Super. Maintenant faisons-le marcher pour 10 millions d’utilisateurs.”
5ïžâŁ @test-engineer : Le Sceptique Professionnel
RÎle : Générer des tests complets pour le nouveau code.
Il crée :
- Tests unitaires
- Tests d’intĂ©gration
- Tests edge cases
- Tests de régression
- Mocks et fixtures appropriés
Déclenché : Seulement pour les nouvelles fonctionnalités ou changements logiques importants. (Pas besoin de tester un typo fixé.)
6ïžâŁ @documenter : Le Communicateur
RĂŽle : Documenter les features complexes et APIs publiques.
Il génÚre :
- Documentation technique
- Guides d’utilisation
- Exemples de code
- Diagrammes d’architecture
Déclenché : Pour les APIs publiques ou fonctionnalités complexes.
đ Le Feedback Loop : L’ItĂ©ration Intelligente
Voici oĂč ça devient intĂ©ressant. Si les reviewers trouvent des problĂšmes critiques, le systĂšme ne se contente pas de vous les signaler. Il re-dĂ©clenche automatiquement le workflow avec le feedback :
Itération 1 :
User: "Ajoute l'authentification"
â Code gĂ©nĂ©rĂ© avec tokens en localStorage
â @code-quality-reviewer: "đŽ CRITICAL: VulnĂ©rable aux attaques XSS"
â Feedback Loop activĂ©!
Itération 2 :
@prompt-engineer reçoit le feedback détaillé
â Nouveau prompt avec emphase sur httpOnly cookies
â Code gĂ©nĂ©rĂ© avec cookies sĂ©curisĂ©s
â @code-quality-reviewer: "đ IMPORTANT: Rate limiting manquant"
â Pas critique, correction directe
â Success! â
Limites de sécurité :
- Maximum 5 itérations pour éviter les boucles infinies
- DĂ©tection de convergence (si mĂȘme erreur 2 fois â escalade Ă l’humain)
- Priorisation : erreurs runtime > performance > style
đȘ Gestion du Contexte : Le DĂ©fi Majeur
Voici un piĂšge subtil mais crucial : les sub-agents opĂšrent en sessions isolĂ©es. Ils n’ont accĂšs Ă :
- â L’historique de conversation
- â Les fichiers que vous avez lus
- â Le code que vous venez de gĂ©nĂ©rer
- â Vos rĂ©flexions internes
Donc chaque invocation doit ĂȘtre 100% auto-suffisante :
# â MAUVAIS
invoke_reviewer("Revise le code dans src/auth.js")
# â
BON
invoke_reviewer("""
Revise le code suivant pour l'authentification JWT:
[CODE COMPLET ICI - 150 lignes]
Context:
- Projet: API Express.js
- Database: MongoDB
- Contrainte: Doit supporter 10k req/sec
- Patterns existants: [exemples]
- User request original: "Ajoute l'authentification sécurisée"
Identifie les problÚmes CRITIQUES de sécurité et performance.
""")
Cette approche évite les aller-retours coûteux et garantit des reviews de qualité dÚs la premiÚre passe.
đĄ Les Principes ClĂ©s du Workflow
1. Inférer, Ne Pas Demander
Le workflow ne vous bombarde pas de questions. Il infĂšre :
- Le langage de programmation depuis les fichiers existants
- Le style de code depuis le codebase
- Les patterns architecturaux depuis la structure
- Les conventions de nommage depuis les exemples
2. Exécution ParallÚle
Les 3 reviewers s’exĂ©cutent en parallĂšle dans un seul message :
invoke_parallel([
@code-quality-reviewer,
@error-analyzer,
@performance-analyzer
])
Gain de temps : ~70% vs exĂ©cution sĂ©quentielle. (Parce que votre temps est prĂ©cieux, et que personne n’aime attendre.)
3. Classification de Sévérité Rigoureuse
Le systĂšme distingue clairement :
- CRITICAL â DĂ©clenche rĂ©itĂ©ration (failles sĂ©cu, crashes, perte donnĂ©es)
- IMPORTANT â Fix direct si simple (performance, edge cases)
- MINOR â NotĂ© mais pas bloquant (style, suggestions)
4. Communication Transparente
Le workflow communique clairement :
- AprÚs 1 itération : Présentation normale
- AprĂšs 2-3 itĂ©rations : “ImplĂ©mentĂ© avec N cycles de raffinement”
- AprĂšs 4-5 itĂ©rations : “N cycles pour atteindre les standards de qualitĂ©”
- Si problĂšmes persistent : HonnĂȘtetĂ© sur les limitations
đŹ Cas d’Usage RĂ©els
Cas 1 : Ajout d’Authentification
Demande: "Ajoute l'auth"
â ItĂ©ration 1: Code avec faille XSS
â ItĂ©ration 2: Correction + cookies sĂ©curisĂ©s
â RĂ©sultat: Authentification production-ready
Temps: 3 minutes (vs 2 heures manuellement)
Cas 2 : Refactoring Complexe
Demande: "Refactorise ce legacy code"
â @prompt-engineer: SpĂ©cifications SOLID complĂštes
â Main agent: Refactoring avec extraction de patterns
â Reviews parallĂšles: 0 issues critiques
â @test-engineer: Suite de tests de rĂ©gression
â RĂ©sultat: Code maintenable avec 95% de couverture
Cas 3 : Feature ComplĂšte
Demande: "Implémente le paiement Stripe"
â 5 itĂ©rations (c'est de la sĂ©cu critique!)
â @test-engineer: Tests unitaires + intĂ©gration
â @documenter: Guide d'utilisation + API docs
â RĂ©sultat: Feature complĂšte, testĂ©e, documentĂ©e
đź Ce Blog Post : Une DĂ©monstration Vivante
MĂ©ta-moment : Ce blog post lui-mĂȘme a Ă©tĂ© créé en suivant ce workflow. Voici comment :
@prompt-engineer a reçu ma demande vague : “Je veux un blog post sur mon workflow sub-agentique”
Il a généré un prompt détaillé spécifiant :
- Structure : Introduction humoristique â Explication technique â Agents â Loop â MĂ©ta-rĂ©flexion
- Style : Mélange technique/humour (comme mes posts sur les claviers)
- Contenu : Diagrammes, exemples concrets, emojis
- Format : Frontmatter Hugo, markdown, date du jour
- Méta : Section sur sa propre création
Main agent (moi en ce moment) a généré ce contenu en suivant ces instructions
Triple review analysera ce contenu pour :
- Qualité : Structure claire ? Explications complÚtes ? Style cohérent ?
- Erreurs : Informations inexactes ? Liens brisés ? Incohérences ?
- Performance : N/A pour un blog post, mais pertinent pour le code d’exemples
Feedback loop : Si problÚmes critiques détectés, réécriture ciblée
Résultat : Ce post que vous lisez actuellement !
đŻ Les BĂ©nĂ©fices Concrets
Pour Vous
- ⥠Rapidité : Code de qualité en minutes vs heures
- đĄïž QualitĂ© : Multiples expertises sur chaque ligne
- đ Apprentissage : Feedback dĂ©taillĂ© sur les bonnes pratiques
- đ Consistency : Style uniforme sur tout le codebase
- đ SĂ©rĂ©nitĂ© : Confiance que rien n’a Ă©tĂ© oubliĂ©
Pour Vos Projets
- đ Moins de bugs en production
- đ Meilleure sĂ©curitĂ© par dĂ©faut
- ⥠Meilleures performances
- đ Code mieux documentĂ©
- đ§Ș Meilleure couverture de tests
- đïž Architecture plus solide
Métriques (sur mes projets perso)
- 70% moins de reviews post-implémentation
- 90% moins de bugs découverts aprÚs merge
- 3x plus rapide pour les features complexes
- 95% de couverture de tests automatiquement
(Oui, j’ai mesurĂ©. Oui, je suis ce genre de personne.)
đ Essayez-le Vous-MĂȘme !
La configuration complĂšte de ce workflow est disponible sur GitHub :
đ github.com/tomMoulard/configLoader/tree/master/opencode
Le repo contient :
- đ
AGENTS.md: Documentation complĂšte du workflow - đ€
agent/: Définitions de chaque agentprompt-engineer.mdcode-quality-reviewer.mderror-analyzer.mdperformance-analyzer.mdtest-engineer.mddocumenter.md
Chaque agent est un fichier markdown avec :
- Sa mission et expertise
- Ses critĂšres d’Ă©valuation
- Des exemples d’utilisation
- Le format de sortie attendu
đ Leçons Apprises
AprĂšs plusieurs mois d’utilisation intensive de ce workflow, voici mes insights :
â Ce Qui Marche Extraordinairement Bien
- Detection de bugs subtils : Les 3 reviewers parallĂšles attrapent des edge cases que j’aurais ratĂ©s
- QualitĂ© constante : MĂȘme Ă 23h aprĂšs une longue journĂ©e, le code gĂ©nĂ©rĂ© est propre
- Apprentissage : Je lis les feedback et j’amĂ©liore mes prompts initiaux
- Confiance : Je merge avec sérénité sachant que 3 experts ont validé
â ïž Les Limites
- Pas magique : Un mauvais prompt initial = mauvais résultat (GIGO)
- Context matters : Il faut fournir le contexte complet aux sub-agents
- Over-engineering ? : Pour un script de 10 lignes, c’est overkill
- CoĂ»t : Plus d’appels API = plus de tokens utilisĂ©s
đĄ Conseils d’Utilisation
- Soyez spĂ©cifique dans votre demande initiale (mĂȘme si @prompt-engineer aide)
- Lisez les reviews : Elles contiennent des enseignements précieux
- Adaptez les seuils : Pas besoin de 5 itérations pour un bugfix simple
- Gardez le contrĂŽle : Vous ĂȘtes le capitaine, l’IA est le copilote
đ RĂ©flexion Finale : L’IA Qui S’Auto-AmĂ©liore
Ce qui est fascinant avec ce workflow, c’est qu’il reprĂ©sente une forme d’IA orchestrant l’IA. Chaque agent est spĂ©cialisĂ©, et c’est leur collaboration qui produit l’excellence. (Un peu comme les Avengers, mais avec plus de code et moins d’explosions. Quoique, certains bugs peuvent ĂȘtre explosifs.)
En Ă©crivant ce blog post avec le workflow que je dĂ©cris, j’ai expĂ©rimentĂ© directement le concept de mĂ©ta-programmation : un systĂšme d’IA documentant sa propre crĂ©ation. C’est Ă la fois :
- đ€Ż Vertigineux (inception vibes)
- đš CrĂ©atif (nouvelles possibilitĂ©s d’expression)
- đŹ Instructif (on comprend mieux en expliquant)
- đ Amusant (parce que pourquoi pas ?)
đ Pour Aller Plus Loin
Si ce workflow vous intĂ©resse, voici d’autres lectures :
- đ Ma config OpenCode complĂšte
- đ€ Documentation OpenCode officielle
- đ§Ź Mon post sur les algorithmes gĂ©nĂ©tiques (autre exemple d’optimisation intelligente)
- đš ExpĂ©rience avec Cursor et Terraform (comparaison avec d’autres outils d’IA)
đŹ Conclusion : Le Futur du DĂ©veloppement ?
Le dĂ©veloppement assistĂ© par IA n’est plus une question de “si” mais de “comment”. Les workflows sub-agentiques comme celui-ci reprĂ©sentent une approche mature : au lieu d’une IA monolithique qui fait tout (mal), on a une Ă©quipe d’experts spĂ©cialisĂ©s qui collaborent.
C’est comme passer du dĂ©veloppeur solo au squad complĂšte : Product Owner (@prompt-engineer), Dev (@main-agent), QA (@error-analyzer), Architect (@code-quality-reviewer), Performance Engineer (@performance-analyzer), et Tech Writer (@documenter).
Sauf que cette équipe ne prend pas de pause café, ne débat pas pendant 2 heures de la nomenclature des variables, et ne réclame pas de team building au laser game. (Par contre, elle consomme des tokens. Beaucoup de tokens.)
La vraie question n’est plus “L’IA va-t-elle remplacer les dĂ©veloppeurs ?"
C’est : “Comment les dĂ©veloppeurs vont-ils orchestrer l’IA pour ĂȘtre 10x plus efficaces ?"
Et ce workflow est ma rĂ©ponse. đ
đ MĂ©ta-Annexe : Le Prompt UtilisĂ©
Pour la transparence totale (et parce que c’est devenu une tradition sur ce blog), voici le prompt initial qui a gĂ©nĂ©rĂ© ce post :
"I want to create a new blog post about my new subagentic workflow
using opencode. Use this subagentic workflow to create this blog post.
The opencode configuration is available at
/Users/tom.moulard/workspace/configLoader/opencode
For future reference (i.e., in the blog post, it is available in my
github repository:
https://github.com/tomMoulard/configLoader/tree/master/opencode"
Simple, non ? C’est exactement le genre de demande vague que @prompt-engineer transforme en spĂ©cifications dĂ©taillĂ©es. Et le rĂ©sultat, c’est les ~2000 mots que vous venez de lire.
MĂ©ta-mĂ©ta note : Cette section elle-mĂȘme a Ă©tĂ© prĂ©vue par @prompt-engineer dans ses instructions, crĂ©ant une boucle rĂ©cursive de mĂ©ta-commentaires qui pourrait continuer indĂ©finiment si je n’avais pas un minimum de self-control et une deadline Ă respecter. đ
PS: Si vous utilisez ce workflow et crĂ©ez quelque chose de cool, taguez-moi ! J’adore voir comment les gens adaptent et amĂ©liorent ces systĂšmes. Ensemble, on build l’avenir du dĂ©veloppement. Un agent Ă la fois. đ€âš

L'auteur: Tom Moulard
Depuis mon enfance, je suis captivé par les articles de science et de technologie. Un jour, j'ai décidé de faire partie de ce monde : j'ai pris ma calculatrice programmable (une TI-82 stat).... La suite, sur mon site
Vous avez vu une erreur ? Quelque chose ne va pas ? Vous pouvez contribuer Ă cette page sur GitHub ou laisser un commentaire en dessous. Merci d'ĂȘtre passĂ© par lĂ :)