你的智能体检查了一切,但结果依然是错的。

我运行着一个多智能体工作流。一个模型负责设计,一个负责写代码,一个负责审查,最后由我审批结果。

最近,有三个错误通过了这个流水线。每个智能体都完美地完成了自己的任务。系统表现得很一致,但这种一致性却是错误的。

这不是智能问题,而是边界问题。智能体只会根据你提供的上下文,精确地执行你要求的任务。它不会主动发现新的事物并进行验证。

以下是三个真实的失败案例以及修复方法:

  1. 成功的假象掩盖了失败 一个 ETL 流水线从 API 获取数据。API 会话过期了。API 没有返回错误代码,而是返回了 HTTP 200,并将错误信息放在了 JSON 内部。智能体检查了错误代码,没发现任何错误,便认为数据是有效的。
  • 修复方案:使用语义验证。不要只检查调用是否成功,还要检查返回的数据是否符合预期的结构和行数。
  1. 缺失的产物 一个代码生成器为某个芯片生成了 C 文件。审查者确认代码是正确的。然而,生成器从未创建所需的 widget table 文件。审查者检查了已存在的文件,但没有检查缺失的文件。
  • 修复方案:验证输出的完整性。务必先列出所需的文件清单。在进入下一步之前,确认每个文件都已存在且不为空。
  1. 错误的工程声明 一个 SDK 文件夹声称是为 RISC-V 芯片设计的,但头文件注释却说它是为 CSKY 处理器设计的。智能体信任了文件夹名称和注释,却忽略了证明该声明错误的实际机器指令。
  • 修复方案:使用事实真相 (ground-truth) 验证。如果一个文件做出了某种声明,请使用命令来测试该声明。不要相信注释或目录名称,要相信原始数据。

智能体只会验证你要求它们验证的内容。它们不会主动询问:“还有什么地方可能出错?”

你必须设计边界。你必须在工作流的边缘构建验证检查点。

Source: https://dev.to/antonio_zhu_e726fd856cd86/your-agent-checked-everything-it-was-still-wrong-18kd

Optional learning community: https://t.me/GyaanSetuAi