详细内容或原文请订阅后点击阅览
你的 ReAct 代理浪费了 90% 的重试 - 以下是阻止它的方法
大多数 ReAct 风格的代理都默默地将重试预算浪费在永远不会成功的错误上。在 200 个任务的基准测试中,90.8% 的重试都花在了幻觉的工具调用上——不是模型错误,而是架构缺陷。本文展示了为什么即时调整无法解决这个问题,以及完全消除浪费重试的三种结构变化。 文章《你的 ReAct Agent 正在浪费 90% 的重试 — 以下是如何阻止它》首先出现在 Towards Data Science 上。
来源:走向数据科学适用对象:在生产中运行 LLM 代理的 ML 工程师和 AI 构建者,尤其是使用 LangChain、LangGraph、AutoGen 或自定义工具循环的 ReAct 式系统。如果您是 ReAct 的新手,这是一种提示模式,法学硕士在思考、行动和观察步骤之间交替,以使用工具解决任务。
将大部分重试预算消耗在永远不会成功的错误上。
在 200 个任务的基准测试中,90.8% 的重试被浪费了——不是因为模型错误,而是因为系统不断重试不存在的工具。不是“不太可能成功”。注定会失败。
我通过调整提示没有找到这个。我通过对每次重试进行检测、对每个错误进行分类并准确跟踪预算的去向来发现这一点。根本原因是一个单一的架构假设:让模型在运行时选择工具名称。
这就是为什么这特别危险的原因。您的监控仪表板几乎肯定没有显示它。现在它可能显示:
它没有显示什么:从第一次尝试开始,有多少次重试是不可能的。这就是本文要讨论的差距。
模拟说明:所有结果均来自使用校准参数的确定性模拟,而不是实时 API 调用。幻觉率 (28%) 是对 ReAct 风格代理中工具调用幻觉的保守估计,源自已发布的 GPT-4 类基准中的故障模式分析(Yao 等人,2023 年;Shinn 等人,2023 年)——它不是这些论文中直接报告的数字。结构结论具有建筑属性;确切的百分比会因生产而异。最后讨论了完整的限制。自己重现每个数字:python app.py --seed 42.
GitHub 存储库:https://github.com/Emmimal/react-retry-waste-analysis
在生产中,这意味着您要为无法成功的重试付出代价,而让那些可以成功的重试挨饿。
