Skip to content

H3 · 如何评估 Agent System 的能力与执行质量? - Evaluation ​

所属知识库:Agent 全栈技术地图
所属领域:03 · Agent System
所属章节:03 · 如何让 Agent System 稳定、安全、可控地运行? - Engineering & Governance
文档类型:评估方法论、实验设计与工程实施专题研究
版本:v1.1
更新日期:2026 年 10 月 28 日
核心问题:面对具有不确定性、工具调用、长期执行和多 Agent 协作能力的 Agent System,如何定义可测量的成功,构建可信评估数据、指标和评审机制,识别质量、成本、安全与可靠性的权衡,并通过可复现的实验决定系统是否可以发布或迭代?

专题导读 ​

本篇属 Engineering & Governance。Agent System 的质量无法仅用模型回答是否流畅来判断。用户要求“完成一份有来源、能复核的产业研究报告”,系统可能生成措辞漂亮的报告,却引用不存在的材料;也可能检索准确但漏掉关键分析;还可能完成任务,却重复调用付费接口、泄露不该访问的文件,或在多 Agent 交接中丢失用户约束。最终产物、过程行为、系统约束与用户价值必须同时进入评价。

本专题以“技术研究报告 Studio”为贯穿案例:用户提出研究任务,选题、检索、分析、审核与发布 Agent 通过 L4 Agent Engine 和 L5 Orchestration & Collaboration 完成任务,L6 Application 向用户交付结果。本文给出从评价对象、指标、数据集、自动裁判、人工标注、实验设计,到持续评估与发布门禁的完整方法。重点讨论如何将“看起来不错”转化为有证据、可比较、可追责的工程判断。

边界说明: H3 Evaluation 判断系统是否达到目标、为什么出现质量差异;H10 Testing & Validation 更侧重功能契约、确定性行为、集成与故障测试;H1 Observability 提供运行证据;H2 Security 规定安全边界;H7 Reliability 衡量服务持续性;H8 Resource Management 管理预算。它们共享数据,但不互相替代。模型本体的通用基准测试也不等同于端到端 Agent System 评估。

一、什么是 Agent System Evaluation? ​

1.1 定义与评估对象 ​

Agent System Evaluation 是针对特定任务分布、使用场景与运行约束,以可审计的证据判断系统能力、执行过程和交付结果是否满足预先定义目标的方法体系。它不仅是一个“打分器”,还包含目标定义、样本构建、执行环境、结果采集、裁判协议、统计分析、回归门禁和失败归因。

评估对象至少包括五个层次:

  1. 最终结果(Outcome):是否完成用户真实目标,产物是否正确、完整、可用。
  2. 执行轨迹(Trajectory):步骤选择、工具参数、信息检索、推理产物和协作交接是否合理。
  3. 约束遵守(Constraints):权限、时间、成本、隐私、格式、人工审批是否满足要求。
  4. 运行特性(Operational behavior):延迟、失败恢复、重试放大、Token 消耗、资源效率。
  5. 用户价值(User value):用户能否据此行动,修订工作量是否减少,是否愿意再次使用。

评估的基本单元应明确为 (任务样本, 环境版本, 系统版本, 随机种子或采样配置, 执行记录, 评分结果)。仅记录一条“85 分”的分数,不足以支持复现或归因。

1.2 能力、质量、可靠性和安全不是一个指标 ​

维度关键问题示例证据
能力能否解决目标任务?任务成功率
质量结果是否正确且有用?事实核验、专家评分
过程是否采用合理步骤?工具轨迹、证据链
效率用多少资源完成?成本、耗时、调用次数
稳定性多次执行是否一致?重复实验的分布
安全是否越过禁止边界?违规率、攻击测试
体验用户是否容易使用?修订率、任务满意度

“平均得分提高”不能自动抵消严重安全事故;高成功率也可能掩盖少量极端高成本任务。建议采用硬性门禁 + 多维指标面板 + 权衡分析,而非把所有指标简单加权成一个总分。

1.3 评估与测试的关系 ​

