File size: 6,175 Bytes
3bc7cb3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | # 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.
|