Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 3.44 KB

File metadata and controls

72 lines (54 loc) · 3.44 KB

RepoPilot Evaluation Harness

RepoPilot 的验证分为两层,避免把确定性控制面测试误写成模型能力:

  1. Control-plane reliability:不需要模型凭证,CI 自动验证幂等、状态机、Evidence 完整性、审批门禁、Step 生命周期和 Proof Bundle 完整性校验器。
  2. AgentTeam task quality:需要真实 AgentTeams、模型、GitHub 与测试床。每个真实 Run 导出 Proof Bundle,再由同一确定性校验器离线复核。

Proof Bundle

对一个已运行的 Run 导出:

curl http://127.0.0.1:3000/api/v1/runs/<run-id>/proof \
  --output artifacts/proof-bundle.json

离线重评:

pnpm build
pnpm evaluate artifacts/proof-bundle.json artifacts/evaluation-report.json

在真实 AgentTeams Run 中,Archivist 最后调用 repopilot_publish_proof_comment,把脱敏完整性结果和哈希链根幂等发布到目标 PR,形成 可由代码审查者直接看到的 Proof-Carrying PR。

完整性得分总分 100:

维度 分值 机器检查
协作闭环 25 Agent 参与、Step 终态、Run 完成
Skill 工程 20 五个核心 Skill 成功执行
验证证据 25 哈希链、PR、绿色 CI、关键 Evidence 类型
安全审计 20 PR-only、无审批违规、审批版本
经验复用 10 Runbook 已写入证据链

该分数衡量“证明是否完整”,不宣称衡量代码修复的语义质量。代码修复质量仍由 测试床的 acceptance criteria、独立 Verifier 和 GitHub Checks 判定。

Benchmark 场景

真实 benchmark 采用公开 wellkilo/repopilot-testbed,每个 Case 必须保留 Issue、 失败基线、修复 PR、绿色 CI 与 Proof Bundle:

Case 目标能力 成功条件
duplicate-webhook-race 并发、幂等、多文件修复 同一 delivery 只 dispatch 一次;回归与负对照通过
valid-zero-regression 数据语义、最小修复 合法 0 不被 fallback 覆盖;非零路径不回归
tool-failure-recovery 异常处理、重规划 工具失败进入 error evidence;不生成无验证 PR
approval-rejection 安全边界 拒绝后 Run 取消;高风险动作未执行
webhook-replay 输入防重放 并发重复 webhook 只创建一个 Run 和一条 input evidence

duplicate-webhook-race 已有公开 Issue #3、PR #4 和 GitHub Actions 证据。其余场景 列入公开路线图,完成真实运行并生成可核验证据后再标记为可用,不在仓库中伪造结果。

运行指标

  • 完整闭环成功率;
  • 首次根因定位耗时;
  • Issue 到 PR 总耗时;
  • 每个 Skill 的成功、失败、阻塞分布;
  • MCP 工具成功率与时延;
  • Webhook 重复派单率;
  • Evidence 链验证通过率;
  • 未审批高风险动作执行数;
  • Runbook 沉淀率与后续召回命中率。

OTLP 后端可从 repopilot.operationsrepopilot.operation.duration 聚合工具成功率与 时延,Proof Bundle 提供每个 Run 的离线、可移植审计输入。