人工智能基础知识笔记四十一:Claude 成本节约完全指南:从计费机制到工具实战

Claude 的能力毋庸置疑,但一个不得不面对的现实是:token 在燃烧,账单在咆哮。有开发者发现,一句"Hello"就可能消耗掉 13% 的配额,在代码大项目中改一个函数,几万 token 就没了。本文将从计费机制到实战工具,系统梳理如何把 Claude 的使用成本降下来,同时保持输出质量不下降。

一、先搞懂你在为什么付钱

在谈省钱之前,有必要先把计费机制搞清楚。Token 是 Claude 处理文字的基本单位------大约 1 个 token 对应 0.75 个英文单词,或 0.5 个中文字符。这意味着,同样字数下,中文消耗的 token 数量是英文的近两倍,实际上中文对话"更贵"。

Claude 采用输入 token + 输出 token 双向计费。以下是 2026 年 Anthropic 的最新定价:

模型 输入价格(每百万 Token) 输出价格(每百万 Token) 适用场景
Claude Opus 4.6 $5.00 $25.00 复杂架构分析、深层调试
Claude Sonnet 4.6 $3.00 $15.00 日常编码、测试编写
Claude Haiku 4.5 $1.00 $5.00 快速查询、格式整理

以 Opus 为例,输出单价每百万 token 高达 25 美元。一次深度推理任务消耗数十万输出 token,单次调用的成本确实相当可观。省钱的第一步就是:能选低版本就选低版本,没必要事事都用 Opus。

二、输入侧降本:让 Claude 少读没用的东西

1. 使用 codebase-memory-mcp 避免反复解释上下文

Claude Code 有一个致命问题:每次新会话,Agent 都不知道你昨天做了什么、修了什么 bug、定了什么规范。于是你不得不在每轮对话里重新解释一遍------这每一轮解释都在燃烧 token。

codebase-memory-mcp 就是解决这个问题的方案。它在 Supabase 中存储架构决策、任务状态、警告和偏好,让 Claude 在跨会话时能够"记住"你们之前的工作成果。

安装步骤:

  • 在项目目录下配置 .claude/settings.json,添加以下内容:
javascript 复制代码
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "env": {
        "MEMORY_FILE_PATH": "/你的路径/.claude/agent-memory.json"
      }
    }
  }
}

保存后重启 Claude Code,memory 工具就会出现在工具列表中。

使用方式:

在 CLAUDE.md 中添加记忆协议说明,告诉 Claude 在每个会话结束时保存摘要,在新会话开始时加载上下文:

Puppet 复制代码
At the end of each session:
1. Call memory:save with a summary of what we worked on
2. Include: decisions made, patterns established, things to avoid
Start future sessions by calling memory:load to get context

2. 使用 token-enhancer 清洗网页内容

AI Agent 经常需要抓取网页,但原始 HTML 里满是导航栏、广告、脚本等垃圾内容------这些都会原封不动地被 Claude 读取,每次抓取都浪费大量 token。

token-enhancer 充当本地代理,获取网页后剥离所有噪音,只返回干净的纯文本,token 缩减率可以超过 99%,且不需要调用 LLM、GPU 或 API key。

安装方法:

bash 复制代码
# 在虚拟环境中安装
pip3 install token-enhancer

安装后可直接集成到 MCP 兼容环境中(如 Claude Desktop、Cursor),Agent 会自动发现并使用这个工具来获取干净的网页数据。

3. 具体化 Prompt------少说一句废话,省下一笔钱

模糊的 Prompt 会让 Claude 在错误的路径上多走很多步。对比下面两种写法:

  • 模糊版:Fix the bug(Claude 需要先读代码、定位 bug、分析原因------完全无法预判你要修哪个 bug)

  • 具体版:Fix bug in test.js line 45(直接聚焦目标,省去了大量探索性消耗)

4. 精简 CLAUDE.md------你的"常识"每轮都在烧钱

CLAUDE.md 在每个会话中都会全程加载,无论你发了多少条消息,它始终存在于上下文中。这意味着,一个 5000 token 的 CLAUDE.md,会在这轮对话的每一轮交互中都烧掉 5000 token。

最佳实践是:把稳定的项目规则放在 CLAUDE.md 里(如测试运行方式、包管理器、格式化规则、架构约束),但不要把会议记录、设计文档、长篇实现指南塞进去。使用 Compression Rule: Keep only core rules, no long prose 这样的指令来强制精简,尽可能把 CLAUDE.md 控制在 100 行以内。

