Aller au contenu
🤖 Consolidated, AI-optimized BMAD docs: llms-full.txt. Fetch this plain text file for complete context.

Prévention des conflits entre agents

Lorsque plusieurs agents IA implémentent différentes parties d’un système, ils peuvent prendre des décisions techniques contradictoires. La documentation d’architecture prévient cela en établissant des standards partagés.

Sans architecture :

  • L’agent A utilise REST avec /users/{id}
  • L’agent B utilise des mutations GraphQL
  • Résultat : Patterns d’API incohérents, consommateurs confus

Avec architecture :

  • L’ADR1 spécifie : « Utiliser GraphQL pour toute communication client-serveur »
  • Tous les agents suivent le même pattern

Sans architecture :

  • L’agent A utilise des noms de colonnes en snake_case
  • L’agent B utilise des noms de colonnes en camelCase
  • Résultat : Schéma incohérent, requêtes illisibles

Avec architecture :

  • Un document de standards spécifie les conventions de nommage
  • Tous les agents suivent les mêmes patterns

Sans architecture :

  • L’agent A utilise Redux pour l’état global
  • L’agent B utilise React Context
  • Résultat : Multiples approches de gestion d’état, complexité

Avec architecture :

  • L’ADR spécifie l’approche de gestion d’état
  • Tous les agents implémentent de manière cohérente

Chaque choix technologique significatif est documenté avec :

  • Contexte (pourquoi cette décision est importante)
  • Options considérées (quelles alternatives existent)
  • Décision (ce qui a été choisi)
  • Justification (pourquoi cela a-t-il été choisi)
  • Conséquences (compromis acceptés)

L’architecture associe chaque exigence fonctionnelle à une approche technique :

  • FR-001 : Gestion des utilisateurs → Mutations GraphQL
  • FR-002 : Application mobile → Requêtes optimisées

Documentation explicite de :

  • La structure des répertoires
  • Les conventions de nommage
  • L’organisation du code
  • Les patterns de test

Considérez l’architecture comme le contexte partagé que tous les agents lisent avant d’implémenter :

PRD : "Que construire"
Architecture : "Comment le construire"
L'agent A lit l'architecture → implémente l'Epic 1
L'agent B lit l'architecture → implémente l'Epic 2
L'agent C lit l'architecture → implémente l'Epic 3
Résultat : Implémentation cohérente

Décisions courantes qui préviennent les conflits :

SujetExemple de décision
Style d’APIGraphQL vs REST vs gRPC
Base de donnéesPostgreSQL vs MongoDB
AuthentificationJWT vs Sessions
Gestion d’étatRedux vs Context vs Zustand
StylingCSS Modules vs Tailwind vs Styled Components
TestsJest + Playwright vs Vitest + Cypress
  1. ADR (Architecture Decision Record) : document qui consigne une décision d’architecture, son contexte, les options envisagées, le choix retenu et ses conséquences, afin d’assurer la traçabilité et la compréhension des décisions techniques dans le temps. 2

  2. FR / NFR (Functional / Non-Functional Requirement) : exigences décrivant respectivement ce que le système doit faire (fonctionnalités, comportements attendus) et comment il doit le faire (contraintes de performance, sécurité, fiabilité, ergonomie, etc.).