MetaMetaMeta / BACKLOG_EVAL.md
smlflg's picture
Initial public upload from Projekte/MetaMetaMeta
3bc7cb3 verified
|
Raw
History Blame Contribute Delete
6.18 kB

Eval-System Backlog β€” AgentArena + MetaMetaMeta

Stand: 2026-03-19 (nach E2 Erfolg: additionalContext wirkt 0/3 vs 6/6) Status: Backlog β€” nicht in Scope der aktuellen Session


Kern-Erkenntnis

Mit clean_home Isolation in AgentArena koennen wir ALLE Meta-Features evaluieren:

  • CLAUDE.md Varianten
  • Sidecar-NG Injections
  • Hook-Konfigurationen
  • Skills
  • Effort-Levels
  • Modelle
  • Temperatur

Das ist der eigentliche Durchbruch β€” nicht nur der voiceLanguage-Test.


Parameter-Explosion (das Problem)

Jede Evaluation hat potenziell diese Dimensionen:

Parameter Werte Beispiel
Model 3+ sonnet-4.6, opus-4.6, haiku-4.5
Effort Level 4 low, medium, high, max
CLAUDE.md N minimal, full, custom
Sidecar Injection on/off mit/ohne Regeln
Hook Config N keine, Sidecar-NG, custom
Skills N pro Skill
Temperature 3+ 0.0, 0.5, 1.0
Prompt-Variante N deutsch, englisch, vage, praezise

Naive Full Factorial: 3 x 4 x 3 x 2 x 3 x N x 3 x N = tausende Kombinationen x pass@3 = zehntausende Runs

Loesung (aus Research):

  1. Screening: Fractional Factorial Design β€” 8 Runs statt 32 um Haupteffekte zu finden
  2. Dann: Bayesian Optimization (Optuna/W&B) fuer die wichtigsten Parameter
  3. Gold Set: 10 handkuratierte Tasks als Schnelltest bei jeder Aenderung

Evaluations-Dimensionen (die 4 Sauelen)

1. Reliability (pass@k)

  • Wiederholbarkeit: 3x derselbe Test, wie oft klappt es?
  • Unbiased Estimator: pass@k = 1 - C(n-c, k) / C(n, k)
  • Fuer statistische Signifikanz bei 5% Improvement: ~400 Runs
  • Fuer "dirty minimum" internes Testing: ~50 Runs
  • Wilson Score Intervals statt naive Prozente

2. Token-Effizienz / Kosten

  • Tokens pro geloestem Task
  • Cost per successful run vs cost per failed run
  • Prompt Efficiency Score: (Success Rate) / (Tokens * Latency)

3. Output-Qualitaet (Pass/Fail)

  • Funktionaler Judge (exit code)
  • Regression (bestehende Tests weiterhin gruen?)
  • Lint + Complexity Delta

4. Alignment (das Neue)

  • Wurde die Aufgabe SO umgesetzt wie gewuenscht?
  • Beispiel Tetris: "rote Steine und gruene Bloecke" β€” stimmt die Farbe?
  • Braucht LLM-as-Judge oder Screenshot-Vergleich
  • Schwierigster Punkt β€” subjektiv, schwer automatisierbar

Visualisierung (aus Research)

Empfohlen:

  1. Radar Charts β€” zeigt das "Profil" eines Agents (Reasoning, Cost, Speed, Tools, Reliability)
  2. Pareto Frontier β€” X=Kosten (log), Y=Score β†’ zeigt welche Agents "dominated" werden
  3. Heatmap/Matrix β€” Parameter x Task β†’ Farbe = pass rate

AgentArena hat bereits:

  • Leaderboard (pass@1, pass@3, avg_cost, composite_score)
  • Matrix View (harness x model)
  • Run Detail (trajectory, diff viewer)

Fehlt:

  • Radar Charts pro Agent
  • Pareto Frontier (Cost vs Score)
  • Experiment-Vergleich (vorher/nachher)
  • Alignment-Visualisierung