5. 使用 TokenZero 预压缩输入

TokenZero 是一个本地 CLI 工具,在把上下文发送给 Claude Code 之前,就能帮你剔除文件中的空白符、重复行、冗余 JSON 等 token"垃圾"。

安装方式:

bash 复制代码
npm install -g tokenzero

安装后可以在 Claude Code 中通过 @.tokenzero/context.md 引入压缩后的上下文。它的特别之处在于完全本地运行,不需要任何 API key,数据不会离开你的机器。

三、输出侧降本:让 Claude 少说废话

1. Caveman Skill------让 Claude 像"山顶洞人"一样说话

Caveman 是目前 Claude Code 生态中最受欢迎的省 token 工具。开发者 Julius Brussee 花 10 分钟写完这个项目后,上线 3 天就狂揽 4.1k GitHub Star,最终突破 2 万星。

它的核心原理极其简单:只靠一条 prompt------删掉冠词、客套话和一切废话,在不牺牲技术准确性的前提下把输出压缩到极致。初步测试显示,它可以在保持完全技术准确性的同时,将输出 token 减少约 75%。

直观对比:

  • 正常 Claude 输出(69 个 token):"你的 React 组件之所以会重新渲染,很可能是因为你在每次渲染周期中都创建了一个新的对象引用。当你将一个内联对象作为 prop 传递时,React 的浅层比较会认为它每次都是一个不同的对象,从而触发重新渲染。我建议你使用 useMemo 来缓存该对象。"

  • Caveman 输出(19 个 token):"每次渲染都会创建新的对象引用。内联对象作为 prop 传递=新引用=触发重新渲染。用 useMemo 包裹即可。"

安装方式(一行命令):

bash 复制代码
npx skills add JuliusBrussee/caveman

安装后在对话中输入 /caveman 或直接说"use caveman"即可激活压缩模式。

三档压缩强度可选:

模式 效果 适用场景
Lite 去掉填充词和犹豫表达,保留完整句子结构 专业场景需要保持书面感
Full 省略虚词,允许碎片句,典型 caveman 风格 日常编码,默认推荐
Ultra DB、auth、config 全部缩写,极致省 token 极致省 token 场景

在 10 个真实任务的 API 测试中,Caveman 节省的 token 范围从 22% 到 87%,平均高达 65%。

注意:Caveman 只影响输出 token,思考/推理 token 不受影响。"它不会让大脑变小,只会让嘴巴变小"。

2. RTK(Rust Token Killer)------CLI 输出压缩神器

在日常开发中,git diff、npm test、docker logs 等命令的输出动辄上万 token。RTK 专门解决这个问题------它在命令输出到达 LLM 上下文之前进行智能过滤、压缩、去重和截断,可降低 token 消耗 60%--90%,且性能开销不足 10ms。

工作原理 :RTK 充当 Claude 与 Shell 之间的透明代理。传统流程中 AI 工具直接读取原始 Shell 输出;RTK 介入后,命令被透明改写为 rtk git diff 形式,AI 看到的只有精简后的核心信息。

安装方式:

  • macOS 用户:brew install rtk

  • Linux/macOS 快速安装:curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/main/install.sh | sh

  • Windows:推荐搭配 WSL 使用

安装完成后,执行 rtk --version 验证是否安装成功。

使用方式 :在需要压缩输出的命令前加上 rtk 前缀,例如 rtk git diff、rtk npm test。也可以通过 AI 工具的 Hook 机制自动拦截------支持 Claude Code、Cursor、GitHub Copilot 等 10 多款主流 AI 编程工具。

实测效果(30 分钟会话):

命令 原始 Token RTK 后 节省
git status 3,000 600 -80%
git diff 10,000 2,500 -75%
npm test 25,000 2,500 -90%
grep / rg 16,000 3,200 -80%

总计从 118,000 token 降至 23,900 token------减少约 80%。

四、Context 与 Cache 控制与管理

1. Prompt Caching------90% 折扣的关键功能

在 Claude Code 场景中,单次请求的输入 token 远大于输出 token------输入/输出比往往接近 36:1。而 Prompt Caching 是 Anthropic 提供的官方省 token 神器:缓存命中的部分只收基础输入价的 10%,即 90% 的折扣。

