构建能改进AI产品的评估系统
摘要
Hamel Husain 和 Shreya Shankar 的 AI 评估课程是 Maven 平台上收入最高的课程,已培训了超过2,000名PM和工程师,以及500多家公司的领导者。本文分享了他们完整的实践指南——与 OpenAI、Anthropic 等领先实验室教学相同的方法论。关键观点是:很多团队构建的评估仪表盘看起来有用但最终被忽视,因为这些指标与真实用户问题脱节。本文提供了一个三阶段流程:通过严格的错误分析(Error Analysis)发现该衡量什么、构建可靠的评估套件、以及将评估系统运营化以创建持续改进的飞轮。
第一阶段:用错误分析将评估扎根于现实
在你能改进AI产品之前,你必须了解它是如何失败的。常见的错误是从衡量现成的、时髦的指标(如"幻觉"或"毒性")开始。你必须在系统地发现产品在特定语境中如何失败之后,才能知道该衡量什么。这个过程被称为错误分析(Error Analysis)。
指定一位首席领域专家(Principal Domain Expert)
对大多数中小型公司,最有效的方法是指定一位首席领域专家作为质量仲裁者——心理聊天机器人的心理学家、法律文档分析的律师。这个人(有时被称为"仁慈的独裁者")提供一致且深度知情的判断信号,消除了标注冲突和多人意见不一致导致的瘫痪。
开放编码(Open Coding)
接下来,让这位专家审阅大约100个具有代表性的用户交互。从随机采样开始建立直觉。专家审阅每个交互,写下自由形式的批评——任何看起来有问题或不受欢迎的地方——同时给出通过/不通过(pass/fail)判断。
- 通过(Pass):解释AI为何成功满足了用户的主要需求,即使有可以改进的关键方面。
- 不通过(Fail):识别导致失败的关键元素,解释AI为何未能达成用户的主要目标或损害了重要因素。
批评应足够详细,以便公司新员工能理解,或者能在 few-shot prompting 中用于 LLM 裁判。
附注:文中包含公寓租赁助手的开放编码截图示例,展示AI编造了不存在的虚拟导览。
轴心编码(Axial Coding)
收集了数十条记录的笔记后,下一步是轴心编码——模式发现。专家通读所有开放式批评并将其归类。该过程将混乱的观察列表转化为一个清晰、优先级排序的具体失败模式分类法。目标是控制在10个以内主要失败模式。
附注:文中包含轴心编码示例图和公寓租赁助手的失败类别分布(柱状图):对话流程(Conversation Flow)问题最多,其次为移交失败(Handoff)和重新预约(Rescheduling)问题。
第二阶段:构建评估套件
错误分析后,你将拥有产品最常见失败的优先级列表。接下来要构建一套自动化评估器。关键问题:这个失败是客观的、基于规则的(例如"输出是否包含用户ID?"),还是主观的、需要判断的(例如"语气是否符合人设?")?
- 客观失败 → 使用基于代码的评估器(Code-based Evaluators):快速、便宜、确定性的检查。
- 主观失败 → 构建LLM-as-a-Judge(以LLM为裁判)来可靠评估语气、相关性或推理质量。
LLM-as-a-Judge 操作指南
这不是写一个聪明的提示,而是一个系统性的过程。分为三步:
1. 建立基准真相(Ground Truth)
让首席领域专家为每个用户交互(按会话分组)提供:二元的通过/不通过判断和详细的批评。不要使用1-5分的李克特量表(Likert Scale)——"3"和"4"之间的区别是主观和不一致的。二元判断迫使清晰。
2. 构建并验证裁判
将基准数据分为三个不同的集合:
- 训练集(Train Set):10%–20%——用于裁判提示的少量清晰示例
- 开发集(Dev Set):40%–45%——用于迭代测试和优化裁判提示
- 测试集(Test Set):40%–45%——保留集,用于最终无偏测量
附注:文中包含 LLM-as-a-Judge 对齐过程的可视化流程图。
3. 衡量真正重要的指标:TPR/TNR 优于准确率
单靠准确率分数可能带来危险的误导。在结果不平衡的数据集中(例如系统99%时候成功),一个永远预测"通过"的裁判也会有99%准确率但从未捕捉到任何失败。
使用真正例率(TPR,True Positive Rate)和真负例率(TNR,True Negative Rate):
- TPR: 所有应该通过的示例中,裁判正确标记为"通过"的百分比
- TNR: 所有应该失败的示例中,裁判正确标记为"失败"的百分比
可接受的权衡取决于你的产品。对于AI医疗建议,漏掉有害建议(假阴性)的代价远高于误报。对于创意写作助手,将好回复标记为差的(假阳性)可能更糟。
特定架构的评估考量
多轮对话(Multi-turn Conversations)
从最高层级开始:整个会话是否实现了用户的目标?当会话失败时,在深入多轮分析前,先尝试在单轮中重现失败——这可以帮你区分简单的知识缺陷和真正的对话记忆失败。
检索增强生成(RAG,Retrieval-Augmented Generation)
RAG系统由两部分组成:检索器(Retriever)和生成器(Generator)。你必须分别评估它们。
首先评估检索器。最关键的指标通常是recall@k——在所有真正相关的文档中,前k个检索结果捕获了多少百分比。召回率(Recall)至关重要,因为如果正确信息没有被检索到,生成器就没有机会产生正确答案。k值的选择取决于任务——简单查询用小的k(3-5),需要多源综合的复杂查询用大的k(10-20)。
然后评估生成器:主要衡量忠实度(Faithfulness)和答案相关性(Answer Relevance)。先修复检索器,再专注于改进生成步骤。
智能体工作流(Agentic Workflows)
智能体(Agent)可以执行一系列操作(如工具调用)来完成目标,是最复杂的评估对象。使用转换失败矩阵(Transition Failure Matrix)来精确识别推理链中哪一步出了问题。行的代表最后成功的步骤,列代表失败发生的步骤,通过分析失败轨迹并映射到矩阵上,可以快速发现热点问题。
附注:文中包含一个转换失败矩阵示意图,展示了智能体工作流中各个状态转换的失败分布热力图。
第三阶段:评估系统运营化,实现持续改进
安全网:CI中的基于代码的评估
创建黄金数据集(Golden Dataset):精心策划的示例集合,包含核心功能、边缘案例和你修复过的每个重大bug的回归测试。在每次代码或提示变更时,CI流水线运行系统对黄金数据集的检查。通过CI构建意味着你没有重新引入已知的失败——这是稳定性的信号,而非整体生产质量。
发现引擎:生产环境中的 LLM-as-a-Judge 和保护栏(Guardrails)
生产监控系统是新失败模式的发现引擎。全面记录交互的完整轨迹。对采样的轨迹异步运行已验证的评估器。对于关键的高影响失败,使用保护栏(Guardrails)——同步运行的评估器,可以在用户看到之前阻止、编辑或重新生成响应。大多数保护栏是快速、确定性检查,必须具有很低的假阳性率。
闭合循环:改进飞轮
CI安全网和生产发现引擎共同创建了强大的改进循环。当生产监控标记一个新的或漂移的失败模式时,它触发新一轮错误分析——改进产品本身(如优化提示),同时将新示例添加到CI黄金数据集中。这个飞轮——监控、分析、改进、部署——是AI产品质量的引擎。
核心要点
构建真正改进AI产品的评估系统需要思维转变:从关注工具和通用分数,转向一个严格的、以人为中心的过程。这个过程始于错误分析以发现真实问题,依赖单一领域专家和清晰的二元标签建立一致的质量标准,为每项工作选择合适的工具(代码检查或LLM裁判),并将评估器运营化到CI/CD飞轮中。提示工程(Prompting)只是构建伟大AI产品的一小部分——真正的竞争优势来自通过健全的评估生命周期建立对系统失败的深刻理解。