RelayVano

← All postcards

用自己的用量日志搭建 AI 预算预警

Fare watch ZH

先确定预算、周期和预警对象

预算预警的目标不是等账单出来后复盘,而是在支出偏离计划时及时采取行动。先在一张表中写下三个值:本月可接受的总预算、每天的目标预算,以及单次任务允许的最高成本。若团队每月预算为 300 美元,可先按 30 天换算为每天 10 美元;再为批处理、代码生成和线上服务分别设定单次上限。

预警对象至少应包括 API 密钥、项目、模型和调用来源。这样,当某个脚本循环重试,或某个环境误用了高成本模型时,你能快速找到责任范围,而不是只看到总额上涨。

从用量日志提取计算所需字段

导出或收集每天的用量日志,并保证每条记录包含时间、请求标识、API 密钥或项目、模型、输入 token、输出 token、缓存相关 token、请求状态和费用。若供应商日志没有直接提供费用,也可以按当期价格表计算,但应把价格版本和币种一起记录,避免价格更新后重算历史数据。

把数据写入 CSV、电子表格或数据库均可。最小可用表结构只需日期、项目、模型、请求数、成功请求数和费用。对失败请求单独保留费用字段,因为超时、无效重试或超长上下文也可能产生支出。

  • 按日期汇总费用,用于判断日预算是否超标。
  • 按项目和 API 密钥汇总费用,用于定位来源。
  • 按模型汇总费用,用于发现意外的模型切换。
  • 统计请求失败率和平均单次费用,用于识别重试风暴。

计算日累计支出和月度预测

每天定时运行一次汇总任务,计算当日累计费用、当月累计费用和最近七天的日均费用。月度预测可使用当月累计费用除以已过去的天数,再乘以当月总天数。月初数据较少时,预测会波动,因此同时保留最近七天均值,避免一次大任务触发错误判断。

例如,到本月第 12 天已花费 144 美元,日均为 12 美元。若本月有 30 天,按当前速度预测为 360 美元,超过 300 美元预算。此时预警应指出超出金额、主要项目和贡献最高的模型,而不只发送“预算异常”。

设置三级阈值和可执行的通知内容

建议设置 60%、80% 和100% 三个预算阈值。达到 60% 时发送观察提醒,提醒负责人查看趋势;达到 80% 时发送行动提醒,要求确认高消耗任务和剩余预算;达到 100% 时发送紧急提醒,并按团队规则暂停非生产批任务或轮换受影响的密钥。

每条通知应包含当前累计费用、预算、预测月支出、触发时间、费用最高的项目,以及日志链接。还可加入异常规则:单个 API 密钥一小时费用超过其日预算的 30%,连续失败请求超过 20 次,或平均单次费用比过去七天均值高出两倍。这些规则比单纯的月度阈值更早发现配置错误。

用简单脚本自动发送预算提醒

定时任务读取当天日志后,先按项目和模型聚合费用,再计算阈值状态。脚本应保存上一次已发送的阈值,避免每次运行都重复通知。只有从 60% 跨越到 80%,或新增异常来源时才发送新消息。把原始日志、汇总结果和通知记录分开保存,方便审计和调整规则。

对于需要兼容多种客户端的开发团队,RelayVano 提供按量付费的 AI 模型中继,可与 Claude Code、Codex、Gemini CLI 和 OpenAI 兼容 SDK 配合使用。将 RelayVano 的用量记录纳入同一张预算表,便于把项目、密钥和模型消耗放在统一视图中检查。需要开始建立自己的预警流程时,可以注册 RelayVano。

每周校准规则,避免预警失去作用

每周查看一次已触发的提醒:哪些提醒对应真实问题,哪些只是正常的发布日波动。若某类定时任务始终在固定时段消耗较高,可为它单独设预算,而不是不断提高全局阈值。若某个项目长期超过预测,应先检查上下文长度、重试逻辑和模型选择,再决定是否增加预算。

预算预警最有价值的结果,是让团队在费用仍可控制时做出选择:缩短输入、限制并发、修复重试,或为确有业务价值的任务批准更多预算。日志越完整,提醒越接近实际决策所需的信息。

More postcards from this route