# Anthropic 详解 Opus 5.5 上一个任务的成本构成与优化方法

- 来源：Claude：Blog（网页）
- 发布时间：2026-09-23 01:02
- AIHOT 分数：79
- AIHOT 标记：已收录
- AIHOT 链接：https://aihot.news/items/cmucxadjg0s7sroedhljk9jm0
- 原文链接：https://claude.com/blog/what-a-task-costs-on-opus-5-5

## AI 摘要

Anthropic 官方博客讲解如何在 Opus 5.5 上估算和控制 Claude Code 任务成本。Opus 5.5 输入输出 token 降价 20%、cache read 降价 60%，API list 价格为每百万输入 $4、输出 $20、cache read $0.20，Pro、Max 或 Team 订阅额度相应多出约 25%。

## 正文

一项任务的成本，以及一次重试的成本

你并不是一开始就打算购买数百万个 token。你是为了构建一个功能、完成一次迁移，或者运行一项任务。token 数量只是模型为达成目标所需要的量。

两个每 token 成本相同的模型，在同一项任务上的花费可能相差很大。一个只读一遍代码。另一个读了代码，尝试修复，然后又读一遍。其中每一步都是一轮，而每一轮都会重新发送到目前为止的对话。因此，需要更多轮的模型花费更高，即使单价相同也是如此。

读完这篇文章后，你应该能够回答关于自己工作的三个问题：

我的典型任务在 Opus 5.5 上要花多少钱？

哪些设置会改变这一点，改变多少？

我该如何查看自己的会话用量？

我想事先说明的权衡是：每一种减少 token 消耗的方式，也可能让你付出任务无法完成的代价。降低 effort、使用更小的模型，或者减少上下文，这些当然都能节省 token。但一次重试的成本会超过这些节省。本文试图为每一种权衡标出价格。

这里的一些数字是标价，另一些则是基于标价构建的示例。这些数字是可交互的，所以你可以在阅读时更改输入。这些都是尽力而为的示例，所以请务必查阅我们的文档，并自行核算。

一个任务要花多少钱？

Claude Code 中的一个任务就是一个循环。模型读取对话，调用工具，读取结果，然后再次循环，直到完成。循环中的每一轮就是一次请求。有四件事决定了这个循环的成本。

轮次。每一轮都会重新发送到目前为止的对话。轮次越少，处理的输入就越少。

缓存读取。一轮中重新发送的大部分内容都是模型在上一轮已经看过的文本。这部分按缓存读取计费，价格仅为输入价格的一小部分。

输出 token 类型。这是最贵的 token，价格是输入的五倍。思考按输出计费，因此一个在得出答案的过程中推理更少的模型，成本更低。

模型。每个模型都有自己的价格，列在定价页面上，因此你选择的模型决定了每一个 token 的价格。

我们的示例使用 Opus 5.5 的 API 标价：每百万输入 token 4 美元，每百万输出 token 20 美元，每百万缓存读取 0.20 美元。与下方的计算器一样，这些示例将缓存输入按读取价格计费，其他所有内容按输入价格计费，并且不计缓存写入。token 数量仅为示例说明。

轮次

假设一个任务开始时上下文为 20K tokens，随着模型读取文件和工具结果，增长到 120K。在第 40 轮时，平均每轮发送约 70K tokens。这个任务大约消耗 2.8M 输入 tokens，尽管对话从未超过 120K。如果 90% 从缓存读取，输入成本约为 $1.62。同样的任务在 25 轮内处理约 1.75M tokens，输入成本约为 $1.02。

一轮的成本高于它新增的 tokens，因为它会重新发送之前的所有内容。所以最便宜的一轮就是你不需要的那一轮。

一个能减少轮次的习惯是给模型一种检查自己工作的方式。例如，一个可运行的测试、一次构建，或一个调用该端点的脚本。能够检查自己工作的模型会更早发现自己的错误。

一个能在一次遍历中收集所需内容、并批量执行工具调用的模型，也能减少重新发送的次数。

缓存读取

