AI 产品评测
模型 benchmark 帮你选择起步模型;产品 eval 检查的是实际应用能否完成用户目标,包括提示词、检索、工具、权限和业务代码。回答流畅,不代表请求的操作真的成功了。 本页综合 Hamel Husain 的评测卡片、FAQ 与 OpenAI 官方评测指南,是 Agent harness 的实操补充:harness 控制执行,eval 提供行为是否正确的证据。先看失败,再建看板
Trace 是从用户请求到最终结果的执行记录,包括消息、检索上下文、工具参数与结果,以及相关状态变化。多 Agent 流程应保留共同的 trace ID、事件来源和先后顺序。- 收集多样样本。 混合随机抽样、不同工作流、负面反馈、重试和异常慢的请求。即使已知道要找什么错误,也保留一部分随机抽样。
- 先写开放式笔记。 让理解产品的人先看实例,再让自动评审器建议标签。记录用户遇到了什么问题,包括普通代码缺陷和设计问题,不只盯模型错误。
- 归纳重复失败。 把笔记整理成具体类别,例如“预约了不可用时段”“工具失败后仍声称成功”。再按相关标准标注 pass/fail,并保留证据。
- 排序并持续复查。 综合频次、影响和修复成本,继续看数据,直到新样本不再带来或改变失败类别;产品有重要变化后重新检查。
把失败变成回归用例
阅读长对话时,先定位最上游的第一处失败,不要把它引发的后续连锁反应都当成独立问题。保留完整 trace 供排查,再缩小复现范围。 以一个虚构的预约 Agent 为例:
在沙箱中使用模拟工具或隔离测试账号回放,不要调用真实预约、支付或删除接口。工作流或工具 schema 大幅变化后,重建过期 fixture。仍需保留端到端测试:单个“下一步”检查通过,不代表完整会话能成功。
选择最便宜且可信的检查
先修提示词中明显漏写的要求和普通 bug;有价值时补便宜的回归测试。重要的语义错误需要反复衡量时,再投入 LLM 裁判。已知安全要求不必等真实事故发生才测试,例如授权检查和不可逆操作。
优先使用范围明确的 pass/fail,而不是未定义的“质量 4/5”。预约案例里,把“没有预约不可用时段”和“没有把未确认的预约说成成功”拆成两项,它们需要不同的证据。含义明确且经过验证时,数值评分或成对比较仍有价值;二元标签是实用默认值,不是普遍定律。
语义裁判可以返回一个简短的结构化结果:
检查路径、完整会话与最终状态
LangChain 的 Agent 评测指南区分了多种评测范围。根据失败发生的位置,选择真正能发现它的检查范围:
每一轮看起来都合理,整体任务仍可能失败。反过来,不同的工具调用顺序也可能得到同样正确的结果。应断言必要约束,例如写入前经过审批、不重复预约;除非顺序本身就是需求,否则不要只接受一条固定轨迹。
对于会改变状态的任务,每次评测都从干净、已知的 fixture 开始,运行后检查真实状态。编码任务可以检查仓库测试和最终 diff,而不是只读 Agent 的“已完成”。将可信评分检查放在 Agent 可修改的工作产物之外,不要只依赖 Agent 自己写或改过的测试判定成功。
容器是隔离这类任务的一种方式,不是所有 benchmark 的定义,本身也不是完整的安全边界。按测试需要限制凭证、网络、挂载和运行时间。记录 fixture 版本、工具配置、评分结果与 trace;必要时重复运行随机性较强的用例,报告尝试次数与通过次数。基础设施错误和超时单独记录,不要悄悄排除或算作成功。
用人工标签校准裁判
第二个模型的意见不是标准答案。为同一项标准收集人工标注的通过与失败样本;定义有歧义时,先澄清,再调裁判。 按用途隔离样本:- 训练/示例集: 从中选择裁判提示词里的 few-shot 示例。
- 开发集: 修改评分规则,分析裁判与人的分歧。
- 留出测试集: 检查泛化,不根据这里的标签调参。同源 trace 及其改写版本应放在同一分组,避免跨集合泄漏。
- TPR/失败召回率 =
TP / (TP + FN):人工标为失败的样本中,裁判抓住了多少。 - TNR/特异度 =
TN / (TN + FP):人工标为通过的样本中,裁判正确放行了多少。
区分回归测试、监控和护栏
回答后的检查可以发现一次错误购买,却不能阻止那次购买。必须在副作用发生前、模型之外执行权限控制。护栏还需要延迟和误报预算;检查失败时,不要盲目重试付款等写操作,参见购买审批边界。
CI 通过率不是用户满意度的估计:回归集会故意增加已知失败的占比。同样,全绿只证明覆盖范围内的检查通过。持续加入经过独立审查的生产失败与有针对性的边界用例,并在代码、提示词、模型、检索或工具变化时重跑相关评测。
最小起步清单
- 和产品/领域专家一起审查一小批多样样本。
- 命名一个重要失败,保留对应 trace 证据。
- 用最小、安全的 fixture 复现,写清断言或评分规则。
- 用人工标注的通过与失败样本验证自动裁判。
- 在同一批版本化用例上比较当前系统与候选系统。
- 明确失败由谁处理,把新的生产案例回流到测试集。
参考资料
- meng shao:Agent Evals 常见问题 — 2026-10-15 的 Folo 线索
- LangChain:The Most Common Questions About Agent Evals, Answered — 单步、完整会话、执行轨迹与环境终态评测
- meng shao:Pocket Guide to AI Evals — 2026-10-12 的 Folo 线索,指向 Hamel 原始卡片
- Hamel Husain:Evals flashcards — 重点参考错误分析、裁判验证、trace 用例与部署卡片
- Hamel Husain:AI Evals FAQ — 采样、评估器选型、校准与多轮调试
- Hamel Husain:Your AI Product Needs Evals — 以范围明确的测试和人工审查打基础
- OpenAI:Evaluation best practices — 任务专属评测、人工校准、边界情况与持续评测
