SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor

Claude为什么这么贵?Token费用怎么算

输出token单价是输入的5倍,且每轮都会重新计费完整上下文。用一个真实会话拆解账单,并说明4个可降低Claude API成本的杠杆。

Claude 为什么昂贵?简要回答

Claude 昂贵有四个相互叠加的原因。输出 token 的价格是输入 token 的 5 倍。API 不会保存对话记忆,因此每轮都会重新发送完整历史记录,并再次计费。Agent 会将一个问题转换为几十次 API 调用,而每次调用都会携带不断增长的历史记录。除此之外,frontier model 的定价依据是其处理任务的难度,而不是运行小型模型的成本。

token 是一段文本。粗略来说,1 个 token 约等于 4 个字符,或约等于 0.75 个英文单词。费率按每 1 million 个 token 报价,写作 MTok(million tokens)。以下所有费率均为截至 2026 年 10 月公布的 Claude API 费率。

大多数意外账单都来自上述列表中的第二和第三个原因。人们通常认为,Claude 生成的答案才是费用来源。在一次 Agent 会话中,生成文本的费用通常不到总账单的十分之一。

已发布的费率,先统一数字

图表Published Claude API rates, US dollars per million tokens, October 2026
此图表背后的数据
[
  {
    "label": "Haiku 4.5",
    "input_usd": 1,
    "output_usd": 5,
    "cache_read_usd": "0.10"
  },
  {
    "label": "Sonnet 5",
    "input_usd": 2,
    "output_usd": 10,
    "cache_read_usd": "0.20"
  },
  {
    "label": "Sonnet 4.6",
    "input_usd": 3,
    "output_usd": 15,
    "cache_read_usd": "0.30"
  },
  {
    "label": "Opus 5",
    "input_usd": 5,
    "output_usd": 25,
    "cache_read_usd": "0.50"
  }
]

重点看费率的比例,而不是绝对数值。每个模型的输出费率都正好是输入费率的5倍。Opus 5的输入费率为每百万输入 token 5 美元,输出费率为 25 美元。Haiku 4.5的费率分别为 1 和 5 美元。因此,这张表中最便宜模型与最昂贵模型的费率相差5倍,读取与写入之间的费率也相差5倍。

Sonnet 5的费率为每百万 2 和 10 美元。Anthropic最初将该价格作为引导性费率提供至2026年8月31日,随后将其定为标准价格,并取消原计划中的3美元和15美元涨价。费率会随模型发布而变化,因此在据此编制预算前,请先确认当前费率。较新的模型仍保持相同的5倍比例:Opus 5.5的费率为每百万4美元和20美元,Sonnet 5.5为2美元和10美元;Haiku 5.5于2026年10月7日发布,费率为0.10美元和0.50美元。该表下方也没有免费层级,不过新账户会获得少量额度,而且API 的某些部分完全免费。

最后一列是缓存读取费率。大多数账单由它决定。先完成算术计算,再回来看这一列。

为什么输出 token 的成本是输入 token 的 5 倍?

读取和生成所需的计算量不同。输入 token 只需处理一遍。模型会一次性读取整个提示词,并在各部分之间并行执行计算。因此,读取 60,000 个 token 并不会比读取 1,000 个 token 多花 60,000 倍时间。

输出 token 则是逐个生成的。每生成一个新 token,都需要让它单独经过一遍模型,并将之前的所有 token 作为上下文。生成 1,000 个 token 就意味着依次执行 1,000 遍计算。这种串行计算无法像读取那样并行展开,因此每个输出 token 占用硬件的时间更长。

因此,“让答案更短”的节省效果通常低于预期。它只能减少代理服务账单中较小的一部分。

为什么我每轮都会再次为整个对话付费?

Claude API 是无状态的。Anthropic 端没有一个持续存在的对话,供您每次只追加一条消息。每个请求都会携带完整的消息历史,模型会先读取全部内容,再生成响应。因此,第 30 轮的计费也包含第 1 至第 29 轮的内容。

这意味着,对话成本的增长速度会高于对话长度。第 1 轮只计费少量上下文。第 40 轮则会计费大量上下文。将这 40 轮的费用相加,您实际支付的 token 数量可能远高于整个对话实际生成的 token 数量。

图表Context size at each turn of a 40 turn agent session
此图表背后的数据
[
  {
    "turn": 1,
    "context_tokens": "20,000"
  },
  {
    "turn": 5,
    "context_tokens": "32,000"
  },
  {
    "turn": 10,
    "context_tokens": "45,000"
  },
  {
    "turn": 15,
    "context_tokens": "55,000"
  },
  {
    "turn": 20,
    "context_tokens": "64,000"
  },
  {
    "turn": 25,
    "context_tokens": "74,000"
  },
  {
    "turn": 30,
    "context_tokens": "84,000"
  },
  {
    "turn": 35,
    "context_tokens": "92,000"
  },
  {
    "turn": 40,
    "context_tokens": "100,000"
  }
]

