KI-Konzil/_bmad-output/planning-artifacts/prd.md
copilot-swe-agent[bot] 3be3cb73b6 Add all BMAD skill artifacts: epics, stories, sprint-status, QA tests, project-context, readiness report
Co-authored-by: Kenearos <86194771+Kenearos@users.noreply.github.com>
2026-03-12 14:26:40 +00:00

11 KiB
Raw Blame History

stepsCompleted inputDocuments workflowType bmadSkill bmadWorkflow
step-v-01-discovery
step-v-02-structure
step-v-03-goals
step-v-04-requirements
step-v-05-measurability-validation
step-v-06-traceability-validation
step-v-10-smart-validation
step-v-11-holistic-quality-validation
step-v-12-completeness-validation
README.md
CLAUDE.md
_bmad-output/planning-artifacts/product-brief.md
prd PM Agent (John) — /bmad-agent-bmm-pm → [CP] Create PRD _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md

Product Requirements Document — CouncilOS (KI-Rat Baukasten)

Autor: John (📋 BMAD PM Agent) Datum: 2026-03-12 Version: 1.0.0 Status: Genehmigt — Bereit für Architektur


1. Projekt-Überblick

1.1 Problemstellung

Aktuelle KI-Tools (wie ChatGPT) arbeiten linear. Wenn ein Nutzer ein komplexes Ergebnis will — z. B. einen perfekten Blogartikel, rechtssichere PR-Texte oder lauffähigen Code — muss er den Output ständig manuell lesen, Fehler finden und die KI in endlosen Chat-Verläufen korrigieren. Das kostet Zeit und erfordert extrem gutes „Prompting".

1.2 Lösung

CouncilOS ist eine visuelle No-Code-Plattform. Anstatt selbst mit der KI zu chatten, baut der Nutzer sich einen eigenen „KI-Rat" (Multi-Agenten-System). Der Nutzer definiert verschiedene KI-Experten, gibt ihnen Werkzeuge (Internet, PDF-Reader) und legt per Drag & Drop fest, in welcher Reihenfolge sie Dokumente bearbeiten, kritisieren und überarbeiten.

1.3 Alleinstellungsmerkmal (USP)

Im Gegensatz zu bestehenden Tools arbeiten die KIs in Endlosschleifen (Zyklen). Eine Kritiker-KI kann ein Dokument so lange an die Master-KI zurückweisen, bis es perfekt ist, ohne dass der Mensch eingreifen muss. Wahlweise kann der Mensch als „Vorsitzender des Rates" jeden Schritt abnicken (God-Mode / Human-in-the-Loop).


2. Ziele und Erfolgsmetriken

2.1 Geschäftsziele

Ziel Messgröße Zielwert
Nutzer können komplexe KI-Pipelines ohne Code aufbauen Anzahl erfolgreich abgeschlossener Council-Runs ≥ 100 Runs/Woche (Phase 3 Launch)
Qualitätsverbesserung durch iterative Schleifen Durchschnittlicher Critic-Score bei Abschluss ≥ 8/10
Transparente KI-Nutzung Anteil der Nutzer, die God-Mode verwenden ≥ 20 % aller Runs

2.2 Nutzerziele

  • Nutzer können in < 5 Minuten einen KI-Rat aus Standard-Agents zusammenstellen und ausführen.
  • Nutzer sehen in Echtzeit, welcher Agent gerade arbeitet.
  • Im God Mode können Nutzer an jedem Entscheidungspunkt eingreifen.

2.3 Technische Ziele

  • Backend-Latenz für einen einzelnen Agent-Node < 30 Sekunden (bei normalen LLM-Antwortzeiten).
  • WebSocket-Events werden innerhalb von 500 ms nach Node-Eintritt gesendet.
  • Das System unterstützt bis zu 10 gleichzeitige Council-Runs.

3. Zielgruppen

3.1 Primäre Nutzer

Content-Ersteller und Marketing-Teams

  • Erstellen Rohtexte, die von KI-Experten (SEO, Faktenprüfung, Lektor) in Schleifen verfeinert werden.
  • Technisches Know-how: gering bis mittel.
  • Kernbedürfnis: Qualitätssteigerung ohne manuelles Nacharbeiten.

Software-Entwickler und Architekten

  • Lassen Code durch Architekten-KI, Tester-KI und Doku-KI überprüfen.
  • Technisches Know-how: hoch.
  • Kernbedürfnis: Automatisierte Code-Review-Schleifen.

3.2 Sekundäre Nutzer