确定性测试通常回答“接口在给定条件下是否遵守契约”;评估更经常回答“在真实任务分布下,系统做得有多好”。例如,测试可以断言“引用字段必须包含可解析 URL”;评估则进一步判断“该来源是否真实支持这条结论”。两者有交叉:规则型评估可直接成为自动测试,评估数据集也可作为回归测试输入。不要把概率性裁判的单次判断包装成确定性证明。

二、先定义成功:从用户目标到可操作的评价契约 ​

2.1 从任务说明拆出验收维度 ​

以“比较三种 Agent 编排框架并提出技术选型建议”为例,用户真实目标并非“生成 3,000 字”,而是获得能够支持工程决策的比较。可将需求分解为:比较对象正确、版本和资料时效明确、关键能力覆盖、引用可追溯、结论与证据一致、适用条件说明充分、风险和迁移成本可见。

建议为每个评估任务编写 Evaluation Spec:

yaml
case_id: research-framework-017
user_goal: "比较三种 Agent 编排框架并给出选型建议"
task_family: comparative_research
input_fixture: "fixtures/framework-017/"
allowed_tools: [web_search, document_reader]
forbidden_actions: [publish_external, modify_source]
required_outputs: [comparison_report, source_manifest]
acceptance:
  hard_constraints:
 - "不得伪造引用或声称未执行的测试已执行"
 - "不得访问其他租户的文档"
  graded_dimensions:
 - factual_support
 - decision_usefulness
 - coverage
 - uncertainty_calibration
resource_limits:
  max_wall_seconds: 900
  max_usd: 2.00
review_protocol: "rubric-v3"

这是建议的评估契约示例,不是现成框架的标准配置文件。任务要求、禁止行为和预算要在执行前确定,不能看到结果后临时改规则。

2.2 硬约束与软质量分开 ​

硬约束包括越权访问、未授权发布、敏感信息泄露、伪造执行证据、关键结构缺失等。只要违反特定硬约束,即使内容质量很高也应判为不可发布。软质量包括表达清晰、结构完整、建议可操作、引用充分等,适合分级评分。

一个可解释的决策函数是:

text
release_eligible = all(critical_gates_pass)
                   AND lower_confidence_bound(success_rate) >= target
                   AND quality_score >= threshold
                   AND p95_cost <= budget

这里的阈值由业务风险、样本规模和发布策略决定;表达式展示的是决策结构,并非推荐所有系统共用某组阈值。当样本很少时,成功率的置信区间会很宽,应避免将表面改善视为可靠提升。

2.3 任务分布比单一 Benchmark 更重要 ​

公开 Benchmark 有助于横向比较,但通常不能代表私有工具、内部文档、组织权限和真实用户需求。实际评估应覆盖:高频简单任务、长链路复杂任务、边界模糊任务、资源受限任务、工具异常任务、恶意输入和稀有高风险任务。每类应明确抽样比例;线上自然分布与风险加权分布可分别报告,避免把人工强化的危险案例当成日常流量比例。

三、指标体系:从最终产物到每一步行为 ​

3.1 任务成功率及其分母 ​

定义 Task Success Rate = 满足验收条件的任务数 / 纳入评估的任务总数。必须同时规定:超时、用户取消、工具不可用、部分完成、人工接管、重试成功分别如何计入。不能只统计“有输出的任务”,否则会产生幸存者偏差。

研究报告任务可采用两层判定:第一层检查任务是否生成了完整可交付报告;第二层检查关键结论是否得到证据支持。两层同时通过才算完整成功。对于部分完成,应单独报告 partial success,不能混入完全成功率。

3.2 结果质量与事实性 ​

结果质量可拆为:正确性、覆盖度、相关性、逻辑一致性、可操作性、引用质量和不确定性表达。对于开放式研究,**事实支持度(groundedness)**尤其重要:将报告拆成可验证主张,逐条判断“支持 / 反驳 / 证据不足 / 无法判定”,并记录支持材料片段与来源位置。

text
Supported Claim Rate = 有充分证据支持的可核验主张数
                       / 已审查的可核验主张数

Citation Validity Rate = 可定位且与主张相关的引用数
                         / 被审查的引用总数

两者不可混用:链接存在不代表链接支持论断;引用覆盖高也不代表事实正确。对时间敏感事实还需核对发布日期、资料版本和引用时点。

3.3 过程行为指标 ​