同样的 2.8M 输入 tokens，如果没有任何来自缓存，成本为 $11.20。在 90% 命中率下成本为 $1.62，在 96% 时约为 $0.99。没有其他设置能如此大幅地影响输入成本。一个稳定的会话本身就能保持高命中率。我在本文后面会介绍一些避免破坏缓存的注意事项。

输出 tokens

在 Opus 5.5 上，一个输出 token 的成本是一次缓存读取的 100 倍。一个典型任务的 60K 输出 token 花费 $1.20，与从缓存中读取 6M token 相同。输出包含思考过程。即使 Claude Code 只向你展示摘要，你也要为全部内容付费。这就是为什么 effort（主要改变模型思考量）会让账单变化如此之大。

模型

缓存读取更便宜的模型主要有利于长会话。输出更便宜的模型主要有利于需要大量推理的任务。

Opus 5.5 有哪些变化

有两处变化：价格，以及模型完成的工作量。

每一条价格线都更低了。输入和输出 token 比 Opus 5 便宜 20%。缓存读取便宜 60%。输入价格下降，读取费率也随之下降，从输入价格的十分之一降至二十分之一。图 A 比较了两个模型每百万 token 的价格。这些是 API 标价。在 Pro、Max 或 Team 套餐上，Opus 5.5 更低的价格会传递到你的限额上，包括缓存上下文，因此它们比 Opus 5 大约多出 25% 的可用量。缓存读取的额外降价属于 API 价格变动。

图 A. 每百万 token 价格。

在使用 API key 的情况下，缓存读取降价对 Claude Code 影响最大。一个长时间运行的智能体会话将大部分输入花在缓存读取上。在下方图 B 所定价的会话中，缓存这一行从 $1.00 降至 $0.40，是账单上降幅最大的一项。

你能节省多少取决于你工作的形态。一个以缓存读取为主的会话，在输入上最多可节省 60%。一个没有缓存、答案很长的简短提问，最多可节省 20%，因为输出占了大头。大多数 Claude Code 任务介于两者之间。下面的计算器会显示你的任务处于哪个位置。

Opus 5.5 可以在一个回答上使用更多 token，因为它在回复前总会先思考。我们预计人们用 Opus 5.5 能完成更多工作，但这因任务而异，所以要在你自己的工作上衡量。图 C 比较了两个模型上每个任务的成本。这一部分取决于你的工作，远甚于取决于价格。

在一个范围明确的任务上，两个模型完成的轮数大致相同，价格下调就是你得到的全部好处。差距应该在开放式任务上最大，因为模型可能在一个错误的想法上耗费很多轮。没有哪个单一数字适用于所有代码库，所以要实际衡量（见最后一节）。

长时间运行以一份报告收尾。 Opus 5.5 在长时间运行结束时，会说明它改动了什么、发现了什么，以及需要你提供什么。这也能省钱，因为当你能看清发生了什么时，你重跑会话的次数就会更少。

相同任务并排对比

图 B 对同一个会话在两个模型上按相同的 token 数量计价。所以差异只来自价格变化，别无其他。切换模型即可对比。token 数量仅为示意。

$3.50

按 Opus 5 的标价

图 B。

两个模型使用相同 token 的示例会话，因此这仅反映价格变化。

图 B。两个模型使用相同 token 的示例会话，因此这仅反映价格变化。

这张账单包含 /usage 为一次会话显示的三行。按 token 计，缓存读取是最大的一行，达 2M。按 token 计，输出是最小的一行，但按成本计却是最大的一行。全新输入介于两者之间。它涵盖每个文件的首次读取以及每个新的工具结果。

图 B 给两个模型相同的 token 数量，因此它仅反映价格变化。你自己的会话在 Opus 5.5 上可能使用更多或更少的 token。按这种方式计价，该会话的成本大约低 31%。

一次实际记录的运行还会叠加第二个效应，即模型工作量多少的变化。在一个出现起步失误的任务上，差距应该会拉大。试试你自己的数字