Analysten und Researcher

  • Lassen 100-seitige PDFs durch KI-Ketten zusammenfassen und analysieren.
  • Kernbedürfnis: Informationsextraktion aus langen Dokumenten.

4. Funktionale Anforderungen

FR-01: Visueller Canvas (Rat-Architekt)

ID Anforderung Priorität
FR-01.1 Der Nutzer kann Agent-Nodes per Drag & Drop auf den Canvas ziehen. MUSS
FR-01.2 Ein Klick auf einen Node öffnet ein Einstellungs-Panel (Name, System-Prompt, LLM-Modell, Tools). MUSS
FR-01.3 Der Nutzer kann lineare Edges (Pfeile) zwischen Nodes ziehen. MUSS
FR-01.4 Der Nutzer kann bedingte Edges erstellen (mit Routing-Label). MUSS
FR-01.5 Der Nutzer kann den Council unter einem Namen speichern. MUSS
FR-01.6 Der Nutzer kann einen gespeicherten Council laden und bearbeiten. SOLL
FR-01.7 Der Canvas unterstützt Export des Blueprints als JSON-Datei. SOLL

FR-02: Council-Ausführung (Konferenzzimmer)

ID Anforderung Priorität
FR-02.1 Der Nutzer kann einen Prompt-Text als Eingabe für den Council angeben. MUSS
FR-02.2 Der Nutzer kann ein PDF hochladen, dessen Inhalt als Eingabe dient. SOLL
FR-02.3 Der Nutzer kann zwischen Auto-Pilot und God Mode wählen. MUSS
FR-02.4 Im Auto-Pilot läuft der Council autonom bis zum Abschluss. MUSS
FR-02.5 Im God Mode pausiert der Council vor jedem Agent und wartet auf Genehmigung. MUSS
FR-02.6 Der Nutzer sieht das fertige Dokument nach Abschluss des Councils. MUSS
FR-02.7 Der Nutzer kann vergangene Council-Runs in einem Verlauf einsehen. SOLL

FR-03: Echtzeit-Updates (WebSocket)

ID Anforderung Priorität
FR-03.1 Der aktive Agent-Node leuchtet/pulsiert im Canvas (live). MUSS
FR-03.2 WebSocket-Events enthalten: node_name, status (running/completed/done). MUSS
FR-03.3 Bei Abschluss eines Runs wird ein done-Event gesendet. MUSS

FR-04: God Mode / Human-in-the-Loop

ID Anforderung Priorität
FR-04.1 Im God Mode erscheint ein Popup mit dem Agent-Namen, Grund und Approve/Reject/Modify-Buttons. MUSS
FR-04.2 „Approve" setzt die Ausführung am nächsten Node fort. MUSS
FR-04.3 „Reject" bricht den Run ab und markiert ihn als fehlgeschlagen. MUSS
FR-04.4 „Modify" erlaubt die Bearbeitung des aktuellen Drafts vor Fortsetzung. SOLL

FR-05: Agent-Konfiguration

ID Anforderung Priorität
FR-05.1 Jeder Agent kann ein individuelles LLM-Modell zugewiesen bekommen (Claude 3.5 Sonnet, GPT-4o, lokal). MUSS
FR-05.2 Jeder Agent kann optional Web-Suche aktiviert bekommen (Tavily). SOLL
FR-05.3 Jeder Agent kann optional PDF-Reader aktiviert bekommen (ChromaDB). SOLL
FR-05.4 Agent-Konfigurationen können gespeichert und wiederverwendet werden. SOLL

FR-06: Blueprint-Verwaltung (CRUD)

ID Anforderung Priorität
FR-06.1 Blueprints können erstellt, gelesen, aktualisiert und gelöscht werden (REST API). MUSS
FR-06.2 Blueprints werden in PostgreSQL als JSONB gespeichert. MUSS
FR-06.3 Jeder Blueprint hat ein version-Feld. MUSS

5. Nicht-funktionale Anforderungen

NFR-01: Performance

ID Anforderung
NFR-01.1 WebSocket-Events werden innerhalb von 500 ms nach Node-Eintritt gesendet.
NFR-01.2 Blueprint-CRUD-Endpunkte antworten in < 200 ms (P95).
NFR-01.3 Das System unterstützt ≥ 10 parallele Council-Runs.

NFR-02: Sicherheit

ID Anforderung
NFR-02.1 API-Keys (Anthropic, OpenAI, Tavily) werden ausschließlich in Umgebungsvariablen gespeichert, nie im Code.
NFR-02.2 Keine echten LLM-API-Aufrufe in CI/CD-Tests.
NFR-02.3 CORS ist auf bekannte Origins beschränkt (in Produktion).

