AutoGen (AgentChat) verbindet Modelle und Tools in schnellen Runden — und vergrößert dabei schnell die Fläche für unkontrolliertes HTTP, ungecappte parallele Function Calls und lange Anbieterfehlertexte in User-Turns. Legt das OpenClaw-Gateway auf Loopback vor den Knoten, behandelt Dashboard-Bearer als einzige nach außen sichtbare Credential-Schicht, prüft jede Tool-Nutzlast mit JSON Schema, setzt ein Parallelitäts-Budget (Fuse) vor POSTs mit Nebenwirkungen und gebt kompakte Fehlerzusammenfassungen zurück, die GroupChat-Runden auswerten können — ohne Prompts oder Geheimnisse zu leaken.

Auf dieser Seite: Minimalrechte-Whitelist · Konversations-Routing · Retry-Vorlage · Log-Redaktion · PR-/CI-Zusammenfassungsbeispiele · Parallelitäts-Budget · FAQ

Dieses Playbook gilt für einen dedizierten Remote-Mac (Apple Silicon), auf dem launchd Gateway-Prozesse zuverlässig hochhält und Uhr, DNS und Thermik stabil sind. Im Gegensatz zu CrewAI-Crew-Routing oder dem Semantic-Kernel-Plugin-Loop steht bei AutoGen programmierbare Multi-Agent-Interaktion im Vordergrund: Konversationsobjekte, GroupChat mit Sprecherwahl und wiederholte Function-Calling-Schleifen. Dadurch liegen Ownership für Retries, Parallelität und Audit klar in euren Tool-Wrappers und Selector-Policies — nicht in Crew-Tasks oder Kernel-Funktionen. Ergänzend helfen JSON Schema, Timeouts & Retry, LiteLLM plus OpenClaw für Mandanten-Aliase, OpenTelemetry GenAI für einheitliche Span-Felder und der IDE-Bridge-Sandbox-Leitfaden, wenn Agenten Repositories berühren.

Bevor ihr skaliert: fixiert Python 3.11 und eine LTS-Node-Zeile für OpenClaw, legt Arbeitswurzel und Logrotation fest (z. B. unter ~/llm-edge) und archiviert nach jedem erfolgreichen Smoke-Test pip freeze, openclaw doctor --json und die aktive tools/allowlist.json-Revision — sonst sind „reproduzierbare Schritte“ nur Marketing. Token-Dateien und .env mit chmod 600 bzw. 0400 für reine Lesetokens; niemals Anbieter-Masterkeys in Repos oder Agent-Systemprompts.

Minimalrechte-Whitelist

Definiert eine einzige Quelle der Wahrheit in Git, etwa config/tools_allowlist.json: je Tool name, erlaubtes HTTP-Verb, relativer route-Pfad und ein schema-Fragment pro Argumentobjekt (Draft 2019-09 oder 2020-12). Beim Import sollte euer AutoGen-Assistant keine Funktion registrieren, die nicht in dieser Datei steht — sonst öffnet ihr wieder eine Hintertür für Halluzinationen über Tool-Namen.

OpenClaw-Gateway-Token kommen aus dem Dashboard: kurzlebig, mandantenscharf, mit minimalem Scope (erlaubte Modell-Aliase plus erlaubte Tool-Präfixe). Speichert sie unter ~/.openclaw/dashboard.token mit chmod 0400 und exportiert sie im Worker nur als OPENAI_API_KEY — nicht in Systemprompts der Agenten. Spiegelt die Allowlist serverseitig am Gateway, damit manipulierte Clients keine neuen Routen erfinden können.

Wenn das Modell einen Tool-Call vorschlägt, validiert die Argumente vor HTTP mit demselben JSON Schema wie am Gateway; bei Fehlschlag liefert ihr ein strukturiertes validation_error an die Konversation zurück, damit der nächste Sprecher korrigieren kann, ohne TPM zu verbrennen — analog zur Disziplin in PydanticAI Gateway-Schema und Instructor JSON Schema.

Konversations-Routing

