Claude Code 上下文和令牌效率
TECH

Claude Code 上下文和令牌效率

25+
Signals

战略概览

  • 01.
    Systima 的一项基准测试发现,Claude Code 在用户提示被读取之前发送的令牌数量约为 OpenCode 的 4.7 倍——前者基线约为 32,800 个令牌,而后者约为 6,900 个。
  • 02.
    在包含 MCP 服务器和指令文件的真实设置中,这种开销上升至约 75,000 个令牌——约占 200k 上下文窗口的六分之一——在任何代码加载之前就已被消耗。
  • 03.
    上下文腐化(context rot)——随着上下文窗口填满,输出质量逐渐下降的现象——在达到标称的 200k 限制之前就已开始,并非突然出现的硬性截止点。
  • 04.
    使用 Insforge Skills + CLI 作为上下文工程层,将某项工作负载的令牌数从 1040 万减少到 370 万(约 3 倍),错误从 10 个降至 0,成本从 9.21 美元降至 2.81 美元。

为何在你输入第一个字之前基线就如此沉重

Claude Code 的开销是结构性的,而非偶然。其系统提示(system prompt)依赖于模型——发送给 Sonnet 的为 27,787 个字符,而发送给 Fable 的为 10,526 个字符——并且它捆绑了大型工具模式(tool schemas,已从 99,778 个字符缩减至 82,283 个字符),这些因素共同导致首次交互的基线达到约 32,800 个令牌,远高于 OpenCode 的约 6,900 个 [1]。添加 MCP 服务器和 CLAUDE.md 文件后,提示前的负载上升至约 75,000 个令牌,相当于在任何代码加载前就消耗了 200k 窗口的六分之一 [4]。更隐蔽的代价在于缓存机制:与 OpenCode 重用字节相同的缓存前缀不同,Claude Code 每轮都推进其缓存断点,并在会话中途重写数万个缓存令牌。在一项相同的文件摘要任务中,其缓存写入量高达 OpenCode 的 54 倍(53,839 对比 1,003)[1]

上下文腐化是第二种不同的失败,会加剧第一种问题

提示前的膨胀缩小了可用预算;上下文腐化则进一步损害了你对预算的使用效率,两者叠加作用。Jake Minns 将其区分为两种类型:内在腐化(intrinsic rot)——由于模型的注意力预算固定,随着令牌堆积,信噪比下降;以及内容腐化(content rot)——来自工具调用和失败尝试中积累的过时或矛盾信息 [2]。这种质量下降是渐进的,并且早期就开始,而非在某个临界点突然发生:当关键信息位于上下文窗口中间时,检索准确率下降超过 30% [2]。实践者生动地描述了这些症状——输出质量在达到名义上限之前就已急剧下降,代理重复处理已解决的问题或重试失败的方法——社区逐渐将这种现象称为“上下文腐化”,以解释为何更大的上下文窗口并不保证更好的结果。

结论:这是一个代理层问题,而子代理(subagent)的解决方案具有两面性

社区主流观点认为,这是纪律问题而非模型问题——这体现在广泛传播的“别怪 Claude,你的代理层才是问题”一文中,该文指出仅靠上下文纪律就能大致将令牌使用量减半。但最受欢迎的解决方案——使用子代理——却引发分歧。评论者 a_c 警告称,每个子代理都会重新发送相同的约 3 万个令牌的系统提示,在使用七种子代理时,可能轻易消耗 5 小时窗口的 30%,而实际工作尚未开始 [5];mips_avatar 反驳称这些共享提示属于缓存读取,成本约为完整预填充的十分之一 [5];wongarsu 则指出,缓慢的子代理可能将主协调器的上下文逐出缓存,导致必须以全价重新支付 [5]。专用上下文层展示了其真实潜力:Insforge Skills + CLI 设置将某项工作负载的令牌数从 1040 万减少到 370 万,错误从 10 个降至 0 [3];社区中关于 MCP 虚拟化层的演示也声称实现了类似节省,尽管在独立复现之前,此类结果仍需保持合理怀疑。

历史背景

