Files
ClawdDotNet/docs/Orchestrator-Erweiterungskonzept-2026.md
Richard 1e9cb789c8 Weboberflaeche hinzugefuegt und Fachlogik nach App herausgeloest (#493, #494)
- ClawdDotNet.Web: Kestrel im Prozess der Anwendung, Token-Absicherung (TokenGate mit FixedTimeEquals), Endpunkte unter /api, Ereignisstrom unter /events (Server-Sent Events) und fortlaufendes Log-Streaming.

- Weboberflaeche (wwwroot/): Vollstaendiges Single-Page-Frontend mit nativem HTML5, CSS3 und ES-Modulen ohne Buildschritt (strikt textContent, #-Routing, sofortiger Login-Sprung bei fehlendem Token, Light/Dark-Theme, lokale Barlow-Schriften).

- ClawdDotNet.App: Fachlogik aus den Avalonia-ViewModels in Dienste herausgeloest (AgentAdministration, JobAdministration, ServiceAdministration, RunCoordinator) und ueber InstanceChange synchronisiert.

- Tests: ClawdDotNet.Web.Tests und ClawdDotNet.App.Tests hinzugefuegt, alle 684 Tests erfolgreich.
2026-09-07 21:56:02 +02:00

11 KiB

ClawdDotNet — Orchestrator-Erweiterungskonzept 2026

Stand: 31. August 2026

Konzept- und Entwurfsdokument. Entstanden aus dem Marktvergleich (LangGraph, CrewAI, AutoGen, Letta, OpenHands, OpenClaw, Grokbot) und der anschließenden Detailabstimmung.

Dieses Dokument beschreibt die neuen Kollaborations-, Daten-, Sicherheits- und Resilienz-Konzepte, um ClawdDotNet als universellen, betriebssicheren Orchestrator für spezialisierte Agententeams (Finanzanalyse, Software-Engineering, SEO/Marketing, Research) zu erweitern.


1. Übersicht der Kernsäulen

                                  Architektur-Übersicht
 ┌─────────────────────────────────┬─────────────────────────────────┬─────────────────────────────────┐
 │   1. WORKFLOW & KOLLABORATION   │    2. DATEN & GEDÄCHTNIS        │    3. SICHERHEIT & DEFENSE      │
 │ • Hybride State-Graphs (YAML)   │ • Schematisierte Instanz-DB     │ • 5-Stufen Schutz vor Amoklauf  │
 │ • Debatten & Judge-Agent        │ • Task-Memory-Flush             │ • Quarantäne & Circuit Breaker  │
 │ • Ephemere Worker vs. Assistent │ • Scratchpad-Lifecycle          │ • 1-Klick Rollback via RunId    │
 ├─────────────────────────────────┼─────────────────────────────────┼─────────────────────────────────┤
 │   4. HITL & EILMELDUNGEN        │    5. PROMPTS & TEMPLATES       │    6. RESILIENZ & BENCHMARK     │
 │ • ask_supervisor -> ask_human   │ • Instanz-Setup für Personalmgr.│ • Multi-LLM Fallback-Kaskade    │
 │ • Mid-Execution Eilmeldungen    │ • Dynamische Prompt-Templates   │ • Evals as Code / Modell-Vergl. │
 │ • Interaktive Messenger-Buttons │ • ext_clitools/ Build-Struktur  │ • Kosten- & Latenz-Benchmarking │
 └─────────────────────────────────┴─────────────────────────────────┴─────────────────────────────────┘

2. Säule 1: Workflow-Topologien & Kollaborationsmuster

2.1 Hybride State-Graphs & Deterministische Pipelines

  • Ziel: Kombination von deterministischer Prozesskonformität (für Pflicht- und Prüfschritte) mit agentischer Autonomie (für Recherche und Synthese).
  • Struktur: Workflows werden deklarativ in YAML-Dateien im Agenten- oder Instanz-Ordner definiert.
  • Berechtigungsregel: Ein Agent kann Workflow-Definitionen nicht eigenständig manipulieren. Änderungen erfolgen ausschließlich durch den Menschen oder über einen expliziten Workflow-Manager-Task.
  • Ablauf:
    flowchart LR
        A[Task Start] --> B[Node 1: Deterministic Data Fetch]
        B --> C[Node 2: Agent Analyse & Draft]
        C --> D{Node 3: Deterministic Rule Check}
        D -- Fail --> C
        D -- Pass --> E[Node 4: Staging Approval]
        E --> F[Done: Deliverable Commit]
    

2.2 Multi-Agenten-Debatten mit „Judge Agent“

  • Ziel: Iterative Qualitätsverbesserung durch Arbeiter-Kritiker-Zyklen (Arbeiter entwirft \leftrightarrow Kritiker prüft) ohne Gefahr von Deadlocks oder Endlosschleifen.
  • Steuerung im Taskboard:
    • Arbeiter markiert Task als in_review.
    • Kritiker prüft gegen definierte Abnahmekriterien (acceptance). Bei Mängeln: Revisions-Task mit Feedback (Runde 1/N).
    • Abbruch-Bedingung: Maximal 3 Iterationsrunden oder Erreichen des Ziel-Scores.
    • Judge-Agent: Bei verbleibendem Dissens nach Runde 3 greift automatisch der Supervisor/Judge-Agent ein und fällt die finale Entscheidung oder eskaliert gezielt an den Menschen.

2.3 Ephemere Subagenten vs. Feste Team-Assistenten

  • Aufgabenteilung:
    • Personalmanager-Agent: Erstellt vollwertige, persistente Team-Agenten mit eigenem Workspace und Langzeitgedächtnis für dauerhafte Rollen.
    • Ephemere Subagenten (Worker): Kurzlebige, zustandslose Worker für massiv-parallele Tool-Jobs (z. B. 20 Webseiten parallel crawlen).
  • Budget-Hard-Cap: Vor dem Start eines Subagenten muss ein Teilbudget aus dem Haupttask reserviert werden (CAS im BudgetGuard). Bei Überschreitung des Instanz-Budgets wird der Aufruf sofort abgelehnt.
  • Vererbung von RootRunId: Jeder Subagent erbt RootRunId und ParentRunId (#207), wodurch Gesamtkosten und Fehlerhistorie im Audit-Log lückenlos zusammengeführt werden.

3. Säule 2: Datenhaltung, Gedächtnis-Hygiene & Task-Lifecycle

3.1 Schematisierte Instanz-Datenbank („DocumentDB / CollectionStore“)

  • Konzept: JSON-Dokumenten-Store mit strikter Schema-Validierung, basierend auf dem bewährten SqliteStorage (WAL-Modus, keine Dateisperren-Konflikte).
  • Ablage: SharedWorkspace/data/collections/ (oder als SQLite-Tabelle InstanceCollections).
  • Schema-Bindung: Ein Lead-Agent definiert einmalig schema.json. Alle insert/update-Aufrufe werden vor der Ausführung gegen das Schema validiert.
  • Revisionssicherheit & Gleichzeitigkeit:
    • Jedes Dokument führt _id, _version, _created_by, _updated_at, _run_id und _is_deleted.
    • Gleichzeitige Updates nutzen Optimistic Locking (CAS auf _version).
    • Reines Append-Only: Kein physisches DELETE — nur logische Soft-Deletes.

3.2 Task-spezifischer Memory-Flush (Kontext-Reset)

  • Problem: Ein Agent darf nach einer Nvidia-Analyse nicht mit Nvidia-Zahlen im Kopf an die Volkswagen-Analyse gehen.
  • 3-Stufen-Gedächtnisfluss:
    1. Working Memory (Scratchpad): Während des Tasks liegt das Rohwissen im Task-Scratchpad (scratch/t-<id>.md).
    2. Memory-Commit bei Task-Abschluss: Beim Übergang auf done filtert der Agent generalisierbare Kernfakten heraus und schreibt sie mit passendem Subject und Key ins Langzeitgedächtnis.
    3. Kontext-Reset: Beim Wechsel auf einen neuen Task startet der Agent mit leerem Prompt-Kontext. Das automatische Memory-Recall lädt ausschließlich Fakten zum neuen Thema.

3.3 Scratchpad-Lifecycle & Archivierung

  • Aktiv: Während in_progress unter SharedWorkspace/scratch/t-<id>.md.
  • Archivierung: Bei done oder canceled verschiebt der Taskboard-Scanner das Scratchpad atomar nach SharedWorkspace/scratch/archive/.
  • Retention: Ein wöchentlicher Wartungs-Job bereinigt archivierte Scratches älter als X Tage (Standard: 30 Tage).

4. Säule 3: Sicherheit, Containment & Disaster Recovery

4.1 5-Stufen-Schutz gegen amoklaufende Agenten

  1. Prevent (Keine Zerstörungsgewalt):
    • Reines Append-Only & Soft-Deletes in Datenbanken und Collections.
    • Kein Hard-Delete im Dateisystem: FileRW-Papierkorb (#195) und protectedPaths für Systemordner.
    • Unveränderliche Identitäten: Identity.md und Soul.md sind schreibgeschützt (#205).
  2. Contain (Blast Radius):
    • Strikt getrennte Workspaces (personal vs. shared).
    • Rate-Limits für Task-Erstellung (z. B. max. 10 Tasks / Stunde je Agent).
  3. Detect (Anomalie-Erkennung & Circuit Breaker):
    • Häufen sich Fehler oder Massenänderungen (> 5 Fehlversuche / 3 Minuten), stoppt der Engine-Circuit-Breaker den Agenten automatisch.
  4. Isolate (Quarantäne & Not-Aus):
    • Der Agent wird in den Status Quarantined versetzt; laufende Hintergrund-Tasks werden auf blocked gesetzt.
    • Quarantäne kann durch den Supervisor-Agenten oder per Messenger-Befehl (/quarantine @agent) ausgelöst werden.
  5. Recover (1-Klick-Rollback / Time-Travel):
    • Jede Aktion trägt die gestempelte RunId im Audit-Log.
    • Mit einem Befehl (clawddotnet rollback --agent "@agent" --since "12:00") werden alle Datei- und Collection-Änderungen des Zeitraums atomar zurückgedreht.

4.2 Schutz vor lateraler Team-Infektion

  • Untrusted Content Framing (#193): Alle externen Tool-Ergebnisse, Scratches und Dokumente fremder Agenten werden im Prompt in <untrusted_source>-Tags gekapselt. Der Kern-Prompt verbietet die Befehlsausführung aus diesen Datenquellen strikt.

5. Säule 4: Human-in-the-Loop & Live-Intervention

5.1 Mehrstufige Eskalation: ask_supervisor \rightarrow ask_human

  • Stufe 1 (ask_supervisor): Bei Mehrdeutigkeiten oder Blockaden wendet sich der Agent zuerst an den leitenden Team-Agenten. Kann dieser die Frage anhand von Projektregeln oder Kontext beantworten, läuft der Task ohne Menschen-Wartezeit weiter.
  • Stufe 2 (ask_human): Kann der Supervisor nicht entscheiden, wird die Frage als interaktive Nachricht (Telegram Inline-Buttons, Rocket.Chat) mit konkreten Auswahlschaltflächen an den Menschen gesendet.

5.2 Mid-Execution Priority Injects (Eilmeldungen & Zwischenrufe)

  • Mechanismus: Vor jedem OpenRouter-Inferenz-Schritt prüft die AgentEngine eine instanzinterne Prioritäts-Queue.
  • Eilmeldungen: Erkennt ein Monitor-Agent eine dringende Meldung (z. B. Veröffentlichung von Quartalszahlen), injiziert die Engine vor dem nächsten Denk-Schritt eine Systemnachricht: [SYSTEM / EILMELDUNG von @market-watcher]: Neue Quartalszahlen NVDA soeben gemeldet: ...
  • Der arbeitende Analyst bindet die neue Information unmittelbar ein, ohne dass der Task abgebrochen werden muss.

6. Säule 5: Vorlagen, Build-Struktur & Modell-Resilienz

6.1 Instanz-Erstellungsleitfaden & Dynamische Prompt-Templates

  • Leitfaden für KI-Personalmanager: Umfassender Prompt- und Best-Practice-Katalog für den Supervisor zur fehlerfreien Zusammenstellung neuer Agententeams.
  • Dynamische Prompt-Templates (Scriban/Liquid): Variablen wie {{team_roster}} oder {{current_date}} in Identity.md und Soul.md sorgen dafür, dass neue Agenten im Team sofort von allen Kollegen erkannt werden.

6.2 Externe CLI-Tools Verzeichnisstruktur (ext_clitools/)

  • Strukturierte und versionierte Ablage externer Binaries im Build:
    clawddotnet/
    └── ext_clitools/
        ├── ffmpeg/
        ├── yt-dlp/
        └── typst/
    

6.3 Multi-LLM Fallback & Modell-Benchmarking („Evals as Code“)

  • Fallback-Kaskade: Konfiguration eines Ausweichmodells pro Agent (z. B. Primär: anthropic/claude-3.7-sonnet, Fallback: google/gemini-2.5-pro). Bei 5xx-Fehlern oder anhaltendem 429-Rate-Limit schaltet die Engine unterbrechungsfrei um.
  • Evals-Test-Runner: Automatisierter Benchmark, der definierte Testaufgaben gegen unterschiedliche Modelle laufen lässt, um Qualität, Latenz und Tokenkosten quantitativ zu vergleichen.