Cas client multi-agent

Application métier anonymisée pilotée par orchestrateur

Étude de cas d'un produit Angular 21 + NestJS organisé autour de quatre rôles complémentaires: orchestrateur, PMO, Tech et QA. Le nom du client, les captures et la terminologie métier ont été retirés pour ne conserver que l'architecture, les protocoles de travail et les métriques mesurées.

Angular 21NestJSPostgreSQLMulti-agentQAResponsive

Cette étude est volontairement anonymisée : tous les noms propres, captures d'écran et éléments visuels identifiants ont été supprimés. Il reste uniquement les patterns techniques, l'organisation multi-agent et les résultats observés.

Stack Angular 21 + NestJS
Architecture Multi-agent
Base de données PostgreSQL
Commits 2026 25
Statut POC client

1. Périmètre conservé après anonymisation

Le produit étudié reste un dashboard applicatif complet avec workflow web, reporting, validations, backlog structuré et usage mobile. La partie la plus intéressante n'est pas l'interface elle-même, mais la manière dont plusieurs instances Claude Code se coordonnent pour produire, implémenter puis vérifier les changements.

  • Un orchestrateur central déclenche les étapes et arbitre les retours QA.
  • Un agent PMO formalise les besoins et les critères d'acceptation.
  • Un agent Tech implémente, teste et documente.
  • Un agent QA valide l'accessibilité, les E2E et les performances.
  • Les échanges passent par des artefacts Markdown dans .claude/.

2. Architecture multi-agent

Le projet repose sur un workflow séquentiel. L'orchestrateur ouvre le cycle, le PMO cadre la demande, le Tech livre l'implémentation, puis le QA valide avant fusion ou retour en correction. Ce choix réduit les oublis de spécification et limite les corrections tardives.

Orchestrateur

NestJS + dashboard web

Centralise le backlog, déclenche les étapes et suit les retours qualité avant merge.

  • Ordonnancement PMO → Tech → QA
  • Suivi d'état des tâches
  • Agrégation des métriques

Agent PMO

Cadrage produit

Transforme un besoin en user stories, critères d'acceptation et priorités.

  • Specs structurées
  • Backlog priorisé
  • Langage métier clarifié

Agent Tech

Implémentation

Produit le code Angular/NestJS, les tests et le compte-rendu technique.

  • TDD et revue locale
  • Code production
  • Rapport d'implémentation

Agent QA

Validation

Contrôle la conformité fonctionnelle, l'accessibilité WCAG et les performances.

  • Tests E2E et intégration
  • Vérifications A11y
  • Rapports exploitables

Exemple de workflow orchestré

// apps/orchestrator/src/workflow/workflow.service.ts
@Injectable()
export class WorkflowService {
  async executeSpec(specId: string): Promise<WorkflowResult> {
    const pmoResult = await this.pmoAgent.validateSpec(specId);
    if (!pmoResult.approved) {
      return { status: 'blocked', reason: pmoResult.feedback };
    }

    const techResult = await this.techAgent.implement(specId);
    await this.saveImplementation(specId, techResult);

    const qaResult = await this.qaAgent.validate(specId);
    if (qaResult.passed) {
      await this.createMergeRequest(specId);
      return { status: 'completed', pr: qaResult.prUrl };
    }

    return this.handleQAFailure(specId, qaResult);
  }
}

3. Communication inter-agents

Les agents ne se parlent pas directement. Ils déposent des documents structurés dans .claude/. Ce protocole simplifie le suivi, réduit les ambiguïtés et laisse une trace exploitable en reprise de session.

1. PMO → Tech

.claude/specs/SPEC-007.md

SPEC-007 · Notification proactive

Le PMO décrit le besoin métier, les règles de déclenchement et les éléments attendus dans l'interface.

  • User story claire et actionnable
  • Critères d'acceptation limités et vérifiables
  • Priorité et dépendances explicites
2. Tech → QA

.claude/implementations/SPEC-007.md

Rapport d'implémentation

Le Tech documente les fichiers modifiés, la couverture obtenue et les zones que QA doit cibler en priorité.

  • Liste des fichiers changés
  • Résultat des tests unitaires
  • Points de vigilance restants
3. QA → Orchestrateur

.claude/test-reports/SPEC-007.md

Rapport de validation

QA confirme les E2E, l'accessibilité et la performance, puis renvoie soit un feu vert, soit une boucle de correction bornée.

  • Tests E2E et régression
  • WCAG AA et points d'attention
  • LCP mesuré et verdict final

4. Métriques observées

25 Commits analysés
18 Features 72%
4 Fix 16%
0.22 Ratio fix/feat Excellent

Cas client multi-agent

Qualité de livraison

  • Ratio fix/feat: 0.22
  • Rollbacks: 0
  • Couverture tests: 92%
  • Temps par feature: -30%

Référence mono-agent

Projet comparatif

  • Ratio fix/feat: 0.67
  • Rollbacks: 0
  • Couverture tests: 85%
  • Temps par feature: baseline

Répartition de l'effort

  • PMO — PMO 15%
  • Tech — Tech 60%
  • QA — QA 25%

Le Tech réalise la plus grande part d'exécution, mais la valeur du système vient du fait que PMO et QA absorbent le cadrage et la vérification au lieu de laisser ces tâches implicites.

5. Stack technique

Frontend

  • Angular 21 avec composants standalone
  • Signals pour la réactivité
  • UI applicative pensée pour desktop et mobile

Backend

  • NestJS pour l'API et l'orchestration
  • PostgreSQL pour la persistance
  • Queues et jobs pour les traitements asynchrones

Organisation

  • .claude/ comme mémoire partagée
  • Specs, implémentations et rapports versionnés
  • Processus séquentiel borné et traçable
cas-client-multi-agent/
├── apps/
│   ├── api/              # Backend NestJS
│   ├── web/              # Frontend Angular
│   └── orchestrator/     # Coordination du workflow
├── libs/
│   ├── shared/           # Types partagés
│   ├── ui/               # Components réutilisables
│   └── data-access/      # Services et accès API
├── .claude/
│   ├── CLAUDE.md         # Règles globales
│   ├── specs/            # Livrables PMO
│   ├── implementations/  # Rapports Tech
│   └── test-reports/     # Rapports QA
└── nx.json               # Configuration du monorepo

6. Limites et enseignements

Conflits potentiels entre agents

Le risque principal vient des zones de recouvrement si deux rôles touchent au même périmètre.

Réponse : workflow séquentiel strict et responsabilité unique par étape.

Contexte fragmenté

Chaque agent voit une partie du système. Sans mémoire partagée, la cohérence se dégrade vite.

Réponse : artefacts Markdown stables et board central mis à jour en continu.

Coût d'orchestration

Le multi-agent ajoute du contexte, des transitions et donc un overhead réel.

Réponse : réserver ce pattern aux projets où la traçabilité et la QA dédiée comptent vraiment.

Boucles de correction

Un enchaînement QA → Tech → QA non borné peut rapidement tourner à vide.

Réponse : nombre d'itérations limité puis escalade avec rapport synthétique.

Le multi-agent améliore la qualité

La spécialisation rend visibles des tâches souvent implicites en mono-agent: cadrage, validation, traçabilité.

Le fichier reste le meilleur protocole

Les échanges Markdown dans .claude/ sont simples, versionnables et faciles à auditer.

L'orchestrateur est indispensable

Sans point central de pilotage, les rôles divergent et les dépendances deviennent floues.

Ce n'est pas un pattern universel

Pour un petit projet ou un périmètre encore instable, un mono-agent bien cadré reste souvent plus rationnel.