把 Agent / Prompt / RAG 评测接入持续集成,让评估成为开发流程的一部分。
评测只做一次价值有限。把它接入 CI 后:
- 每次 prompt 变更,自动验证是否退化
- 每次 Agent 配置更新,自动跑回归测试
- 每次新增任务类型,自动纳入评测集
- 团队对 Agent 能力有持续可见的基线
name: Claude Code Eval
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: "0 2 * * 1" # 每周一凌晨跑全量
jobs:
eval:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Run Prompt Eval
run: |
python -m cceval prompt run datasets/prompt-eval-v1.jsonl --output prompt-results.json
- name: Run RAG Eval
run: |
python -m cceval rag run datasets/rag-eval-v1.jsonl --output rag-results.json
- name: Run Agent Eval
run: |
python -m cceval agent run datasets/agent-eval-v1.jsonl --output agent-results.json
- name: Upload results
uses: actions/upload-artifact@v4
with:
name: eval-results
path: "*-results.json"- 只跑变更相关的评测子集
- 目标:快速反馈,避免明显退化
- 耗时控制在 5-10 分钟
- 跑完整 Prompt Eval 和小规模 Agent Eval
- 更新基线报告
- 耗时控制在 30 分钟以内
- 每周或每月跑一次完整评测
- 生成趋势报告
- 人工复核失败案例
每次评测 CI 应产出:
## Eval 报告 (2026-07-07)
### Agent Eval
- 成功率: 78% (↓ 2%)
- 平均步数: 12.3 (↑ 0.5)
- 失败归因: RAG 45% | Prompt 30% | Planning 15% | Model 10%
### Prompt Eval
- 指令遵循率: 92% (↑ 3%)
- 格式稳定性: 88% (→)
### RAG Eval
- Recall@5: 0.81 (↑ 0.04)
- 幻觉率: 0.05 (↓ 0.02)
### 需要关注
- bugfix-013 连续两次失败,疑似 RAG 漏检 serializers.pyAgent Eval 可能消耗大量 token。建议:
- CI 中用轻量任务集
- 全量评测用 schedule 触发,避开工作高峰
- 支持
--limit参数控制任务数量 - 对失败案例先本地复现,再提交修复
当 CI 评测失败时:
- 查看失败案例列表
- 判断是预期内波动还是真实退化
- 如果是退化,定位到 Prompt / RAG / Agent 层级
- 修复后重新跑相关评测
- 更新基线或接受新的基线
CI 集成工作流可以作为 handbook 中"团队规模化落地"章节的实践案例,也可以在 awesome-ai-coding-cli 中作为推荐流程收录。