Claude Code 的使用经验分享 - 原生篇
0X00 Start
很多人其实都已经用上 Claude Code 了,但实际上只是用法却比较随性,直接 claude --permissions-mode bypassPermissions 启动,然后就着这个聊天窗口不分昼夜的聊起来了。虽说这么干也确实能完成最后的工作需求,但这么用并不是很优雅,最重要的是效果也并不好。虽然我自己也不是什么 Claude Code 的资深专家用户,但也根据自己的经验和官方的文档总结了一些可以提升大家使用 Claude Code 体验的方法。
本篇文章以 Claude Code 工具 + Claude 模型为例,但 Codex/OpenCode 等工具也基本都有相似的原理和用法,同样具备参考价值。
0X01 编写 CLAUDE.md
如果你的仓库里还没有 CLAUDE.md 的话,至少先到 Claude Code 里执行一次 /init 让它生成一份。CLAUDE.md 文件可以理解成 Claude Code 在这个项目中的宪法,如果你有一些开发这个仓库时候的核心规则,就要记得加在这个文件里。比如你想最简单的践行 TDD(测试驱动开发),就可以考虑在 CLAUDE.md 中加上一行 “在实现所有业务/功能代码前,要先编写对应的单元测试”。当然这只是个例子,如果只靠这一句话践行 TDD 那估计后果会很悲壮。
这个 CLAUDE.md 的原理很简单,就是你和 Claude 模型对话时每次都会带上这个文件,所以我们针对这个文件的编写有一些基本的规则:
- 建议
CLAUDE.md的长度在一百行到几百行之间;如果你让 AI 面面俱到地总结了你的整个项目,搞了个百万字大文档输出成CLAUDE.md,那 AI 还没开始干活呢上下文就被塞满了。 - 文件中写的要是项目宏观的内容;如果写的过于细节,就会导致每次带上一大堆没必要的 prompt,小了说是浪费 token,大了说会影响效果。
- 如果项目过于庞大,可以考虑把
CLAUDE.md写成目录索引的形式。 CLAUDE.md要写团队共享的内容;因为这个文件应该被 git 管理,如果你在CLAUDE.md里写 “使用的 python 解释器在/home/shawn/.local/bin/python3.14”,那协同的同事直接就麻了。CLAUDE.md要及时更新;这个可能是最困难的,但如果不及时更新就会导致 AI 看到的代码和原则不符,虽然很多时候 AI 能帮你更新,但也要时常检查一下。
如果你用的是 Codex 或者 OpenCode 那对应的文件就是
AGENTS.md
另外如果你还有一些应该放在 CLAUDE.md 但又仅适用于你个人的内容怎么办?一般是这两种方法
- 把这些内容写在
CLAUDE.local.md中并将其加入.gitignore👍 - 在
CLAUDE.md中加入一行 “有关XXXX的内容读取文件 xxx.md”,并将xxx.md加入.gitignore
0X02 model & effort
根据我和朋友的观察,有好多人在用 AI Coding 但并不关心自己用的是什么模型,这令我们十分震惊。不过这种行为主要出现在 Tare/CodeBuddy 这类更容易接触到的软件上,毕竟 Claude Code 门槛这么高,能找到这儿来的多少是对模型有需求的。在 Claude Code 里可以输入 /model 和 /effort 命令可以交互式的选择 model 和 effort。
根据最新(2026-06-10)的情报,是可以画出下面这个表格的。其中 Hiku 作为最弱的模型,不支持 effort 参数,其余 3 个模型支持 effort。
| model \ effort | low | medium | high | xhigh | max | ultracode |
|---|---|---|---|---|---|---|
| Hiku 4.5 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Sonnet 4.6 | ❎ | ❎ | 👍 | |||
| Opus 4.8 | ❎ | ❎ | 👍 | 👍 | ||
| Fable 5 | ❎ | ❎ | 👍 | 👍 | 🏆 |
其中 ❌ 指的是不支持,❎ 指的是我个人不推荐,👍 指的是我个人推荐,🏆 指的是效果最好
理论上来说越到右下角,效果越好,消耗 token 越多,速度越慢;越到左上角,效果越差,消耗 token 越少,速度越快。根据我的经验来说 Opus 4.8 Max 就已经非常非常好用了,ultracode 模式我还没怎么用过,Fable 5 模型刚出不到一天还没来得及深度使用。
0X03 多多切换模式
在 Claude Code 的标准情况下提供了 normal/plan/accept edits/auto 这 4 种模式,还有一个论外的 bypass permissions。正常情况下,在对话框中使用 Shift + Tab 就可以在这 4 中常用模式里循环切换了。
auto模式是最常用的模式,这个模式下读写文件,执行命令都不需要用户干预,只有一些确实需要用户参与(比如选定某个方案)或者执行高危命令(比如git push -f)的时候才会主动挂起,让用户介入accept edits是编辑模式,可以读写文件,但执行具体命令会要求用户额外同意才行plan模式是一个很多人不用的模式,实际上 plan 模式和其他模式最大的区别不在权限上,而是功能。plan 模式下你提交的任务会被拆分,调研,最后给你一个执行手册,当你二次确认后可以切到 auto 模式开始施工。
永远不要使用
bypass permissions,因为auto已经能满足几乎所有场景的需求了,而bypass permissions由于其极高的权限,是有概率产生严重事故的。例如上面提到的git push -f如果是 auto 模式则会挂起,交给用户决定是否执行。而 bypass permissions 下会直接强行推代码。
0X04 开始写代码
很多人在用 Claude Code 的时候,会开一个新的 session 然后切成 auto 模式将需求描述直接贴上去,就开工干活了。但实际上按照Claude Code 最佳实践来说,比较推荐“Explore, Plan, Implement” 也就是 “先探索,再规划,最后编码”的顺序。
- 【探索】切到 Plan 模式,把需求相关的业务逻辑和代码位置告诉 AI,让 AI 先探索项目中的固有逻辑和基础配置/架构这些
- 【规划】继续在 Plan 模式,把需求给 AI 讲清楚,等 AI 生成一个完整的实现计划。在这期间可能会询问用户一些问题。也可以人为进行修改。
- 【编码】当实现计划确定后,一般 Claude Code 会提示可以切到 auto 模式开始编程了。
这是 Anthropic 官方推荐的方式,但我个人比较推荐在规划结束后让 AI 生成一个 HTML 的以流程图/关系图/状态图为核心的文档,配合实现计划一起看。毕竟人类看图比看大量的文字会更好理解。
如果 token 用量不多,可以考虑在 Explore 和 Plan 阶段使用强力 model + effort,在 Implement 阶段使用稍弱的 model + effort。
0X05 多用些命令
在 Claude Code 中如果会用接下来提到的几个命令,效率会比不会用高很多。
/resume可以恢复之前的 session/rename可以修改 session name,方便/resume时分辨/color可以修改当前 session color,方便多个 session 开发时快速区分/new启动一个新的 session,如果要开始一个和之前内容无关的需求时可以使用,让上下文变得更干净/compact可以手动压缩上下文,压缩时 AI 会保留他认为重要的内容(不可避免的丢失信息,但也可以是剔除不必要的信息)/rewind可以回滚到当前 session 中的历史位置(会话和代码可以分开或者一起回滚)
这里很值得说的是
/rewind命令,因为很多人在和 AI 对话的时候如果 AI 理解出现了偏差就会反复纠正 AI。但实际上这样虽然能让 AI 最后理解正确,但也会一定程度的污染上下文,所以有这种需求时候最好是使用/rewind回到历史中,修改自己的提示词,反复如此直到 AI 正确理解为止
0X06 subagent
可能好多人听过 subagent 但实际没有上手操作过。我自己用的也不是很多,主要是有这么一个常用的场景:现在需要做一个需求,有 3 个前置信息还不清楚,需要在代码库里搜索才能确定。这种时候如果你的提示词是:“1. xxx 2. xxx 3. xxx” 这样,AI 就会串行调研这 3 个问题,并且上下文都会塞到你的 session 里。但实际上调研这 3 个问题并不存在依赖关系,完全可以并行执行,而且调研过程的上下文可能对你并不重要,你只关心调研结果。
这时候就可以使用 subagent 来做这件事,subagent 不仅可以让这 3 个任务并行执行,还能让当前 session 的上下文保持干净。创建 subagent 的方式也十分地朴素:
1创建 3 个 subagent 分别调研下面这 3 个问题:
21. xxx
32. xxx
43. xxx0X07 worktree
前几天刚刚写了一篇有关 git worktree 的文章,可以直接引用好了,就不再说了。
0X08 Finally
有关 Claude Code 的原生部分正文就结束了,等后面如果对第三方的 Skill/MCP/Plugin 等有一些感受了之后可能会再更新一篇,感谢阅读~
如果这篇文章对你有帮助,可以请我喝杯咖啡 ☕
评论