Skip to content

joni-auftrag: systemweite Metakognition messen — Shadow-Supervisor vor Enforce #236

Description

@hstre

Anlass

Das Survey „Metacognition in LLMs: Foundations, Progress, and Opportunities“ (arXiv:2607.11881) beschreibt Metakognition als Regelkreis aus Monitoring und Control. Joni besitzt die tragenden Teile bereits: Layer 9, Konflikt-/Provenienzprüfung, Router/Budget, Verifier, Character-/Constitution-Gates sowie ALLOW / ABSTAIN / ESCALATE / BLOCK.

Was noch fehlt, ist nicht eine weitere „Selbstreflexions“-Prompt-Schleife, sondern die systemweite Messung, ob Jonis eigene Monitoring-Signale und Regulationsentscheidungen tatsächlich zuverlässig sind.

Ziel

Baue einen externen, modellunabhängigen Metakognitions-Supervisor im Shadow-Modus, der über mehrere Joni-Schleifen hinweg dieselbe Kette protokolliert:

Situation → verfügbare Signale → vorhergesagte Erfolgs-/Fehlerwahrscheinlichkeit → gewählte Kontrollhandlung → Kosten → später beobachtbares Ergebnis → Kalibrierungsfehler

Der Supervisor beobachtet Joni; er erhält zunächst keine Entscheidungsautorität.

Harte Grenzen

  • Kein LLM beurteilt seine eigene freie Prosa. Nur strukturierte Signale aus dem zuständigen Subsystem.
  • Keine Bewusstseins-/Selbstbewusstseinsbehauptung. Das ist funktionale, externalisierte Metakognition.
  • Keine erfundenen Outcomes. Ein Ergebnis wird nur gesetzt, wenn ein bestehender deterministischer Prüfer, ein Gold-Label, ein späterer State-Übergang oder eine menschliche Entscheidung es trägt. Sonst unknown.
  • Shadow als Default und einzige Betriebsart in diesem Auftrag. Kein Verhalten ändern, nichts blockieren, keine Schwellen scharf schalten.
  • Kein Kernel-/Core-Eingriff. src/desi_layer9/, joni_core.lock, Character-/Constitution-Gates und geschützte Module bleiben unangetastet. Eine spätere Enforce-Integration braucht einen getrennten menschlich genehmigten Core-PR.
  • LLM-Scores sind Signale, nie Fakten; Regeln aggregieren und entscheiden.

Vorgeschlagene Struktur

src/joni/autonomy/metacognition/

  • models.py — strikte Dataclasses/Enums
  • monitor.py — normalisiert strukturierte Signale
  • control.py — dokumentiert die im realen Pfad gewählte Kontrollhandlung
  • outcomes.py — verbindet Episoden später mit belastbaren Outcomes
  • metrics.py — Kalibrierung, Selektionsrisiko, Kosten/Nutzen
  • audit.py — append-only Speicherung + kompakte Projektion
  • __init__.py

MetacognitiveEpisode

Mindestens:

  • stabile episode_id
  • cycle, task_family, decision_seam
  • referenzierte Claim-/Conflict-/Method-/Proposal-/Issue-IDs
  • signal_sources und strukturierte signals
  • predicted_success oder predicted_error in [0,1]
  • knowledge_boundary: inside | outside | conflicting | insufficient_evidence | monitor_dark | unknown
  • tatsächlich gewählte Kontrolle: proceed | retrieve | verify | ask_human | abstain | defer | escalate
  • erwartete und reale Kosten, Modell-/Toolroute
  • outcome: success | failure | mixed | unknown
  • outcome_source, outcome_cycle, outcome_refs
  • Kalibrierungs-/Nutzwertfelder erst als abgeleitete Projektion, nicht als nachträglich umgeschriebene Historie
  • monitor_version und Konfigurations-Hash

Persistenz append-only im bestehenden erlaubten State-/Protocol-Seam; Website/Panel nur als begrenzte Projektion. Keine rohen Nutzerprompts oder vollständigen Papertexte in der Metakognitionsspur.

Erste Adapter

