drona23/claude-token-efficient
GitHub: drona23/claude-token-efficient
通过单个 CLAUDE.md 配置文件约束 Claude Code 的输出风格,削减冗余回复以节省 token。
Stars: 5621 | Forks: 433
# claude-token-efficient
## 问题所在
当你使用 Claude Code 时,Claude 生成的每一个词都会消耗 token。
大多数人从不控制 Claude *如何* 响应——他们只能得到模型决定输出的任何内容。
默认情况下,Claude:
- 每次回复都以 "Sure!"、"Great question!"、"Absolutely!" 开头
- 以 "I hope this helps! Let me know if you need anything!" 结尾
- 使用破折号 (--)、智能引号以及会导致解析器出错的 Unicode 字符
- 在回答之前重述你的问题
- 添加超出你所询问范围的未经请求的建议
- 用你从未要求过的抽象过度设计代码
- 附和不正确的陈述("You're absolutely right!")
**所有这些都在浪费 token。没有任何价值可言。**
## 两种选择
**选项 1:在对话中粘贴规则(快速开始)**
将这些规则复制到任何新会话中:
```
Rules: Read files first. Write complete solution. Test once. No over-engineering.
```
立即生效。无需设置。适合一次性任务。
**选项 2:放入 CLAUDE.md 文件(设置后即可忘记)**
```
your-project/
└── CLAUDE.md <- one file, zero setup, no code changes
```
每次消息都会自动应用。更适合日常工作。在规模化使用时效率更高。
根据你的工作流程进行选择。两者都有效。
## 对比
| 方法 | 设置 | 成本 | 最适合 |
|----------|-------|------|----------|
| 对话中规则 | 无 | 较高 | 快速会话,无特定项目 |
| CLAUDE.md 文件 | 1 个文件 | 较低 | 常规工作,pipeline |
## 何时有效与何时不适用
**此文件最适合:**
- 具有高输出量的自动化 pipeline(简历机器人、agent 循环、代码生成)
- Claude 默认的冗长在数百次调用中不断累积的重复结构化任务
- 需要跨会话保持一致、可解析输出格式的团队
**此文件在以下情况不值得使用:**
- 单次简短查询——该文件会在每次消息时加载到上下文中,因此在低输出交换中,它会导致 token 净增加
- 偶尔的一次性使用——在低使用量下这种开销不划算
- 修复深层的失败模式,如幻觉实现或架构偏移——这些需要 hooks、门控和机械化的强制执行
- 每个任务使用多个全新会话的 pipeline——全新会话无法像持久会话那样带来 CLAUDE.md 的开销收益
- 规模化下的解析器可靠性——如果你需要保证输出可解析,请使用 API 内置的结构化输出(JSON 模式、带有 schema 的 tool use)——这比基于 prompt 的格式规则是更健壮的解决方案
- 探索性或架构性的工作,在这些工作中辩论、反驳和替代方案才是重点——覆盖规则允许你随时提出这些要求,但如果这是你的主要工作流程,此文件会让你感到限制
**诚实的权衡:**
CLAUDE.md 文件本身会在每次消息时消耗输入 token。节省的成本来自减少的输出 token。只有当输出量足够大以抵消持续的输入成本时,净值才会为正。在低使用率下,其成本比节省的还要多。
## 基准测试结果
相同的 5 个 prompt。在不使用 CLAUDE.md(基准)下运行,然后在使用 CLAUDE.md(优化后)下运行。
| 测试 | 基准 | 优化后 | 减少量 |
|------|----------|-----------|-----------|
| 解释 async/await | 180 词 | 65 词 | 64% |
| 代码审查 | 120 词 | 30 词 | 75% |
| 什么是 REST API | 110 词 | 55 词 | 50% |
| 幻觉纠正 | 55 词 | 20 词 | 64% |
| **总计** | **465 词** | **170 词** | **63%** |
**每 4 个 prompt 节省约 295 个词。信息量相同。零信号丢失。**
### 外部基准测试 (Issue #1)
一项[独立的基准测试](https://github.com/adam-s/testing-claude-agent)在 3 个编码挑战(CSV 报告器、SQLite 窗口函数、Hono WebSocket 计数器)中运行了 6 种配置。所有配置均通过了所有测试,因此比较纯粹是“达到测试通过的成本”(cost-to-green)。
我们在相同的测试工具、同一天、同一个模型下,将我们自己的 v8 配置与 C-structured(之前的最优解)进行了正面交锋:
| 挑战 | M-drona23-v8 | C-structured | 获胜者 |
|-----------|-------------|-------------|--------|
| CSV Reporter | $0.244 | $0.282 | v8 |
| SQLite Windows | $0.406 | $0.376 | C-structured |
| WebSocket | $0.285 | $0.473 | v8 |
| **总计** | **$0.935** | **$1.131** | **v8 (-17.4%)** |
v8 配置使用 2 个文件(共 7 行)。最大的收益来自 WebSocket,其中明确的模式规则防止了昂贵的调试循环。
该仓库将根目录的 `CLAUDE.md` 保持为一小套高影响力的规则,以最大程度地减少反复出现的输入开销。
### 规模化使用
| 使用量 | 每日节省 Token | 每月节省成本 (Sonnet) |
|-------|-----------------|--------------------------|
| 100 个 prompt/天 | ~9,600 token | ~$0.86 |
| 1,000 个 prompt/天 | ~96,000 token | ~$8.64 |
| 3 个项目合计 | ~288,000 token | ~$25.92 |
## 使用前后对比
**不使用 CLAUDE.md - 代码审查:**
```
Great question! I can see you're working with a loop. Let me take a look at that.
That's a thoughtful piece of code! However, I notice there's actually a subtle bug
here that's worth pointing out. The condition i <= arr.length should be i < arr.length.
Using <= means the loop will run one extra iteration... You might also want to consider
using modern array methods like forEach, map, or for...of which are cleaner...
Great catch on reviewing this - it's always good practice to double-check loop
boundaries! I hope this review was helpful. Feel free to share more code anytime!
```
**120 词。**
**使用 CLAUDE.md - 相同 prompt:**
```
Bug: <= causes an off-by-one error. On the final iteration arr[arr.length] is undefined.
Fix:
for (let i = 0; i < arr.length; i++)
```
**30 词。修复相同。Token 减少 75%。**
## 修复了哪些问题
| # | 问题 | 修复 |
|---|---------|-----|
| 1 | 在没有上下文的情况下开始编码 | 先思考;写代码前先读取文件 |
| 2 | 冗长的回复 | 保持输出简洁 |
| 3 | 不必要地重写大文件 | 倾向于进行针对性修改 |
| 4 | 重复读取相同文件 | 除非文件已更改,否则只读取一次 |
| 5 | 不经验证就宣布完成 | 完成前运行测试 |
| 6 | 阿谀奉承的闲聊 | 不要添加阿谀奉承的开场白/结尾废话 |
| 7 | 过度设计的解决方案 | 倾向于简单直接的修复 |
| 8 | prompt 冲突造成的混乱 | 用户指令始终具有最高优先级 |
## 来自社区的进阶技巧
**将规则限定在你实际的失败模式中,而不是通用的失败模式。**
像“简洁”这样的通用规则会有所帮助,但真正的收益来自于针对你实际遇到的特定失败。例如,如果 Claude 在你的 pipeline 中悄无声息地吞掉了错误,请添加一条规则:“当步骤失败时,立即停止并在尝试任何修复之前报告完整的错误和 traceback。”具体情况每次都能胜过通用情况。
**CLAUDE.md 文件可组合使用——利用这一点。**
Claude 会一次读取多个 CLAUDE.md 文件——全局(~/.claude/CLAUDE.md)、项目级和子目录级。这意味着:
- 将通用首选项(语气、格式、ASCII 规则)保留在全局文件中
- 将特定项目的约束(“未经确认绝不修改 /config”)保留在项目级别
- 将特定任务的规则保留在子目录文件中
这避免了任何单个文件变得臃肿,并使规则保持在它们适用的位置附近。
## 配置文件
不同的项目类型需要不同程度的压缩。
选择基础文件 + 一个配置文件,或者单独使用基础文件。
| 配置文件 | 最适合 |
|---------|----------|
| `CLAUDE.md` | 通用——适用于任何项目 |
| `profiles/CLAUDE.benchmark.md` | Token 到测试通过的编码基准测试 |
| `profiles/CLAUDE.coding.md` | 开发项目、代码审查、调试 |
| `profiles/CLAUDE.agents.md` | 自动化 pipeline、多 agent 系统 |
| `profiles/CLAUDE.analysis.md` | 数据分析、研究、报告 |
### 版本化配置集
`profiles/` 目录还包含三个版本化的配置集,代表不同的优化策略。选择适合你工作流程的一个:
| 版本 | 策略 | Tool 预算 | 最适合 |
|---------|----------|-------------|----------|
| `J-drona23-v5` | 多文件结构化 | 50 次调用 | 需要详细工作流规则和 agent 定义的复杂项目 |
| `K-drona23-v6` | 一次性执行 | 50 次调用 | 应该以最少的迭代单次通过完成的任务 |
| `M-drona23-v8` | 超精简最小回合 | 20 次调用 | 每一次工具调用都需精打细算的成本敏感型 pipeline |
**如何选择:**
- 如果你需要具有明确 agent 协议的结构化多步工作流,请从 **v5** 开始
- 如果你想要在严格的“完成即完成”规则下(不对通过的代码进行修饰)更快地执行,请使用 **v6**
- 仅当你需要最大程度的成本效益,并且你的任务简单到只需 20 次工具调用即可完成时,才使用 **v8**
### 应用规则的两种方法
**选项 A:CLAUDE.md 文件(推荐用于常规使用)**
- 将文件放入项目根目录
- 每次消息都会自动应用
- 缓存高效
- 更适合重复性任务、pipeline
**选项 B:prompt 中的规则(用于一次性会话)**
- 将规则复制粘贴到对话中
- 无需设置即可工作
- 清楚地知道本次会话适用什么
- 适用于快速任务
**成本对比**(在 3 个编码挑战上进行基准测试):
| 方法 | CSV | SQLite | WebSocket | 总计 | 成本对比 v8 |
|--------|-----|--------|-----------|-------|-----------|
| 对话中粘贴规则 | $0.274 | $0.459 | $0.585 | $1.318 | +41% |
| **CLAUDE.md (v8)** | **$0.244** | **$0.406** | **$0.285** | **$0.935** | 基准线 |
两者都通过了所有测试。根据你的工作流程进行选择。
## 如何使用
**选项 1 - 通用(任何项目):**
```
curl -o CLAUDE.md https://raw.githubusercontent.com/drona23/claude-token-efficient/main/CLAUDE.md
```
**选项 2 - 克隆并选择一个配置文件:**
```
git clone https://github.com/drona23/claude-token-efficient
cp claude-token-efficient/profiles/CLAUDE.coding.md your-project/CLAUDE.md
```
**选项 3 - 手动:**
将此仓库中 `CLAUDE.md` 的内容复制到你的项目根目录中。
## 覆盖规则
用户指令始终优先。
如果你明确要求详细的解释或冗长的输出,Claude 将遵循你的指令——该文件永远不会违背你的意愿。
## 验证
包含使用前后字数统计的完整基准测试结果:
参见 [BENCHMARK.md](./BENCHMARK.md)
## 许可证
MIT - 可免费使用、修改和分发。
*由 [Drona Gangarapu](https://github.com/drona23) 构建 - 欢迎提交 PR、issue 和配置文件贡献。*
标签:AI提示词, Claude, CVE检测, DLL 劫持, 大语言模型, 开发辅助工具, 恶意代码分析, 效率优化, 配置文件, 防御加固