动态

AI代理开发中评估与错误分析的最佳实践

Andrew Ng
上周我写道,团队构建AI代理进展速度的最大预测因素是他们能否严格执行评估(衡量系统性能)和错误分析(识别错误原因)的流程,读者们既惊讶又赞同。人们很容易走捷径,快速尝试修复错误,而不是放慢脚步找出根本原因。但评估和错误分析可以带来更快的进展。在这封两封信的第一部分中,我将分享一些在代理系统中发现和解决问题的最佳实践。

尽管错误分析长期以来一直是监督学习系统的重要组成部分,但与使用最新、最热门的工具相比,它仍然被低估。识别特定错误类型的根本原因似乎很“枯燥”,但它是值得的!如果你还不相信错误分析的重要性,请允许我指出:
- 要掌握一首乐曲,你不只是从头到尾演奏同一首曲子。相反,你找到自己卡壳的地方,并多加练习。
- 要保持健康,你不仅仅根据最新的营养潮流来安排饮食。你还会询问医生你的血液检查结果,看看是否有任何问题。(上个月我这么做了,很高兴地报告我身体很健康!)
- 要提高你运动队的表现,你不只是练习花哨的投篮。相反,你回顾比赛录像以发现差距,然后加以解决。

要改进你的AI代理系统,不要只是堆砌在社交媒体上刚走红的最新热门技术(尽管我和其他人一样发现尝试热门AI技术很有趣!)。相反,使用错误分析来找出它的不足之处,并专注于改进。

在分析错误之前,我们首先必须决定什么是错误。因此,第一步是进行评估。在本信的剩余部分,我将重点讨论这一点,并将在下周讨论错误分析。

如果你使用监督学习来训练二元分类器,算法可能出错的方式是有限的。它可能输出0而不是1,或者相反。还有一些标准指标,如准确率、精确率、召回率、F1、ROC等,适用于许多问题。因此,只要你知道测试分布,评估就相对简单,错误分析的大部分工作在于识别算法在哪些类型的输入上失败,这也导致了以数据为中心的AI技术,用于获取更多数据以增强算法在薄弱领域的表现。

对于生成式AI,来自监督学习评估和错误分析的许多直觉仍然适用——历史不会重演,但会押韵——并且已经熟悉机器学习和深度学习的开发者通常比从零开始的人更快适应生成式AI。但一个新挑战是输出空间更加丰富,因此算法输出可能出错的方式也更多。

以自动化处理财务发票为例,我们使用代理工作流将收到的发票信息填充到财务数据库中。算法会错误提取发票到期日吗?还是最终金额?或者将付款人地址误认为收款人地址?或者搞错财务货币?或者调用错误的API导致验证过程失败?由于输出空间更大,失败模式的数量也大得多。

因此,与其提前定义错误指标,通常更有效的方法是先快速构建一个原型,然后手动检查一些代理输出,看看它在哪些方面表现良好,哪些方面遇到困难。这使你可以专注于构建数据集和错误指标——有时是在代码中实现的客观指标,有时是使用LLM的主观指标。
动态Andrew Ng2025-10-16原文

相关内容