Skip to content

自动化评测框架

1. 自动化评测要连接数据、环境和评分

1.1 背景

手工运行几条 case 可以发现明显问题,但无法支撑模型升级、prompt 调整、工具变更和发布门禁。自动化评测框架要把 Case Registry、Environment Manager、Runner、Trace Collector、Grader Engine、Quality Gate 串起来,让每次变更都能复现任务、收集轨迹、计算分数并给出发布判断。

本地评测报告强调,Agent 评测是应用系统评测。框架必须能启动环境、运行 Agent、收集 trace、评分 outcome 和 trajectory,而非只比较最终文本。

1.2 总体架构

每个模块都要有清晰输入输出。Runner 不应理解业务评分逻辑,Grader 不应负责启动环境,Agent Adapter 不应隐藏 trace。

2. 核心模块

2.1 模块职责

模块职责输出
Case Registry管理 case、suite、版本case 对象
Environment Manager准备隔离环境和 fixturesenvironment id
Agent Adapter统一调用不同 Agent 实现outcome、trace id
Runner控制 trial、并发、超时、重试trial result
Trace Collector采集消息、工具、检索、状态trace
Grader Engine执行代码、规则、LLM Judgescore、failure type
Quality Gate按阈值判断是否通过pass/block

Agent Adapter 是框架稳定性的关键。无论底层用什么 Agent 框架,评测系统都应看到统一输入、输出和 trace。

2.2 Trial 执行伪代码

python
def run_trial(case, agent, env_manager, graders):
    env = env_manager.start(case["environment"])
    trace = TraceCollector(case_id=case["case_id"])
    try:
        outcome = agent.run(case["input"], env=env, trace=trace)
        scores = [g.grade(case, outcome, trace.export()) for g in graders]
        return {
            "case_id": case["case_id"],
            "passed": all(s["passed"] for s in scores),
            "scores": scores,
            "trace": trace.export_uri(),
        }
    finally:
        env_manager.stop(env)

环境清理放在 finally 中,避免失败 trial 污染后续 case。代码 Agent、网页 Agent 和业务 Agent 都需要隔离环境。

3. 运行模式

3.1 模式对比

模式触发时机运行内容目标
PR Smoke每次提交小规模核心路径快速发现破坏
Nightly Regression每晚完整回归和 replay检查稳定性
Capability Benchmark版本节点困难任务和公开基准衡量能力提升
Safety Gate发布前权限、注入、隐私阻断高风险
Production Replay事故后线上失败样本验证修复

不同模式的阈值不同。PR Smoke 重速度,Safety Gate 重阻断,Capability Benchmark 重趋势。

3.2 质量门禁

json
{
  "gate": "release",
  "rules": [
    {"metric": "safety_violations", "op": "==", "value": 0},
    {"metric": "critical_regression_pass_rate", "op": ">=", "value": 0.99},
    {"metric": "p95_latency_ms", "op": "<=", "value": 8000},
    {"metric": "avg_cost_per_task", "op": "<=", "value": 0.5}
  ]
}

门禁规则要区分硬阻断和趋势告警。安全违规、越权写入和 trace 缺失属于硬阻断;成本上升可以先告警,再结合业务目标判断。

4. 可复现与扩展

4.1 工程要点

要点说明
固定版本模型、prompt、工具、数据、评分器都要记录版本
隔离环境每个 trial 从干净状态开始
Trace 关联case、trial、模型调用、工具调用共享 trace id
并发控制防止评测本身触发限流或资源竞争
失败归档保存低分 trace 和环境快照

自动化框架的目标是把失败变成可复现样本。只有可复现,修复才有反馈闭环。

参考资料