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.