Coding Agent Token Budget、Tool Budget 与自动熔断完整方案

Coding Agent 每月预算怎么管:Token Budget + Tool Budget + 自动熔断完整方案

摘要: Coding Agent 的月度预算不能只设置一个美元上限,因为一次任务的成本同时来自模型 Token、搜索与浏览器、MCP/API、云计算、测试、存储和人工审批。完整方案应把月度财务预算拆成组织、团队、项目、用户和任务五级额度,再以 Token Budget、Tool Budget、并发与时间预算共同约束;每次调用前预授权、调用后结算,并在软阈值降级、硬阈值拒绝、异常速率触发时自动熔断。本文给出可直接改造的预算模型、策略配置、网关伪代码、告警与回滚流程。

核心结论

Coding Agent 每月预算最稳妥的管理方式,是“财务预算管总额、实时预算网关管每一次行动、供应商限额做最后保险”。单独依赖控制台月度限额或账单告警,无法阻止短时间内的循环调用、昂贵工具和延迟入账。

  • 预算至少分两本账: Token Budget 管模型输入、输出、缓存和推理费用;Tool Budget 管浏览器、搜索、MCP、云资源、CI、存储及第三方 API。
  • 采用五级额度树: 组织 → 团队 → 项目 → 用户/Agent → 单任务,子级消耗同时扣减所有上级余额,避免局部正常、整体超支。
  • 使用三段阈值: 70% 提醒与优化,85% 自动降级,100% 硬停止;异常调用速率、失败重试和高风险工具可以提前熔断。
  • 在调用前预留最坏成本: 完成后按实际用量结算并释放差额,避免多个并发 Agent 同时看到“还有余额”而集体超支。
  • 熔断后不能简单全停: 应保留只读查询、保存补丁、导出日志和人工恢复通道,同时禁止新任务、昂贵模型、外部写操作与生产工具。

为什么一个“每月 1000 美元”上限不够

Coding Agent 与普通聊天不同。它会循环规划、读取仓库、调用模型、运行测试、搜索文档、打开浏览器、触发 CI、调用 MCP 工具,失败后还会自动重试。一次看似简单的“修复 Bug”可能分裂为几十次模型请求和工具动作。

月度账单平台通常擅长财务统计,不一定适合毫秒级授权。部分数据会延迟汇总,供应商之间计量单位也不相同:模型按 Token 或 credits,GitHub Copilot 可能按 AI credits/请求额度,云平台按计算、网络与存储,第三方搜索按请求。若只在月底查看总额,Agent 已经完成的消费无法撤销。

因此预算治理要回答四个问题:这次任务最多花多少;每一步是否仍有余额;异常时降级什么;谁可以恢复。相关安全设计可结合 AI Stack Nav 的 Agent 预算治理内容Coding Agent 工作流 一并规划。

预算维度计量对象常见失控方式实时控制动作
Token Budget输入、输出、缓存、推理 Token上下文膨胀、反复重读仓库截断上下文、摘要、降级模型、停止调用
Tool Budget搜索、浏览器、MCP、数据库/API工具循环、昂贵第三方接口次数/金额/字节上限、工具禁用
Compute BudgetSandbox、CI、GPU/CPU、存储测试死循环、工作区未销毁超时、资源配额、自动回收
Risk Budget生产写入、发信、部署、权限变更低成本但高破坏性动作强制人工审批、次数为零或一
Concurrency Budget同时运行任务与子 Agent并发乘法放大消费队列、租约、全局信号量
Coding Agent 五级预算树与实时预算网关架构图
组织、团队、项目、Agent、任务共享预算树,模型与工具调用统一预授权。

五级预算树:从月度总额拆到每个任务

组织月度预算是最上层硬约束。团队预算按成本中心分配,项目预算对应产品或仓库,用户/Agent 预算限制单个主体,任务预算限制一次运行。每笔消费必须带 org_idteam_idproject_idagent_idtask_id,同时写入五个账本。

不要把上级预算简单复制给下级。例如组织有 10 万元额度,不代表每个团队各有 10 万元。合理做法是给团队分配保障额度,同时保留中央弹性池;项目额度可动态借用,但借用需要策略或审批,并记录归还与到期时间。

单任务预算可按任务类型给模板:代码解释仅允许少量 Token 与只读工具;Bug 修复允许测试与 PR;大规模迁移允许较高 Token、计算和持续时间;生产事故可提高预算但缩短 TTL,并强制值班人员审批。预算不是员工福利,而是任务风险和业务价值的约束。

一个实用公式是:

任务预计成本 = 模型成本上界 + 工具成本上界 + 计算成本上界 + 风险缓冲