理解它的工作原理很关键:Anthropic 服务端会保存你最近发送的 prompt 前缀,下次请求时,只要前缀(从第一个 token 开始)完全一致,就从缓存读取。这意味着"前缀完全匹配"是命中的唯一条件------前缀任何一处变化,后面所有内容的缓存都会全部失效。

实践中需要注意的陷阱:

  • CLAUDE.md 中途修改:改一行 → 从 CLAUDE.md 开始,包括之前已缓存的历史对话,全部失效

  • 动态时间戳:prompt 中嵌入动态内容(如当前时间)→ 前缀每次都变 → 永远不命中

  • 模型切换:在不同模型之间切换 → 缓存前缀不匹配

  • 会话清理 :使用 /clear 清理会话 → 之前的缓存前缀被清除

优化策略 :把稳定不变的部分(system prompt、工具定义、固定项目指令)放在前缀前段,并加上 cache_control 标记;把每次变化的用户消息放在后段,避免污染缓存前缀。有实践报告显示,统一提示词模板、稳定模型配置与会话管理后,可以实现 84% 的缓存命中率和 76% 的成本降低。

2. /clear 与 /compact------会话清理两大利器

长会话会导致历史消息无限累积,每一轮都在重新加载全部对话记录,token 成本持续攀升。

  • /clear:完全清空当前会话,以全新状态开始,适合任务边界明确的场景

  • /compact:生成结构化摘要替代全量历史,在保留关键信息的同时大幅压缩上下文长度

建议按任务边界重开会话,每 N 轮对话生成一次结构化摘要而非全量带历史。对于需要长期运行的 Agent,可以配置自动压缩阈值,当输入 token 超过预设值时触发压缩。

3. Disable Auto-Update

Claude Code 的背景自动更新可能会在会话中途修改 prompt,导致已经建立的 cache 前缀被打乱、缓存失效。通过配置禁用自动更新可以保护已建立的 cache,维持稳定的缓存命中率。设置方法可以设置环境变量:DISABLE_AUTOUPDATE=1。

五、选择适合的模型------不要所有任务都用 Opus

这是最简单、最容易被忽视的省 token 技巧。在不同任务上切换不同模型:

  • Haiku:关键词查找、格式整理、内容重命名等机械性任务

  • Sonnet:日常编码、测试编写、代码解释、简单重构(绝大多数场景的默认选项)

  • Opus:多文件架构决策、深度排错、复杂跨系统问题分析

Opus 每 token 价格是 Sonnet 的 5 倍(输出端相差更大),日常用 Sonnet 起步,真正需要时再换 Opus,能让你的 API 账单有质的差别。

在 Claude Code 中切换模型的命令:/model haiku、/model sonnet、/model opus。还可以配合 /effort 指令来控制模型的思考预算------对于简单任务降低 effort 级别,能直接节省输出 token。

六、监控与持续优化

成本管理不是"月底解释"而是"当场定位"。建议关注这几个指标:单次有效任务平均 token、单位有效产出成本、异常调用占比。

两类最容易被忽视的 token 漏损:

  1. 重复调用:同一任务在多个 Agent 窗口并行执行,结果没变成本先翻倍→应对策略:增加任务幂等键,设置短窗口去重策略

  2. 上下文膨胀:长会话不截断、历史无限累积→应对策略:会话分段,定期生成摘要替代全量历史。

日常使用建议(快速总结版):

场景 推荐做法
日常编码 Sonnet + /effort low + Caveman Skill
网页抓取 token-enhancer 做预处理
CLI 命令输出 RTK 做输出压缩
跨会话工作 codebase-memory-mcp 做记忆存储
长会话管理 定期 /compact,按任务 /clear
Prompt 复用 配置好 cache_control,不要随意改 CLAUDE.md

用 Claude 时节省 token,本质上不是"少用 AI",而是让每一次调用都用在真正需要的地方。以上方法覆盖了从模型选择、输入压缩、输出精简、缓存优化到会话管理的全方位路径,希望对你有所帮助。

相关推荐
http阿拉丁神猫5 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang
sell-cloud6 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国8 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI8 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区8 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
HRBorderInsight8 小时前
马来西亚人均收入一个月多少钱,个人薪资和家庭收入要分开看
经验分享·笔记
又見山10 小时前
本地 Markdown 与数据主权:你的笔记到底属于谁
笔记·obsidian
XCDoris10 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy10 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V11 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai