Token、输入输出与缓存——AI开发计费全解

Token、输入输出与缓存------AI开发计费全解

本文面向刚开始接触 AI API 开发的同学,资料整理时间:2026-04-27。

覆盖:Token 基础 → 输入/输出计费 → 上下文窗口 → Prompt Caching → 中转站。

价格数据来源:OpenAI 官网、Anthropic 官网、第三方汇总站(2026-04 核实)。

\[toc\]


1. Token 是什么

调用 AI API 时,模型不是按"字"或"词"来处理文本的,而是按 Token(词元) 来处理。

Token 是模型分词后的最小处理单元,大致规律如下:

语言 大致换算
英文 1 个 Token ≈ 0.75 个单词,或 3-4 个字符
中文 1 个汉字 ≈ 1-2 个 Token(中文比英文更"贵" token)
代码 JSON / 结构化代码 token 密度高,比普通文字消耗更多

举例:

复制代码
"Hello world"       → 2 tokens
"你好,世界"         → 约 5-7 tokens
{"key": "value"}    → 约 6 tokens

可以用 OpenAI Tokenizer 直观感受 token 数量。


2. 输入 Token 与输出 Token

每次调用 AI API,费用由两部分组成:

复制代码
总费用 = 输入 Token 数 × 输入单价 + 输出 Token 数 × 输出单价

2.1 输入 Token(Input Tokens)

你发给模型的所有内容都算输入 token,包括:

  • System Prompt(系统提示词):你给模型设定的角色、规则、背景
  • 历史对话记录:多轮对话中之前所有的消息
  • 用户当前消息:这次你说的话
  • 附带的文件/代码内容:你粘贴进去的代码、文档片段

2.2 输出 Token(Output Tokens)

模型生成并返回给你的内容,全部算输出 token。

2.3 为什么输出比输入贵?

这是很多新手困惑的点。

  • 输入:模型可以并行处理所有输入 token,一次性完成,效率高
  • 输出:模型必须一个 token 一个 token 地顺序生成,第 N 个 token 必须等第 N-1 个生成完才能开始,无法并行

这种"自回归生成"的特性导致输出的计算量远大于输入,所以各家厂商的输出价格普遍是输入的 3-6 倍

2.4 主流模型最新价格(2026-04)

以下价格均为每百万 token(1M tokens)的美元价格,来源:各平台官网 2026-04 核实。

OpenAI 系列(当前主力模型)

模型 输入 缓存输入 输出 上下文窗口 备注
GPT-5.5 $5.00 $0.50 $30.00 270K 旗舰,编程/专业工作
GPT-5.4 $2.50 $0.25 $15.00 270K 性价比旗舰
GPT-5.4 mini $0.75 $0.075 $4.50 270K 强力小模型
GPT-4.1 $2.00 --- $8.00 1M+ 超长上下文专用
GPT-4.1 Mini $0.40 --- $1.60 1M+ 长上下文低价
GPT-4.1 Nano $0.10 --- $0.40 1M+ 最便宜长上下文
GPT-4o $2.50 $1.25 $10.00 128K 老旗舰,仍广泛使用
GPT-4o mini $0.15 --- $0.60 128K 老版低价选项

Anthropic Claude 系列(2026-04 最新)

模型 输入 输出 上下文窗口 备注
Claude Opus 4.6 $5.00 $25.00 200K(1M beta) 当前旗舰,比上代便宜 67%
Claude Sonnet 4.6 $3.00 $15.00 200K(1M beta) 生产主力,性价比最高
Claude Haiku 4.5 $1.00 $5.00 200K 速度层,高并发场景
Claude Haiku 3.5 $0.80 $4.00 200K 旧版,逐步退出

Google Gemini 系列(2026-04)

模型 输入 输出 上下文窗口 备注
Gemini 2.5 Pro $1.25 $10.00 1M 强推理,长上下文
Gemini 2.5 Flash $0.30 $2.50 1M 速度快,价格低
Gemini Flash-Lite $0.10 $0.40 1M 最便宜,简单任务

实际开发建议:

  • 能用小模型(GPT-5.4 mini / Haiku 4.5 / Flash-Lite)完成的任务,不要用旗舰模型
  • 需要处理超长文档/代码库,优先考虑 GPT-4.1 系列(1M 上下文)或 Gemini 2.5
  • Claude Sonnet 4.6 是目前综合性价比最高的生产级模型

3. 上下文窗口(Context Window)