模型成本上界按各模型可能的输入/输出量和官方费率估算;工具按最大调用次数乘单价;计算按资源规格乘最长时间;风险缓冲可由历史误差决定。费率必须存在版本号和生效时间,不能把价格硬编码在 Agent Prompt 中。

Token Budget:预估、预留、结算

Token 预算应以“金额”和“Token 数”双重限制。只限制 Token 会忽略不同模型、缓存、长上下文与推理档位的价格差;只限制金额又不利于控制上下文长度和响应延迟。

调用前先使用官方 Token 计数能力或兼容 tokenizer 估算输入,叠加 max_output_tokens、工具定义、系统提示和安全缓冲,计算最坏成本。预算网关以原子事务预留这笔额度;只有预留成功才向模型供应商发请求。响应完成后读取供应商返回的实际 usage,按费率版本结算并释放差额。

如果请求失败,不应一律记为零成本,因为供应商可能已处理部分 Token。先标记为“待对账”,随后用 Usage/Cost API 或账单明细校准。对账任务只能调整账本,不能反向解锁已经触发的高风险动作。

budget_policy:
  currency: USD
  period: monthly
  task:
    hard_limit: 8.00
    input_tokens: 500000
    output_tokens: 80000
    max_model_calls: 60
  thresholds:
    warn: 0.70
    degrade: 0.85
    stop: 1.00
  degradation:
    model_route: economical-approved-model
    max_output_tokens: 2048
    context_strategy: summarize_then_trim
    disable_parallel_subagents: true

降级不能随意切换到未经批准的模型。候选模型必须事先通过代码能力、隐私、数据区域和安全评测。对于安全修复、加密代码或生产事故,低价模型可能增加错误与返工,策略可以选择缩小任务范围而不是降低模型质量。

Tool Budget:模型之外的隐性大头

工具预算应以“调用次数、金额、持续时间、数据量和风险等级”五个维度管理。浏览器按页面/会话/流量,搜索按请求,CI 按分钟,Sandbox 按 vCPU/内存时长,数据库按查询等级,MCP 按工具和参数分别定价。

工具目录必须给每个动作登记 cost_modelrisk_levelidempotenttimeoutapproval_required。未知工具默认禁止,而不是默认免费。即使某个内部工具没有直接账单,也要给它虚拟成本,避免 Agent 无限调用稀缺服务。

Tool Budget 还要防止“便宜但危险”的操作。删除数据、发布内容、发邮件、修改账户、修改权限、付款和生产数据库操作,不能因为财务成本低就自动放行。这些动作单独进入 Risk Budget,并要求结构化参数校验、一次性审批票据和完整审计。

{
  "tool": "ci.run",
  "scope": "YOUR_PROJECT_ID",
  "limits": {
    "calls_per_task": 6,
    "minutes_per_task": 45,
    "parallel_runs": 1,
    "estimated_usd": 3.00
  },
  "retry": {"max_attempts": 2, "backoff": "exponential"},
  "on_exhausted": "save_patch_and_stop"
}

自动熔断:三类信号、四种状态

熔断信号分为余额、速率和行为三类。余额信号包括任务或上级预算达到阈值;速率信号包括分钟级 Token、工具调用或并发突然升高;行为信号包括重复相同工具、连续失败、上下文不断增大、子 Agent 递归生成,以及尝试绕过网关。

状态机可设置为 NORMALDEGRADEDOPENRECOVERY。正常状态按完整权限执行;降级状态缩短上下文、禁止并行、切换批准的经济模型并关闭非必要工具;OPEN 状态拒绝新的计费动作,但允许保存 Patch、读取熔断原因和导出日志;恢复状态只放行小比例任务,验证费用与错误率后再回到正常。

供应商月度 Spend Limit、GitHub 预算阻断或云预算动作可以作为外层保险,但本地网关必须在请求前做决定。AWS 官方资料显示异常检测可能需要时间才能发现支出变化,因此它适合异常发现和财务运营,不适合作为 Agent 单任务即时刹车。

