RelayVano

← सभी पोस्टकार्ड

避免 AI 智能体循环失控:七步锁住意外费用

किरायों पर नज़र ZH

1. 给一次任务写下明确的费用上限

智能体收到工具报错后反复修复,或者完成任务后继续“检查”,都可能让调用不断累积。先打开项目配置,为本次任务写下三个数字:最多花多少钱、最多发起多少次模型请求、最多运行多久。例如:预算一美元、二十次请求、十分钟。任何一项触顶,就停止发起新请求,并保存当前结果。

预算应按任务累计,不能在重启进程或恢复会话时归零。给每次任务分配唯一编号,让恢复执行继续使用同一份账本。

2. 用一次小任务估算真实成本

先关闭并发和自动重试,只运行一次最小任务,例如读取一个文件并提出修改建议。记录输入令牌、输出令牌、调用次数和费用。费用估算要采用实际使用模型的当前价格,并区分输入、输出及适用的缓存计费。

不要直接把第一次调用的费用乘以二十:后续请求可能携带越来越长的历史。每次发送前,先将已产生费用、在途请求预留金额和下一次调用的费用上界相加;超过预算就拒绝发送。拿不到准确用量时,先按保守上界预留,再根据返回用量结算。

3. 把请求计数放在统一调用入口

在所有模型请求都会经过的位置增加计数器,涵盖规划、执行、总结和子智能体调用。成功请求、失败请求和重试都计入请求上限,实际是否收费则以返回用量和账单为准。

同时把并发数暂时设为一。需要提高并发时,各个执行分支必须共享预算,并在发送前原子地预留额度,否则多个分支可能同时看到“余额充足”,一起突破上限。

4. 限制重试次数并识别原地打转

把无限重试改为有限重试,例如同一步最多重试两次,等待时间逐次增加。鉴权失败、参数错误、余额不足应立即停止;限流或短暂服务故障才考虑重试,并遵守服务返回的等待要求。

为工具名称、关键参数和错误结果生成摘要。相同组合连续出现三次,就暂停并输出失败原因。对于部署、付款或写入外部系统等操作,重试前先检查上一次是否已经成功,避免重复执行。

5. 给上下文和工具输出设置边界

在请求配置中设置模型支持的最大输出令牌数,并在应用层限制输入体积。读取日志时,只保留相关错误附近的内容;搜索代码时,先返回文件位置,再按需读取片段。不要把整份日志反复追加到会话。

当历史接近阈值时,压缩为目标、已完成操作、关键证据和待解决问题。保留必要的文件路径与错误信息,避免智能体因为丢失线索重新扫描整个项目。压缩本身产生的模型调用也要记账。

6. 在桌面演练一次紧急停止

启动一个测试任务,主动制造持续报错,观察请求上限是否生效。随后触发取消操作,确认主循环、子任务和重试队列都不再发送请求。已经发出的请求可能仍会完成并产生费用,因此预算要包含在途预留。

  • 检查停止后是否仍有新的请求记录。
  • 重启任务,确认累计预算没有清零。
  • 模拟超时,确认系统不会立刻重复提交同一操作。

7. 核对用量后再扩大运行范围

第一次运行结束后,对照本地记录与服务端用量,核查请求次数、令牌数和费用差异。开发时可以考虑按量付费的 RelayVano,它兼容 Claude Code、Codex、Gemini CLI 和 OpenAI 兼容 SDK,API 基础地址为 https://api.relayvano.com。欢迎注册 RelayVano,先用一个小任务验证连接和用量,再逐步增加任务规模。

更换模型、扩展工具权限或提高并发后,都重新跑一遍小任务。只有确认费用记录可核对、停止条件确实生效,才让智能体执行更长的工作。

इसी राह से कुछ और पोस्टकार्ड