đŸ€– 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 IA OpenCode Workflow Agentic Développement Automatisation Claude Code Generation

🎭 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 :

  1. @prompt-engineer a reçu ma demande vague : “Je veux un blog post sur mon workflow sub-agentique”

  2. 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
  3. Main agent (moi en ce moment) a généré ce contenu en suivant ces instructions

  4. 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
  5. Feedback loop : Si problÚmes critiques détectés, réécriture ciblée

  6. 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 agent
    • prompt-engineer.md
    • code-quality-reviewer.md
    • error-analyzer.md
    • performance-analyzer.md
    • test-engineer.md
    • documenter.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

  1. Detection de bugs subtils : Les 3 reviewers parallĂšles attrapent des edge cases que j’aurais ratĂ©s
  2. QualitĂ© constante : MĂȘme Ă  23h aprĂšs une longue journĂ©e, le code gĂ©nĂ©rĂ© est propre
  3. Apprentissage : Je lis les feedback et j’amĂ©liore mes prompts initiaux
  4. Confiance : Je merge avec sérénité sachant que 3 experts ont validé

⚠ Les Limites

  1. Pas magique : Un mauvais prompt initial = mauvais résultat (GIGO)
  2. Context matters : Il faut fournir le contexte complet aux sub-agents
  3. Over-engineering ? : Pour un script de 10 lignes, c’est overkill
  4. CoĂ»t : Plus d’appels API = plus de tokens utilisĂ©s

💡 Conseils d’Utilisation

  1. Soyez spĂ©cifique dans votre demande initiale (mĂȘme si @prompt-engineer aide)
  2. Lisez les reviews : Elles contiennent des enseignements précieux
  3. Adaptez les seuils : Pas besoin de 5 itérations pour un bugfix simple
  4. 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 :

🎬 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. đŸ€–âœš

Image de l'auteur Tom Moulard

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Ă  :)