Systima 发布了 HTTP 代理基准测试,确立了 Claude Code 与 OpenCode 在提示前的令牌差距为 4.7 倍;一天后,即 2026-07-13,GIGAZINE 报道了约 33,000 和 75,000 的开销数据,并将该基准测试传播给更广泛的受众。

关键关系图

关键玩家
主题

Claude Code 上下文和令牌效率

SY

Systima

AI 咨询公司,运行了 HTTP 代理基准测试,量化了 Claude Code 与 OpenCode 在 API 边界处的令牌开销;4.7 倍和 54 倍缓存数据的来源。

AN

Anthropic (Claude Code)

Claude Code 的供应商;缓存系统提示、工具定义、CLAUDE.md 和历史记录,但每轮都推进缓存断点,导致重复的缓存写入。在公开讨论中未对基准测试作出官方回应。

OP

OpenCode

开源竞品编码代理,发送字节相同、低开销(约 7k)的请求前缀,并能廉价重用缓存;在基准测试中作为效率基准。

AV

Avi Chawla (Daily Dose of DS)

实践者和作者,报告了使用 Insforge Skills + CLI 上下文层实现的 3 倍令牌减少和零错误结果。

IN

InsForge

开源(Apache 2.0)、可自托管的后端和上下文工程框架,使用作用域 Skills 存储静态知识,并通过 CLI 执行直接后端操作,以减少 Claude Code 的上下文膨胀。

事实来源

5 条引用
  1. [1] Claude Code Sends 4.7x More Tokens Than OpenCode Before Reading Your Prompt
  2. [2] Governed Context: Managing Context Rot in Claude Code
  3. [3] Claude Code Used 3x Fewer Tokens With One Change
  4. [4] Claude Code is consuming a huge number of tokens before reading your prompt
  5. [5] Claude Code sends 4.7x more tokens than OpenCode (Hacker News)

来源文章

Top 4

THE SIGNAL.

Analysts

上下文腐化有两种形式——由固定注意力预算引起的内在衰减,以及由过时或矛盾信息积累引起的内容腐化——因此有效令牌预算远低于标称限制,且退化从早期就开始。

Jake Minns
作者,Towards Data Science

每个子代理都会发送相同的约 3 万个令牌的系统提示。如果你使用 fable/opus,7 个子代理在开展任何工作前就可能轻易消耗 5 小时窗口的 30%。

a_c
Hacker News 评论者

共享提示全部来自缓存,因此属于缓存读取,成本约为常规预填充的十分之一。

mips_avatar
Hacker News 评论者

如果它们耗时过长,你的协调器上下文将不再处于缓存中,因此当子代理完成时你必须再次全额支付。

wongarsu
Hacker News 评论者
The Crowd

Great thread on reducing Claude Code token up to 60% Best one is using the open-source tool RTK (Rust Token Killer) It automatically removes noise, merges repeated content, and strips useless blank lines and progress bars. More details down in @aibuilderclub_ 👇 https://t.co/tRFYCbnjYA

@@jasonzhou19931945

I edited the intro because I realized I buried the lede originally- The 1M context window is a double-edged sword. It allows Claude to do more complex tasks but it can also leads to more context pollution if you don't manage your session well. This is how you do that:

@@trq2121611

Claude Code used 3x fewer tokens with one change: - Before: 10.4M tokens · 10 errors · $9.21 - After: 3.7M tokens · 0 errors · $2.81 I used Insforge Skills + CLI as the backend context engineering layer for Claude Code (open-source and local). Repo: https://t.co/ACu2d1oaJ1 https://t.co/1sd4nGnqV0

@@_avichawla925

My full Claude Code setup after months of daily use — context discipline, MCPs, memory, subagents

@u/Sictir11100
Broadcast
How Claude Code Works

How Claude Code Works

Context Management in Claude Code

Context Management in Claude Code

Claude Code is Expensive. This MCP Server Fixes It (Context Mode)

Claude Code is Expensive. This MCP Server Fixes It (Context Mode)

Claude Code 上下文和令牌效率 — AI 新闻 | Agentic Brew