过程指标用于发现“结果偶然正确、过程不可控”的问题,例如:

  • 工具选择正确率:所选工具是否适合当前子任务。
  • 工具参数有效率:参数是否满足 Schema 和业务约束。
  • 关键步骤完成率:是否经过必须的检索、核验、审批环节。
  • 无效循环率:重复检索或重复推理但无新增证据的比例。
  • 不必要动作率:未带来可识别收益的高成本操作。
  • 交接保真率:上游关键约束是否完整传递到下游 Agent。
  • 恢复正确率:中断后是否保留必要上下文并避免重复副作用。

注意“最短轨迹”不一定是“最佳轨迹”:医疗、法律、财务和发布等高风险任务需要额外核验,不能简单奖励更少步骤。过程评分应围绕必要性、授权性和有效性,而不是追求唯一标准路径。

3.4 效率、成本和尾部风险 ​

同时报告任务级 wall-clock latency、模型调用时间、工具等待时间、人工等待时间、总 Token、实际账单成本、调用次数和重试次数。延迟至少看 p50、p95,成本至少看均值、p95 和超预算比例。需要区分估算 Token 与供应商实际计费 Token,以及缓存、批处理和不同模型价格版本造成的差异。

当人工审批是产品设计的一部分,应分开报告“机器处理时间”和“包含人工等待的端到端时间”,否则跨版本比较失真。

3.5 多 Agent 协作指标 ​

多 Agent 的价值不是参与 Agent 数量,而是协作是否带来更好的质量或效率。建议测量任务分解合理性、依赖完成率、交接丢失率、冲突解决质量、审核返工有效率、汇总一致性和额外协作成本。要设置单 Agent 或简化工作流作为对照组,避免把复杂性本身当作进步。

四、评估数据集:样本、金标准与环境控制 ​

4.1 五类互补数据来源 ​

来源优点主要风险
真实任务脱敏贴近使用场景隐私、选择偏差
专家设计案例可覆盖关键能力与真实分布偏离
失败回放案例适合防回归过拟合旧故障
合成任务扩展覆盖面快模板化、泄漏
对抗案例发现边界风险不能代表自然流量

生产日志不能直接无筛选地作为“真值”。用户点赞可能仅代表语言风格满意,未必代表事实正确;人工修订记录可能包含后续信息,不应倒灌给评估时的 Agent。每条样本要保留来源、授权状态、采集时间、脱敏方式、标签版本和数据保留策略。

4.2 数据切分与污染控制 ​

至少区分开发集(用于设计和调参)、验证集(用于版本选择)和保留测试集(最终报告)。对长周期系统还应设置时间外推集(较新资料)、领域外集(未见任务类型)与高风险集。相似文档、同一用户任务的不同改写和同一案例衍生样本应按案例族分组切分,避免近重复泄漏。

对联网研究任务,模型可接触到不断变化的网页。应提供两种模式:

  1. 冻结环境评估:固定网页快照、文档版本、工具返回和时间,主要用于可复现回归。
  2. 开放环境评估:允许实时检索,主要衡量真实可用性;必须记录检索时间、页面版本和外部异常。

冻结环境牺牲部分真实性,开放环境牺牲部分可复现性;两种结果应分开解释。

4.3 金标准不是唯一参考答案 ​

开放式任务往往存在多种有效答案。建议采用“必要事实 + 禁止错误 + 评价量规 + 参考证据”组合,而不是只用字符串相似度。对编程或结构化任务,单元测试、SQL 查询结果、Schema 校验可提供更强的客观证据;对研究报告,专家共识与证据核验更重要。

一个完整样本记录可以包含:case_id、任务描述、上下文快照、授权工具、预期交付、必须满足的事实、可接受替代方案、不可接受行为、评分量规、标签来源、版本和审查者。

4.4 数据集治理 ​

建立数据集版本号与不可变快照。修改标签必须保留修订原因和审批记录;高风险样本限制访问;训练、提示词优化和评估之间明确隔离。出现模型或系统对测试集“刷分”时,应更换保留集并补充真实任务抽样。数据量扩大不自动提高代表性,样本覆盖和标签质量更关键。

五、裁判机制:规则、执行验证、模型裁判与人工审查 ​

5.1 裁判层级与证据强度 ​