3.1 什么是上下文窗口

上下文窗口是模型在一次请求中能"看到"的最大 token 数量,包括输入和输出的总和。

复制代码
上下文窗口 = 输入 token + 输出 token ≤ 模型最大限制

超出限制后,模型要么报错,要么自动截断最早的内容(具体行为取决于实现方式)。

3.2 各模型上下文窗口对比

模型 上下文窗口 约等于
GPT-4o / GPT-4o mini 128K 约 10 万英文单词
GPT-5.4 / GPT-5.5 270K 约 20 万英文单词
GPT-4.1 系列 1M+ 约 75 万英文单词
Claude Sonnet/Opus 4.6 200K(1M beta) 约 15 万英文单词
Gemini 2.5 Pro/Flash 1M 约 75 万英文单词

Claude 4.6 的 1M 上下文窗口于 2026-03-13 正式 GA,不再是 beta 限制,且不收长上下文附加费。

3.3 多轮对话中的上下文累积

这是新手最容易踩的坑。

AI 本身是无状态的 ,它不记得上一次对话。每次你发消息,客户端(Claude Code、Cursor 等工具)都会把完整的历史对话一起打包发给模型。

复制代码
第1轮:[system] + [user: 你好]                                    → 少量 token
第2轮:[system] + [user: 你好] + [ai: 你好] + [user: 帮我写代码]  → token 翻倍
第N轮:[system] + 所有历史 + [user: 新消息]                       → token 持续累积

实际影响:

  • 对话越长,每次请求的费用越高
  • 当历史对话超出上下文窗口,最早的内容会被丢弃,模型"忘记"早期内容
  • 在 Claude Code / Cursor 等工具中,长时间的会话会越来越贵,也越来越慢

应对方法:

  • 适时开启新对话(/clear 或新建会话)
  • 把重要背景写进 System Prompt 或规则文件(如 CLAUDE.md.cursorrules),而不是靠对话历史传递
  • 避免把大量无关代码粘贴进对话

4. Prompt Caching(提示词缓存)

4.1 缓存解决什么问题

假设你的 System Prompt 有 5000 个 token,每天调用 API 1000 次,那么光 System Prompt 就要处理 500 万 token,这部分内容每次都一模一样,却每次都要重新计算,非常浪费。

Prompt Caching 的核心思路:把不变的内容缓存起来,后续请求直接复用,跳过重复计算。

4.2 缓存的工作原理

模型处理输入时分两个阶段:

  1. Prefill(预填充):处理所有输入 token,构建内部的 KV 缓存(Key-Value Cache),这是计算密集的阶段
  2. Decode(解码):逐个生成输出 token

Prompt Caching 把第一阶段的 KV 缓存保存下来。下次请求如果前缀完全一致,直接跳过 Prefill,从缓存命中点继续,大幅节省时间和费用。

复制代码
无缓存:
  [system 5000 token] + [历史 3000 token] + [新消息 200 token]
  → 全部 8200 token 都要 Prefill 计算

有缓存(命中):
  [system 5000 token ✓缓存命中] + [历史 3000 token ✓缓存命中] + [新消息 200 token]
  → 只需 Prefill 200 token,其余直接读缓存

4.3 各平台缓存策略对比(2026-04 最新)

平台 缓存方式 缓存写入价格 缓存读取价格 最小缓存长度 缓存有效期
Anthropic (Claude) 手动标记 cache_control 5分钟TTL:原价 125% ;1小时TTL:原价 200% 原价的 10%(省 90%) 1024 tokens 5分钟 或 1小时(可选)
OpenAI (GPT) 自动缓存,无需配置 无额外写入费 原价的 10%(省 90%) 1024 tokens 自动管理,不透明
Google (Gemini) 显式 Context Caching 按缓存存储时间计费 低于正常输入价 32K tokens 可设置 TTL

重要更新(2026-04):

  • OpenAI 的缓存折扣已从早期的 50% 提升到 90%(与 Claude 持平),GPT-5.4 缓存输入仅 $0.25/M
  • Claude 现在支持两种 TTL:5分钟(写入成本 +25%)和 1小时(写入成本 +100%),读取均为原价 10%
  • Claude 4.6 的 1M 上下文 + 缓存组合,是目前处理超长文档最经济的方案之一

Claude 缓存成本回本计算:

以 5分钟 TTL 为例,写入成本是原价的 125%,读取是 10%:

复制代码
第1次(写入):1.25x
第2次(读取):0.10x
第3次(读取):0.10x
...
只要命中 2 次以上,总成本就低于不缓存(1.25 + 0.10 = 1.35 < 2.00)

4.4 缓存命中的关键规则

缓存是严格前缀匹配的,从第一个 token 开始逐个比对:

复制代码
✅ 能命中缓存:
  请求A:[system] + [历史] + [新消息A]
  请求B:[system] + [历史] + [新消息B]  ← 前缀相同,命中

❌ 无法命中缓存:
  请求A:[新消息A] + [system] + [历史]
  请求B:[新消息B] + [system] + [历史]  ← 前缀不同,无法命中

最佳实践:把稳定不变的内容放在最前面

复制代码
推荐顺序:
1. System Prompt(最稳定)
2. 长文档 / 代码库上下文(较稳定)
3. Few-shot 示例(较稳定)
4. 历史对话(变化较慢)
5. 当前用户消息(每次都变)← 放最后

OpenAI vs Claude 缓存设计差异:

维度 Claude OpenAI
激活方式 手动加 cache_control 标记 自动检测,无需配置
边界控制 精确,你决定缓存到哪里 自动,前缀匹配到哪里算哪里
多层缓存 支持,可设多个断点 不支持
风险 忘记标记则不缓存 前缀稍有变化就静默失效

4.5 Claude 手动标记缓存示例

json 复制代码
{
  "model": "claude-sonnet-4-6-20260301",
  "system": [
    {
      "type": "text",
      "text": "你是一个专业的代码审查助手,以下是项目的完整规范文档...[5000 token 的内容]",
      "cache_control": {"type": "ephemeral"}
    }
  ],
  "messages": [
    {"role": "user", "content": "帮我审查这段代码"}
  ]
}

加上 "cache_control": {"type": "ephemeral"} 后,该内容块及其之前的所有内容都会被缓存。


5. 中转站(API Proxy)

5.1 什么是中转站

中转站是一个部署在国内(或其他可访问地区)的代理服务,它:

  1. 接收你的 API 请求

  2. 转发给 OpenAI / Anthropic / Google 等官方接口

  3. 把响应返回给你

    你的代码 → 中转站(国内服务器)→ OpenAI/Claude 官方 API → 返回结果

5.2 为什么需要中转站

  • 网络访问:国内直连 OpenAI、Anthropic 等官方 API 不稳定或无法访问
  • 统一接口:一个 API Key 同时调用多家模型(OpenAI 格式兼容 Claude、Gemini 等)
  • 成本分摊:部分中转站提供比官方更低的价格(通过批量采购或汇率差)
  • 简化配置 :不需要自己搭建代理,直接换个 base_url 即可

5.3 中转站的计费方式

中转站通常有两种计费模式:

按 Token 计费(后付费)

  • 和官方一样,用多少付多少
  • 价格通常是官方的 6-8 折(汇率 + 批量折扣)
  • 适合用量不稳定的场景

充值额度(预付费)

  • 充值一定金额,按实际消耗扣除
  • 部分平台有最低充值门槛
  • 注意:中转站有跑路风险,不建议一次充太多

5.4 使用中转站的注意事项

安全风险:

  • API Key 经过第三方服务器,存在泄露风险
  • 选择有口碑、运营时间长的平台
  • 不要把中转站 Key 和官方 Key 混用

稳定性:

  • 中转站本身可能不稳定,需要有备用方案
  • 关键业务建议直连官方 API(配合代理工具)

价格陷阱:

  • 部分中转站宣传价格很低,但实际 token 计算方式不透明
  • 注意区分"按官方比例"还是"自定义倍率"
  • 确认是否支持缓存透传(有些中转站会破坏缓存机制)

5.5 如何切换到中转站

以 Python 为例,只需修改 base_url

python 复制代码
from openai import OpenAI

# 官方
client = OpenAI(api_key="sk-xxx")

# 中转站(只改 base_url 和 api_key)
client = OpenAI(
    api_key="你的中转站Key",
    base_url="https://你的中转站域名/v1"
)

# 其余代码完全不变
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "你好"}]
)

Claude Code、Cursor 等工具也支持自定义 base_url,在设置里修改即可。


6. 费用估算与控制

6.1 快速估算公式

复制代码
费用(美元)= (输入token / 1,000,000) × 输入单价
           + (缓存命中token / 1,000,000) × 缓存单价
           + (输出token / 1,000,000) × 输出单价