Konkrete naechste Testcases (TODO)

T1: Effort-Level Impact (sofort machbar)

  • Denselben voiceLanguage-Test mit --effort low/medium/high laufen lassen
  • CLI-Flag: claude --print --effort {level}
  • Hypothese: low effort = mehr Halluzinationen, high = besser aber teurer
  • Implementation: Nur cmd.extend(["--effort", level]) im Adapter + 3 neue Agents

T2: Weitere Bug-Typen

  • Nicht nur Config-Keys, auch:
    • File-ohne-Read-editieren
    • Falsche Datei editieren
    • Erfundene API-Endpoints
    • Import-Fehler (nicht-existierende Module)

T3: Prompt-Sprache

  • Derselbe Task auf Deutsch vs Englisch
  • Hypothese: Englische Prompts = bessere Compliance?

T4: CLAUDE.md Laenge

  • Minimal (2 Zeilen) vs Full (Samuels echte 200-Zeilen CLAUDE.md)
  • Hypothese: Mehr Regeln = besser? Oder Information Overload?

T5: Skill-Evaluation

  • Skills einzeln testen: Tut der Skill was er soll?
  • Z.B. /checkpoint: Erstellt er wirklich einen Git-Snapshot?

Tooling-Empfehlungen (aus Research)

Tool Zweck Prioritaet
Inspect AI Modulares Eval-Framework (UK AI Security Institute) Evaluieren
Optuna Bayesian Hyperparameter-Optimierung Spaeter
W&B / MLflow Experiment-Tracking + Trajectory-Visualisierung Spaeter
Wilson Score Statistische Konfidenzintervalle Einbauen

Claude Code CLI Flags (verifiziert)

--effort <level>          low, medium, high, max
--max-budget-usd <amount> Kostenlimit (nur mit --print)
--model <model>           Modell-Auswahl
--verbose                 Noetig fuer stream-json mit --print
--dangerously-skip-permissions  Keine Permission-Prompts
--output-format stream-json     NDJSON Output

KRITISCH: Sandbox-Isolation (Sicherheit)

Problem: Claude Code Adapter laeuft auf dem Host mit --dangerously-skip-permissions. Jeder Run hat volle User-Rechte (Dateisystem, Netzwerk, Bash). Kein Sandboxing. clean_home isoliert nur ~/.claude/ Config, NICHT den Prozess.

Risiko: Claude kann theoretisch beliebige Commands ausfuehren, Dateien lesen/loeschen. Fuer eigene harmlose Tests akzeptabel, fuer Produktion/fremde Prompts NICHT.

Loesung (Optionen):

  1. Custom Docker Image mit claude CLI vorinstalliert (npm install -g @anthropic-ai/claude-code)
    • Vorteil: Echte Isolation, passt in bestehende Sandbox-Architektur
    • Aufwand: Docker Image bauen + testen, API Key reinreichen
  2. bubblewrap/firejail Sandboxing um den CLI-Prozess
    • Vorteil: Leichtgewichtig, kein Docker noetig
    • Aufwand: Capability-Config, Filesystem-Allowlist
  3. Dedizierter User mit eingeschraenkten Rechten
    • Vorteil: Einfach, su arena-runner
    • Aufwand: User anlegen, Permissions konfigurieren

Prioritaet: HOCH β€” vor jedem produktiven Einsatz oder fremden Prompts loesen.


Nicht jetzt (Scope-Guard)

  • Sandbox-Isolation fuer Claude Code Runs (siehe oben)
  • Eval-Dashboard bauen
  • Statistische Tests implementieren
  • Prompt-Alignment LLM-as-Judge
  • W&B Integration
  • Fractional Factorial Design automatisieren
  • Screenshot-basierte Alignment-Checks

Samuel's Regel: E2 ist fertig. Alles hier ist Backlog fuer spaeter.