优先使用可验证的客观机制,再引入主观判断。典型顺序是:Schema 与规则检查 → 可执行验证 → 来源与事实核验 → LLM-as-a-Judge → 人工专家复核。顺序不表示后者必然较弱,而是不同维度应选择最适合的证据。

裁判适合判断不适合单独判断
规则校验格式、字段、禁止动作深层事实正确性
执行验证代码、查询、工具副作用开放式论证质量
来源核验引用是否支持主张整体用户价值
模型裁判相关性、覆盖度、表达事实真值的唯一依据
人工专家专业判断、复杂权衡无限制大规模实时评分

5.2 LLM-as-a-Judge 的正确使用 ​

模型裁判可降低大规模人工评审成本,但存在位置偏差、长度偏好、措辞偏好、模型家族相关性和事实幻觉。建议采用逐维评分 + 明确锚点 + 引用证据 + 不确定项,而不是“请打 1 - 10 分”。

text
角色:评估员,而不是内容生成助手。
输入:任务要求、候选报告、可核验来源摘录、评分量规。
请分别判断:事实支持、任务覆盖、决策可用性。
每个维度输出:等级、理由、支持证据位置、无法判定项。
不得根据文章长度直接提高分数。
若来源不足,标记“证据不足”,不得补充外部事实。
输出符合指定 JSON Schema。

该提示词只是裁判设计示例,不能保证消除偏差。评分时应固定裁判模型版本、提示词版本、温度等参数;对成对比较交换候选顺序;在人工标注子集上检查裁判一致性、误判类型和不同任务族的偏差。若裁判与被评估系统使用相同模型家族,更需要独立核验。

5.3 评分量规(Rubric)设计 ​

推荐使用有行为锚点的 0 - 4 级量规。以“证据支持度”为例:

分值判定锚点
0大量关键主张无依据或错误
1关键主张存在明显证据缺口
2部分关键主张有证据,仍有重要缺口
3主要主张可追溯,少量非关键缺口
4关键主张充分支持且不确定性清楚

评分前应明确“关键主张”的判定规则,并对高风险事实给予独立核验。量规应尽量避免“专业”“深刻”“优秀”等无法操作化的词。对于无法判断的情况使用 N/A 或 insufficient_evidence,不要强行给中间分。

5.4 人工标注一致性 ​

对有争议的任务至少进行双人盲评,并记录分歧与仲裁。分类任务可使用 Cohen's kappa 等一致性指标;有序等级可使用加权 kappa;多评审者可考虑 Krippendorff's alpha。指标选型依赖数据类型与缺失情况,不能机械套用。报告一致性时同时公布标签分布、样本量与典型分歧,因为类别极不平衡时单个系数可能误导。

5.5 何时必须升级人工复核 ​

高风险操作、低置信度、裁判冲突、疑似引用伪造、政策违规、异常高成本以及接近发布门槛的边缘样本,应进入人工复核队列。人工复核不是“兜底万能答案”,同样需要标准、培训、抽样质检和审计记录。

六、轨迹评估:不仅检查答案,还检查 Agent 如何到达答案 ​

6.1 轨迹的数据结构 ​

一个可审查的轨迹至少需要:task_id、run_id、step_id、agent_id、时间戳、动作类型、工具标识、输入摘要、输出摘要、权限判定、状态转换、错误分类、证据引用和关联的产物版本。敏感原文不必全部进入评估仓库,可保存受控引用、哈希和脱敏摘要。H1 负责采集和关联,H3 负责判定行为质量。

6.2 结果正确但过程错误 ​

例如检索 Agent 访问了无权读取的文档,却恰好生成正确结论。仅检查最终报告会将其计为成功,但过程违反硬性安全约束,应判定不可接受。相反,Agent 先检索失败再合法回退至备用来源,虽然轨迹更长,仍可能是正确策略。轨迹评价必须同时理解目标、权限和环境条件。

6.3 关键动作与非关键动作 ​

不是每个步骤都值得人工逐条评估。可建立关键动作清单:外部发布、删除/修改、支付、权限变更、敏感数据读取、跨 Agent 权限委托、最终结论引用等。对关键动作进行全量规则审计;对一般搜索与思考步骤进行抽样、异常检测或模型裁判。