设定你某个任务的使用量，或从预设值开始。这些预设值颇具示意性，但我仍然建议你自己算一算。缓存输入按缓存读取价格计费，全新输入按输入价格计费，因此缓存滑块展示了差距中有多少来自缓存读取。

要从真实会话中填充这些滑块，请在任务结束时运行 /usage。Session 区块会给出输入、输出和缓存的数据。最后一个滑块是你对 Opus 5.5 在你的任务上能减少多少工作量的假设。如果只想看价格变化，就把它留在 0%。

要根据你自己的工作实际来设定它，方法如下：在 Opus 5 和 Opus 5.5 上运行同一个任务，并比较轮次和输出 token。Measure it yourself 会带你走一遍流程，Reading a session 则展示了在 /usage 中该检查什么。

所有轮次中发送给模型的内容，无论是否缓存。

包含思考内容，它按输出计费。

只看价格的话就留在 0%。Opus 5.5 用更少的 token 做更多的事，但这要在你自己的任务上实测。

Opus 5 每任务

–

–

Opus 5.5 每任务

–

–

每任务变化

–

–

一个月按工作日计算。标价。不含批量或批量折扣，且缓存写入不计入（见下方缓存部分）。

最大化会话价值的技巧

Opus 5.5 更低的价格让每个 token 的成本更低。你如何运行一个会话决定了你使用多少 token，以下步骤会有所帮助。

在更换模型之前先提高 effort

Effort 为模型每一轮消耗多少 token 设定了一个总体倾向：它的思考、它写出的文本以及它的工具调用。在较低的 effort 下，它会进行更少的工具调用，并让这些调用更简短。Opus 5.5 有四个级别（low、medium、high 和 xhigh），外加用于单次会话的 max。选择一个级别，查看何时使用它以及设置它的命令。

级别从每轮最少思考到最多思考排列。

Claude Code 会为每个模型设置一个默认级别，/effort status 会显示你的级别。对于范围明确、日常性的工作，可以试试 medium。当 medium 卡住时，试试 high。它每轮的花费比 medium 多，但比换用更大的模型少。对于机械性的工作，比如重命名或在多个文件中应用已知模式，可以使用 low。

一个粗略理解 effort 定价的思路：假设 high 在整个任务中增加 20K 个思考 token。在 Opus 5.5 上，这相当于 $0.40。一个十轮的 retry 循环，使用 100K 的缓存上下文，总共输出 10K token，成本大致相同。所以，如果 high 能在某个任务上省下一次 retry，它就已经回本了。而在一个 medium 本来一次就能完成的任务上，这些开销就白费了。

当 medium 只修复了一层时

你需要更高 effort 的最明显信号，就是修复只停留在某一层。

假设某个字段在 API handler 中被重命名了。在 medium 下，模型更新了 handler，handler 的测试通过了，但客户端仍然发送旧字段。它做了被要求做的事，只是没有读得足够远，去找到第二个调用方。在 high 下，它会在写入之前花更多轮次阅读调用点，并在一次操作中同时修改两层。

检查也能捕获同样的 bug。如果模型能运行一个经过客户端的测试，那么在 medium 下，旧字段在写入的那一轮就会让该测试失败。所以，在提高 effort 之前，先检查模型是否有办法验证自己的工作。一次测试运行只花费一轮及其输出。而更高的 effort 会给每一轮都增加思考开销。

如果升级 effort 等级并增加检查都不奏效，那就换一个更大的模型。

在会话中途更改 effort

在 Claude Code 中，运行 /effort 并带上一个级别，例如 /effort high。/effort status 会打印当前级别。你可以在任务进行中更改它，新级别会应用于下一个请求。

更改 effort 或 thinking 设置会清空缓存的对话，因为这些设置是缓存所匹配的提示词的一部分。下一个请求将按整段对话支付缓存写入的费用。

为你的工作选择合适的模型

模型选择决定了一次会话中每个 token 的价格，因此它对账单的影响比 effort 更大。它的影响范围也更广。每一个继承主模型的子智能体也会继承它的价格。大多数日子需要三种模型：一个用于查询的小模型，Opus 5.5 用于你密切监督的工作，以及一个更大的模型用于最难的任务。