NFR-03: Wartbarkeit

ID Anforderung
NFR-03.1 Backend-Testabdeckung: ≥ 80 % für agents/, ≥ 90 % für state.py und services/graph_builder.py.
NFR-03.2 Datenbankmigrationen werden mit Alembic verwaltet.
NFR-03.3 Der LangGraph-Graph wird ab Phase 3 dynamisch aus Blueprint-JSON gebaut (kein hartcodierter Graph in Produktion).

NFR-04: Skalierbarkeit

ID Anforderung
NFR-04.1 LangGraph-Runs werden in asyncio-Thread-Pools ausgeführt, um den FastAPI Event Loop nicht zu blockieren.
NFR-04.2 WebSocket-Sessions sind pro run_id isoliert — keine Event-Übertragung zwischen Sessions.

6. Technische Abhängigkeiten

Komponente Technologie Version
KI-Orchestrierung LangGraph (Python) ≥ 0.2.x
Backend-API FastAPI ≥ 0.110
Frontend-Framework Next.js + React Flow Next.js 14+, React Flow 12+
Datenbank PostgreSQL 16
Vektor-DB ChromaDB (lokal) ≥ 0.5
LLMs Anthropic Claude 3.5 Sonnet, OpenAI GPT-4o via API
Web-Suche Tavily Search API
PDF-Verarbeitung PyPDF + LangChain Text Splitter

7. Annahmen und Einschränkungen

Annahmen

  • Nutzer haben gültige API-Keys für Anthropic und/oder OpenAI.
  • Die Anwendung wird zunächst lokal (Docker Compose) und später in der Cloud betrieben.
  • Ein PDF-Upload ist auf ≤ 50 MB begrenzt.

Einschränkungen

  • Zyklen sind First-Class — der Graph darf nicht zu einem DAG vereinfacht werden.
  • State ist die einzige Quelle der Wahrheit — Agents speichern keinen internen Zustand.
  • Human-in-the-Loop erfolgt ausschließlich über LangGraphs interrupt_before — kein eigener Pause-Mechanismus.
  • WebSocket für Echtzeit-Updates ist Pflicht — Polling ist nicht akzeptabel.

8. Entwicklungs-Roadmap (Phasen)

Phase Ziel Status
Phase 1 — LangGraph Engine (Backend MVP) Hartcodierter Testgraph, CouncilState, Routing-Logik Abgeschlossen
Phase 2 — Visueller Baukasten (Frontend MVP) React Flow Canvas, Custom Nodes/Edges, Blueprint-Parser, PostgreSQL-Speicherung Abgeschlossen
Phase 3 — Integration (Frontend ↔ Backend) Dynamischer Graph aus JSON-Blueprint, WebSocket-Events, Frontend-Ausgabe Abgeschlossen
Phase 4 — Tools & God Mode (Enterprise) Tavily Search, PyPDF + ChromaDB, Human-in-the-Loop UI Abgeschlossen

9. Typische Use-Cases

Use-Case 1: Content-Rat

User Input → Master-KI (schreibt Rohfassung)
           → Kritiker-KI (prüft Fakten & SEO)
           → [Wenn Note < 8: zurück zu Master-KI]
           → Lektor-KI (formatiert für Social Media)

Use-Case 2: Programmier-Rat

User Input → Architekt-KI (schreibt Code)
           → Tester-KI (sucht Bugs)
           → [Wenn Bugs: zurück zum Architekten]
           → Doku-KI (schreibt das README)

Use-Case 3: Analyse-Rat

PDF-Upload → Researcher-KI (liest 100-seitiges PDF)
           → Analyst-KI (extrahiert Kerndaten)
           → Strategie-KI (schreibt Zusammenfassung)

10. Glossar

Begriff Definition
Council Eine konfigurierte Gruppe von KI-Agents, die zusammenarbeiten
Blueprint Die gespeicherte JSON-Konfiguration eines Councils
Council Run Eine einzelne Ausführung eines Councils
CouncilState Das zentrale TypedDict, das zwischen allen Agents weitergegeben wird
God Mode Ausführungsmodus mit menschlicher Genehmigung an jedem Entscheidungspunkt
Auto-Pilot Ausführungsmodus ohne menschlichen Eingriff
Node Ein einzelner KI-Agent im Graph
Edge Eine Verbindung zwischen zwei Agents (linear oder bedingt)
Critic Score Die numerische Bewertung (010) des Kritiker-Agents
Route Decision Das Routing-Signal (rework|approve|benutzerdefiniert)