研究揭示Agent任务完成与数据库状态不符
原文:The Agent Said It Was Done. The Database Disagreed.
Agent 说搞定了,数据库不同意。图 1:ThinkingBox 让 agent 在隔离的 MCP 工具会话中运行,然后对其留下的终端后端状态和副作用进行评分。来自我们的 ThinkingBox 论文。这是 Microsoft 和 Hugging Face 的联合博客,特别感谢 Tommy Guy(Enderis AI 创始人,此前任职于 Microsoft)、Hugging Face 的 Sergio Paniego,以及我们此前的实习生 Zhuochun Li(匹兹堡大学)、Ali Keramati(UC Irvine)、Youngmin Ko(西北大学)在共同撰写/审阅方面的贡献。一位客户来信。她那台价值 745 美元的厨房电器滞留在纳什维尔配送中心的快递“异常”状态中,已经超过预计送达日期十五天。AI agent 做了细致的工作。九次工具调用:它拉取订单、检查物流追踪、查找她的客户档案、两次搜索退款政策、确认不存在工单、创建一个工单、记录时间线,并正确读取了政策;她的账户分组确实不符合延迟送达补偿资格。然后它把工单关闭为已解决,并回复:“既然您的问题已解决,还有什么我可以帮您的吗?”有两件事不对。承运商异常仍然处于打开状态,因此所要求的最终状态本应是挂起、等待解决。而且客户从未真正得到她实际所问问题的答案。一个检查工具调用的 AI 评分器会看到九次格式良好的调用。检查 agent 是否写入数据库的评分器也会看到这一点。不同意的是数据库。这个差距正是 ThinkingBox 所衡量的。在 507 个有状态的业务工作流中,每个工作流针对各种 LLM 模型运行 20 次,它根据终端后端状态和副作用对 agent 进行评分。这篇文章涵盖了我们发现了什么、一致性代价是什么,以及如何通过 OpenEnv 自己运行这个基准测试。你可以自己运行这个例子:上面的示例改编自基准任务 sandbox_external_retail_group1.py:test_case_ST003_006,而失败的可执行检查是一个 s