将 Opus 5.5 作为日常主力

将 Opus 5.5 用于你监督的工作：跨几个文件的功能开发、调试，以及带有后续修改的代码审查。你阅读它的所作所为，并在它偏离时介入，从而让循环保持简短。升级到 Fable 5.1

当结果比 token 价格更重要时，就升级到 Fable 5.1。例如你不会全程监督的长时运行、代码库中没有现成模式可循的问题，以及需要协调多个子智能体的大型改动。不要等到第三次失败才行动。如果 Opus 5.5 在 high 档位下两次遇到同一个问题，就切换过去，等问题解决后再切回来。对于交互式工作，Opus 5.5 更合适，因为它延迟更低、成本更少。

Fable 5.1 的标价是每百万输入 token 10 美元、每百万输出 token 50 美元，是 Opus 5.5 价格的 2.5 倍。其缓存读取费用为每百万 0.25 美元，仅为 Opus 5.5 费率的 1.25 倍，因为缓存读取按其输入价格的 0.025 倍计费。因此，这一差距在长时间、缓存密集的运行中最小，而在大量写入的任务中最大。

在自然的断点处切换。缓存属于上一个模型，因此预计在新模型上的第一轮会按写入价格对整段对话计费。先运行 /compact，或者用一个简短的书面计划开启新会话，以缩小那一轮的开销。运行 /model 并带上别名或模型名称即可切换。/model 还会把你的选择保存为新会话的默认值，所以当困难的部分完成后就切回来。

为查询类任务降级

为查询类任务降级到 Sonnet 或 Haiku，而不是为写代码降级：用于搜索和总结的子智能体、读取日志和测试输出，以及"这个定义在哪里"之类的问题。对于跨多个文件的机械式编辑，保留 Opus 5.5 并将 effort 设为 low。这样编辑仍由为你编写其余代码的模型完成，同时每轮成本更低。

要把子智能体放到更小的模型上，可以在其定义中设置 model: haiku 或 model: sonnet。要把所有子智能体都放到同一个模型上，可以设置 CLAUDE_CODE_SUBAGENT_MODEL 环境变量。子智能体定义中指定的模型会覆盖该变量。没有设置模型的子智能体会运行在你的主模型上，除非设置了该变量。

每个子智能体都在自己的上下文窗口中运行，并返回一份摘要，因此它读取的文件不会进入你的主对话。它仍然要消耗自己的 token，所以模型设置决定了这笔开销的成本。

代价是：一个小模型如果误读了搜索结果，就会让主模型去追错误的文件，而主模型要为这段弯路付出代价。把小模型用在出错容易发现的工作上，比如查找文件、运行测试和读取日志。

把需要判断的决策留给主模型。opusplan 别名以另一种方式拆分工作：Opus 在计划模式下做规划，Sonnet 执行计划。这就把代码编辑交给了 Sonnet，与上面的建议正好相反。在把它设为默认之前，先在你自己的任务上实测一下。

迁移时检查你的提示词

为旧模型编写的指令可能会让 Opus 5.5 写更多内容并重复调用工具。在 Claude Code 中运行 /claude-api prompt-audit，检查你的 Claude Code 配置（例如你的技能和 CLAUDE.md 文件）是否存在这些提示词反模式。它还会检查你在 Claude Platform 上构建的应用的代码。

我们在一次从 Opus 4.8 迁移到 Opus 5.5 的过程中测试了这一点，使用了一个内部客户支持基准，包含 44 张工单，其提示词中包含若干这类模式。迁移到 Opus 5.5，在低 effort 下，将该基准的成本削减了约 18%。

运行 prompt-audit 又进一步削减了 9%，降至比 Opus 4.8 起点低约 25%。该审计移除了那些让模型写更多内容并重复工具调用的仪式性指令：一个强制性的六步流程、一条草稿本规则、一条验证两次规则，以及相互矛盾的指令。

