译:Claude Code 使用技巧——Boris 与团队分享
· 444 字 · 约 3 分钟
Boris 是 Claude Code 的创建者。Claude Code 是集成在 Claude Desktop 里的 AI 编程助手,支持在对话中读代码、改代码、跑命令。他在 X 上通过 @bcherny 的推文分享了一套使用建议,来自 Claude Code 团队的一手经验。团队里每个人的用法不同,没有唯一「正确」方式,重要的是多试、找到适合自己的那一套。下面按条整理,并稍作补充说明,方便查阅。
1. 多做并行
用 git worktree 在同一仓库下开出多份工作目录,每个目录对应一个独立的 Claude Code 会话(一个对话窗口),同时推进 3~5 个任务或分支。这样不同会话之间互不干扰,又能共享同一套 git 历史。团队公认这是最大的效率提升方式:Boris 自己多用多个 git checkout,更多人用 worktree,Claude Desktop 也因此做了 worktree 的原生支持。
实践上,有人会给 worktree 起名、配 shell 别名(如 za、zb、zc)一键切换;也有人单独建一个「分析用」worktree,只用来读日志、跑 BigQuery,不写业务代码。
git worktree 的使用,参考 Git worktree 使用
2. 复杂任务先进入 plan 模式
Claude Code 支持先写计划、再按计划实现的「plan 模式」。把精力花在「先把计划想清楚」上,让 Claude 按计划一次把实现做对,比边写边改更省心。有人会让一个 Claude 写计划,再开另一个 Claude 以资深工程师视角审计划;也有人强调一旦执行跑偏就立刻回到 plan 模式重新规划,不要硬推,并且在验证阶段也明确要求进入 plan 模式,而不只在写代码时用。
plan 模式的使用,参考 Claude Code 的 plan 模式
可以说「先写一份实现计划,再按计划一步步做」,等 Claude 列出步骤并确认后再发「按计划实现」。或者先让一个会话写「给 XX 功能做重构计划」,把计划复制到另一个会话,说「以资深工程师视角审这份计划,指出遗漏和风险」。
3. 认真经营 CLAUDE.md
CLAUDE.md 是放在项目根目录、给 Claude(以及其它 AI 助手)看的说明文件,用来约定写作风格、项目结构、常用命令等。每次纠正完 Claude 后,结尾加一句:「更新你的 CLAUDE.md,以后别再犯同样的错。」Claude 很擅长根据反馈给自己写规则。要对 CLAUDE.md 持续删改、迭代,直到可感知的错误率明显下降。
有人会让 Claude 为每个任务或项目维护一个 notes 目录,每个 PR 后更新,然后在 CLAUDE.md 里指向它,方便后续对话直接引用。
Claude 把参考链接写成了行内式,你纠正后加一句「更新 CLAUDE.md,以后参考链接都用列表形式,每条单独一行」。下次写文章时 Claude 会按规则来。或者你发现它总在测试里写覆盖率输出,就让它加一条「测试代码里不要打印覆盖率,各语言用各自的方式统计」。
4. 做自己的 skills 并提交到 git,跨项目复用
Skill 是 Claude Code 里可复用的能力包(一组说明 + 可选步骤),斜线命令(slash command)是输入 /xxx 触发的预设指令,都可以写进项目或全局配置里。建议:一天会做超过一次的事,就做成 skill 或 command。例如做一个 /techdebt 斜线命令,每次收尾时跑一遍,让 Claude 找重复代码并清理;或者做一个把最近 7 天 Slack、GDrive、Asana、GitHub 同步成一份 context 的斜线命令;也可以做类似数据分析工程师风格的 agent,写 dbt 模型、审代码、在 dev 环境测变更(dbt 是常用的数据建模与转换工具)。
斜线命令与 skills 的对比与用法,参考 Claude Code 自定义斜线命令和 skills 的比较
在项目里建
.claude/skills/techdebt/SKILL.md,内容写「扫描当前改动和近期提交,找出重复或可合并的代码,给出具体重构建议」,保存后输入/techdebt即可触发。或者做一个/review,内容写「按 Go/项目 code review 规范审当前 diff,列出问题并给出修改建议」,提 PR 前跑一遍。
5. 让 Claude 自己修大部分 bug
通过 MCP(Model Context Protocol)把 Slack 等外部服务接到 Claude 后,可以把 Slack 里的 bug 讨论整段粘贴进对话,然后只说「fix」,无需再手动复述上下文。或者直接说「去修掉失败的 CI 测试」,不用管具体步骤,让 Claude 自己看日志、改代码。把 docker 日志丢给 Claude 排查分布式系统问题,效果也不错。
把 Slack 里关于「用户登录 500」的那几段讨论(含报错、复现步骤)复制进对话,发一句「fix」或「按这个讨论修掉这个 bug」。或者 CI 红了之后,在项目根目录打开 Claude,说「去修掉当前失败的 CI,不用一步步告诉我,修完说一声」。再比如把
docker logs xxx 2>&1 | tail -200的输出贴进去,说「这是服务 A 的日志,最近经常超时,帮忙分析可能原因并给排查建议」。
6. 提升 prompt 水平
可以「挑战」Claude:例如「针对这些改动拷问我,通不过你的测试就不许提 PR」,让 Claude 当 code reviewer;或者说「证明给我看这样能工作」,让 Claude 对比 main 和 feature 分支的行为。对不满意的修复可以说:「以你现在的理解,推倒重来,用更优雅的方式实现。」交办任务前写清楚需求或规格说明(spec)、减少歧义,越具体,输出越好。
提 PR 前可以说「针对这份 diff 当 code reviewer,问我问题,我答不上来就不许提 PR」,让 Claude 提问你来答。或者说「证明这个分支和 main 在 [某场景] 下行为一致」,让 Claude 对比逻辑或补测试。对一次改了一堆文件的修复,可以说「以你现在的理解,用更少、更清晰的改动能实现同样效果的话,重写一版」。
7. 终端与环境
团队里很多人用 Ghostty(一款终端模拟器),喜欢同步渲染、24-bit 色和正确的 Unicode。为方便多开 Claude,可用 /statusline 斜线命令自定义状态栏,始终显示当前 context 用量(对话消耗的上下文长度)和 git 分支;不少人会给终端标签上色、命名,有时用 tmux,一个标签对应一个任务或 worktree。另外建议开语音输入:说得比打字快很多,prompt 也会更详细(macOS 上按 fn 两次可触发听写)。
在 Claude Code 里输入
/statusline,在弹窗里勾选「context 用量」和「当前 git 分支」,状态栏会常显这两项,多开会话时不容易搞混。macOS 可在「系统设置 → 键盘 → 听写」里开启听写,默认连续按两次 fn 触发,说完一句 prompt 比手打快很多。
8. 善用 subagents
Subagent 是 Claude Code 里派出去处理子任务的代理。在希望多算力砸上去的问题上,在请求里加上「use subagents」。把单块任务交给 subagent,主会话的 context 更干净。还可以通过 hook 把权限请求(例如是否允许执行某条命令)路由给 Opus 4.5,做攻击扫描并自动批准安全请求,减少反复点批准。
可以说「用 subagents:1)审这份 PR 的代码质量 2)补单元测试 3)更新 CHANGELOG」,让 Claude 拆成子任务并行做。或者「用 subagents 把 docs/ 下所有 API 文档检查一遍,列出和当前代码不一致的地方」。权限方面,在配置里给 permission request 挂上 hook,让 Opus 4.5 先扫一遍,安全的自动通过,有风险的再弹给你确认。
9. 用 Claude 做数据与分析
在 Claude Code 里让 Claude 用 bq CLI(Google BigQuery 命令行工具)拉数据、在对话里直接做分析。团队把 BigQuery 的 skill 放进代码库,大家直接在 Claude Code 里写分析查询,有人已经半年多没手写 SQL。任何有 CLI、MCP 或 API 的数据库都可以类似用法。
说「用 bq 查一下过去 7 天 /api/orders 的 QPS 和 P99 延迟,按天聚合」,让 Claude 写查询、跑命令、把结果总结成几句话。或者说「我们库里有 users、orders 表,写一条 SQL 算过去 30 天每用户的订单数和总金额,并给出 BigQuery 命令」。没有 bq 的话,有 PostgreSQL 就说「用 psql 查…」,有 MCP 就接数据源后直接说「查…」。
10. 用 Claude 学习
在 /config 里开启「Explanatory」或「Learning」输出风格,让 Claude 解释「为什么」而不只是改了什么。可以让 Claude 生成 HTML 演示文稿讲不熟悉的代码;也可以让 Claude 画 ASCII 图解释新协议或代码库。还有人做了一个间隔重复学习 skill:你讲你的理解,Claude 追问补漏,并把结果存下来,类似背单词那样定期复习巩固。
打开 Claude Code 的 /config,在输出风格里选「Explanatory」或「Learning」,之后让它改代码时会顺带说原因。或者说「用 ASCII 画一下 HTTP/2 和 HTTP/1.1 在多请求时的区别」,或「把这段 Raft 选主逻辑画成流程图(ASCII)」。学新项目时可以说「生成一个 HTML 幻灯片,5~10 页,讲清楚这个 repo 的入口、核心流程和扩展点」,用浏览器打开即可复习。
以上十条可以按需组合:例如用 worktree 并行多任务、复杂需求先走 plan 模式、再配合 CLAUDE.md 和 skills 持续迭代,整体效率会更高。更多细节可参考文末官方文档。
参考链接: