mcpField
A
agent-eval

agent-eval

github.com/colbymchenry测试与质量75.8k1.8k 次安装1 天前更新
代码仓库

关于 agent-eval

agent-eval 是用于审计 CodeGraph 质量的技能,可比较其与仅使用 grep 和读取文件时对 Agent 工作的影响。它通过 headless、tmux 或两种测试方式,在选定版本和真实代码库上运行评估。

主要功能

  1. 01选择 CodeGraph 版本、语言和代码库
  2. 02运行 headless 和 tmux 测试方式
  3. 03报告工具调用、读取、耗时和成本
  4. 04比较 CodeGraph 与基线结果
  5. 05检查答案正确性和反馈指标

适用场景

  1. 01在语料库代码库上测量 CodeGraph 表现
  2. 02比较 headless 与交互式 Agent 运行
  3. 03评估索引是否减少代码调查工作
  4. 04检查评估成本和答案正确性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/colbymchenry/codegraph --skill agent-eval

安装后在 Claude Code 中输入/agent-eval确认已加载。

附带文件corpus.json

详细介绍

CodeGraph 质量审计

衡量在选定的真实代码仓库上,指定版本的 CodeGraph 相较于纯 grep/read 能为 Agent 提供多少帮助。用于驱动 scripts/agent-eval/ 中的测试框架。

前置条件

  • tmux 3+、已登录的 claude CLI、node、git(macOS/Linux)。
  • 从 codegraph 仓库根目录运行。

工作流

复制此清单:

- [ ] 1. Pick version (local or npm)
- [ ] 2. Pick language
- [ ] 3. Pick repo by size
- [ ] 4. Pick harness (headless / tmux / both)
- [ ] 5. Run audit.sh in the background
- [ ] 6. Report results

步骤 1 — 版本。 使用 AskUserQuestion 询问要测试哪个 codegraph 版本。 提供“本地开发构建”和“最新发布版”;自由文本选项“其他”允许 用户输入特定版本(例如 0.7.10)。将答案映射为 VERSION 令牌:

  • “本地开发构建” → local
  • “最新发布版” → latest
  • 输入的版本 → 对应字符串(例如 0.7.10)

步骤 2 — 语言。 读取 .claude/skills/agent-eval/corpus.json。使用 AskUserQuestion 询问要测试哪种语言,并列出其中有条目的语言。

步骤 3 — 仓库。 从所选语言的条目中询问要测试哪个仓库。为每个 选项标注其规模和文件数,例如 excalidraw — 中型(约 600 个文件)。 每个条目都包含 repo URL 和一个代表性问题 question。

步骤 4 — 测试框架。 使用 AskUserQuestion 询问要运行哪个测试框架,并将 答案映射为 MODE 令牌:

  • “无头模式” → headless — 使用 stream-json 的 claude -p:精确记录令牌数/费用和 清晰的工具调用序列(运行 2 次,速度快,无 TTY)。
  • “交互模式(tmux)” → tmux — 在 tmux 中驱动真实的 Claude TUI:忠实呈现 Explore 子 Agent 的行为,从会话日志中提取指标(运行 2 次,速度较慢)。
  • “两者” → all — 无头模式 + 交互模式(运行 4 次)。

步骤 5 — 运行。 在后台启动(设置版本;如果仓库不存在则克隆; 清理并重新索引;运行所选方案 — 需要几分钟):

scripts/agent-eval/audit.sh <VERSION> <repo-name> <repo-url> "<question>" <MODE>

步骤 6 — 报告。 作业完成后,读取日志并按方案报告:

  • 无头模式(parse-run.mjs):工具调用总数、文件 Read 次数、Grep/Bash 次数、codegraph 工具调用次数、耗时、总费用。
  • 交互模式(parse-session.mjs):VERDICT: codegraph_explore used Nx | Read N | Grep/Bash N 和 TOKENS: 行。
  • 两种模式还会打印三项反馈指标——剩余上下文占用率、 探索充分性、分配效率;无头模式 A/B 测试最后会输出并排的 ARM COMPARISON 表格。报告该表格,并首先检查其中的 污染行:CLI calls that RETURNED output > 0 表示该方案通过 Bash 调用了 CodeGraph, 其数据无效。其余内容的解读方法见: docs/benchmarks/agent-eval-feedback-metrics.md。

优先报告费用和工具/Read 次数——这些信号可靠;原始令牌输入/输出数会受到子 Agent 委派和提示词缓存的干扰。说明 CodeGraph 是否降低了工作量,以及两种方案是否都得出了正确答案。

备注

  • 每次运行都会重建索引(audit.sh 会清理 .codegraph)——不同版本的提取结果不同,因此索引必须由构建它的同一二进制文件提供服务。
  • audit.sh 会在测试期间临时修改全局 codegraph 安装,然后通过 local-install.sh 恢复你的开发链接。
  • 语料库仓库会克隆到 /tmp/codegraph-corpus(若已存在则重复使用)。
  • 在 corpus.json 中添加或编辑仓库(字段:name、repo、size、files、 question)。

评论

支持 Markdown