惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
雷峰网
雷峰网
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
G
Google Developers Blog
腾讯CDC
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
人人都是产品经理
人人都是产品经理
博客园_首页
T
Tailwind CSS Blog
C
Check Point Blog
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
Y
Y Combinator Blog
L
LangChain Blog
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日 程序员愿意为 AI 写文档,却不愿为同事写 - 暗无天日
读:Token 经济学的四个第一性原理 - 暗无天日
lujun9972, Claude Code · 2026-05-25 · via 暗无天日

目录

  • 前提:补贴结束了
  • 原理一:每轮对话重读全部历史
  • 原理二:53.9% 的消耗你根本看不见
  • 原理三:稳定的上下文可以缓存
  • 原理四:稀缺是结构性的
  • 给 Claude Code 用户的实操建议
    • 1. 让 CLAUDE.md 瘦身
    • 2. 长对话及时 compact
    • 3. 默认用便宜模型
    • 4. 工具输出是最大的隐性消耗

Stefan Wolpers 在 DZone 上发了一篇 No More Cheap Claude: 4 First Principles of Token Economics in 2026,拆解了 LLM token 消耗的四个底层规律。原文给的是通用 Claude 用户的视角,我这篇把重心移到 Claude Code 上。

前提:补贴结束了

2026 年初,Claude Pro 的用户开始感受到限额收紧。Anthropic 悄悄调整了用量天花板。其他厂商也在做类似的事,因为 GPU 算力是物理资源,复制一份成本就归零这种事只发生在软件身上。

"随便用,反正便宜"的时代过去了。理解 token 怎么消耗、怎么优化,从可选项变成了必修课。

原理一:每轮对话重读全部历史

Claude 的对话机制和人类记忆完全不同。人类聊到第 30 句时会记得前面 29 句的大意。Claude 每次收到新消息都要从第 1 句重新读到第 29 句,才开始处理你的新问题。

对话越长,每一轮越贵。消息 30 为消息 1 到 29 全部买单,消息 60 为消息 1 到 59 全部买单。每轮的 token 消耗 = 当轮新内容 + 之前所有轮的累积,所以成本是递增的。

长对话里早期已经不相关的内容,属于"持续收费的死重"。 Claude Code 的 /compact 命令就是干这个的:把对话历史压缩成摘要,删掉旧的细节,后续回合不再为过时信息付费。

原理二:53.9% 的消耗你根本看不见

打开 Claude Code 的 /usage 面板,你能看到自己发了多少消息。但消息数只是冰山一角。

Anthropic 的数据:用户输入的 token 只占所有 input token 的 46.1%。剩下的 53.9% 来自三样东西:

  1. 系统提示词 :Claude Code 的内置行为指令、工具定义、安全规则
  2. CLAUDE.md 内容 :项目级和用户级的行为指令,全部塞进上下文
  3. 工具输出 :文件内容、grep 结果、git diff、shell 命令的输出

原文举了个例子:上传一份 51 页的 PDF,消耗了 119,000 个 token。这些 token 在上下文窗口里,每一轮都被重新读取。

对 Claude Code 用户来说,工具输出是大头。每次 Read 一个文件,每次 Grep 搜索代码,每次 Bash 跑命令,输出都追加到对话历史里,后续每一轮都要重新"付钱"读一遍。

几个值得养成的习惯:

  • 能用 Grep 搜到具体行时,不要用 Read 读整个文件
  • CLAUDE.md 保持精简,把不常用的规则挪到按需加载的 skill 文件里
  • 大文件上传前先想清楚:你真的需要它在整个对话期间都占着窗口吗?

原理三:稳定的上下文可以缓存

这个原理我之前写过一篇 详细的 Prompt Caching 解读,这里只说结论:上下文前缀(系统提示词 + CLAUDE.md + 工具定义)在对话期间不变的话,推理服务器会把它缓存起来,后续回合读取缓存的价格是正常计算的十分之一。

Claude Code 的缓存命中率能达到 92%,靠的是一条纪律: 会话期间不修改前缀 。需要补充指令时,不编辑系统提示词,作为新消息追加就行,前缀保持稳定。

反过来,频繁修改 CLAUDE.md 或在会话中途切换模型,缓存会失效,每一轮都按全价重新计算。

原理四:稀缺是结构性的

Wolpers 判断:模型不会像过去两年那样大幅降价了。原因有两条。

一是 output token 定价是 input token 的 5 倍 。生成一个 token 比读取一个 token 贵得多,这是 Transformer 架构的物理特性(解码阶段逐 token 串行计算),跟厂商的定价策略无关。

二是 上下文窗口是硬约束 。Claude 的 200K token 窗口听起来很大,但系统提示词、CLAUDE.md、对话历史、工具输出全塞进去,空间消耗得比你想象的快。Wolpers 提到了一个"死亡之谷"概念:Project 的上下文接近 200K 阈值时,Claude Code 需要为 Project-level RAG(检索增强生成)分配索引空间,留给实际工作的窗口就被压缩了。

两条加在一起:token 是需要精打细算的稀缺资源,别指望它像流量一样越来越便宜。

给 Claude Code 用户的实操建议

四条原理说完了,下面是具体能做的事。

1. 让 CLAUDE.md 瘦身

CLAUDE.md 在每一轮对话都被重新读取,是最容易优化的部分。检查你的 CLAUDE.md:有没有只在特定场景才需要的规则?有没有可以合并的重复条目?挪到 skill 文件里按需加载,比永久占着上下文窗口划算。

2. 长对话及时 compact

对话超过 20 轮后,早期消息的 token 成本开始累积。用 /compact 压缩历史,把核心上下文保留在摘要里,删掉已经过时的细节。

3. 默认用便宜模型

写配置文件、跑测试、做格式检查,Haiku 够用。只在需要复杂推理时才切 Sonnet 或 Opus。Claude Code 支持用 /model 命令在会话中切换。

4. 工具输出是最大的隐性消耗

Claude Code 每次调用工具,输出都追加到上下文。 Read 一个 500 行文件、 Grep 搜索全项目返回 200 个匹配、 Bash 跑命令输出一堆日志,这些都是 token。用精准的搜索替代宽泛的读取,用 head_limit 参数限制返回数量,能有效控制膨胀。