Richtet den AutoGen-Modell-Client so aus, dass base_url auf http://127.0.0.1:GATEWAY_PORT/v1 zeigt — Chat-Completions, Embeddings und OpenAI-kompatible Extras teilen dann eine Authentifizierungsfläche, vergleichbar mit vLLM-artigem Routing. Für GroupChat vergebt ihr pro Lauf eine stabile X-Conversation-Id und pro Tool-Aufruf eine X-Correlation-Id, damit Gateway-Logs Multi-Agent-Spannen sauber joinen.

Haltet Tool-HTTP strikt von Chat-Traffic getrennt: dünne Wrapper POSTen nur auf OpenClaw-veröffentlichte /tools/…-Endpunkte aus der Allowlist — nicht auf beliebige URLs, die das Modell halluzinieren könnte. Beim Human- oder User-Proxy-Agenten regelt ihr explizit, welche Nachrichten Tools auslösen dürfen, damit Eval-Harnesses keine Privilegien eskalieren. Für lange Research-Flows koppelt max_round an die RPM-Obergrenzen eurer LiteLLM-Mandanten, wie in der Multi-Modell-Routing-Kostenmatrix beschrieben, um Thrashing zu vermeiden.

Retry-Vorlage

Nutzt einen gemeinsamen asynchronen HTTP-Helfer für alle Tools. Retries: 429 und transiente Transportfehler mit exponentiellem Backoff und vollem Jitter; maximal drei Versuche. Keine blinden Wiederholungen bei 401, 403 oder 413 — das sind Policy- bzw. Nutzlastprobleme, die sich über Agenten hinweg verstärken. Liefert das Gateway bei geöffnetem Breaker einen Body mit retry_after_ms (typisch HTTP 503), beachtet diese Verzögerung vor einem manuellen Retry und gebt das Envelope an die Konversation weiter statt stiller Schleifen.

# Illustrativ: httpx-Policy (Python, Kommentare) # MAX_ATTEMPTS = 3 # BACKOFF_BASE = 0.4 # Sekunden # for attempt in range(MAX_ATTEMPTS): # try: # r = await client.post(url, json=payload, headers=headers, timeout=8.0) # except httpx.TransportError: # if attempt == MAX_ATTEMPTS - 1: raise # await asyncio.sleep(BACKOFF_BASE * (2 ** attempt) + random.random() * 0.25) # continue # if r.status_code == 429 and attempt < MAX_ATTEMPTS - 1: # await asyncio.sleep(float(r.headers.get("retry-after", "2"))) # continue # if r.status_code in (401, 403, 413): # break # auf Fehler-Envelope mappen, kein Blind-Retry # return r

Log-Redaktion

Schreibt strukturierte JSON-Lines mit Feldern wie ts, conversation_id, tool, route, latency_ms und outcome. Redigiert Bearer-Präfixe, vollständige Request-Bodies (Prompt-Inhalt), Pfade unter Benutzer-Home und Roh-Anbieterpayloads. Ersetzt API-Schlüssel durch stabile key_fingerprint-Hashes. Bei Debug-Logs von Modellantworten nach vier Kilobyte kappen und PEM- oder sk--ähnliche Muster entfernen.

Für Incidents haltet einen separaten Vault-Stream mit unredigierten Korrelations-IDs — niemals in dasselbe Analytics-Bucket wie Notebooks. Feldnamen an die GenAI-Semantik anlehnen, damit AutoGen-Worker-Spans und Gateway-Spans in eurem Backend zusammenfallen. So bleibt Nachvollziehbarkeit erhalten, ohne dass Support-Tickets versehentlich Klartext-Prompts zirkulieren.

PR-/CI-Zusammenfassungsbeispiele

Wenn Agenten Repositories oder Pipelines anstoßen, mappt Gateway- und Testfehler auf CI-ähnliche Kurztexte, die ein User-Proxy in den Chat pasten kann. Für GitHub Actions eignet sich $GITHUB_STEP_SUMMARY mit Markdown unter etwa 300 Tokens: Status, Route, Correlation-ID, eine Zeile Hypothese, nächster Shell-Befehl.