上面的会话从 20,000 个 token 开始,其中包括 system prompt、工具定义以及代理打开的第一个文件。到第 40 轮时,上下文包含 100,000 个 token。将这 40 轮的上下文取平均后,每个请求大约会读取 60,000 个 token。

为什么代理的成本远高于聊天?

聊天中,每个问题对应一次请求。代理中,每个步骤对应一次请求。读取文件是一个步骤。运行测试是一个步骤。读取测试输出是一个步骤。编辑文件是一个步骤。完成一项任务需要40个步骤,对编码代理来说很常见。

工具调用还会带来两项额外成本。每次请求的输入 token 都包含工具定义,因为模型每次都必须获知可用的工具。Anthropic 公布了这部分开销:在 tool_choice 设置为 auto 时,Opus 5 的工具调用系统提示词占用286个 token,此外还要加上您自己的工具 schema 所占的 token。某些服务器端工具还会单独收费。Web search 的费用为每1,000次搜索$10,此外还要支付搜索结果消耗的 token 费用。

每个工具结果也会成为永久上下文。某条命令输出3,000行后,这3,000行会被加入之后的每次请求,直到会话结束,或历史记录被压缩或清除。Claude Code 报告的每个会话 token 使用量可以直观看到这一点:执行输出量较大的命令后,观察输入数量立即增加。

一次真实会话的计算

下面是使用 Opus 5 进行代理式编码的一个真实小时。共发起 40 次 API 请求。上下文从 20,000 个 token 增长到 100,000 个 token,因此每次请求平均约包含 60,000 个 token。模型每次请求生成约 700 个 token,包括简短的工具调用和少量较长的代码块。

Requests in the session:      40
Average context per request:  60,000 tokens

Total input tokens billed:    40 x 60,000                    = 2,400,000
Input cost on Opus 5:         2,400,000 x $5 / 1,000,000     = $12.00

Total output tokens:          40 x 700                       =    28,000
Output cost on Opus 5:        28,000 x $25 / 1,000,000       =  $0.70

Session total                                                = $12.70
图表Where the money went in one 40 turn Opus 5 session, no caching
此图表背后的数据
[
  {
    "label": "Input, context re-read",
    "billed_tokens": "2,400,000",
    "cost_usd": "12.00"
  },
  {
    "label": "Output, code and tool calls",
    "billed_tokens": "28,000",
    "cost_usd": "0.70"
  }
]

请看费用构成。读取费用为 12.00 美元,写入费用为 0.70 美元,因此实际读取的输出约占总费用的 5%。模型生成了 28,000 个 token,读取费用按 2,400,000 个 token 计费。没有人输入 2.4 million 个 token。相同的 100,000 个 token 被反复读取。

杠杆 1:提示缓存,这是作用最大的杠杆

提示缓存会存储提示词中稳定前缀的处理结果。下一个请求到来时,系统会直接从缓存读取该前缀,而不是重新处理。写入缓存的费用为 5 分钟缓存输入价格的 1.25 倍,或 1 小时缓存输入价格的 2 倍。大多数模型(包括 Opus 5)从缓存读取时的费用为输入价格的 0.1 倍。Opus 5.5 和 Sonnet 5.5 的费用为 0.05 倍,Fable 5.1 的费用为 0.025 倍。对于 Opus 5,每百万 token 的费用是 0.50 美元,而不是 5 美元。

将其应用到上面的会话。随着对话增长,100,000 个 token 中的每个 token 都会写入缓存一次。其余 2,300,000 个输入 token 会作为缓存读取。

Tokens written to cache:      100,000
Cache write at 1.25x input:   100,000 x $6.25 / 1,000,000    = $0.63

Tokens read from cache:       2,300,000
Cache read at 0.1x input:     2,300,000 x $0.50 / 1,000,000  = $1.15

Output cost, unchanged                                       = $0.70

Session total                                                = $2.48

使用 cache_control 字段标记可缓存部分。将断点放在不会随轮次变化的内容之后:系统提示词和工具定义之后。需要反复引用的长文档也应放在同一个稳定区块中。

{
  "model": "claude-opus-5",
  "system": [
    {
      "type": "text",
      "text": "<long, stable instructions>",
      "cache_control": {"type": "ephemeral"}
    }
  ],
  "messages": [{"role": "user", "content": "..."}]
}