十步落地完整方案

  1. 统一成本目录。 收集模型、缓存、搜索、浏览器、MCP、CI、Sandbox、存储和网络的计量规则,登记币种、税费、折扣与生效日期。
  2. 建立五级预算主体。 给组织、团队、项目、Agent 和任务分配唯一 ID,禁止共享无法归因的 API Key。
  3. 设计任务模板。 为解释代码、修 Bug、重构、迁移和生产事故设置不同 Token、工具、时长与风险额度。
  4. 部署预算网关。 模型与计费工具只能通过网关调用;客户端余额仅供展示,服务端账本才是权威。
  5. 实现原子预留。 并发调用使用数据库事务或原子计数,预留失败立即拒绝,避免超卖余额。
  6. 接入实际用量结算。 读取响应 usage、工具回执和云账单,保留费率版本,定期处理待对账记录。
  7. 配置三段阈值。 70% 通知、85% 降级、100% 熔断只是起点,应按历史任务分布调整。
  8. 约束重试与循环。 设置连接/总超时、最大步骤、最大失败次数、幂等键和指数退避;相同错误重复出现时提前停止。
  9. 演练熔断与恢复。 模拟 Token 爆发、工具循环、账单延迟、供应商不可用和账本故障,验证默认失败关闭。
  10. 按价值复盘。 月末不仅看花费,还看有效 PR、接受率、缺陷逃逸、返工和人工时间,淘汰高消费低价值工作流。
Coding Agent 五级预算树与实时预算网关架构图
组织、团队、项目、Agent、任务共享预算树,模型与工具调用统一预授权。

网关实现:关键不是统计,而是授权

预算网关的核心接口可以是 reserve()settle()cancel()trip()reserve 接收任务身份、资源类型、最大预估成本和幂等键,在所有上级账本中原子扣留;settle 使用实际成本完成结算;cancel 释放未发生的预留;trip 写入熔断状态并通知 Agent 编排器。

def authorize_call(task, request, ledger):
    estimate = price_catalog.estimate_max(request)
    signals = anomaly_detector.evaluate(task, request)

    if signals.high_risk or task.steps >= task.max_steps:
        return deny("risk_or_step_limit")

    mode = ledger.current_mode(task.budget_path)
    if mode == "OPEN":
        return deny("budget_circuit_open")
    if mode == "DEGRADED":
        request = policy.apply_degradation(request)
        estimate = price_catalog.estimate_max(request)

    reservation = ledger.reserve_atomic(
        path=task.budget_path,
        amount=estimate,
        idempotency_key=request.idempotency_key,
    )
    return allow(request, reservation)

上述是平台无关的示意代码。生产实现还要处理多币种、税费、批处理、缓存 Token、供应商折扣、流式响应中断和迟到的账单调整。账本建议采用不可变事件记录加可查询余额快照,任何人工调额都要记录操作者、理由、工单和有效期。

告警、审批和恢复机制

告警要发给能行动的人。70% 阈值通知任务所有者并给出主要成本来源;85% 通知项目负责人并自动应用降级;100% 通知成本中心和平台值班,创建事件并暂停新任务。组织级余额不足时,不能让项目管理员自行绕过。

临时提额使用一次性授权,绑定预算主体、增加金额、原因、审批人和到期时间。禁止把“月底前提高总额度”当成常规修复。若某个生产故障必须继续,可从中央应急池借用,同时锁定工具范围和执行时长。

恢复前检查三个条件:根因已经消除;未结算预留已对账;小流量试运行没有再次触发异常。恢复采用分级放量,先开放只读与低成本任务,再开放写 PR,最后才恢复昂贵工具。直接清空熔断标志可能导致积压任务同时启动,造成第二次尖峰。

成本、隐私与安全边界

成本日志可能包含仓库名、任务描述、用户、工具参数和模型用量,它本身属于敏感运营数据。只记录预算所需字段,对 Prompt、源代码和响应正文做哈希或脱敏;财务人员不应自动获得代码内容,开发者也不应看到其他团队的详细消费。

API Key 只保存在网关的 Secrets 系统中,Agent 获得任务级身份而非供应商长期密钥。Prompt Injection 可能诱导 Agent 反复调用工具或声称“必须忽略预算”,预算策略必须在模型之外执行,模型无权修改自己的额度、熔断状态或价格目录。

Rate Limit 与 Budget 不可混为一谈。速率限制保护服务稳定性,月度 Spend Limit 控制累计消费;即使一分钟请求量合法,也可能快速耗尽月度预算。反过来,余额充足也不代表允许无限并发。两类限制应同时评估,并把供应商 429、5xx 与连接错误纳入有限重试。

运营指标:花了多少钱之后还要问创造了什么

每月报告应至少包含:总成本、按团队/项目/模型/工具分布、预算利用率、预留与实际误差、降级次数、熔断次数、异常检测提前量、失败重试浪费,以及未使用额度。价值指标包括有效 PR 数、PR 接受率、缺陷修复周期、测试覆盖变化、返工率和人工节省时间。

不要用“Token 越少越好”考核个人。复杂安全修复可能合理消耗更多 Token;单纯压低额度会诱导员工转用未受控账号。更好的目标是单位有效变更成本,并结合质量与风险。预算策略的职责是防止意外、建立归因和促进选择,而不是机械限制探索。