6.4 反事实与归因的限制 ​

看到失败轨迹后可以提出“如果更早检索会更好”的假设,但这不等于因果证明。要确认某组件导致性能变化,最好使用受控消融实验:固定其余条件,替换单个路由策略、提示词、工具或协作结构,再比较结果。Agent 执行具有路径依赖,某一步的修改可能改变后续全部环境,因此“只重放最后一步”常常不足以说明系统级影响。

七、实验设计:让版本比较有统计意义 ​

7.1 明确比较单位 ​

常见比较对象包括:模型版本、系统提示词、检索策略、工具集合、Agent 分工、编排图、审核流程、预算配置。每次实验记录版本指纹:代码提交、配置、模型供应商与模型 ID、提示词模板、工具版本、检索索引版本、数据集快照、裁判版本和运行时间。

7.2 配对实验与重复运行 ​

优先让候选 A、B 在相同任务样本与尽可能相同的环境快照上运行,计算每个案例的差值,而不只比较两组平均数。对于随机性明显的系统,对部分样本重复运行,报告均值、分布与波动。即使温度为 0,也不能假定跨供应商、并发环境或模型更新时结果完全确定。

7.3 置信区间与显著性 ​

成功率是二项比例,可使用 Wilson 区间等方法描述不确定性;配对成功/失败结果可考虑 McNemar 检验;连续评分的配对差值可使用适当的 Bootstrap 置信区间。统计方法须符合抽样方式和独立性假设。对于同一客户或同一任务族的多个高度相关案例,应采用分组重采样或层级分析,不能把它们全部视为独立观测。

示例:在 40 个案例上成功率从 70% 升至 75%,并不能仅凭 5 个百分点差距断言改进稳定成立。应查看哪些案例改善、哪些退化、样本量与置信区间,以及是否出现严重安全回归。

7.4 多目标权衡与 Pareto 前沿 ​

常见权衡是质量、延迟、成本与安全。某版本提高质量 2%,但成本翻倍、p95 延迟增加三倍,未必适合生产。可以展示 Pareto 前沿:若某候选在所有关键指标上不劣且至少一项更好,它支配另一候选;若存在权衡,则依据产品约束选择。硬性安全门禁不可作为一般成本收益权衡项。

7.5 在线实验的特殊问题 ​

A/B 测试需考虑用户随机分组、任务难度差异、用户学习效应、网络效应和跨任务记忆污染。多 Agent Studio 可能产生长期状态,不能让同一工作空间在两个版本间随意切换后仍当作独立样本。线上实验应预设停止条件、风险监控、回滚策略和用户影响评估。

八、完整工程架构:评估系统如何接入 L1 - L6 ​

8.1 建议的组件划分 ​

text
                         Evaluation Control Plane
      ┌───────────────────────────────────────────────────┐
      │ Case Registry / Dataset Version / Experiment Spec │
      │ Run Scheduler / Environment Snapshot / Budget     │
      │ Grader Registry / Human Review / Report / Gate    │
      └──────────────────────┬────────────────────────────┘
                             │ 执行任务与版本配置
                             ▼
      ┌───────────────────────────────────────────────────┐
      │                 Agent System Under Test           │
      │ L6 Application → L5 Orchestration → L4 Engine     │
      │                 → L3 Model Services               │
      │              → L2 Services → L1 Infra             │
      └──────────────────────┬────────────────────────────┘
                             │ 结果、轨迹、费用、证据
                             ▼
      ┌───────────────────────────────────────────────────┐
      │ Evidence Store → Deterministic Graders            │
      │                → Source Checks / Model Judges     │
      │                → Human Adjudication               │
      │                → Aggregate Metrics / Release Gate │
      └───────────────────────────────────────────────────┘

Evaluation Control Plane 是逻辑设计概念,并非要求部署独立平台。小规模项目可以从 Python 脚本、版本化 JSONL 和人工复核表开始;只有在多团队、多环境、多版本比较时才逐步引入调度服务与评审平台。

8.2 关键数据实体 ​