现在,提示词的顺序会直接影响费用。缓存命中要求从提示词的最开头开始完全匹配,因此每个请求都会变化的内容必须放在所有不变内容之后。如果将时间戳放在系统提示词顶部,每一轮都会破坏缓存:整个前缀都会缓存未命中,你需要按输入价格的 1.25 倍再次写入。

响应会告诉你是否生效。发送请求并读取 usage 区块。

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

每个响应都会包含类似下面的 usage 对象:

{
  "usage": {
    "input_tokens": 105,
    "cache_creation_input_tokens": 7345,
    "cache_read_input_tokens": 7123,
    "output_tokens": 239
  }
}

如果重复请求仍显示 0 位于 cache_read_input_tokens,说明缓存未命中。通常原因是断点之前的某些内容发生了变化。5 分钟缓存也会过期,因此 6 分钟后发送的请求会缓存未命中,然后重新写入缓存。

杠杆 2:将简单回合发送给更小的模型

代理会话中的大多数回合都不复杂。打开文件、运行格式化工具、读取差异。这些操作不需要前沿模型。将它们路由到 Haiku 4.5 后,输入价格会从每百万 5 美元降至 1 美元。Haiku 5.5 的价格还要低一些:对于不超过 100,000 个 token 的提示词,每百万 token 收费 0.10 美元。但提示词超过这个长度后,它的每项费率都会提高 5 倍,而较长的代理上下文会达到这一阈值。Haiku 5.5 的价格及其适用场景列出了这两个价格档位。

图表The same 40 turn session under four setups, US dollars
此图表背后的数据
[
  {
    "label": "Opus 5, no caching",
    "session_cost_usd": "12.70"
  },
  {
    "label": "Opus 5, cached",
    "session_cost_usd": "2.48"
  },
  {
    "label": "Sonnet 5, cached",
    "session_cost_usd": "0.99"
  },
  {
    "label": "Haiku 4.5, cached",
    "session_cost_usd": "0.50"
  }
]

同一个会话在不使用缓存时,使用 Opus 5 的成本为 12.70 美元;使用缓存时为 2.48 美元;使用带缓存的 Sonnet 5 时为 0.99 美元;使用带缓存的 Haiku 4.5 时为 0.50 美元。仅启用缓存就能减少约 80% 的费用。选择模型可以进一步消除剩余费用中的大部分。

这里有一个必须正视的限制。更便宜的模型如果给出错误答案,你就需要重新支付整个会话的费用,还要投入自己的时间。应根据任务难度进行路由,而不是只看价格。这个规则同样适用于更高端的模型:Claude Fable 5 和 Fable 5.1 的价格高于 Opus 5,分别为每百万 token 10 美元和 50 美元。因此,在将回合发送给它们之前,请先阅读这些价格能为你带来什么。如何在 Opus、Sonnet 和 Haiku 之间选择介绍了每个模型适合处理的任务范围。

技巧 3:上下文管理

上下文中保留的每个令牌,都会在后续每一轮中计费。因此,越早删除令牌,节省的成本越高。假设在一个包含 40 轮的会话中,第 5 轮直接输出了一个包含 5,000 个令牌的文件,那么后续还会读取该文件 35 次。这会额外产生 175,000 个输入令牌。对于 Opus 5,这相当于近 1 美元,仅仅因为一次不加筛选的粘贴操作。

以下 4 个习惯可以降低令牌消耗:

  • 开始新任务时创建新会话,不要继续使用前一天的会话。
  • 在命令输出到达模型之前,使用类似 head -50 的方式过滤噪声,而不是事后过滤。
  • 只请求所需的函数,不要请求整个文件。
  • 长会话不再取得进展时,请模型先生成摘要,然后从摘要开始新会话。摘要只有几百个令牌,而完整记录有十万个令牌。

杠杆 4:将所有非交互式任务批量处理

Batch API 会异步处理请求,并将输入和输出的费用都降低 50%。如果任务不需要在下一秒内获得响应,就应使用批处理。适用场景包括分类、提取、汇总积压任务和评估运行。批处理折扣可与提示缓存叠加使用。交互式会话不适用该折扣,因为交互式会话没有可等待的处理时间。

我是不是被宰了?

这才是“Claude 为什么这么贵”背后的真正问题,下面直接回答。价格公开透明,标准层级对所有用户都相同,并按 token 计费。例外情况是协商合同;即使如此,Claude Enterprise 定价也是在相同的按量计费 token 之上增加按席位收费,而不是取代按量计费。如果您是在比较不同厂商,而不是不同套餐,比较 Claude 和 ChatGPT API 中相同任务的价格可以说明哪一方更便宜。账单中的任何费用都不是随意收取的。费率表无法告诉您是否物有所值,因为它按 token 定价,而您关心的是结果。

