工具调用返回 200,并不能证明你的智能体完成了操作。你是如何验证操作是否成功的?

Reddit r/AI_Agents 新闻

摘要

一位实践者分享了一种情况:AI 智能体的工具调用返回成功(200/ID),但预期操作实际上并未完成(例如,邮件仍停留在草稿箱中)。他们建议在每次写入操作后回读验证,将操作标记为“已验证”“已确认收到”或“与实际结果不符”,并询问其他人如何验证智能体的操作。

我反复遇到的情况是:智能体说它已经发送了提案,工具调用返回了一个 id,追踪记录一片绿。邮件却还躺在草稿箱里。所以,我已经不再把成功响应当作证据。大多数 API 只会告诉你它们接受了请求:邮件 API 在消息被接受时就返回一个 id,而不是在消息送达时(更不是在送达正确收件人时);CRM 更新返回 200,然后工作流规则一秒后就把那个字段覆盖了;日历 API 创建了日程,却悄悄漏掉了一个无法匹配的参会者。我现在的做法是,每次写入后都回读:获取那个对象,并将它与智能体原本打算执行的操作进行比较。每个操作都会被标记为以下三种状态之一:已验证:已回读,结果匹配;已确认接收:API 表示成功,但没有回读任何内容(200 响应也就只能证明这些);结果矛盾:已回读,结果与智能体声称的情况不符。有两条规则能确保这些判断如实反映情况。如果回读本身失败了(网络错误、缺少 id),那就是未检查,而不是结果矛盾。如果记录存在,但没有可供比较的内容,那它仍然属于已确认接收。结果矛盾这一类才是关键。没有它,你就只能等客户来告诉你出了问题。很好奇其他人是怎么处理的。针对每个工具做回读、评估、人工审核,还是直接相信响应?
查看原文

相似文章