示例: 用 Claude Sonnet 4.6 处理一个 2000 token 输入(其中 1800 命中缓存)、500 token 输出的请求:

复制代码
= (200 / 1,000,000) × $3.00   ← 未缓存输入
+ (1800 / 1,000,000) × $0.30  ← 缓存命中(原价10%)
+ (500 / 1,000,000) × $15.00  ← 输出
= $0.0006 + $0.00054 + $0.0075
≈ $0.0086(约 0.06 元)

6.2 降低费用的核心策略

策略 效果 难度
用小模型处理简单任务 节省 80-95%
启用 Prompt Caching 节省 50-90%
压缩 System Prompt 减少固定开销
控制输出长度(max_tokens) 避免超长输出
适时清空对话历史 避免上下文膨胀
批量请求(Batch API) 节省 50%(OpenAI/Claude 均支持)
选对上下文窗口大小 避免为用不到的窗口付费

6.3 设置费用告警

  • OpenAI :在 platform.openai.com/usage 设置用量限制和邮件告警
  • Anthropic:在 Console 设置月度预算上限
  • 中转站:通常有余额告警功能,记得开启

7. 常见问题

Q:为什么我感觉 Claude Code 越用越慢、越来越贵?

A:随着对话轮数增加,每次请求携带的历史 token 越来越多。建议定期 /clear 清空上下文,或把关键信息写进 CLAUDE.md

Q:中转站的 token 计算和官方一样吗?

A:大多数中转站按官方 token 数计算,但倍率可能不同(如 1.1× 或 0.8×)。使用前确认计费规则,也要确认是否支持缓存透传。

Q:Prompt Caching 需要我手动开启吗?

A:OpenAI 自动开启,无需配置。Claude 需要在请求中手动加 cache_control 标记。Cursor、Claude Code 等工具通常已内置处理,但效果取决于工具实现。

Q:上下文窗口越大越好吗?

A:不一定。更大的上下文意味着更高的费用,且研究表明模型在超长上下文中对"中间"内容的注意力会下降(Lost in the Middle 问题)。按需选择即可。

Q:Claude 的 1M 上下文是 beta 还是正式可用?

A:Claude 4.6 的 1M 上下文于 2026-03-13 正式 GA,不再是 beta,且不收长上下文附加费,按正常 token 价格计费。

Q:token 用完了会怎样?

A:API 调用会返回错误(如 context_length_exceeded),不会自动续费或截断(除非你的客户端做了处理)。


8. 总结速查

复制代码
Token      = 模型处理文本的最小单位,中文约 1-2 token/字
输入       = 你发给模型的所有内容(system + 历史 + 当前消息)
输出       = 模型生成的回复,价格是输入的 3-6 倍
上下文窗口  = 单次请求能处理的最大 token 数(输入+输出)
缓存       = 复用不变的前缀,Claude/OpenAI 均可省 90%
           Claude 需手动标记,OpenAI 自动检测
中转站     = 国内代理,解决访问问题,统一接口

参考资料(2026-04 核实):

相关推荐
陈序缘2 小时前
AI Agent 的道与术
人工智能·职场和发展·agi
FrontAI3 小时前
深入浅出 LangGraph —— 第12章:多Agent系统架构
人工智能·langchain·ai agent·langgraph
Web3VentureView3 小时前
SYNBO走进以太坊中国高校行复旦大学专场:链接Web3下一代开发者
人工智能·web3·区块链·加密货币·synbo
狐狐生风3 小时前
LangChain实现简易版-----PDF 文档问答机器人
人工智能·langchain·机器人·pdf·prompt
一水鉴天3 小时前
从“AI内在机制探询”到“三重三九格人本主权智能体架构”的演进 之2 20260503 (腾讯元宝)
人工智能·架构
guslegend3 小时前
第4节:应用架构与代码组织
人工智能·大模型·ai编程
一水鉴天3 小时前
现今/现在/现代——系统设计“现”层架构 20260503 (腾讯元宝)
人工智能·架构
格林威3 小时前
工业视觉检测:两大主流异常检测开源框架深度对比(PatchCore vs SPADE)
开发语言·人工智能·深度学习·数码相机·计算机视觉·视觉检测·工业相机
天诚智能门锁3 小时前
天诚cat.1人脸公租房智能锁及管控平台助力三门县公租房管理
大数据·人工智能·物联网·智慧城市·公租房