实体核心字段用途
DatasetVersionid、hash、source固定样本集合
EvalCasecase_id、spec、fixture定义单个任务
Experimentcandidate、baseline、config定义对照
EvalRunrun_id、case_id、version记录一次执行
EvidenceBundletrace_ref、artifact_ref汇总证据
Graderubric、score、judge_version保存评分
Adjudicationreviewers、decision处理争议
GateDecisionthresholds、result发布判定

评分必须引用不可变的 EvalRun 与 EvidenceBundle;如果后续补充新证据或更换裁判,应产生新的 Grade 版本,而不是静默覆盖旧分数。

8.3 最小可行实现路线 ​

阶段一:手工基线。 收集 30 - 50 个具有代表性的任务,制定任务级成功标准,保存原始输出与关键来源,安排人工盲评,建立基线。样本数量只是启动建议,不能视为统计充分性的保证。

阶段二:自动化执行。 固定数据集和环境,批量运行 Agent,自动采集 Run、Step、工具调用、产物与成本,加入 Schema、权限和引用有效性规则。

阶段三:混合裁判。 引入模型裁判和来源核验,保留人工校准集,分析不同任务族的裁判误差与一致性。

阶段四:持续评估。 接入 CI/CD 和发布流程:每次关键模型、提示词、工具或编排改动触发回归;每天或每周抽样线上案例;按风险级别执行发布门禁。

阶段五:闭环优化。 将失败案例按根因归档,转化为回归集,并通过消融实验确认修复有效,避免只针对个别样本改提示词。

九、研究报告 Studio:端到端评估案例 ​

9.1 业务场景与候选系统 ​

任务:“分析某细分行业过去三年的市场变化,比较主要参与者,并给出未来一年可执行的进入建议。”候选 A 使用单 Agent 加检索工具;候选 B 使用选题、检索、分析、审核四类 Agent;候选 C 在 B 基础上增加独立事实核验环节。实验目标是判断额外协作是否提升证据质量,以及提升是否足以覆盖成本和延迟。

9.2 案例集设计 ​

将案例分为事实检索、比较研究、综合判断、资料冲突、信息不足、过期资料、访问受限与异常工具返回八类。每类设计明确验收标准,并标记高风险事实。对于来源经常变化的案例,保存检索快照并记录采集日期。

9.3 评价矩阵 ​

维度测量方法失败示例
任务完成必要章节与目标检查缺少进入建议
事实支持主张逐条核验数据无来源
来源质量引用定位与时效检查引用不支持结论
分析有效性专家量规建议无法执行
过程合规工具轨迹与权限审计越权读取文件
协作质量交接与返工记录审核意见未落实
效率任务成本与 p95 延迟反复无效检索
稳定性同任务重复运行结论大幅漂移

9.4 示例评分与门禁 ​

假设某研究案例:内容完整性 4/4,事实支持 2/4,建议可执行性 3/4,成本合格,且未发生越权。此时不应因平均分 3/4 就直接发布:事实支持度低于研究报告的必要标准,应进入核验返工。再如,事实支持 4/4 但发布 Agent 未经授权直接公开报告,则触发安全硬门禁,任务判为不可发布。

这些分值用于解释规则,不代表真实系统的测量结果。

9.5 如何判断多 Agent 是否值得 ​

比较 A/B/C 的配对任务成功差异、证据支持率、专家评分、成本与尾部延迟,并单独观察哪些任务族受益。例如复杂资料冲突案例可能因独立审核明显改善,而简单事实检索可能因额外交接变慢。可以采用按任务复杂度路由的混合策略,但必须用独立验证集确认该策略有效,避免事后挑选有利案例。

十、失败分析与持续改进 ​

10.1 失败分类法 ​

建议以“可行动的根因”为中心建立标签体系:任务理解错误、检索覆盖不足、证据误读、模型推理错误、工具参数错误、工具不可用、上下文丢失、协作交接失败、审核失效、状态恢复错误、权限拒绝处理不当、预算耗尽、用户需求不明确等。一个失败可以有多个原因,但应标注主要触发点与证据。

10.2 从指标退化到根因定位 ​

例如版本升级后事实支持率下降:先确认数据集与裁判版本未变化,再查看是否集中于特定任务族;随后比较检索命中、引用来源、摘要压缩、Agent 交接与最终写作阶段。H1 的 Trace 证明“发生了什么”,H3 的量规判断“质量为何下降”,消融实验进一步检验“哪个变更造成下降”。

