Claude Code 省 Token 小妙招:RTK + Caveman 组合拳

ps: 注意 此文curl npx 等涉及下载相关命令大多都需要魔法

Claude Code 省 Token,可以先从两个工具入手:

  • RTK :压缩命令输出,减少 Bash 工具调用带来的输入 Token。
  • Caveman :压缩 Claude 的回复,减少输出 Token。

它们解决的问题不一样。

工具 省哪部分 Token 典型场景
RTK 命令输出 git diff、测试日志、构建日志、搜索结果
Caveman Claude 回复 代码分析、review、commit、短任务回答

简单理解:

text 复制代码
RTK:让 Claude 少看长日志。
Caveman:让 Claude 少说废话。

一、RTK:压缩命令输出

RTK 是一个 CLI proxy。它会在命令输出进入 LLM 上下文前做过滤和压缩。

README 里给出的定位是:单个 Rust 二进制、零依赖,支持 100+ 常见开发命令,目标是把常见命令输出减少 60%-90%。

它主要处理这些内容:

  • 目录列表
  • 文件读取
  • 搜索结果
  • Git 状态和 diff
  • 测试输出
  • 构建和 lint 输出
  • Docker / Kubernetes / AWS 等 CLI 输出

1. 安装 RTK

macOS 推荐用 Homebrew:

bash 复制代码
brew install rtk

Linux / macOS 可以用安装脚本:

bash 复制代码
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh

也可以用 Cargo 从 GitHub 安装:

bash 复制代码
cargo install --git https://github.com/rtk-ai/rtk

安装后验证:

bash 复制代码
rtk --version
rtk gain

2. 接入 Claude Code

给 Claude Code 安装 hook:

bash 复制代码
rtk init --g

然后重启 Claude Code。

重启后,Claude Code 里通过 Bash 工具执行的命令会被 RTK hook 透明改写。

例如 Claude 触发:

bash 复制代码
git status

RTK 可能会改写为:

bash 复制代码
rtk git status

Claude 本身不需要知道这个改写过程。它只会看到压缩后的输出。

3. RTK 的工作方式

RTK README 里把核心策略分成四类:

  • Smart Filtering:去掉噪音,比如空白、样板信息、无关行。
  • Grouping:把相似结果合并,比如按目录、错误类型分组。
  • Truncation:保留关键上下文,裁掉重复内容。
  • Deduplication:重复日志折叠成计数。

RTX工作原理:

所以 RTK 不是简单截断输出,而是按命令类型做结构化压缩。

4. 常用命令

文件和搜索:

bash 复制代码
rtk ls .
rtk read file.rs
rtk read file.rs -l aggressive
rtk smart file.rs
rtk find "*.rs" .
rtk grep "pattern" .
rtk diff file1 file2

Git:

bash 复制代码
rtk git status
rtk git log -n 10
rtk git diff
rtk git add
rtk git commit -m "msg"
rtk git push
rtk git pull

测试:

bash 复制代码
rtk jest
rtk vitest
rtk playwright test
rtk pytest
rtk go test
rtk cargo test
rtk test npm test
rtk err npm run build

构建和 lint:

bash 复制代码
rtk lint
rtk tsc
rtk next build
rtk prettier --check .
rtk cargo build
rtk cargo clippy
rtk ruff check

容器和日志:

bash 复制代码
rtk docker ps
rtk docker images
rtk docker logs <container>
rtk kubectl pods
rtk kubectl logs <pod>
rtk log app.log

统计:

bash 复制代码
rtk gain
rtk gain --graph
rtk gain --history
rtk gain --daily
rtk discover
rtk session

5. 自动改写的边界

RTK hook 只拦截 Bash 工具调用。

Claude Code 内置的这些工具不会自动经过 RTK:

text 复制代码
Read
Grep
Glob

如果你希望读取文件或搜索结果也走 RTK,需要让 Claude 使用 shell 命令,或者手动调用:

bash 复制代码
rtk read src/main.ts
rtk grep "keyword" .
rtk find "*.vue" .

6. Windows 注意事项

RTK 支持 Windows,但原生 Windows 下 hook 自动改写能力有限。

README 推荐在 Windows 上使用 WSL。WSL 里可以获得完整 hook 支持。

原生 Windows 可以这样用:

bash 复制代码
rtk init -g
rtk cargo test
rtk git status

但命令通常不会像 Linux / macOS / WSL 那样自动透明改写。

7. 什么时候用 RTK?

适合用:

  • 测试输出很长
  • 构建失败日志很多
  • git diff 很大
  • 搜索结果很多
  • Docker / Kubernetes / AWS 命令输出很吵

不适合只靠 RTK 解决:

  • Claude 回复太啰嗦
  • Claude 读了太多源码文件
  • 需要逐行分析完整日志

如果你必须保留完整日志,可以用:

bash 复制代码
npm run build 2>&1 | tee /tmp/build.log

然后让 Claude 只看关键片段:

bash 复制代码
tail -n 120 /tmp/build.log

二、Caveman:压缩 Claude 回复

Caveman 是一个 Claude Code skill / plugin,也支持 Codex、Gemini CLI、Cursor、Windsurf、Cline 等多种 AI 编程工具。

它的核心目标是让 agent 用更短的方式表达同样的技术内容。

README 里的示例很直观:

text 复制代码
普通表达:解释原因、背景、建议,比较长。
Caveman 表达:直接给根因和修复建议。

它主要省的是输出 Token。

1. 安装 Caveman

一键安装:

bash 复制代码
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash

Windows PowerShell:

powershell 复制代码
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex

Claude Code 手动安装:

bash 复制代码
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman

通过 skills 安装:

bash 复制代码
npx skills add JuliusBrussee/caveman

