E23基准基础设施
danielvm-git2026-10-28查看 1475复制 568
创建 `run-benchmark/SKILL.md`——该技能从 `specs/benchmarks/` 读取基准定义,执行每个场景的评分器,并输出 `evolve-skill` 可消费的结构化 pass@k 报告。
📘如何使用这个技能
- 1复制技能内容·点击上方「Copy SKILL.md」复制全部内容,或 Download 下载到本地
- 2打开你的 AI 客户端·支持 Claude Code、Trae、Cursor、ChatGPT、DeepSeek、Kimi 等任意 AI 助手
- 3粘贴为系统提示/知识文件·Claude Code:放入 .claude/skills/ 目录;普通对话:作为首条消息发送并说「请严格按这份技能文档执行」
- 4直接提出你的需求·AI 会按技能定义的工作流、格式和约束来处理,无需再解释背景
💡 提示:技能生效后,每次对话只需一句需求,AI 会按 SKILL.md 的流程执行。
SKILL.md1740 chars
--- story_id: e23s02 title: "Create run-benchmark skill" status: backlog bcps: 1 type: feat context: infra --- # Story e23s02: run-benchmark skill Create `run-benchmark/SKILL.md` — the skill that reads benchmark definitions from `specs/benchmarks/`, executes each scenario's grader, and outputs a structured pass@k report that `evolve-skill` can consume. ## Acceptance Criteria - [ ] `run-benchmark/SKILL.md` exists with verb-noun naming, model frontmatter - [ ] Skill documents how to run all benchmarks or a single skill's benchmarks - [ ] Output format: `specs/benchmarks/reports/BENCHMARK-<skill>-<date>.yaml` - [ ] Report includes: skill, pass_count, fail_count, pass_at_k, scenarios[] ## Gherkin Scenarios ```gherkin Given specs/benchmarks/survey-context.yaml exists with 2 scenarios When run-benchmark survey-context executes Then it runs each scenario's grader command And writes specs/benchmarks/reports/BENCHMARK-survey-context-<date>.yaml And the report contains pass_at_k = passed / total Given run-benchmark runs with no skill argument When it executes Then it benchmarks all skills with a definition in specs/benchmarks/ And writes one report per skill ``` ## Verification ```bash test -f run-benchmark/SKILL.md && \ grep -q 'run-benchmark' SKILL-INDEX.md && \ echo "OK: skill exists and indexed" || echo "FAIL" ``` ## Implementation Notes - Model: `haiku` (mechanical runner, not reasoning-heavy) - Code graders: run the `command` in the repo root, check exit code + stdout - Rubric graders: present criteria to the agent for a binary yes/no per criterion - pass@k = (scenarios where grader returns PASS) / (total weighted scenarios) - Report location: `specs/benchmarks/reports/` (gitignored for CI cost reasons)