最近半年,AI 编程工具的定价表上一次次刷新着“历史最低”——GPT-4o mini 把输入价格打到了每百万 token 0.15 美元,Claude 3.5 Haiku 紧跟其后给出 0.25 美元的输入报价,国产模型更是在“厘时代”疯狂内卷。对于每天和 API 打交道的开发者来说,这似乎是个好消息:同样的预算,现在能多写几千行代码、多跑几十轮重构。但当我把团队过去三个月的 AI 编程开销拉出来仔细算账时,发现一个反直觉的结果——降价之后,我们的总成本反而涨了 35%。
问题出在哪里?不是模型贵了,而是我们“省”得太大方。
一、“便宜”撑大了上下文,也撑爆了账单
API 降价最直接的副作用,是开发者不再精打细算地裁剪提示词。一年前用 GPT-4 时,为了省 token,我们会把需求压缩成一句话,代码上下文只粘关键片段。如今价格只有原来的几十分之一,随手贴进整个文件、整个模块甚至整个仓库的历史提交记录变成常态。一个典型的 Cursor 或 Copilot 内联补全请求,从过去平均 1200 token 膨胀到 3500 token。
以 Claude 3.5 Haiku 为例算一笔实账:
- 降价前(模拟对照):假设 500 万 token/月,单价 $0.50/MTok(输入)+ $2.00/MTok(输出),混合成本约 $8.50。
- 降价后现实:因为上下文无节制扩张,月消耗飙到 1800 万 token。按现在 $0.25 输入、$1.25 输出计算,混合成本约 $15。虽然单价砍半,总量却翻了近四倍,总支出几乎翻番。
更隐蔽的是“重试膨胀”。当模型回答不够理想时,我们倾向于再问一次,而不是手工修正。原本一次命中的补全,现在需要 3~4 次交互才能拿到可用结果,多轮对话把 token 消耗螺旋式推高。
二、缓存降价的同时,你的“免费重用”被悄悄搬走了
厂商在降低基础调用价格的同时,同步调整了缓存策略。以某头部厂商的 Prompt Caching 为例:过去只要提示词前缀匹配,系统就自动缓存,重复调用几乎零成本;现在虽然缓存写入降价了,但缓存有效期从 60 分钟压缩到 5 分钟,且当日同一前缀的创建量超过阈值后会按次收费。
这直接影响了 AI 编程的典型场景——反复修改同一文件。在 IDE 中每输入一个字符都可能触发新的补全请求,而这些请求共享的长上下文刚刚过期,导致每次都要重新计算。一个上午的密集编码,可能产生数百次“伪缓存命中”,额外成本比降价前更高。开发者看不到账单背后的计费明细,只会感觉“好像没便宜多少”。
三、真正吃掉利润的,是那些“默认开启”的功能
很多 AI 编程插件现在默认开启“全库索引”“自动生成注释”“实时对话补全”等高级特性。在 Cursor、Copilot Chat 这类工具中,每一条问答都可能隐式携带十几页的文件元数据、当前打开的所有标签页内容。这些隐藏的上下文像水龙头一样流走 token,而用户感知到的只有“它变聪明了”——直到月底看到账单。
一个可以立刻动手检查的地方:插件设置里的 additionalContext 或 workspaceFiles 选项。如果你发现它默认包含整个 src 目录,请改成仅包含当前文件加一个关键依赖文件。这个操作常常能让单次请求 token 下降 40%,而补全质量几乎没有损失。
四、如何把真实成本拉回掌控中
与其抱怨,不如用工程手段管好 AI 开销。下面三个步骤是我亲测有效的方法:
1. 量化你的 Token 漏斗
在项目中接入一个极简的用量统计中间件,输出每个 API 调用的 token 数和来源场景。不需要复杂平台,一段包装函数就能做到:
import tiktoken
def count_tokens(prompt: str, model="gpt-4o-mini") -> int:
enc = tiktoken.encoding_for_model(model)
return len(enc.encode(prompt))
def log_usage(scene, input_tokens, output_tokens):
# 接入自己的监控或写入日志
print(f"[{scene}] in={input_tokens} out={output_tokens}")
跑一周,你就会清楚看见补全、对话、重构各环节的消耗比例,找到膨胀得最快的点。
2. 给上下文设定三个等级
按任务复杂度分级设定上下文范围,不要一律最大窗口。
- L1 轻量补全:仅当前函数或方法,限制 800 token。
- L2 中度重构:当前文件加接口定义,限制 2500 token。
- L3 全库分析:核心模块索引 + 关键路径,限制 6000 token。
在调用 API 前强制裁剪,比依赖模型的自动截断成本可控得多。
3. 善用“先便宜后贵”的接力策略
对于代码解释、测试生成这类容错率高的任务,先用最便宜的模型生成初稿,再用高精度模型做一次把关修正。例如:Haiku 负责产出测试骨架,Sonnet 只检查边界条件。这种流水线让贵模型的用量减少 70% 以上,总成本反而比全程用贵模型更低。
五、降价的尽头,是算力效率的竞争
当 token 单价趋近于电费和散热成本时,竞争的本质就回到了工程优化。厂商降价不是做慈善,而是通过提升推理集群的利用率、采用更激进的量化与投机解码来摊薄成本。这意味着未来 API 还会更便宜,但“无脑用”的窗口期会越来越短。
作为用 AI 编程的开发者,我们既是消费者,也是这场效率竞赛的参与者。把提示词当作会呼吸的账单、把上下文当作有限的缓存、把每次 API 调用当作一笔真实的支出,才能在这场降价狂欢中真正省到钱。省钱的机会,藏在每一次精简上下文的决心里,而不是厂商的定价页上。