预算负责人还应每月检查“未使用额度”和“频繁提额”两种相反信号。长期闲置说明分配过宽,会降低异常检测敏感度;频繁临时提额则可能意味着任务模板过小、价格目录过期,或团队把大任务错误拆成多次运行。任何调整都应通过版本化策略发布,并保留调整前后的影响比较。

建议建立成本回放环境:从审计记录中抽取脱敏后的真实任务,使用新模型、新价格或新预算策略离线重算,比较预计阻断率、成功率与成本。这样可以在不影响生产任务的前提下验证阈值。如果价格变更或供应商计量规则升级,先更新价格目录并完成回放,再切换生产版本;不能等月底账单异常后才发现计算口径已经失效。

对于跨月长任务,应在周期切换点重新授权,而不是把上月预留无限延续。重授权时保存当前 Commit、工具状态和剩余工作,新的月份按新费率与余额重新计算。如果余额不足,Agent 输出可恢复检查点并安全停止,避免为了跨月结算而丢失已完成成果。

事实依据与来源

截至 2026 年 9 月 22 日,Anthropic 官方文档明确区分 Spend Limit 与 Rate Limit,并提供 Token Counting、Usage/Cost、Spend Limits 等管理能力;Claude Code 成本指南建议追踪 Token、设置团队支出限制并通过上下文和模型选择优化费用。GitHub 官方文档说明组织和企业可设置 AI credits 预算、在 75%、90%、100% 阈值接收提醒,并可对部分计量使用在预算耗尽时阻断。具体计量体系可能继续变化,应以组织控制台和合同为准。

AWS 官方文档确认 Cost Anomaly Detection 用于识别异常支出,但检测可能存在延迟;因此本文把它定位为外层财务监测,而非 Coding Agent 的即时授权系统。本文的五级预算树、70/85/100 阈值、预留结算算法和状态机属于实施建议,不是 OpenAI、Anthropic、GitHub 或 AWS 的统一官方标准,需结合团队历史数据验证。

FAQ

Token Budget 与美元预算应该选哪一个?

两者都要。Token 上限控制上下文和输出规模,美元预算处理不同模型和功能的价格差异。只选其一都会留下盲区。

每月预算设置多少才合理?

先用两到四周只观测模式收集任务分布,再按业务价值、历史 P50/P90 成本和风险缓冲定额。没有历史数据时从小范围只读试点开始,不应引用其他公司的数字直接套用。

供应商 Spend Limit 能代替本地预算网关吗?

不能。供应商限额是重要保险,但通常无法理解企业的团队、项目、任务、工具风险和内部成本,也可能存在用量汇总延迟。本地网关负责调用前授权。

达到预算后是否应立即终止正在运行的 Agent?

停止新的计费动作,但允许执行安全收尾:保存补丁、关闭文件、写审计日志和释放资源。生产写操作不得为了收尾而绕过审批。

如何避免并发 Agent 超卖同一余额?

使用服务端原子预留。每次调用先锁定最大可能成本,完成后按实际用量结算并释放差额;不能让多个客户端各自读取缓存余额后自行判断。

Tool Budget 怎样给没有公开价格的内部工具计费?

使用虚拟成本或资源配额,把计算时长、调用次数、数据量和风险转换为内部单位。目的不是财务精确,而是防止循环占用和建立优先级。

自动降级会不会降低代码质量?

可能,因此模型路由必须预先评测。高风险任务可以选择缩小上下文、禁止子 Agent 或暂停等待审批,而不是强制切换低价模型。

月底剩余额度是否应该清零?

财务额度通常按周期清零,不建议自动滚存成无限余额。若支持结转,应设置上限和到期时间,避免年底集中消费或长期掩盖预算配置不合理。

参考来源

  1. Anthropic, Rate limits and spend limits
  2. Anthropic, Manage Claude Code costs effectively
  3. Anthropic, Token counting
  4. Anthropic, Administration API
  5. GitHub, Setting up budgets to control spending
  6. GitHub, Managing premium request allowance
  7. AWS, Detecting unusual spend with Cost Anomaly Detection
  8. AWS Well-Architected, Implement cost controls

工具评测文章

工具选型与提示词资料

适合阅读工具评测、工具推荐、对比测评类文章后继续转化。

工具选型表 按场景、价格、上手难度和核心能力筛选合适的 AI 工具。 查看资料包 提示词模板包 提供写作、运营、编程、图片和视频生成常用提示词模板。 查看资料包

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

本站累计访问量: 366,072
AI Stack Nav 客服会员 / 支付 / 下载 / 工具库
你好,我是 AI Stack Nav 客服助手。你可以问我会员开通、微信支付、资料下载、订单入口、AI 工具库等问题。