因此,应改为计算结果的成本。上面的会话未命中缓存时,成本为 12.70 美元。如果它交付了一个原本需要您花费 1 小时完成的功能,这个价格很低。如果它来回进行了 40 轮却没有进展,那么同样的 12.70 美元什么也没买到,问题从来不在费率。

这一点最值得记住。您的账单随 token 数量增长,而不是随价值增长。相同长度的高效会话和无效会话,成本相同。因此,4 个调节因素比费率表更重要:您无法协商每个 token 的价格,但可以决定任务需要多少 token。

因此,应跟踪每个已完成任务的美元成本,而不是每月美元支出。如果您在调整缓存和路由后,这个数值下降,那么即使月度总额上升,配置仍在改善,因为总额的增长来自完成了更多工作。

不会降低账单的做法

一些常见建议几乎没有作用。要求模型“简洁”会减少输出,而示例账单中输出只占 5%。缩短自己的问题,只能在 60,000 token 的上下文中减少几百个 token。关闭扩展思考,仅在思考 token 实际占输出较大比例时才有帮助;使用量区块会直接显示这一点,无需猜测。

更大的上下文窗口本身不会增加费用。在 Claude 4.6 及更高版本中,Haiku 5.5 除外,完整的 1,000,000 token 窗口按标准的每 token 费率计费。因此,900,000 token 请求和 9,000 token 请求的每 token 费用相同。Haiku 5.5 是例外:它按提示长度定价,超过 100,000 token 的提示会使输入、输出和缓存费用增加到 5 倍。因此,输入价格会从每百万 token 0.10 美元升至 0.50 美元,输出价格会从 0.50 美元升至 2.50 美元。对于其他当前模型,窗口大小不会决定价格。决定价格的是你放入窗口的内容。

还有两项内容应在规划阶段处理,而不是在单次会话中处理。如果你每天进行交互式使用,请将按 token 付费与固定套餐进行比较:API 与订阅费用对比会完成这项计算。如果固定套餐更划算,同时你还在考虑其他供应商,Claude 与 ChatGPT 套餐价格对比会对两者进行相同的比较。如果 agent 在服务器上无人值守运行,应在进行其他调优前设置硬性支出上限;VPS 上 AI agent 的费用控制介绍了这一点。若只想了解大致规模,1,000,000 个 Claude token 实际能购买什么会将价目表转换为文本页数。

FAQ

为什么开始使用代理后,Claude 账单会突然增加?

因为代理会针对一个问题发送多个请求,而且每个请求都会携带截至当前的完整对话。聊天每个问题只发送一个请求。编码代理每个步骤发送一个请求,而一个任务执行 40 个步骤很正常。每个请求都会按完整上下文计费,因此一个最终达到 100,000 个 token 的会话,总输入 token 数可能超过 2000000。查看 API 响应中的 input_tokens 和 cache_read_input_tokens 即可直接确认。

提示缓存真的能大幅降低账单吗?

在示例中,会话费用从 12.70 美元降至 2.48 美元,因为 Opus 5 的缓存读取费用是输入费用的十分之一。节省金额完全取决于缓存命中率。使用 5 分钟缓存时,只要成功读取一次就能收回成本,因为写入费用是输入费用的 1.25 倍,而读取费用是输入费用的 0.1 倍或更低。如果每次请求都会修改提示开头附近的内容,就完全不会命中缓存,写入溢价也会白白支付。先通过 cache_read_input_tokens 确认缓存确实生效。

是否应该所有任务都使用 Haiku?

不应该。Haiku 4.5 每百万输入 token 的费用为 1 美元,而 Opus 5 为 5 美元,因此在分类、路由等简单且高频的任务中,节省确实明显。对于困难任务,错误答案带来的成本可能超过模型节省的费用,因为除了重试费用,还要付出您自己的时间。稳定可行的模式是混合使用:机械性步骤使用小模型,需要判断的步骤使用前沿模型。

API 比 Claude 订阅更便宜吗?

这取决于您的使用量是否稳定。订阅是固定的月费,并附带使用限制。API 按 token 计费且没有上限;使用量较少或集中在短时段时,API 更便宜,而您在每个工作日都大量使用时,API 更贵。先从用量部分获取您每天的平均 token 数,按所用模型的费率计算,再乘以每月使用天数,然后将月度金额与套餐价格比较。入门套餐的价格和使用限制见 Claude Pro 的费用及其使用限制。如果计算结果显示 API 更划算,取消订阅也不会浪费已经支付的当月费用,因为取消会在当前计费周期结束时生效,在此之前您仍可继续使用该套餐。取消套餐或降级套餐介绍了这两种方式。