同样的Claude Code,5小时额度有人用不完:差在12个设置
同样是用Claude Code,有人5小时额度很快就用完,有人却觉得很宽裕,差别就在设置和使用习惯上。以下是12个经过验证的实用技巧,所有命令都可以直接复制使用。
开始前:确认版本
本文提到的功能大多是近几个月推出的,版本过低会导致命令无法使用。在终端输入 claude --version 查看版本,过低的话输入 claude update 即可更新。本文所有命令基于10月18日的v2.1.302版本。
1. 给不同子代理设置不同的Effort等级
Effort决定Claude回答前的思考深度,分为low、medium、high、xhigh、max几档,不同模型可选的档位略有差异。很多人习惯直接拉满Max或XHigh,但实测下来,同样做一个应用,Max档花了79分钟,其他Effort档只花了16分钟,最终结果几乎没差别,只是多耗了时间和token。
核心规律:如果你的提示词写得足够详细,用low还是max最终结果往往差不多;头脑风暴类任务用low或medium反而效果更好;只有复杂设计、棘手bug、重要评审才需要高Effort。
从10月7日的v2.1.292版本开始,主Claude Code调用子代理时可以指定Effort。你可以直接在提示词里要求:把当前任务拆成三步用子代理完成,文件查找和资料整理用low effort,修改方向的优缺点分析用medium effort,最终代码的bug检查用high effort,每个子代理标注实际使用的effort,主代理只返回结论和相关文件路径。
如果不想每次都说明,可以把代理保存为文件,比如在项目的 .claude/agents/ 文件夹下新建 light-research.md,内容如下:
---
name: light-research
description: 仅查找相关文件和依据位置的轻量调研专用
model: haiku
effort: low
---
两种方式都可以使用。
2. 管理上下文,避免token浪费
Claude Code突然变笨,大多是上下文的问题。上下文是Claude单次能记住的工作台,对话、读取的文件、命令结果都会堆在这里。现在Claude Code默认上下文是100万token,但把100万token全部填满并不是好事,这是所有大语言模型的共同局限。
实用技巧:把自动压缩阈值设为50~70万token。输入 /autocompact 600k,就能把自动压缩的触发窗口设为60万token,在填满100万之前,Claude会自动总结对话、腾出空间。如果想恢复默认设置,输入 /autocompact auto 即可。
第二点需要注意的是缓存过期。Claude Code每次请求都会把之前的对话完整发送,之所以快且便宜,是因为缓存的存在——已经处理过的前文不会重复计算。但缓存不是永久的:Pro或Max订阅(套餐内用量)的主对话缓存是1小时,API密钥或额外用量额度的缓存是5分钟,子代理即使是订阅用户也只有5分钟缓存。
如果界面显示约852k uncached,这时候哪怕只发一句“继续”,也需要无缓存从头处理约85万token,用量会一次性大幅消耗。缓存失效的常见场景包括:长时间离开后继续大型会话、长会话中途切换模型(不同模型缓存独立)、连接的MCP工具配置变更。
应对方法很简单:离开前整理会话,缓存还在的时候用 /compact 压缩,或者直接用 /clear 开新会话。另外更新到最新版本,v2.1.299之后,超过20万token的对话如果闲置54分钟,Claude Code会在1小时缓存到期前自动压缩,不需要的话可以在 /config 的Idle compaction里关闭。
3. 用 /doctor prompt-audit 清理过时指令
之前觉得好用就复制粘贴的CLAUDE.md,每次出错就加一条的规则,大多是按旧模型的习惯写的。新模型对指令的遵循能力比旧模型强很多,以前需要“必须!!”“绝对!!”强调才生效的规则,现在反而可能过度生效,还会和现有代码不匹配、规则之间互相冲突。
现在可以用一条命令完成检查,这是9月底v2.1.283版本新增的功能。它会检查项目及上级文件夹的CLAUDE.md、CLAUDE.local.md、AGENTS.md,所有项目通用的个人指令 ~/.claude/CLAUDE.md,.claude/ 下的规则、技能、自定义命令、子代理定义、输出风格,安装的插件的技能和代理只会查看,不会要求修改。
检查标准基于当前使用的模型,会找出过时的提示词模式,生成报告和修改建议。包含密钥的设置文件或。mcp.json不会被读取。
4. Claude Code重复犯同样错误时,修改工作环境本身
如果AI在同一个问题上卡了几个小时,同样的提醒已经说了三遍,那就不是模型的问题,是工作环境的问题。我从Claude Sonnet 3.7开始用了一年多的方法是:让AI分析出错的会话,把原因反馈到项目指令和验证方法里。
具体操作是“用会话ID分析错误”:
1. 在重复出错的会话里输入 /status,复制会话ID
2. 打开新的Claude Code会话(Codex也可以),粘贴会话ID,让AI分析错误原因
3. 查看提出的修改建议,只采纳合理的部分
4. 验证效果:重新运行之前出错的请求,看这次会不会再错
⚠️ 不要把所有规则都堆在CLAUDE.md里:内容越长越占上下文,规则之间还会冲突。项目级规则放在CLAUDE.md,特定文件夹或文件的规则放在 .claude/rules/ 或对应文件夹的CLAUDE.md,重复的工作流程做成技能(Skill),绝对不能违反的规则用Hooks和权限设置实现,重复出现的bug用回归测试覆盖。堆了规则之后,偶尔用第3点的 /doctor prompt-audit 做一次大清理,第4点负责积累规则,第3点负责整理。
5. 用Claude-Mem跨会话保留工作记忆
Claude Code会话结束后就会忘记之前的对话,“上次那个为什么这么做?”“那个错误当时怎么修的?”每次开新会话都要重新解释。我用了一年唯一一直在用的Claude Code插件就是解决这个问题的——claude-mem,GitHub星标已经超过10万。
它和自带的Auto Memory有什么区别?自带的Auto Memory会总结Claude认为重要的内容和项目中学到的东西,用 /memory 就能查看,不需要安装。claude-mem会自动记录之前会话做了什么工作、遇到了什么错误、怎么解决的、为什么做这个决定,下次会话需要的时候会自动调取相关记录。我这边实测token节省率最高达到87%。
安装很简单,终端输入一行命令就能装,也可以在Claude Code里作为插件安装。
❌ 不推荐人群:主要用Codex的用户、已经有其他记忆插件或自建记忆交接体系的用户,叠加重复工具只会增加复杂度和成本。如果是纯Claude Code使用环境,仍然非常推荐。
6. 用Statusline一眼查看模型、Effort、上下文和用量
用Claude Code的时候总会好奇:当前会话用的是Opus、Sonnet还是Haiku?effort设的是多少?上下文用了多少?5小时额度和周额度还剩多少?
🔥 把这些信息固定显示在终端最下方的就是statusline。制作方法很简单,在 /statusline 后面用文字描述你想要的样式,Claude会自动生成脚本并应用。
我之前分享过5种现成的statusline设计,直接复制对应的提示词就能生成:
1. 极简款:一行显示模型、effort、项目、上下文
2. 马卡龙块:适合深色终端的柔和高亮块
3. Nord Powerline:区间用箭头边界平滑连接的条带
4. 额度点条:适合Pro/Max用户,显示5小时和7天用量、距离重置的剩余时间
5. 清晰仪表:青柠色模型徽章和斜线仪表,显示上下文token数
完整提示词在原帖里,直接复制粘贴就能用。
7. 让Claude Code自己运行并验证结果
Claude说“实现完成了!”,实际运行却用不了——按钮点不动、界面错乱、甚至根本打不开。测试通过但应用不能用的情况比想象中多,所以要让Claude自己把应用跑起来、点一遍。对应的命令有:
- /run:实际运行项目应用,亲自操作确认修改是否生效
- /verify:构建并运行应用,确认修改的功能真的可用,不用测试或类型检查代替
- /run-skill-generator:把这个项目的运行方法(命令、环境变量、准备步骤)保存为技能,运行流程复杂的项目建议先做这一步
/verify 会把验证方法保存为项目技能(.claude/skills/verify/),下次直接复用。
使用流程:
1. 实现功能后先跑测试和构建
2. 用 /run 启动应用
3. Web项目就实际点击、输入;CLI工具就用样例输入看实际输出
4. 用 /verify 确认是否达到最初目标
5. 不行就修改再运行,把实际命令结果或界面作为依据留存
8. 把写代码的AI和审代码的AI分开
自己写的文章自己看不出错别字,AI也一样。写代码的会话已经默认“这段是对的”,所以要单独开一个新上下文的审核者。
- /code-review:检查当前修改的代码、PR、分支或路径中的bug和准确性问题,可以指定强度,比如 /code-review high(从low到max可选),默认只出报告,加 --fix 就会直接修改
- /security-review:检查当前分支和远程默认分支差异中的安全问题(认证、输入校验、信息泄露等)
- /simplify:整理重复、低效、过于复杂的结构,不是找bug的工具,bug交给 /code-review
推荐顺序:先用 /simplify 整理代码,再用 /verify 确认实际可用,然后用 /code-review 找bug,如果涉及登录、支付、API密钥、个人信息,再加 /security-review。不需要每次都跑完全部四个,小修改用 /code-review 一个就够。
想要更深度的检查可以用 /code-review ultra(和 /ultrareview 一样),是云端深度评审模式,Pro和Max用户可以免费试用3次。
9. 复杂任务先定好设计和完成条件,再写代码
给Claude安排复杂任务时,最先要给的不是长篇代码指令,而是范围边界和完成标准。不明确的话Claude会自动扩大范围,修改不需要动的文件,做没要求的事。
Plan Mode的用法:在输入框按Shift+Tab切换到plan mode on,或者输入 /plan,后面直接接任务,比如 /plan 修复登录按钮bug。Plan Mode下Claude只会读文件、做计划,代码要等你批准之后才会修改。流程是探索→计划→批准→实现→验证。
不过改个错别字、修一行代码这种小事,用计划模式反而浪费。官方文档的判断标准很简单:能用一句话说清要改什么,就跳过计划。
10. 用Hooks自动强制执行重要规则
哪怕在CLAUDE.md里写了“绝对不要碰这个文件”,Claude偶尔还是会碰。🔥 CLAUDE.md是参考指引,Hooks是强制规则。
最常用的三种Hooks:
- PreToolUse:Claude修改文件或执行命令前触发,可以阻止受保护文件被修改、拦截危险命令
- PostToolUse:执行完成后触发,可以自动格式化修改的文件、跑lint检查
- Stop:Claude准备结束回答时触发,如果测试没跑完就不让它结束
举个例子:阻止修改生产环境配置文件。这种Hook直接让Claude Code帮你写就行,比如直接说“帮我做一个PreToolUse hook,阻止修改config/production.env”。
适合用Hooks的场景:
- 每次修改代码文件自动运行项目格式化工具(PostToolUse)
- 修改重要文件夹前需要再次确认(PreToolUse)
- 没跑测试就不让结束任务(Stop)
- 拦截危险命令(PreToolUse + Bash)
11. 用Git Worktree同时运行多个Claude Code会话
开两个Claude Code窗口在同一个文件夹同时干活会怎么样?🚫 会互相修改同一个文件,乱成一团,非常麻烦。
Worktree是Git的功能,能把同一个仓库按任务分到不同文件夹、不同分支里,Claude Code用一条命令就能实现。在两个终端分别运行:
claude --worktree feature-auth
claude --worktree feature-dashboard
简写 -w 也可以。这样会生成 .claude/worktrees/feature-auth/ 文件夹,在 worktree-feature-auth 新分支里工作,两个会话不会互相碰对方的文件。
几个实用提示:
- 新worktree默认从远程默认分支(main)开始,不是你当前所在的分支
- 像 claude --worktree "#1234" 这样传PR号,就会从对应PR开始
- 会话结束时会自动帮你清理worktree,如果有未提交的修改,会先问你要保留还是删除
注意事项:
- Worktree只隔离文件和分支,同一个本地数据库、端口、部署目标、外部API账号是共享的,两个会话同时在同一个端口起服务会冲突
- 后续合并的时候如果改了同一个文件,还是会产生冲突,强耦合的任务最好先定好接口或者按顺序做
- 每个会话单独计算用量,并行不等于省token
12. 用 /goal 自动重复验证,直到目标达成
Claude一轮结束就会停,哪怕还有3个测试没通过,也会说“大部分已经修好了”然后停下。goal的作用是:定好完成条件,Claude就会一直干活,直到满足条件才停(v2.1.139开始的功能)。
只输入 /goal 会显示当前目标和进度,输入 /goal clear 就会解除目标、停止运行。
工作原理:每轮结束后,会有一个单独的小而快的模型读取条件和到目前为止的对话,判断是否满足条件,没满足的话Claude就自动开始下一轮。目标里一定要加上“把测试命令和结果输出到对话里”这种验证方式,判断模型才知道是不是真的通过了。
和 /loop、Stop hook有什么区别?goal是一轮结束立刻开始下一轮,判断模型确认目标达成才停;/loop 是按固定间隔重复同一个任务,比如 /loop 5m 检查部署状态;Stop hook是你自己写的脚本在一轮要结束时检查条件。
单独用都可以,组合起来效果更好:
1. 用 /plan 定范围和完成条件
2. 用 claude -w 给每个任务分worktree
3. 用Hooks实现修改时自动格式化、拦截受保护文件
4. 用 /goal 循环直到满足之前定的完成条件
5. 用 /run 和 /verify 实际运行确认
6. 用 /code-review 在新上下文里做审核
总结
1. 按任务调整effort,拆分给不同子代理
2. 不要把上下文填满,注意缓存过期
3. 过时的CLAUDE.md用 /doctor prompt-audit 清理
4. 重复出错先改环境,不要怪模型
5. 跨会话记忆用claude-mem
6. 模型、effort、上下文、用量用statusline固定显示
7. 不要只听“完成了”,用 /run 和 /verify 验证结果
8. 写代码和审代码的AI要分开
9. 复杂任务先定计划和完成条件
10. 必须遵守的规则用Hooks实现
11. 并行任务用worktree隔离
12. 没完成就用 /goal 循环直到达标
Claude Code更新非常快,有新功能我会再整理分享。觉得有用可以收藏,也可以分享给用Claude Code的朋友。感谢阅读!