图 D。在客户支持基准上，从默认 effort 的 Opus 4.8 迁移到低 effort 的 Opus 5.5，并配合 prompt-audit。

该结果来自单一基准，因此请将其视为一个示例，而非一个可以预期的数字。运行审计，然后在真实任务上对比审计前后的 /usage（参见自行测量）。

缓存与压缩

Claude Code 会为你处理缓存与压缩。你如何运行一个会话，决定了它们能节省多少。

缓存如何工作

Claude Code 会缓存请求中重复的部分，例如系统提示词、工具定义以及到目前为止的对话。

在 Opus 5.5 上，一次缓存读取的成本是全新输入 token 的 5%。写入缓存的成本比全新读取更高，按当前定价，五分钟缓存为输入价格的 1.25 倍，一小时缓存为输入价格的两倍。每次命中都会免费重置生命周期。

在 Claude Code 中，生命周期取决于你的付费方式。使用 Claude 订阅时为一小时。使用 API key 或云服务商时默认是五分钟，而订阅一旦开始消耗用量额度，也会降为五分钟。

在 120K token 的上下文下，Opus 5.5 上一次五分钟写入的成本约为 $0.60，一次读取约为 $0.02。一次写入的成本相当于 25 次读取。使用 API key 时，一次六分钟的咖啡休息会把下一次 $0.02 的读取变成 $0.60 的写入。同样规模下一小时写入的成本约为 $0.96，而在 API 上你可以支付这笔溢价来覆盖一天中的空档。

会话形态与命中率

缓存存储的是一个前缀，因此它只能复用请求中从开头起与上一次请求相匹配的那部分。

一个稳定的会话会在每一轮把内容追加到对话末尾，从而保持较高的命中率。任何改动请求较早部分的操作都会降低命中率。更改工具定义会清空整个缓存，而更改系统提示词会从该点起清空缓存，这几乎就是全部内容。

在实践中，以下情况预计会发生缓存写入：

你暂停的时间超过了缓存生命周期；

你更改 effort 或 thinking 设置（参见 effort 部分），这可能会清空缓存的对话；

你连接或断开某个 MCP server，这会改变每次请求开始时加载的内容；

你切换模型，因为新模型会从空缓存开始；以及

对话被压缩，这会重写缓存所匹配的历史记录。

因此，在会话开始时就把这些设置好，并在会话运行期间不要改动它们。

为什么长会话每一轮的成本更高

每一轮都会重新发送整个上下文，因此随着上下文增长，每一轮的成本也会增加，即使缓存是热的也不例外。在上下文为 20K tokens 时，一轮的缓存读取在 Opus 5.5 上花费约 $0.004。在 150K 时花费约 $0.03，而在这个规模下进行 30 轮，仅读取一项就要花费 $0.90。

同样的 30 轮在 20K 时花费约 $0.12。在 Claude 4.6 及之后的模型上，更大的上下文窗口不会改变每 token 的价格，因此成本完全来自重新发送对话。

这些上下文中有很大一部分是早先工作遗留下来的：一小时前的堆栈跟踪、你已经处理完的文件、你后来已经修复的某次测试运行的输出。每一轮仍然会把它们全部发送出去。

压缩、/compact 与 /clear

当会话接近其上下文上限时，Claude Code 会总结较早的历史记录，以便后续轮次发送更少的内容。运行 /autocompact 并附带一个 token 数量，可以更改在触发该操作之前上下文达到多满。

有两个命令可以让你自己完成这件事。/clear 会清空对话且不产生任何费用，因此当你转向无关的工作时使用它。/compact 会保持连续性，并消耗一次请求。它会读取它所总结的对话，你可以说明要保留什么，例如 /compact keep the failing test names and the schema change。

在 150K tokens 时进行压缩的大致价格约为 $0.25。这包括读取、几千个输出 token 的摘要，以及在更短上下文上的一次新的缓存写入。之后每一轮在读取上大约节省 $0.025，因此压缩大约在十轮之内就能收回成本。在你即将完成之前才进行压缩，花费会超过它节省的。

