微软取消内部 Claude Code 授权,Uber 四个月烧完 2026 全年 AI 预算,GitHub 放弃固定费率方案——这些不是各自独立的商业失误。Arnon Shimoni 的长文从定价决策者的视角,把这三件事串成了同一个结构性结论:当前 AI 的定价模式,从根上就是不稳的。
固定费率的死穴:用量和成本不绑定
传统 SaaS 定价的核心假设是:边际成本趋近于零。一个用户多用一个功能,服务器多跑几毫秒 CPU,成本几乎不涨。所以按席位收费、按月订阅,逻辑自洽。
AI API 打碎了这个假设。每一次调用背后是一次推理计算,GPU 时间是实打实的成本。用户调一次和调一万次,你的推理成本差了上万倍——但你收的是同一个月费。
GitHub 的 Copilot 固定月费方案就是典型案例。少数重度用户每天让模型生成上千行代码,推理成本远超 10 美元月费;大多数轻度用户一周用几次,成本远低于 10 美元。固定费率下,重度用户是亏损源,轻度用户是利润源。当重度用户比例上升(而这正是产品成功的自然结果),整个定价结构就翻转了。
这不是管理失误,是数学问题。
预算爆炸的传导链
Uber 的案例展示了另一个传导路径:企业内部采用 AI 时,预算控制机制和实际用量之间有巨大的信息延迟。
典型链条是这样的:
- 团队拿到 AI 工具授权,按人头预算审批通过
- 开发者发现 AI 工具好用,使用频率指数级上升
- 每次使用的推理成本是隐性的——开发者看不到,管理者也看不到
- 月底账单到达时,预算已经超了几个量级
Uber 四个月烧完全年预算,说明用量增速远超预算假设的线性增长。而微软取消 Claude Code 授权,本质上是同样的反应——不是工具不好,是成本失控后不得不断供。
单位经济学的不对称
Shimoni 指出了一个更深层的不对称:AI 服务的单位成本在下降,但用户的有效用量在上升,而且上升速度可能快于成本下降速度。
模型推理的单 token 成本确实在降——从 GPT-4 到 GPT-4o,价格砍了几倍。但与此同时:
- 模型能力增强,用户把更复杂的任务交给 AI
- Agent 模式兴起,一次任务可能触发几十次链式调用
- 上下文窗口扩大,单次请求的 token 数从几百涨到几万
成本降了 3 倍,但单次请求的有效 token 消耗涨了 10 倍。净结果:单位任务的推理成本反而上升了。
实践:给 AI 调用加上预算护栏
理解了定价崩解的结构性原因,工程上的应对不是"换个定价模式"那么简单——你需要让成本在调用链上可见、可控。以下是一个可落地的方法:用中间层给每次 AI 调用注入预算约束。
# budget_guard.py — AI 调用预算护栏中间层
# 使用前:pip install openai redis
import time
import json
import redis
from openai import OpenAI
class BudgetGuard:
"""按项目/团队粒度控制 AI 调用预算,超限即熔断"""
def __init__(
self,
redis_url: str = "redis://localhost:6379",
budgets: dict = None, # {"team-alpha": 500.0, "team-beta": 200.0}
price_per_1k_input: float = 0.15, # 每 1k input token 的美元成本
price_per_1k_output: float = 0.60, # 每 1k output token 的美元成本
):
self.r = redis.from_url(redis_url)
self.budgets = budgets or {}
self.price_in = price_per_1k_input
self.price_out = price_per_1k_output
self.client = OpenAI()
def _cost(self, usage) -> float:
"""从 API 返回的 usage 对象计算本次调用成本(美元)"""
input_cost = (usage.prompt_tokens / 1000) * self.price_in
output_cost = (usage.completion_tokens / 1000) * self.price_out
return input_cost + output_cost
def _remaining(self, team: str) -> float:
key = f"ai_budget:{team}"
spent = float(self.r.get(key) or 0)
return self.budgets.get(team, 0) - spent
def call(
self,
team: str,
model: str = "gpt-4o",
messages: list = None,
max_tokens: int = 2048,
**kwargs,
) -> dict:
"""带预算检查的 AI 调用,超限抛异常"""
remaining = self._remaining(team)
# 粗略预估:假设本次最多用 max_tokens output + 等量 input
estimate = ((max_tokens * 2) / 1000) * max(self.price_in, self.price_out)
if remaining < estimate:
raise RuntimeError(
f"团队 {team} 预算不足: 剩余 ${remaining:.2f}, "
f"预估本次 ${estimate:.2f}"
)
# 实际调用
resp = self.client.chat.completions.create(
model=model,
messages=messages,
max_tokens=max_tokens,
**kwargs,
)
# 记录实际成本
actual = self._cost(resp.usage)
key = f"ai_budget:{team}"
self.r.incrbyfloat(key, actual)
# 可选:记录明细到日志流
self.r.rpush(
f"ai_budget_log:{team}",
json.dumps({
"ts": time.time(),
"model": model,
"input_tokens": resp.usage.prompt_tokens,
"output_tokens": resp.usage.completion_tokens,
"cost_usd": actual,
})
)
return {
"content": resp.choices[0].message.content,
"cost_usd": actual,
"remaining_usd": self._remaining(team),
}
# ---- 使用示例 ----
if __name__ == "__main__":
guard = BudgetGuard(
budgets={"dev-tools": 50.0}, # dev-tools 团队本月 50 美元
price_per_1k_input=0.15,
price_per_1k_output=0.60,
)
result = guard.call(
team="dev-tools",
model="gpt-4o",
messages=[{"role": "user", "content": "用三句话解释什么是 RLHF"}],
max_tokens=300,
)
print(f"回复: {result['content']}")
print(f"本次成本: ${result['cost_usd']:.4f}")
print(f"剩余预算: ${result['remaining_usd']:.2f}")
运行前确保本地 Redis 在跑(docker run -d -p 6379:6379 redis),并设置 OPENAI_API_KEY 环境变量。
这个中间层做了三件事:
- 调用前预估——根据 max_tokens 粗估成本,预算不够直接熔断,而不是事后才发现超了
- 调用后记账——按实际 token 用量精确计算成本,累加到 Redis 计数器
- 明细日志——每次调用的模型、token 数、成本都推入日志流,供后续分析
你可以在此基础上加更多维度:按项目细分预算、按天重置计数器、加 Slack 告警 webhook。核心思路不变——让成本在调用链上实时可见,而不是月底才看到账单。
定价崩解之后的走向
Shimoni 的复盘指向几个结构性趋势:
按用量计费会成为主流,但形态会分化。 纯 token 计费对开发者太不可控——你不知道一次 Agent 任务会消耗多少 token。更可能的形态是分层:基础推理按 token,Agent 任务按任务完成数,长期订阅给一个折扣上限。
企业内部必须建立 AI 成本治理。 不是审批预算就够了,需要在调用链上嵌入实时计量和熔断。上面那段代码是最小可行版本,生产环境需要加监控面板、告警、按天/周自动重置。
模型选择本身变成成本决策。 同一个任务,用 GPT-4o 还是 GPT-4o-mini,成本差 5-10 倍。工程团队需要建立路由逻辑:简单任务走便宜模型,复杂任务走强模型。这不是性能优化,是成本优化。
定价崩解不是坏事。 固定费率掩盖了真实成本结构,让使用者无法做理性决策。用量计费虽然体验上更复杂,但它让成本信号传导到了决策者——这才是可持续的基础。
如果你正在内部推广 AI 工具,建议先做这三件事:
- 部署调用计量层——哪怕只是日志级别的,先让成本可见
- 设定团队月度预算上限——用上面那种中间层或类似方案,超限熔断而不是超限后追责
- 建立模型路由策略——不是所有任务都需要最强模型,80% 的日常任务用轻量模型就够了
定价模式崩解的本质是:旧框架假设边际成本为零,AI 的边际成本不为零。认清这一点,工程上的应对反而变得清晰——让成本可见、可控、可路由。