感谢与更新:使用回合级滑动窗口哈希修复CrewAI中的代理重试循环
摘要
TokenShield,一个开源的FastAPI网关代理,现在使用每回合滑动窗口哈希来防止CrewAI中的代理重试循环,从而减少令牌浪费和成本。
几天前,我在论坛上发帖询问大家如何捕获陷入重试循环的代理,以免它们耗尽整个API预算。特别感谢所有提供宝贵见解的朋友们。基于这些反馈,我对TokenShield(我的开源FastAPI网关代理,位于LLM客户端与提供商之间)进行了重构。为了测试更新,我运行了一个本地CrewAI测试脚本,该脚本中一个代理在失败的数据库工具上陷入循环(max_iter=10),非常顽固。在没有防护的情况下,代理盲目地连续10次调用该工具。由于每次重试都会将聊天历史追加到提示上下文中,提示token从第1轮的约139个token膨胀到每轮近600多个token——在死胡同执行中浪费金钱。以下是更新后的网关流程现在在网络层处理这种情况的方式:
每回合哈希窗口:它严格在当前回合内跟踪标准化签名(去除时间戳和UUIDS噪声),从而完全避免误报阻塞后续的合法重试。
第一层软引导:如果检测到停滞,它会注入系统重新规划指令,然后才终止请求。
第二层硬停止:如果代理仍然坚持,它会触发干净的429截断,立即停止令牌流失。
对于在CrewAI或其他框架中运行多代理工作流的任何人而言,将哈希作用域限制在每回合,可以使断路器保持锐利,同时在大额账单到来前切断失控的token计数。如果你想查看源代码、日志或自行测试,我已在评论区放上了GitHub链接,以保持本帖整洁。很想知道是否有人在使用复杂代理图的滑动窗口时遇到过其他边界情况。
相似文章
展示 r/AI_Agents:防止智能体在生产环境中破坏工具调用——我们为 2000+ API 构建了可靠性层
Swytchcode 是一款 CLI 工具,充当 AI 智能体的可靠性层,自动处理跨 2000+ API 的身份验证、重试、合规性和幂等性,以防止智能体在生产环境中出错。
@akshay_pachaar: 这是目前AI代理领域最被低估的更新。你的AI工作流程运行47分钟,消耗312次LLM调用……
CrewAI为其开源多智能体框架发布了检查点功能,允许AI工作流保存、恢复、分支和检查,而无需在失败时从头开始。
人们如何在AI代理工作流中减少token浪费?
讨论了AI代理工作流中由于重复上下文导致的token浪费问题,介绍了一个名为Badgr-auto的开源代理用于去重,并询问社区如何应对该问题。
子代理在长代理运行中占据大部分Token成本:实际可将使用量降低70%至90%的修复方法
本文分析了 Bai 等人 2026 年的论文,该论文表明,子代理和上下文膨胀导致长代理运行中的Token成本比普通聊天高出约1000倍,并提出了三种实用的修复方法(PLAN.md、读取预算、带外备注),可将Token使用量减少70-90%。
AI代理在重复工作上浪费代币。我构建了一个解决方案,需要测试者。
一位开发者构建了一个系统,通过跨任务复用信息来减少AI代理工作流中的代币浪费,现正在寻找测试者提供反馈。