10.3 防止 Goodhart 式指标优化 ​

一旦某个指标成为唯一目标,系统可能学会迎合指标而非用户价值。例如追求引用数量会制造无关引用;追求步骤数减少会跳过必要核验;追求裁判分数可能增加华丽但空洞的表达。应持续审查指标与真实业务目标的相关性,并保留独立人工抽样与用户任务完成证据。

10.4 漂移与重新评估 ​

模型版本、工具接口、知识库内容、用户群体和任务难度变化,都会导致历史分数失效。需要定义触发重新评估的事件:模型或提示词变更、检索索引重建、工具权限调整、重大事故、线上质量持续退化、新任务族进入生产等。历史评估结果应标注适用版本和有效时间范围。

十一、评估的常见误区与工程纠偏 ​

误区一:只评估最终文本。 纠偏:同时审查关键轨迹、权限、引用、成本和用户价值。

误区二:让一个模型直接给所有结果打总分。 纠偏:客观检查优先,分维度量规,模型裁判与人工校准结合。

误区三:把 Benchmark 排名当成系统上线依据。 纠偏:使用私有任务分布、真实工具与权限环境进行端到端评估。

误区四:用测试集反复调提示词。 纠偏:区分开发、验证、保留测试集,并按案例族防止近重复泄漏。

误区五:只看均值。 纠偏:报告分位数、失败类型、置信区间、极端成本和关键任务族。

误区六:认为 LLM-as-a-Judge 可以替代事实核验。 纠偏:对关键事实使用可定位证据与独立复核。

误区七:把一次成功当作稳定成功。 纠偏:重复运行,测量方差、失败概率和环境依赖。

误区八:认为 Agent 越多越好。 纠偏:用单 Agent 基线和配对消融证明协作增益。

误区九:把安全事故平均进质量分。 纠偏:关键安全约束独立设置硬门禁。

误区十:将线上用户反馈直接作为正确答案。 纠偏:反馈可作为线索,但需与事实核验、任务成功和代表性抽样结合。

十二、可执行的最小评估实验 ​

12.1 实验目标 ​

验证一个最基础的评估聚合器是否能:①计算任务成功率;②独立识别硬性安全失败;③汇总成本;④阻止“高平均分掩盖安全违规”。以下代码仅使用 Python 标准库,输入为模拟评分记录,不涉及真实 Agent 或 LLM 裁判。配套文件 H3-Agent-System-Evaluation-v1.1-demo.py,Python 3 标准库(含 3.9)。运行:python3 H3-Agent-System-Evaluation-v1.1-demo.py。

python
from __future__ import annotations

from dataclasses import dataclass
from statistics import mean

@dataclass(frozen=True)
class EvalRecord:
    case_id: str
    success: bool
    quality: float
    critical_violation: bool
    cost_usd: float

def summarize(records: list[EvalRecord]) -> dict:
    if not records:
        raise ValueError("Evaluation set must not be empty")
    if any(not (0 <= r.quality <= 4) or r.cost_usd < 0 for r in records):
        raise ValueError("Invalid score or cost")
    return {
        "cases": len(records),
        "success_rate": sum(r.success for r in records) / len(records),
        "mean_quality": mean(r.quality for r in records),
        "total_cost_usd": sum(r.cost_usd for r in records),
        "critical_violations": sum(r.critical_violation for r in records),
        "release_eligible": all(not r.critical_violation for r in records),
    }

sample = [
    EvalRecord("case-1", True, 4, False, 0.20),
    EvalRecord("case-2", True, 4, True, 0.30),
    EvalRecord("case-3", False, 1, False, 0.10),
]
result = summarize(sample)
assert result["cases"] == 3
assert abs(result["success_rate"] - 2 / 3) < 1e-12
assert result["critical_violations"] == 1
assert result["release_eligible"] is False
print(result)

本地执行通过:输出 {'cases': 3, 'success_rate': 0.6666666666666666, 'mean_quality': 3, 'total_cost_usd': 0.6, 'critical_violations': 1, 'release_eligible': False}。

这里 release_eligible 只展示硬性违规门禁,真实发布还必须增加质量阈值、样本充分性、统计不确定性、延迟和成本条件。代码不支持概率置信区间,也不能判断模拟分数是否正确。

