Skip to content

Agent评估总览 ​

1. 从模型评测到应用评测 ​

1.1 背景 ​

传统 LLM 评测常围绕单轮输入和单轮输出展开,例如答案是否正确、文本是否符合格式。Agent 运行时会理解目标、维护状态、调用工具、读取或修改外部系统,并在多轮交互中完成任务。失败可能发生在最终回答,也可能发生在工具选择、参数、权限、检索、状态更新、成本、延迟或人工接管。

因此,Agent 评估要从“文本输出”扩展为“完整应用行为”。本地评测报告把核心对象整理为 Task、Trial、Trace、Outcome、Evaluator 和 Evaluation Suite,这套术语能覆盖离线评测、线上回放和发布门禁。

1.2 核心对象 ​

概念含义评估用途
Task / Case一个具体业务任务或测试用例定义输入、环境和成功条件
TrialAgent 对某个任务的一次尝试处理非确定性和 pass@k
Trace / Trajectory一次尝试的完整轨迹分析工具、检索、状态和错误
Outcome任务结束后的业务结果判断目标是否完成
Evaluator评分逻辑代码、规则、LLM Judge、人工
Evaluation Suite一组相关任务回归、能力、安全和回放

这些对象让评估从最终答案扩展到过程和状态。代码 Agent 最终回答“已修复”没有意义,必须看测试是否通过、补丁是否正确、是否引入回归。

2. 评估对象的层次 ​

2.1 四层评估 ​

Outcome 评估回答“任务最后有没有成功”,Trajectory 评估回答“过程是否合规且高效”。一个 Agent 可能最终成功,但过程中调用了无关工具、泄露了上下文或成本过高,这些都应进入评估。

2.2 指标分层 ​

层次指标示例数据来源
业务完成成功率、关键状态正确率环境状态、测试结果
工具行为工具选择准确率、参数合法率tool span
检索证据召回率、引用覆盖、来源可信retrieval span
策略合规权限、隐私、安全规则policy span
成本性能token、调用次数、P95 延迟metrics
可恢复性重试成功率、人工接管率trace

多层指标有助于定位失败。只看总成功率,无法知道问题来自模型、工具、检索还是业务环境。

3. 非确定性与多次尝试 ​

3.1 pass@k 与 pass^k ​

Agent 具有非确定性。同一个任务在不同采样、不同工具延迟或不同上下文压缩下,可能成功也可能失败。评估时可以运行多次 Trial。

指标含义使用场景
pass@kk 次尝试中至少一次成功衡量探索能力
pass^kk 次尝试全部成功衡量稳定性
avg cost多次尝试平均成本衡量单位经济性
variance成功率和成本波动衡量可预测性

生产门禁更关注稳定性。一个任务 pass@5 很高但 pass^5 很低,说明 Agent 偶尔能做成,但用户每次使用时可靠性不足。

3.2 运行结构 ​

json
{
  "case_id": "code_fix_001",
  "trials": [
    {"trial_id": "t1", "passed": true, "cost": 0.42},
    {"trial_id": "t2", "passed": false, "error_type": "test_failed"}
  ],
  "summary": {
    "pass_at_2": true,
    "pass_2": false
  }
}

记录 Trial 级结果可以支持模型版本对比、prompt 回归和工具变更分析。

4. 评估体系落地 ​

4.1 Suite 分层 ​

Suite目标运行时机
Smoke验证服务、工具和 trace 可用每次提交
Regression防止已掌握能力倒退PR、模型升级
Capability衡量新能力爬坡nightly 或版本评审
Safety检查越权、注入、隐私风险发布前
Replay复现线上失败事故后和每周
Load验证并发和长任务可靠性发布前或容量规划

Capability 用例稳定后,可以迁移到 Regression。线上事故和高影响失败应进入 Replay 或 Safety。

4.2 最小评估循环 ​

评估框架的产出不只是分数,还要给出失败类型和可复现 trace。这样开发者才能把失败转成修复任务。

参考资料 ​