4.2 错误分析与制定下一步优先级
讲解如何通过系统性的错误分析来确定工作重点,提高系统改进效率。
4.2 错误分析与制定下一步优先级
在复杂的代理式 AI 工作流程中,通过系统性的错误分析来确定工作重点,是提高系统改进效率的关键。
对大多数初学者而言,错误分析好像并不是一件值得去做的事——我能用半天就搭起一个运行效率不错的Demo系统,为什么还要花更多的时间写一个可维护的错误分析系统呢?
但是,当Agent系统已经MVP,或者即将投入生产时,系统可能已经变得十分复杂。这时候如果仍像Demo阶段依赖直觉,就对直觉准度提出了极大的考验——到底是哪一环节出了影响效果的问题,或者还有提升空间?要不要单独拆出来跑?如果拆出来按单元跑,要不要Mock数据?如果系统需要经常更换底层LLM,风险就更大了。
所以,从一开始就将错误分析纳入计划,有利于在项目复杂化,工程化后仍能很好地管理。比如在多次测试后,发现总有一些组件或步骤很稳定,而另一些很容易受模型或输入格式的影响,这就帮助了我们深入理解系统,也能锻炼我们的Agent直觉。
那么,应该如何进行错误分析?
错误分析的核心是观察和量化,以找出工作流程中表现最差的组件。
- 检查追踪 (Traces) 和中间输出
- 定义: 代理在运行过程中,每一步产生的中间输出的整体集合被称为追踪 (trace)。单个步骤的输出有时被称为 span。
- 方法: 查看追踪,观察每个步骤的输出质量,先笼统了解哪个组件出了问题。
- 示例:比如针对一个科研资料查询的Agent
- 步骤 1:生成搜索词 - 请人类专家判断搜索词是否合理。如果合理,则搜索关键字生成组件没问题。
- 步骤 2:网页搜索结果 - 检查返回的 URL 和文章质量。如果返回了太多非科学的博客或大众媒体文章,则搜索引擎是问题所在。
- 步骤 3:信息筛选 - 如果提供给LLM的文章有好有坏,但LLM选择了其中比较夺人眼球的水文,而不是严肃的科研文章,那LLM的型号或提示词就是问题所在。
- 聚焦错误案例并量化
- 聚焦错误: 将精力集中在最终输出不令人满意的少数案例上,而不是那些运行良好的案例。
- 建立电子表格进行量化: 为了更严谨地分析,可以建立一个电子表格,明确地统计每个组件出现“错误”的频率。
- 错误的定义: 某一步的输出明显差于一个人类专家在给定相同输入时会给出的结果。
- 统计示例: 记录在所有被分析的错误案例中,搜索词不佳的比例、搜索结果不佳的比例等。
- 指导决策: 如果发现对搜索结果不满意的频率远高于对搜索词不满意的频率(如 45% vs 5%),那么工作重点就应放在改进网页搜索引擎或调整其参数上,而不是更改搜索词的生成逻辑。