本文内容
更聪明地使用 Token:计算每项验收通过任务的成本
编程智能体发送的 Token 更少,账单却可能更高。缓存读取、新输入、缓存写入和输出的价格不同。看似便宜的执行也可能把工作转移给另一个模型或人工审核者。真正有用的问题是:一项验收通过的变更到底花了多少钱?
核查日期:2026年10月5日。 本文针对现有编程工作流的计量与逐步优化,不是最便宜模型排行榜。下方示例使用合成计费数据,不是 Wavect 实测基准,也不是节省承诺。
需要把检查清单变成经过验证的实施方案?
预约免费咨询1. 先统一计费口径,再修改智能体
记录任务 ID、尝试 ID、模型及版本、供应商、Token 分类、单价、工具费用、延迟和验收结果。必须包含被拒绝的尝试与辅助智能体。失败尝试仍计入成本分子;同一任务重复验收不能扩大分母。
Anthropic 将未缓存的 input_tokens 与缓存创建、缓存读取分开报告。写入还需按五分钟和一小时有效期区分。常规写入价格分别为基础输入价的 1.25 倍和 2 倍。读取通常为 0.1 倍,但 Opus 5.5 为 0.05 倍,Fable 5.1/Mythos 5.1 为 0.025 倍。这些是模型专属计费类别,不能统一套用一个 Token 单价。
不要为所有供应商复用同一个计量解析器。OpenAI 的输入总量包含缓存输入;提供 cache_write_tokens 的模型还要单独区分写入。根据文档字段计算普通输入,避免重复计费。缺失或不一致的用量数据应作为计量错误调查,而非自动视为零费用。输出与推理费用也应按供应商的实际计费规则处理。
2. 让重复上下文可缓存,并验证实际命中
保持可复用指令和工具契约稳定,在 API 允许的情况下把变化的任务内容放到前缀后部。核实模型的最小缓存长度、过期条件和实际读写计数。Claude Code 可能在内容变化或闲置后重建缓存,子智能体也可能使用不同前缀。更长有效期的写入更贵,不代表总成本一定更低。
3. 用真实验收标准约束路由与压缩
使用固定的仓库任务集、确定性测试和审核标准评估路由。让更便宜的模型处理已经证明能通过的任务类别;高风险变更必要时直接进入更强验证或人工审核。模型自报置信度或有效 JSON 都不能证明代码正确。RouteLLM 可以作为实现参考,但不保证在你的仓库中节省费用。
删减无关日志,只检索必要文件,并保留紧凑的任务清单。同时保留需求、文件版本、失败证据以及获取完整内容的途径。统计摘要调用、丢失的缓存复用和后续重试。更短上下文不保证更低成本或更高准确率;下方第三个示例特意展示缓存退化。
具体实现可参阅我们的 RTK AI 1.0 评估,其中区分 shell 过滤、可选流水线与 API 代理,并解释许可边界及节省统计的局限。
4. 用确定性工具替代操作,批处理独立任务
格式化、解析、搜索和范围明确的脚本适合执行确定性操作。应测量实际减少了哪些调用,而非承诺固定百分比。破坏性操作仍须保留权限检查与审核。在延迟允许时批处理彼此独立的评估或分类,但不要把依赖上一轮响应的交互式智能体步骤强行放入批处理。OpenAI 对支持的批处理请求提供 50% 折扣及 24 小时完成窗口,这不适用于所有供应商或工作流。
5. 复现 Token 数量与费用之间的差别
各场景使用相同的两项缺陷修复任务及验收规则。每个示例场景共有三次尝试,其中一次被拒绝,最终有两项不同的变更通过验收。Token 数量合计所有尝试。采用10月5日核查的 Sonnet 5.5 标准 API 单价,每百万 Token:未缓存输入2美元、五分钟写入2.50美元、一小时写入4美元、读取0.20美元、输出10美元。不假定批处理或地区价格调整。
仅为说明计算方法,每个场景另加合计30分钟审核时间,假设时薪60美元,以及0.40美元其他工作流费用。这些是算术假设,不是实测人工价格或工具账单。生产环境应替换成真实审核、压缩辅助调用、基础设施和工具费用,且不能重复统计辅助智能体的 Token。
| 场景 | 未缓存 / 五分钟写入 / 一小时写入 / 读取 / 输出 Token | Token 总数 | API 费用 | 每项通过任务的总成本 |
|---|---|---|---|---|
| 基线 | 1,000,000 / 200,000 / 0 / 8,000,000 / 100,000 | 9,300,000 | USD 5.10 | USD 17.75 |
| 优化后 | 500,000 / 200,000 / 0 / 4,000,000 / 100,000 | 4,800,000 | USD 3.30 | USD 16.85 |
| 缓存退化 | 1,400,000 / 0 / 0 / 0 / 100,000 | 1,500,000 | USD 3.80 | USD 17.10 |
缓存退化场景的 Token 比优化场景更少,但 API 费用反而更高。纳入审核也会改变对经济收益的判断。没有任何任务通过时,每项通过任务的成本没有定义。应报告失败运行和实际费用,不应除以零或宣称节省。
使用 Python 3.10 或更新版本运行此计算示例。它验证算术,不验证智能体质量。用于自己的账单之前,应替换计数与单价。
from decimal import Decimal as D
# USD per million tokens: uncached, write 5m, write 1h, read, output.
RATES = tuple(map(D, ("2", "2.50", "4", "0.20", "10")))
CASES = {
"baseline": (1_000_000, 200_000, 0, 8_000_000, 100_000),
"optimized": (500_000, 200_000, 0, 4_000_000, 100_000),
"cache_regression": (1_400_000, 0, 0, 0, 100_000),
}
def cost(tokens, accepted=2, review_minutes=30, other_usd="0.40"):
if type(accepted) is not int or accepted <= 0:
raise ValueError("accepted must be a positive count of unique tasks")
if len(tokens) != len(RATES) or any(type(n) is not int or n < 0 for n in tokens):
raise ValueError("provide five non-negative integer token counts")
review, other = D(str(review_minutes)), D(str(other_usd))
if not review.is_finite() or not other.is_finite() or min(review, other) < 0:
raise ValueError("review time and other costs must be finite and non-negative")
api = sum(D(n) * rate for n, rate in zip(tokens, RATES)) / D(1_000_000)
review_usd = review / D(60) * D("60")
return api, (api + review_usd + other) / D(accepted)
for name, tokens in CASES.items():
api, per_accepted = cost(tokens)
print(f"{name}: API=${api:.2f}; total/accepted=${per_accepted:.2f}")
| 指标 | 如何解读 |
|---|---|
| 每项通过任务的 API 成本 | 对全部尝试与辅助智能体用量按价格加权,再除以不同的验收通过任务数。 |
| 每项通过任务的工作流总成本 | 加入真实审核、工具和基础设施成本,避免重复计算。 |
| 验收、返工与延迟 | 比较相同任务集及验收规则。低升级率本身不能证明质量。 |
| 缓存读取与写入 | 按模型与有效期结合费用观察。高命中率本身不能证明工作有价值。 |
6. 每次只上线一项变更
- 修改提示词或模型路由前,先记录基线。
- 每次仅改变一项:前缀稳定性、检索、路由、确定性工具或适用的批处理通道。
- 重跑相同任务,记录失败、通过变更、审核时间与完整账单。
- 只有质量和延迟仍可接受且实测成本改善时,才保留该变更。
整体成本策略参见如何降低 LLM Token 成本,架构设计参见多模型编程智能体指南。Spotify shunt 评测区分主智能体上下文减少、辅助调用费用与验证投入。
常见问题
提示词缓存会让输入免费吗?
更短提示词一定更便宜或更准确吗?
示例中的节省来自真实项目测量吗?
没有任务通过时应该报告什么?
2026年10月5日核查的第一手来源
- Anthropic:缓存计费与各模型单价
- Claude Code:缓存有效期、前缀变化与用量计数
- OpenAI:缓存计量与显式写入
- RouteLLM:路由实现与评估
- OpenAI:Batch API 适用条件、价格与完成窗口
生产级 AI 支持
正在构建 AI 产品,却担心推理成本、架构或生产可用性?Wavect 帮助创始人把 AI 原型变成可靠的生产系统。
查看相关服务:
最终思考
优化经过验证的结果,而不是 Token 计数。区分计费类别,纳入重试和审核,只有相同任务仍能满足验收标准时,才保留路由或压缩变更。