摘要还会丢失细节。在调试会话中途进行压缩，可能会丢掉那一条至关重要的日志行。在自然的停顿处进行压缩，而当下一步取决于某个具体内容时，在 /compact 指令中说明它。

在你输入之前加载了什么

你的 CLAUDE.md 文件会在每次会话开始时加载到上下文中，因此其中的每一行都会成为每一轮重新发送内容的一部分。成本文档建议将其控制在 200 行以内。MCP 工具定义是延迟加载的。会话开始时只加载工具名称和服务器指令，完整定义会在其工具被使用时才加载。运行 /mcp 可以查看已连接哪些服务器，并关闭你未使用的那些。

账单的其余部分

该表格列出了影响 Claude Code 会话的其他计费规则，并在有文档可查时附上文档链接。

自己动手测量

本文中的数字仅为示例。你的代码库、提示词和习惯各不相同，因此请在你自己的任务上测量成本。以下是检查方法。

在会话中，运行 /usage。 /cost 的作用相同。Session 区块会显示 token 使用量和按标价估算的美元成本。prompt-cache 一行会显示你的输入中有多少来自缓存。在 Pro、Max、Team 或 Enterprise 套餐下，同一屏幕会显示你的套餐用量条。美元数字是在你的机器上按标价计算得出的，因此在订阅套餐下，它只是你做了多少工作的参考，而非账单。

把同一个任务跑两遍。 从你的待办清单里挑一件事，别用玩具示例。用 /model 在 Opus 5 和 Opus 5.5 之间切换。记录每次运行的轮数、输出 token 和成本。做三到四个任务之后再下结论。

对于团队，使用用量和成本报告。 Claude Code Analytics API 给出每个用户的预估成本。Usage and Cost API 按模型以及缓存与未缓存 token 拆分支出。

试试努力程度阶梯。 把一个困难任务分别用 medium 和 high 跑一遍。把一个机械性任务用 low 跑一遍。

解读一次会话

在任务结束时，检查 /usage 里的三件事。

缓存占比。 对于长时间会话，它应该很高。如果很低，找找是否有长时间停顿、努力程度或模型发生切换，或者中途连接了某个 MCP 服务器。

输出与输入之比。 一个小小的改动却产生大量输出，通常意味着努力程度对该任务来说过高，或者模型在反复重试。

总输入与对话规模之比。 如果总量是对话规模的许多倍，说明这次会话经历了很多轮，值得读一读这段对话，找出循环重复的地方。

作为基准参考，Claude Code 的成本文档给出了企业部署的平均值：每位开发者每个活跃日约 $13，而 90% 的用户每个活跃日低于 $30。如果某次会话的成本远高于你自己的正常水平，那就值得复盘一下。

请记住

对于范围明确的日常工作，使用中等投入强度。

给模型一种检查自己工作的方法，并在计划模式下开始跨文件的更改。

当中等档位停滞不前时，把投入程度提升到高。在休息时更改，因为这一更改可能会产生一次缓存写入的开销。

如果高投入档位两次遇到同一个问题，就切换到 Fable 5.1。问题解决后再切换回来。

把搜索和日志读取子智能体放在 Sonnet 或 Haiku 上。代码编辑保留在 Opus 5.5 上。

让长会话持续进行，这样它的缓存就能保持热态。

在不相关的任务之间使用 /clear，在休息时使用 /compact，并注明要保留什么。

最重要的一点：在每个模型上运行一个真实任务，并比较 /usage 报告的内容。你自己的数字才是值得信赖的。

希望这篇文章对你有帮助。如果你的额度在 Opus 5.5 上没有比 Opus 5 走得更远，请通过 /feedback 告诉我们。

延伸阅读：有效管理成本 · 模型配置 · 在 Claude Code 中选择 Claude 模型和 effort 级别 · Effort · 提示词缓存 · 最大化你的 Claude Code 会话价值

感谢 Michael Segner、Kacie Jenkins 和 Molly Vorwerck 的审阅。

视频 · 前往原文观看