## OpenClaw Tool-Fuse — Job-Zusammenfassung (Beispiel) **Status:** eingeschränkt (Breaker offen) **Route:** POST /tools/docs-index **Correlation:** c9f2-1a8b-44d0 **Kurz:** 6 aufeinanderfolgende Timeouts in 30s; Cooldown 60s. **Nächster Schritt:** `openclaw doctor --json` auf dem Host; paralleles Tool-Cap auf 4 senken. **Nicht:** vollständigen Agent-Graphen erneut starten, bevor Cooldown abgelaufen ist.

Für Pull-Request-Bots: JSON-Kommentar nur mit route, code, hint, retry_after_ms — keine Roh-HTML-Fehlerseiten. In AutoGen die Datei in einem dedizierten Turn einlesen, damit das Modell Fakten sieht statt CI-Logs mit Restgeheimnissen zu scrapen.

Parallelitäts-Budget und Schutzschalter (Kurzreferenz)

Das Parallelitäts-Budget ist euer clientseitiger „Sicherungsschalter“ vor dem Gateway-Breaker: ein asyncio.Semaphore (oder gleichwertig) begrenzt gleichzeitige Tool-POSTs prozessweit über alle Agenten einer GroupChat-Instanz. Der Gateway-Circuit Breaker reagiert auf Fehlerquote und Latenz pro Route — beide zusammen verhindern, dass ein „giftiges“ Tool den gesamten Graphen aushungert.

Parameter Startwert Hinweis für AutoGen
Gleichzeitige Tool-Calls 4–8 (prozessweit) Ein Semaphore für alle Agenten in einem GroupChat-Prozess.
GroupChat max_round 12–20 An LiteLLM-RPM minus Puffer koppeln, damit Tool-Schleifen Kontingente nicht leeren.
Breaker-Auslösung ≥50 % Fehler / 30 s je Route Öffnet den Fuse, bevor Unified Memory die p95-SLO verschiebt.
Cooldown 45–90 s retry_after_ms ehrlich an die nächste Modellrunde durchreichen.

Sieben Schritte zum Nachbau: (1) Python und Node pinnen, Token-Datei mit restriktiven Rechten; (2) Allowlist plus JSON Schema versionieren; (3) Modell-Client auf Loopback-Gateway; (4) Tools mit Schema-Check und Semaphore wrappen; (5) Breaker pro Route konfigurieren; (6) Fehler auf Envelopes normalisieren; (7) Smoke mit openclaw doctor und Baselines archivieren.

FAQ

Soll jeder AutoGen-Agent ein eigenes Gateway-Token haben? Praktischer ist ein maschinenlokales Token mit Invoke- plus Health-Scope; trennt Geheimnisse nach Umgebung (Staging vs. Produktion), nicht nach Agent — sonst explodiert die Schlüsselverwaltung.

Wie verhindere ich, dass ein Tool den ganzen Graphen aushungert? Kombiniert Prozess-Semaphore, per-Route-Breaker und ehrliche Fehlerzusammenfassungen, damit der Selector das laute Tool für den Rest der Runde meiden kann.

Greifen LangGraph-Patterns? Operativ überlappend; siehe LangGraph-Toolknoten für gemeinsame Health-Checks — AutoGen-Verdrahtung bleibt aber eigen; dieses Runbook neben dem Code legen.

Kurz: OpenClaw bündelt Identität, Tool-Routing und Fehlerform; AutoGen liefert Gesprächsgraphen und Function-Calling. Mit Whitelist, JSON Schema, Parallelitäts-Fuse und redigierten Summaries werden Multi-Agent-Läufe auditierbar und wiederholbar — die Basis für Last nahe Produktion auf einem gemieteten Apple-Silicon-Remote-Knoten.

Öffentliche Seiten (ohne Login): Preise, Kaufen, Hilfezentrum, Startseite und der Tech-Blog. Region und Optionen vor Cron- oder Queue-Workern mit den Tarifen abgleichen.