简介:很多团队用普通问答评测的方式评估Agent:给一道题、看最终答案、让大模型裁判打个分。但Agent的产出来自一连串动作,只看结果会漏掉工具误用、越权操作与无效循环。本文对比两类评估体系的核心差异,拆解任务结果、执行轨迹、资源成本三层指标与硬门禁机制,并给出场景选型与迁移落地的实用建议。
Agent(智能体)与单轮问答系统最本质的区别在于产出方式:问答系统的输出是一次推理的结果;Agent的输出是一连串动作的累积——选择工具、调用接口、读取反馈、调整策略,最后才形成交付物。这决定了两者的评估体系不能直接混用。
现实中,Agent评估最容易犯的错,恰恰是把它当成普通问答评测:给一道题,只看最终答案,再让大模型裁判打一个总分。这种做法会产生两类系统性误判:
普通问答评测对这两类错误都不敏感,因为它的观测面只有最终文本,过程信息被全部丢弃。因此,本文将系统对比两套评估方法——普通问答评测与Agent三层评估(任务结果、执行轨迹、资源成本)——说明它们的相同点、核心差异、适用边界与选型依据。
1. 普通问答评测
以“问题 → 答案”为基本评估单元。为每道题准备标准答案或评分要点,通过规则匹配(精确匹配、关键要素抽取、可解析结构比对)或大模型裁判打分得到单个分数,再在评测集上聚合出准确率、通过率等指标。它隐含两个假设:模型一次调用完成全部工作;过程中没有中间状态,也没有外部副作用。
2. Agent三层评估
把Agent评估拆成三个互补层次:
并在此基础上叠加硬门禁机制:安全、权限、关键事实与副作用确认属于一票否决项,不能用“答案写得好”或“成本比较低”来抵消。
尽管差异明显,两者在方法论底座上是一致的,这也是很多团队先从问答评测起步、再平滑迁移到Agent评估的原因:
问答评测中,一道题通常有一个(或一组)参考答案,判定是“像不像”。Agent评估的第一步不是找通用指标,而是为每类任务写清楚完成条件:
问答评测只采集最终文本;Agent评估需要采集完整轨迹:每一步的动作类型、工具选择、输入参数、返回结果、错误与重试、最终产物,以及外部系统的状态变化——消息是否真的发出、数据是否真的修改、工单是否真的创建。这直接决定了失败分析的方式:前者只能对着答案找错,后者可以回放轨迹逐步定位。
问答评测天然适合“一个总分”;Agent评估如果把一切压缩成一个总分,会把致命问题(越权操作、副作用未确认、关键事实错误)稀释在平均分里。正确做法是分层:软性质量走加权评分,安全与合规走门禁——门禁不通过,整体即不通过,一次越权不能因为最终文字流畅而被平均掉。
结果层建议重点考察:
其中,权限合规、关键事实、必须引用和副作用确认应设为硬门禁。
只看最终答案,会漏掉偶然猜对、错误工具、无效循环和不稳定的恢复。轨迹层评估的是外部可观测行为:工具选择合理性、参数正确性、无效循环与冗余调用、错误恢复能力、权限与安全合规。注意,这一层不需要读取隐藏思维链——思维链属于模型内部信息,不稳定也不适合作为验收依据;而工具调用记录是可观测、可存档、可回放的,既保证评测公平,也让失败可定位。
问答评测接近确定性:同一题目重复运行,结果分布较窄。Agent运行存在路径随机性,同一任务多次执行可能走完全不同的路径,单次结论不可靠。因此Agent评估需要固定可控的随机因素,并对每个样本多次运行,统计成功率与失败模式分布,而不是看一次跑通就下结论。成本度量也从“一次推理成本”变为Token总量、调用次数、端到端时延与人工介入次数的组合——同样完成任务,成本可能相差一个数量级。
| 维度 | 普通问答评测 | Agent三层评估 |
|---|---|---|
| 评估单元 | 单次问答 | 一次完整任务执行(多步) |
| 观测面 | 最终文本 | 结果 + 轨迹 + 外部状态 + 成本 |
| 完成定义 | 标准答案 / 评分要点 | 按任务类型定义的完成条件 |
| 指标类型 | 准确率、相似度等单维分数 | 完成率、事实性、轨迹合规、成本等分层指标 |
| 判定逻辑 | 单次打分、可平均 | 分层评分 + 硬门禁一票否决 |
| 评测环境 | 静态题目、无状态 | 有状态环境、真实或模拟工具 |
| 副作用 | 无 | 需通过后端状态或业务验证器确认 |
| 运行协议 | 单次执行 | 多次采样、统计成功率分布 |
| 样本字段 | 题目 + 答案 + 评分要点 | 输入、上下文、工具集、必做事项、参考证据、禁止行为、评分标准 |
| 成本度量 | 单次推理开销 | Token、调用次数、时延、人工介入 |
7.1 先写完成条件,再选指标。 每条评测样本建议同时保存七个字段:输入、上下文、允许使用的工具、必须完成的事项、参考证据、禁止行为和评分标准。开放任务不需要唯一“标准答案”,但至少要有可验收的事实、范围和完成证据。
7.2 结果层不要只看文笔。 报告写得流畅不等于任务完成,应以上文的结果层指标逐项核对,并把权限合规、关键事实、必须引用与副作用确认设为硬门禁。
7.3 轨迹层只看外部行为。 用可回放的行为记录评估工具选择、循环与恢复,不依赖模型内部输出。
7.4 硬门禁与三层评分的组合,可用如下示意代码表达(通用伪代码,仅说明判定流程):
# 示意代码:Agent三层评估的判定流程def evaluate_agent_run(sample, run):# 1. 硬门禁:一票否决,不参与平均for gate in sample.hard_gates: # 如权限合规、禁止行为、副作用确认if not gate.check(run):return Verdict(passed=False, reason=gate.name)# 2. 任务结果层:事情做成没有result = {"完成率": rubric.checklist(run.output, sample.must_do),"事实性": evidence.verify(run.output, sample.references),"外部状态": state_validator.confirm(run.side_effects),}# 3. 执行轨迹层:怎么做成的(仅看外部可观测行为)traj = {"工具选择": step_check(run.steps, sample.allowed_tools),"无效循环": loop_detector(run.steps),"恢复能力": recovery_check(run.steps),}# 4. 资源成本层:付出了什么代价cost = {"tokens": run.total_tokens,"calls": len(run.steps), "latency": run.duration}return Verdict(passed=True, result=result, trajectory=traj, cost=cost)
7.5 与云平台通用组件的衔接。 若Agent应用部署在百度智能云等云平台上,评估基础设施可以直接复用通用能力组合:用对象存储归档每条执行轨迹与中间产物,用日志服务与监控告警持续跟踪成本指标与失败率,用平台身份认证与权限体系为评测环境分配独立的最小权限账号,避免评测流量污染生产数据。这些是通用能力组合,不绑定任何特定评测工具。
普通问答评测与Agent三层评估不是简单的替代关系,而是观测面不同的两套体系:前者看“一次生成的质量”,后者看“一次任务执行的成败、方式与代价”。选型判断标准很清晰——任务是否有中间步骤、是否有外部副作用、路径是否多分支。只要满足其中一条,就不应只看最终答案,而应建立“结果 + 轨迹 + 成本”三层指标,并把安全、权限、关键事实与副作用确认设为不可抵消的硬门禁。最后需要强调的是:先把“什么叫完成”写清楚,再谈指标与自动化——这是两套评估体系最需要共同遵守、也最容易被忽视的一条原则。