导语:Claude Code 不是更聪明的自动补全,它是一个能读文件、跑命令、改代码的AI代理。但很多人用了几周后才发现:真正决定效率的,不是提示词技巧,而是你给AI搭的"轨道"够不够稳。
一、先认清本质:Claude Code 到底是什么?
很多人第一次用 Claude Code 时,把它当成一个"高级版 ChatGPT"——问问题、等回答、再追问。但这完全浪费了它的能力。
Claude Code 是一个代理式编码环境(Agentic Coding Environment)。它的工作模式是:你描述想要什么,它自己探索、规划、执行。它可以读取你的文件、运行终端命令、修改代码,甚至在你离开电脑前自主推进任务。
这意味着一个根本性的转变:从"你写代码,AI帮忙看"变成"你描述需求,AI来建"。
但这也带来了一个学习曲线——你需要理解它的约束,才能让它真正高效地工作。
二、核心心法一:上下文窗口是你最宝贵的资源
Claude Code 最大的隐藏瓶颈,不是算力,不是网速,而是上下文窗口。
每一次对话、每一次文件读取、每一条命令输出,都会填满这个窗口。一个调试会话或代码库探索,可能轻松消耗几万 token。而当上下文窗口接近满载时,Claude 的表现会明显下降——它会"遗忘"之前的指令,或者犯更多错误。
实操建议:
-
精准加载,不要"全仓倒入"
用
`@文件名`精确指定需要参考的文件,而不是说"看看整个项目" -
任务之间用
**`/clear`**清场不同任务之间残留的旧对话,会成为新任务的噪音
-
纠正两次还不对?重启会话
上下文里堆满了失败的尝试,不如
`/clear`后写一个更精准的初始提示
三、核心心法二:给 Claude 一个"验货标准"
这是我从血泪教训中学到的最重要一课。
Claude 完成任务后,默认的停止信号是"看起来做完了"。如果没有一个它能自动运行的检查机制,你就成了人肉验证器——每一个错误都要等你发现。
解决方案:在提示里给它一个可执行的检查。
| 错误示范 | 正确示范 |
|---|---|
| "实现一个验证邮箱的函数" | "写一个 validateEmail 函数,测试用例:user@example.com 返回 true,invalid 返回 false,<user@.com> 返回 false。写完后运行测试并修复失败项" |
| "把仪表盘做得好看点" | "[贴一张设计图] 按这个设计实现,完成后截图对比,列出差异并修复" |
| "构建失败了,修一下" | "构建报错:[贴错误信息]。修复后验证构建成功,且要处理根因,不要只是压制错误" |
这个检查可以是测试套件、构建命令、截图对比、linter 输出——任何能返回 pass/fail 信号的东西。
进阶玩法:
-
单次提示内闭环
在同一个消息里要求 Claude 运行检查并迭代
-
跨会话设置
**`/goal`**把检查设为会话目标,Claude 会在每次操作后自动验证
-
引入"第二意见"
用子代理在全新上下文中审查结果,避免"自己给自己打分"的偏差
四、核心心法三:探索 → 计划 → 编码,三步走
让 Claude 直接开写代码,是最容易踩的坑。它可能写出一个"看起来对"但完全偏离需求的实现。
推荐的工作流:
**第一步:探索(Explore)**进入 Plan Mode(按 `Shift+Tab` 切换,或启动时用 `claude --permission-mode plan`),让 Claude 只读不写,先理解代码库结构和现有逻辑。
read /src/auth 并理解我们如何处理会话和登录。
同时看看环境变量是怎么管理密钥的。
**第二步:计划(Plan)**让 Claude 输出详细的实施方案:哪些文件要改、数据流怎么走、潜在风险是什么。你可以按 `Ctrl+G` 在编辑器里直接修改计划。
我想接入 Google OAuth。哪些文件需要改动?
会话流程是什么?制定一个计划。
**第三步:编码(Implement)**退出 Plan Mode,让 Claude 按计划执行,并用检查机制验证。
按你的计划实现 OAuth 流程。为回调处理器写测试,
运行测试套件并修复失败项。
什么时候可以跳过计划? 如果改动能用一句话描述(改个 typo、加个日志、重命名变量),直接让 Claude 做就行。计划模式的价值在于处理跨文件、不确定方案、或不熟悉的代码。
五、核心心法四:写好你的 CLAUDE.md
`CLAUDE.md` 是 Claude Code 每次会话启动时自动读取的"项目说明书"。它是你最高 ROI 的一次性投入。
写什么进去:
-
Claude 猜不到的 Bash 命令
-
与默认规范不同的代码风格
-
测试指令和偏好的测试运行器
-
仓库约定(分支命名、PR 规范)
-
项目特有的架构决策
-
开发环境的特殊配置
不要写什么:
-
Claude 读代码就能推断出来的东西
-
标准语言规范(它本来就知道)
-
详细 API 文档(放链接)
-
频繁变化的信息
-
长篇教程或逐文件描述
黄金法则:对每一行都问自己——"删掉这行,Claude 会犯错吗?"如果不会,就删掉。臃肿的 CLAUDE.md 比没有还糟,因为重要规则会淹没在噪音里。
小技巧:运行 `/init` 让 Claude 根据项目结构自动生成初稿,然后你精炼。用 `/context` 确认它确实加载了。
六、核心心法五:像对待高级工程师一样沟通
Claude Code 最被低估的用法,是把它当作代码库的"资深同事"。
新人入职场景:不要自己啃代码,直接问 Claude:
-
"日志系统是怎么工作的?"
-
"怎么新增一个 API 端点?"
-
"foo.rs 第 134 行的
`async move { ... }`是做什么的?" -
"CustomerOnboardingFlowImpl 处理了哪些边界情况?"
大功能开发场景:不要一上来就堆需求。让 Claude 先采访你:
我想做一个 [简要描述]。用 AskUserQuestion 工具详细采访我。
问技术实现、UI/UX、边界情况、顾虑和权衡。
不要问显而易见的问题,深挖我可能没考虑到的难点。
采访完成后,写一份完整的 SPEC.md 规范。
好的规范是自包含的:命名涉及的文件和接口、明确范围、最后有一个端到端验证步骤。写规范花的时间,比盯着实现过程花的时间,回报率高得多。
七、核心心法六:会话管理就是生产力
Claude Code 的会话是持久且可逆的。善用这一点。
及时纠偏:
-
按
`Esc`随时中断 Claude 的操作 -
双击
`Esc`或运行`/rewind`回退到任意检查点 -
说"撤销刚才的改动"让它回退
-
同一个问题纠正超过两次,
`/clear`重来
**命名与恢复:**用 `/rename` 给会话起有意义的名字(如 `oauth-migration`),像分支一样管理。用 `claude --continue` 恢复最近会话,或 `claude --resume` 选择列表。
**子代理分流:**大任务拆给子代理,它们在独立上下文中调研,只把摘要带回主会话。这样你的主上下文保持干净,专注实现。
用子代理调研我们的认证系统如何处理 token 刷新,
以及是否有现成的 OAuth 工具可以复用。
八、核心心法七:从"手动"到"自动"的扩展
当你单会话用顺了,下一步是规模化。
非交互模式集成 CI:
# 一次性查询
claude -p "解释这个项目是做什么的"
# 结构化输出给脚本
claude -p "列出所有 API 端点" --output-format json
# 实时流式处理
claude -p "分析这个日志文件" --output-format stream-json --verbose
多会话并行:
-
用 Git worktree 隔离不同分支的并行开发
-
Desktop App 可视化管理多个本地会话
-
甚至可以用"Writer + Reviewer"模式:一个 Claude 写代码,另一个在全新上下文中审查
对抗性审查:长时无人值守运行前,用子代理审查 diff。官方自带的 `/code-review` skill 就是一个现成的审查工具。关键是让 reviewer 只报影响正确性或需求满足度的问题,避免陷入过度工程。
九、避坑清单:五个最常见的失败模式
| 坑 | 现象 | 解法 |
|---|---|---|
| 大杂烩会话 | 一个任务做到一半问别的,再回来,上下文全是噪音 | `/clear` 切任务 |
| 反复纠正死循环 | 错了→纠正→还错→再纠正,上下文堆满失败尝试 | 纠正两次后 `/clear` 重写提示 |
| CLAUDE.md 过度膨胀 | 写了 500 行,Claude 只读进去一半 | ruthlessly 精简,只留"删了会错"的规则 |
| 信任但不验证 | 看起来对的实现,边界情况全崩 | 永远给 Claude 一个可运行的检查 |
| 无边界探索 | "去调研一下代码库",读了 200 个文件 | 限定范围,或用子代理分流 |
写在最后
Claude Code 真正的竞争力,不在于它"能做什么",而在于你怎么让它做。它不是更聪明的聊天机器人,它是一个需要轨道的代理。
这七个心法的底层逻辑是一致的:减少噪音、明确目标、建立验证、保持上下文清洁。 做到这几点,你会发现 Claude Code 从一个"需要盯着的助手",变成一个"可以托付任务的队友"。
如果你刚开始用,建议这周只做三件事:
-
写一个 200 行以内的 CLAUDE.md
-
非小改动前,先按
`Shift+Tab`进 Plan Mode -
每次任务结尾加一句"运行测试并修复失败"
这三件事的复利,会在一个月后让你感谢今天的自己。
你在用 Claude Code 时踩过什么坑?有什么独门技巧?欢迎在评论区交流。
END
希望今天的讲解对大家有所帮助,谢谢!
Thanks for reading!
作者:架构精进之路,十年研发风雨路,大厂架构师,CSDN 博客专家,专注架构技术沉淀学习及分享,职业与认知升级,坚持分享接地气儿的干货文章,期待与你一起成长。
关注并私信我回复“01”,送你一份程序员成长进阶大礼包,欢迎勾搭。
如果您觉得还不错,欢迎关注和转发~