AgenticBlog Krefeld · Est. 2024
DE | EN
← Zurück zur Übersicht
Architecture

Council v3: Wenn der Kritiker Teil des Systems wird

09.08.2026 · 6 Min. Lesezeit · Dr. Markus Meier
⚖️
HAL3000 ⇄ GLM-5.2
Council v3 · Single-Critic-Mode

Das Problem: Solo-Agent ohne Gegenpol. Wer mit einem einzigen LLM-Agenten arbeitet, kennt das Risiko: Halluzinationen, Familien-Bias, fehlende Schritte. Ein einzelnes Modell — egal wie gut — kann seine eigenen Schwächen nicht sehen.

Die naheliegende Lösung: ein zweites Modell dazustellen. Ein "Critic". Aber die meisten Setups scheitern an drei Stellen:

  • Latenz und Kosten — jedes Review kostet Token und Wartezeit
  • Trigger-Mechanik — wann feuert der Critic, wann nicht?
  • Fallback — was, wenn der Critic selbst ausfällt?

Was wir gebaut haben: Council v3 (Single-Critic-Mode)

In HAL3000 läuft ein dreistufiger Aufbau:

┌──────────────────┐    spawn     ┌──────────────────┐
│   HAL3000        │─────────────▶│   GLM-5.2:cloud  │
│  minimax-M3      │              │     (Critic)     │
│  Slot 1          │              │     Slot 2       │
└──────────────────┘              └──────────────────┘
  Orchestrator                   Adversarial Reviewer
  • HAL3000 (minimax-M3:cloud) liefert die erste Antwort
  • GLM-5.2 (Z.ai/GLM-5.2:cloud) reviewt kritisch
  • Beide laufen parallel auf zwei der drei Cloud-Slots der Ollama Pro Subscription

Warum Single-Critic und nicht Multi-Reviewer?

Ein Council mit drei oder vier Modellen klingt erstrebenswert, scheitert aber in der Praxis oft an denselben Punkten:

Setup Pro Contra
4 Reviewer Maximale Diversität Sprengt Ollama-Pro-Limits, hohe Token-Kosten
2 Reviewer Gute Coverage Tie-Break-Logik nötig, doppelte Latenz
1 Critic (Council v3) Schlank, schnell, vorhersagbar Echte Diversität nur durch andere Familie

Die Entscheidung fiel auf GLM-5.2 als Critic. HAL3000 stammt aus der minimax-Familie (chinesisch-trainiert), GLM-5.2 aus Z.ai — eine andere Familie, andere Trainingsdaten, andere Bias-Achse.

Der Code: council.py

import asyncio
from openclaw import sessions_spawn

COUNCIL = [
    {
        "name": "GLMCritic",
        "model": "ollama/glm-5.2:cloud",
        "role": (
            "Du bist GLM-5.2 Critic. Prüfe kritisch: logische "
            "Widersprüche, faktische Fehler, fehlende Annahmen, "
            "Familien-Bias. Sei direkt. Max 200 Token."
        ),
    }
]

async def review(text: str, timeout: int = 25) -> dict:
    member = COUNCIL[0]
    prompt = f"{member['role']}\n\nZu prüfen:\n---\n{text}\n---"
    return await asyncio.wait_for(
        sessions_spawn(
            task=prompt,
            taskName=f"council_v3_{datetime.now():%H%M%S}",
            model=member["model"],
            runtime="subagent",
            cleanup="delete",
        ),
        timeout=timeout,
    )

Echter asyncio.gather-Aufruf, kein Mock, automatischer Cleanup.

Die erste echte Kritik

Beim ersten Live-Test haben wir GLM-5.2 auf die eigene Architektur angesetzt. Ergebnis: 6/10 und fünf handfeste Befunde:

  1. Bias-Argument dünn — beide Modelle (minimax + GLM) sind CN-trainiert, teilen wahrscheinlich überlappende Datenmuster
  2. Hidden Cost — JEDER Output doppelt = Geldverbrennung ohne Trigger-Filter
  3. SPOF — kein Fallback bei GLM-Ausfall
  4. Selbstreferenz — ein Critic ist "noch ein LLM-Pass", nicht Meta-Sicherheit
  5. Slot-Math — sequentiell vs. parallel falsch gerechnet

Zwei der fünf Befunde wurden aufgenommen (Trigger-Filter, GPT-OSS-Fallback), drei abgelehnt — bewusst, weil die Architektur-Entscheidungen explizit getroffen wurden.

Was Council v3 NICHT löst

Ehrliche Einschränkung:

  • Kein Meta-Critic — GLM-5.2 irrt auch, ohne zweite Review-Stufe
  • Pseudo-Diversität — CN-vs-CN-Bias-Bruch ist schwächer als westlich-vs-CN
  • Cost-Guardrail fehlt noch — Heartbeats und OK-Antworten würden den Critic unnötig triggern
  • Kein automatischer Trigger — Council feuert bisher nur manuell

Was als Nächstes kommt

  1. Trigger-Filter — Critic nur bei High-Stakes (Code, Fakten, externe Writes)
  2. GPT-OSS-120b als Fallback — wenn GLM-5.2 nicht antwortet
  3. Council-Audit-Log — jede Kritik festhalten, Score-Trend über Zeit

Fazit

Council v3 ist kein Allheilmittel. Es ist ein einzelner Gegenpol — schlank, schnell, andere Familie. Wer mehr Diversität braucht, muss entweder tiefer in den Geldbeutel greifen (mehr Cloud-Slots, westliche Modelle) oder mit der Begrenzung leben, dass ein zweiter CN-trainierter Critic nur teilweise Entbiasing leistet.

Der wichtigste Schritt war am Ende nicht technisch, sondern disziplinierter: sich für einen Critic zu entscheiden und die Trigger-Mechanik später nachzuziehen — statt ein Ensemble zu basteln, das im ersten Last-Test zusammenbricht.

Multi-Agent-Systeme für Ihr Unternehmen?

Wir helfen Ihnen dabei, kritische AI-Loops mit zweiten Modell-Familien abzusichern — von der Architektur bis zum adversariellen Review-Layer.

Beratungsgespräch anfragen →