安装脚本支持一些参数:

参数 作用
--minimal 只安装插件 / 扩展,不装 hooks、MCP shrink 等额外内容
--all 安装完整配置,并在当前目录写入规则文件
--dry-run 预览,不写文件
--only <agent> 只给指定 agent 安装
--force 强制重新安装
--list 打印支持的 agent 列表

2. 开启和关闭

Claude Code 里开启:

text 复制代码
/caveman

也可以直接用自然语言触发:

text 复制代码
开启 Caveman 模式,回答尽量短一点。
用更精简的方式回复,少说客套话。
进入省 Token 模式,只保留关键结论。

关闭时可以说:

text 复制代码
退出 Caveman 模式,恢复正常回答。
恢复正常模式。
这次请完整解释,不要过度压缩。

Codex 里 README 提到使用 $caveman

3. 压缩强度

Caveman 有几档模式:

模式 触发方式 说明
Lite /caveman lite 去掉填充词,保留正常语法
Full /caveman full 默认 caveman 风格,更短,句子更碎
Ultra /caveman ultra 最大压缩,类似电报风格

README 还提供了文言文模式:

模式 触发方式 说明
Wenyan-Lite /caveman wenyan-lite 半文言,仍保留可读性
Wenyan-Full /caveman wenyan 更完整的文言压缩
Wenyan-Ultra /caveman wenyan-ultra 极限文言压缩

日常建议:

text 复制代码
普通编码:/caveman lite
短 review / commit:/caveman full
极限压缩演示:/caveman ultra
复杂设计讨论:normal mode

4. Caveman 技能命令

README 里列了一些常用能力:

text 复制代码
/caveman-commit
/caveman-review
/caveman-help
/caveman-stats
/caveman:compress <file>

用途大概是:

命令 用途
/caveman-commit 生成简短 commit message,偏 Conventional Commits 风格
/caveman-review 生成一行式 PR review 评论
/caveman-help 查看模式、技能、命令
/caveman-stats 查看 Claude Code 会话 token 使用和估算节省
/caveman:compress <file> 压缩记忆文件,例如 CLAUDE.md

/caveman:compress <file> 会把文件改写成更短格式,并保留备份。适合压缩长期会被自动加载的记忆文件,但不要直接拿它压缩重要规范文档,最好先 review diff。

5. Caveman 适合什么?

适合:

  • 日常 bugfix
  • 简短代码分析
  • commit message
  • PR review
  • 改完代码后的验证总结
  • 高频 Claude Code 会话

不适合:

  • 教程文章
  • 复杂架构设计
  • 需求澄清
  • 需要完整推理过程的排查

核心原则:

text 复制代码
需要短结论:开 Caveman。
需要完整解释:关 Caveman。

三、RTK 和 Caveman 怎么搭配?

两个工具可以一起用,因为它们优化的是不同阶段。

text 复制代码
命令执行阶段:RTK 压缩工具输出
Claude 回复阶段:Caveman 压缩最终表达

推荐组合:

bash 复制代码
brew install rtk
rtk init -g

然后重启 Claude Code,进入会话后:

text 复制代码
/caveman lite

日常提问可以这样写:

text 复制代码
只读取和当前任务直接相关的文件。
如果需要跑命令,优先保留关键错误,不贴完整日志。
输出简洁,但不要省略风险和验证结果。

对于短任务:

text 复制代码
/caveman full

对于复杂排查:

text 复制代码
normal mode

推荐工作流

text 复制代码
1. 用 RTK 常驻压缩 Bash 命令输出。
2. 默认开 /caveman lite,减少回复废话。
3. 写 commit、review 时用 /caveman full。
4. 做架构设计、复杂排查时切回 normal mode。
5. 遇到疑难日志,保存原始日志,再只给 Claude 看关键片段。

四、会不会降智?

RTK 一般不会让模型降智,因为它主要去掉命令输出里的噪音。

但它可能漏掉长日志中的细节。排查疑难问题时,建议保留原始日志。

Caveman 也不是减少模型思考,而是减少表达长度。

ultra 模式可能太短,不适合复杂任务。

比较稳的原则是:

text 复制代码
可以省:
- 客套话
- 重复总结
- 长日志噪音
- 无关上下文

不要省:
- 关键需求
- 关键错误
- 关键代码
- 风险说明

五、最终建议

如果你只是想快速省 Token:

bash 复制代码
brew install rtk
rtk init -g

然后在 Claude Code 里:

text 复制代码
/caveman lite

这是最推荐的默认组合。

如果你经常让 Claude 跑测试、看 diff、查日志,RTK 的收益会更明显。

如果你觉得 Claude 回答太长、太客套,Caveman 的收益会更明显。

参考资料

相关推荐
ray_liang1 小时前
吐血整理JSON-RPC2.0的原理与应用
后端
tanis_31 小时前
从 PDF 中精准提取表格、图片与公式:MinerU 结构化元素抽取的 3 种方案
人工智能
Soofjan1 小时前
Redis(3):RDB 与 AOF、BGSAVE 与写时复制
后端
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章63-点廓距离
图像处理·人工智能·opencv·计算机视觉
Maiko Star2 小时前
让 AI 开口说话:Spring AI Alibaba 语音合成(TTS)实战
java·人工智能·spring·springai
码事漫谈2 小时前
我的第一次移动端 AI 办公:在地铁上把 Bug 修了
后端
机器学习之心2 小时前
多工况车速数据集训练LSTM-Attention用于车速预测,输出未来多个时间步车速,MATLAB代码
人工智能·matlab·lstm·lstm-attention·车速预测
耀耀切克闹灬2 小时前
初识LlamaIndex (了解LlamaIndex 高层概念)
人工智能