Předcházení konfliktům agentů
Když více AI agentů implementuje různé části systému, mohou dělat protichůdná technická rozhodnutí. Dokumentace architektury tomu zabraňuje stanovením sdílených standardů.
Běžné typy konfliktů
Section titled “Běžné typy konfliktů”Konflikty stylu API
Section titled “Konflikty stylu API”Bez architektury:
- Agent A používá REST s
/users/{id} - Agent B používá GraphQL mutations
- Výsledek: Nekonzistentní vzory API, zmatení konzumenti
S architekturou:
- ADR specifikuje: „Použít GraphQL pro veškerou komunikaci klient-server“
- Všichni agenti dodržují stejný vzor
Konflikty návrhu databáze
Section titled “Konflikty návrhu databáze”Bez architektury:
- Agent A používá snake_case pro názvy sloupců
- Agent B používá camelCase pro názvy sloupců
- Výsledek: Nekonzistentní schéma, matoucí dotazy
S architekturou:
- Dokument standardů specifikuje konvence pojmenování
- Všichni agenti dodržují stejné vzory
Konflikty řízení stavu
Section titled “Konflikty řízení stavu”Bez architektury:
- Agent A používá Redux pro globální stav
- Agent B používá React Context
- Výsledek: Více přístupů k řízení stavu, složitost
S architekturou:
- ADR specifikuje přístup k řízení stavu
- Všichni agenti implementují konzistentně
Jak architektura zabraňuje konfliktům
Section titled “Jak architektura zabraňuje konfliktům”1. Explicitní rozhodnutí skrze ADR
Section titled “1. Explicitní rozhodnutí skrze ADR”Každé významné technologické rozhodnutí je zdokumentováno s:
- Kontext (proč toto rozhodnutí záleží)
- Zvažované možnosti (jaké alternativy existují)
- Rozhodnutí (co jsme zvolili)
- Zdůvodnění (proč jsme to zvolili)
- Důsledky (přijaté kompromisy)
2. Specifické pokyny pro FR/NFR
Section titled “2. Specifické pokyny pro FR/NFR”Architektura mapuje každý funkční požadavek na technický přístup:
- FR-001: Správa uživatelů → GraphQL mutations
- FR-002: Mobilní aplikace → Optimalizované dotazy
3. Standardy a konvence
Section titled “3. Standardy a konvence”Explicitní dokumentace:
- Struktura adresářů
- Konvence pojmenování
- Organizace kódu
- Vzory testování
Architektura jako sdílený kontext
Section titled “Architektura jako sdílený kontext”Představte si architekturu jako sdílený kontext, který všichni agenti čtou před implementací:
PRD: "Co budovat" ↓Architektura: "Jak to budovat" ↓Agent A čte architekturu → implementuje Epic 1Agent B čte architekturu → implementuje Epic 2Agent C čte architekturu → implementuje Epic 3 ↓Výsledek: Konzistentní implementaceKlíčová témata ADR
Section titled “Klíčová témata ADR”Běžná rozhodnutí, která zabraňují konfliktům:
| Téma | Příklad rozhodnutí |
|---|---|
| Styl API | GraphQL vs REST vs gRPC |
| Databáze | PostgreSQL vs MongoDB |
| Autentizace | JWT vs Sessions |
| Řízení stavu | Redux vs Context vs Zustand |
| Stylování | CSS Modules vs Tailwind vs Styled Components |
| Testování | Jest + Playwright vs Vitest + Cypress |