Skip to main content

agentbench-eval

AgentBench evaluation harness for claudemem. Covers pre-indexed repos, experiment conditions, running benchmarks, analyzing results, and managing index archives. Use when working on eval infrastructure, running experiments, or interpreting benchmark results.

Quellinformationen

Repository
MadAppGang/mnemex
Letzte Quellaktivität
4. März 2026 um 10:24
Erkannte Sprache von SKILL.md
Englisch
Sterne
45
Forks
6

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
agentbench-eval
description
AgentBench evaluation harness for claudemem. Covers pre-indexed repos, experiment conditions, running benchmarks, analyzing results, and managing index archives. Use when working on eval infrastructure, running experiments, or interpreting benchmark results.
# AgentBench Evaluation Skill Run and manage claudemem evaluation experiments against the eth-sri/agentbench benchmark (138 instances, 12 Python repos). ## Repo Location The agentbench repo is a sibling of the claudemem repo: ``` ../agentbench/ ``` All paths below are relative to the agentbench repo root unless noted otherwise. ## Data Layout ``` data/ ├── eval-repos/ # 12 cloned repos with pre-built .claudemem/ indexes │ └── {slug}/.claudemem/ # AST, symbols, vectors, enrichment per repo ├── archives/ # Immutable index snapshots (tar.gz) │ ├── indexes-20260304-deepseek.tar.gz # v2 full: 12 repos (1.2GB) │ └── indexes-20260304-deepseek-11of12.tar.gz # v2: 11 repos enriched (830MB) ├── eval-cache/ # Runtime sentinel cache └── eval-generated/ # Generated CLAUDE.md files ``` ## Index Specs (v2, 2026-03-04) - Enrichment model: `deepseek/deepseek-v3.2` via OpenRouter - Embedding model: `qwen/qwen3-embedding-8b` via OpenRouter - Total: 12 repos, ~39K symbols, ~36K enrichment docs, ~1.9GB indexes - Cost: ~$0.25 total via OpenRouter ### Repo Inventory | Slug | Files | Symbols | Docs | Size | |------|-------|---------|------|------| | ansible_ansible | 1758 | 4,597 | 7,214 | 176M | | getzep_graphiti | 115 | 434 | 635 | 43M | | huggingface_smolagents | 70 | 475 | 621 | 20M | | huggingface_transformers | 3082 | 0 | 0 | ~640M | | jlowin_fastmcp | 417 | 1,914 | 3,348 | 92M | | openai_openai-agents-python | 477 | 3,504 | 3,620 | 98M | | opshin_opshin | 125 | 714 | 855 | 24M | | pdm-project_pdm | 215 | 1,183 | 1,480 | 34M | | qodo-ai_pr-agent | 114 | 328 | 835 | 21M | | tinygrad_tinygrad | 884 | 20,018 | 6,345 | 400M | | vibrantlabsai_ragas | 401 | 1,357 | 2,514 | 57M | | wagtail_wagtail | 2270 | 4,434 | 8,419 | 261M | Note: `huggingface_transformers` has 0 symbols/docs (tree-sitter WASM errors on metaprogramming). Vector search still works. ## Experiment Conditions | Condition | Type | Workers | What it does | |-----------|------|---------|--------------| | `no_plan` | Baseline | 2 | Raw Claude Code, no AGENTS.md | | `claudemem_full` | Per-instance | 2 | claudemem map+search → AGENTS.md per task | | `dc_planner` | Cross-instance | 1 | Dynamic Cheatsheet — learns across tasks | | `ace_planner` | Cross-instance | 1 | ACE reflector+curator playbook — learns across tasks | ### Instance Filter (24 instances, 2 per repo) Hardcoded in `scripts/agentbench/run_harness/run_condition.py`. ## Common Tasks ### Run an Experiment ```bash cd scripts/agentbench/run_harness python run_condition.py <condition> # e.g.: python run_condition.py no_plan # python run_condition.py claudemem_full # python run_condition.py dc_planner # python run_condition.py ace_planner ``` Never pass filter directly in shell — pipe `|` gets escaped by zsh. ### Restore Indexes (New Machine) ```bash # From the agentbench repo root: ./scripts/agentbench/run_harness/restore_indexes.sh # or specify archive: ./scripts/agentbench/run_harness/restore_indexes.sh \ --archive data/archives/indexes-20260304-deepseek.tar.gz ``` ### Re-Index a Single Repo ```bash # Full enrichment (~$0.02/repo) CLAUDEMEM_LLM=or/deepseek/deepseek-v3.2 claudemem index --force data/eval-repos/{slug} # Fast index without enrichment (map works, search doesn't) claudemem index --no-llm data/eval-repos/{slug} ``` ### Create Archive Snapshot ```bash cd data/eval-repos tar czf ../archives/indexes-$(date +%Y%m%d)-deepseek.tar.gz */.claudemem/ ``` ### Check Experiment Results ```bash # Results live at: ls scripts/agentbench/run_harness/output/agentbench/eth-sri_agentbench/{condition}/ # Evaluate: cd scripts/agentbench/run_harness python evaluate.py --condition <condition> --run_id <N> # Analyze: python analyze.py ``` ### DC/ACE Training Data - DC cheatsheets: `plans/dynamic_cheatsheet/{model}/cheatsheet_{repo}.txt` - ACE playbooks: `plans/ace_playbook/{model}/playbook_{repo}.json` - History: `*_history/` subdirectories track evolution across instances ## Key Gotchas 1. **Always use `run_condition.py`** — shell escaping of `|` in filters breaks otherwise 2. **DC/ACE are sequential** (workers=1) — they learn across instances, can't parallelize 3. **Index cache is 3-level**: in-process set → `index.db` file → sentinel in `data/eval-cache/` 4. **Model keys are short names**: `sonnet-4-5` not `claude-sonnet-4-5-20250929` 5. **`generate.py` uses `fire.Fire(main)`** — both positional and `--flag=val` args work 6. **`--no-llm` indexes**: only give `map` (PageRank symbols). Full enrichment enables semantic `search` 7. **All paths are repo-relative** — no `~/.claudemem/` dependencies 8. **Enrichment model**: deepseek/deepseek-v3.2 was selected from 76 benchmark runs (composite score 0.886) ## Architecture (Key Files) | File | Purpose | |------|---------| | `src/agentbench/planners/claudemem_planner.py` | ClaudememPlanner — indexes repo, generates AGENTS.md | | `src/agentbench/planners/ace/ace.py` | ACE planner — reflector+curator playbook | | `src/agentbench/planners/evo_reproducer/evo_reproducer.py` | DC/EvoReproducer planner — dynamic cheatsheet | | `scripts/agentbench/run_harness/generate.py` | Main harness entry point | | `scripts/agentbench/run_harness/run_condition.py` | Launch helper (handles filter escaping) | | `scripts/agentbench/run_harness/restore_indexes.sh` | Archive restore script | | `scripts/agentbench/run_harness/evaluate.py` | Result evaluator | | `scripts/agentbench/run_harness/analyze.py` | Cross-condition analyzer |
Auf GitHub ansehen