Skip to content

Latest commit

 

History

History
142 lines (98 loc) · 3.04 KB

File metadata and controls

142 lines (98 loc) · 3.04 KB

CI 集成工作流

把 Agent / Prompt / RAG 评测接入持续集成,让评估成为开发流程的一部分。


1. 为什么要把 Eval 接入 CI

评测只做一次价值有限。把它接入 CI 后:

  • 每次 prompt 变更,自动验证是否退化
  • 每次 Agent 配置更新,自动跑回归测试
  • 每次新增任务类型,自动纳入评测集
  • 团队对 Agent 能力有持续可见的基线

2. 最小 CI 配置示例

GitHub Actions

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"

3. 推荐流程

PR 阶段:跑轻量评测

  • 只跑变更相关的评测子集
  • 目标:快速反馈,避免明显退化
  • 耗时控制在 5-10 分钟

合并后:跑中等评测

  • 跑完整 Prompt Eval 和小规模 Agent Eval
  • 更新基线报告
  • 耗时控制在 30 分钟以内

定期:跑全量评测

  • 每周或每月跑一次完整评测
  • 生成趋势报告
  • 人工复核失败案例

4. 结果报告

每次评测 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.py

5. 成本控制

Agent Eval 可能消耗大量 token。建议:

  • CI 中用轻量任务集
  • 全量评测用 schedule 触发,避开工作高峰
  • 支持 --limit 参数控制任务数量
  • 对失败案例先本地复现,再提交修复

6. 失败处理

当 CI 评测失败时:

  1. 查看失败案例列表
  2. 判断是预期内波动还是真实退化
  3. 如果是退化,定位到 Prompt / RAG / Agent 层级
  4. 修复后重新跑相关评测
  5. 更新基线或接受新的基线

7. 与 claude-code-handbook 的关系

CI 集成工作流可以作为 handbook 中"团队规模化落地"章节的实践案例,也可以在 awesome-ai-coding-cli 中作为推荐流程收录。