12.2 建议的集成验收清单 ​

  1. 同一数据集、配置和环境快照可重复运行,生成可关联的实验 ID。
  2. 每次执行保存输入、输出、关键轨迹、产物哈希与计费证据。
  3. 规则裁判可独立复现,模型裁判记录模型与提示词版本。
  4. 关键安全违规在高质量评分下仍触发发布阻断。
  5. 不同候选使用同一案例集并报告配对差异。
  6. 人工评审具有盲评、争议仲裁和一致性检查。
  7. 线上数据经授权、脱敏和保留策略处理。
  8. 失败样本进入回归集时,记录原因并防止污染保留测试集。

十三、研究结论 ​

结论一:评估的对象是 Agent System 完成真实任务的能力,不只是模型输出。 最终产物、执行轨迹、权限约束、成本和用户价值共同决定系统是否可用。

结论二:成功标准必须在实验前明确。 对开放式任务,应以任务验收契约、关键事实、评分量规和禁止行为组合定义成功,而非依赖单个参考答案。

结论三:自动评估应采用混合裁判体系。 Schema、可执行验证和证据核验提供客观基础;模型裁判扩大覆盖;人工专家负责校准、争议和高风险判断。

结论四:评估结果必须可复现、可比较、可归因。 数据集、环境、模型、提示词、工具、裁判及产物均需版本化;比较应采用配对实验、适当重复和不确定性分析。

结论五:发布决策不能被平均分绑架。 安全硬门禁、关键任务成功率、质量分布、尾部成本和延迟需要分别呈现。

结论六:多 Agent 的价值需要通过实验而非架构复杂度证明。 应与单 Agent 基线比较,按任务族识别协作的真实收益和代价。

结论七:评估是持续工程机制。 系统、数据和环境变化会使旧结果失效;线上抽样、失败归因、回归评估和重新校准应构成长期闭环。

附录 A:参考文献与原始资料 ​

以下列出与本专题方法和工具有关的主要公开资料。链接用于进一步核验;具体接口、模型和框架能力可能随版本变化。本文中的 Studio 案例、指标组合、Evaluation Spec 和工程架构属于综合设计建议,不应误认为以下资料原文提供的统一标准。

A.1 如何使用这些资料 ​

R1 - R6 主要用于了解评估流程、数据集、自动裁判与工具实践;R7 - R8 提供风险治理背景;R9 支持运行证据采集的标准化思路;R10 - R11 用于理解公开基准的适用边界;R12 - R15 帮助理解不同 Agent 架构的运行方式。公开基准并不天然覆盖私有工具、组织权限和真实业务成功标准。

附录 B:研究证据、验证声明与适用边界 ​

B.1 内容来源与证据等级 ​

  • 标准或官方资料支持的概念:风险管理框架、评估 API/工具的基本用途、生成式 AI 追踪规范及相关框架的公开架构概念。
  • 研究综合与工程建议:本文的五层评估对象、硬门禁设计、评价矩阵、Studio 数据实体、实验阶段路线和示例量规,是针对 Agent System 的设计性归纳,非某一官方标准的逐条规定。
  • 示例性假设:样本规模、预算、分值、发布条件和 A/B/C 对照架构均为说明方法而设,不代表真实生产数据。

B.2 验证声明 ​

本文没有执行真实模型、联网检索、第三方评估平台、人工专家盲评或生产环境 A/B 实验;不宣称任何 Agent 框架在某项指标上实际领先。文中的 Python 代码是标准库最小实验,需通过本地执行记录确认是否运行成功。参考资料的实时可访问性与最新版本仍需在正式工程实施时复核。

B.3 适用边界 ​

本文适用于研究型、工具型、多步骤及多 Agent 应用的评估体系设计。对医疗、法律、金融、公共安全等高风险场景,还需增加领域专门标准、合规审查、专业人员参与和适当的外部验证;通用量规不能替代专业责任。对完全确定性的自动化流程,可优先使用契约测试与形式化规则,避免不必要的模型裁判。

B.4 与相邻专题的衔接 ​

后续专题: 「H4 · 如何管理、保存和恢复系统状态? - State Management」。