Mindestens zwei reale, bereits vorhandene Entscheidungspfade anschließen:

  1. Doktores / probabilistischer Verifier

    • Plain-Entscheidung, Verifier-Scores/Streuung, Veto und Shadow-Aktion übernehmen.
    • Späteres belastbares Outcome nur aus nachverfolgbaren Ergebnissen: Auftrag verworfen, PR geschlossen, PR gemergt und Tests grün, menschliches Urteil usw.
  2. Topic-/Methoden-Gates oder Konflikt-/Remonstrationspfad

    • Vorhersage/Signal beim Gate erfassen.
    • Outcome aus späterem Layer-9-Status: promoted/retired/rejected, Konflikt bestätigt/als Schein-Konflikt toleriert, Betreiberentscheidung bestätigt/geändert.

Optional Router nur dort, wo ein echter Eval-Score oder deterministischer Tool-Erfolg vorliegt. Produktion ohne Gold darf keine „Richtigkeit“ vortäuschen.

Meta-Metakognition

Der Supervisor muss auch messen, wann sein eigenes Monitoring unzuverlässig ist:

  • Outcome-Coverage je Task-Familie
  • Streuung wiederholter Modell-Signale
  • Anteil monitor_dark / fehlender Wächter
  • Kalibrierung getrennt nach Signalquelle, Modellfamilie und Task-Familie
  • kein globaler Gesamtwert, der Domänenunterschiede verdeckt

Bei zu wenig Outcomes lautet das Ergebnis ausdrücklich insufficient_evidence, nicht „gut kalibriert“.

Metriken

Nur auf Episoden mit belastbarem binärem Outcome:

  • Brier Score
  • ECE mit fest dokumentierten Bins
  • AUROC, sofern beide Klassen vorkommen
  • Accuracy-/Risk-Coverage für proceed vs. Zurückhaltung
  • Kosten- und Call-Delta der Kontrollhandlung
  • Interventionsnutzen gegenüber dem parallel geloggten Plain-Pfad

meta-d′/M-Ratio nur in einer separaten kontrollierten Binär-Benchmark, nicht pauschal auf offene Produktionsaufgaben anwenden.

Kontrollierte Benchmark-Fixtures

Deterministisch und offline:

  • bekannte Antwort / unbekannte Antwort
  • veraltetes Wissen
  • widersprüchliche Evidenz
  • fehlende Provenienz
  • Tool zwingend erforderlich
  • Budget erschöpft
  • flüssige, aber unbelegte Modellantwort
  • Wächter absichtlich dunkel (monitor_dark)
  • richtige Zurückhaltung und unnötige Zurückhaltung

Die Benchmark muss Monitoring und Aufgabenleistung trennen: Ein System kann richtig liegen und trotzdem schlecht wissen, wann es falsch liegt.

Adoption Gate

Dieser Auftrag endet mit Shadow-Daten und Auswertung. Dokumentiere eine vorregistrierbare Enforce-Entscheidung für einen späteren PR:

  • Mindestzahl belastbarer Outcomes in mehreren Task-Familien
  • Vergleich gegen Plain-/naive Baseline
  • kein Sicherheits-, Kosten- oder Liveness-Rückschritt
  • domänenspezifische statt globale Schwellen
  • menschliche Freigabe und Core-Reseal zwingend

Keine Enforce-Schaltung in diesem PR.

Tests / Akzeptanz

  • striktes Schema; unbekannte Felder/falsche Typen fail-closed
  • stabile IDs und replay-stabile Projektion
  • gleiche Eingabe → gleiche Episode/gleiche abgeleitete Metrik
  • kein freier Text wird als Selbstwissen klassifiziert
  • unknown bleibt unknown; kein fehlendes Outcome wird zu Erfolg
  • spätes Outcome ergänzt über ein neues append-only Ereignis, nicht durch Umschreiben
  • Adapter für mindestens zwei reale Pfade
  • vollständige Offline-Benchmark
  • Kosten-/Größenbegrenzung und keine unbeschränkten Extension-Listen
  • Dokumentation: design-notes/metacognitive_supervisor.md
  • Abschlussbericht mit ehrlicher Tabelle: bereits vorhandene Metakognitionsfunktionen, neu gemessene Teile, weiterhin offene Grenzen

Kernthese

Joni soll nicht lernen, überzeugender zu behaupten, dass er sich kennt. Er soll messbar lernen, wann seine eigenen Prüfsignale tragen, wann sie dunkel sind und welche Regulationshandlung unter diesen Bedingungen tatsächlich besser war.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    joni-auftragJoni commissions Claude to extend him (non-core) - implement via PR

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions