好的,博主来了。
Claude Code这玩意儿,最近在圈子里讨论度确实高。不少朋友把它当成一个“能聊天的命令行工具”,问一句答一句,用起来总觉得差点意思。但真正把它用顺手的开发者,都在拿它当“结对编程搭子”——你告诉它目标、给它约束、让它自己跑,它帮你把脏活累活全干了,你只需要在旁边看着、纠偏、拍板。
这篇文章就是我折腾了几个月、跑完十几个项目后沉淀下来的实操总结。没有什么花哨的“必杀技”,全是命令行里一个个敲出来、踩过坑之后才想明白的东西。我会从最基础的环境准备讲起,到核心的workflow设计、CLAUDE.md规则调教、以及各种小技巧和避坑指南。希望你读完能直接用起来,把这工具变成真正能帮你扛活的队友,而不是一个高级玩具。
1. 项目准备:别急着敲代码,先搭好工作环境
1.1 环境安装与版本选型
Claude Code目前最舒服的使用方式还是通过命令行。安装它之前,我一般会先确认两件事:Node.js版本别太老(建议18以上,实测在旧版本上偶尔会有莫名其妙的网络或者依赖问题),另外、也是我最想强调的,就是把Claude Code升级到最新版。
在早期版本里,代码库索引(也就是Claude Code能“看到”你哪些文件)的能力远不如现在。如果索引不准,AI就很容易“凭空想象”代码位置,导致改了半天发现改错了文件。我见过太多朋友拿旧版跑大项目,结果AI反复说“找不到文件”,其实不是模型不行,是工具版本限制了它的视野。升级到新版本后,它对整个代码库的感知能力会强很多,上下文窗口的利用也高效得多。
安装流程本身不复杂,走官方脚本或者包管理器都行。装完之后我做的第一件事,不是急着去跑一个demo,而是跑一次环境自检。确认CLI能正常连上模型、本地目录的读写权限没问题。这一步能帮你排除掉很多“代码写得没毛病但结果不对”的诡异情况。
注意:Claude Code本身不自带模型推理能力,它的核心价值在于“连接”。把代码库、命令行工具、版本控制、模型能力串起来。所以你的API密钥、配额、网络连通性,都会直接影响体验。
1.2 初始化项目目录
建议不要直接在某个塞满几十个项目的总目录下开工,而是为每个任务单独开一个干净的目录。我自己的习惯是:
mkdir claude-workspace && cd claude-workspace git init然后把这个空目录拖进编辑器里。为什么要单独建目录?因为Claude Code在工作时,会依据当前目录读取上下文。如果目录里的文件太杂,它会被无关信息干扰,导致“理解偏了”。一个新项目就应该有一块干净的地基。
初始化完,我建议立刻创建一份CLAUDE.md,这是给AI看的“项目说明手册”,后面会详细讲它的威力。等文件建好、规则写好,其实工作环境就已经“通电”了。
2. 核心用法与工作流设计
2.1 几种常见的使用姿势
Claude Code最基础、也最容易被忽略的用法,就是对话式问询。你直接在终端里敲一个需求,比如“帮我看看这个函数哪里性能最差”,它会先扫描相关文件,然后给出分析和建议。这种模式适合快速查看、理解代码。
但真正让效率起飞的是另一种姿势——把任务拆解成子步骤交给它执行。我很少下那种“把这个功能做完”的笼统指令,而是拆成一个一个具体的、可验收的指令序列。
举个例子,需求是“给订单模块加一个失败重试机制”。我不会说“你看着办”,而是会分成几步:
- 先让它分析当前订单模块的结构,梳理出涉及“发送请求”的所有入口;
- 让它基于现有代码风格,写一个具备指数退避算法的重试工具函数;
- 让它把所有入口替换成调用这个新函数,并保持旧的异常抛出行为不变;
- 让它跑一遍测试或者提供测试用例,验证重试逻辑。
这种“拆解+引导”的方式,比一句话丢给它要稳得多。原因很简单:模型在你一个大而全的请求下,容易产生幻觉或漏掉边界情况。但当你把一个明确的目标和约束给到它时,它出错的概率就小很多。
2.2 Workflow的三种常见模式
根据项目类型和个人习惯,我总结了三种常用的工作模式,你可以对号入座:
| 模式 | 适合场景 | 核心特点 | 我的推荐指数 |
|---|---|---|---|
| 探索模式 | 阅读老项目,快速定位问题 | 让它先“通读”目录结构,再定位关键代码 | ★★★★ |
| 构建模式 | 从零开发一个小模块 | 给它完整的接口定义和验收标准 | ★★★★★ |
| 修改模式 | 给已有功能加特性或修Bug | 强调“保持原有行为”,让它给你diff看 | ★★★★ |
在探索模式下,我通常会敲一句“请先不要改任何代码,先帮我梳理出这个项目里和订单状态流转相关的文件,并给出每个文件的核心职责”。重点是“不要改代码”这几个字,它会让AI进入只读分析模式,输出质量通常很高。
在构建模式下,我会禁止它自由发挥。开局就给出一份明确的“接口契约”,包括函数名、参数类型、返回值、异常类型。如果你一开始就给清楚,后续它能省掉你几轮“这不是我想要的结构”的返工。
在修改模式下,我会特别叮嘱它“你只准修改我指定的文件,且改动前先给出改动方案”。这一步能防止它自作主张重构你本来没打算动的模块。
2.3 如何优雅地让它“执行”而不是“碎碎念”
很多朋友说Claude Code“只会说不会做”,多半是因为你没给它执行的权利,或者没把执行路径说清楚。
我自己的经验是,一定要让它处于一个有“根权限”的工作状态。也就是它有权在你当前目录下创建、修改、删除文件,并能运行常见的开发和构建命令。当它把一个任务拆解完,开始输出大段代码时,我会直接打一个:
/auto这会在当前上下文中让AI进入自动执行模式,它会自己读取文件、编写代码、执行测试、修复错误,直到达成你的目标。当然,这不是让你完全撒手不管,而是把机械性的反馈循环交给它运行,你在旁边监控。
这里要说一下,如果你发现它一直在“给建议”而不是直接干,先回头检查两件事:目录权限是否允许它写文件;你的指令里有没有“分析一下”“建议几个方案”这类探询性措辞,这类措辞会把它引导到展示模式,而不是干活模式。
3. 玩转CLAUDE.md:打造你的专属“指挥手册”
3.1 CLAUDE.md到底该写什么
很多人的CLAUDE.md写得跟自我介绍似的,写的都是“这个项目是一个电商系统”之类空话,这基本等于没写。真正好用的手册,是写给AI的“任务执行规范”,重点不是“项目是什么”,而是“项目该怎么被修改”“代码风格是什么”“哪些事不能做”。
我自己的模板大概包含这几块:
- 项目的技术栈和关键目录说明
- 代码风格约定:比如是否优先使用函数式组件、是否禁止在循环里写console.log、错误处理偏好
- 一些明确的“红线”:不要修改哪些文件、不要执行哪些命令
- 测试和构建方式:比如“测试用
npm test,构建用npm run build”
比如我写过一个项目,数据层非常脆弱,只要不小心动某个初始化文件,整个系统就崩。我就直接在CLAUDE.md里写死一条规则:“任何情况下不得修改src/core/bootstrap.js文件,除非用户明确指令”。加了这一条之后,AI在整个开发周期里都绕开了这块雷区,省了我好几次半夜救火的麻烦。
3.2 用CLAUDE.md给AI“立规矩”
我特别建议大家在手册里加入“项目专属的验收标准”。这不光是给AI看的,更是逼迫你自己把需求想清楚。
一个很典型的例子:我有一次让它写一个文件上传组件,一开始它写出来的组件很全,但UI细节完全不符合项目现有设计风格。我在CLAUDE.md里补充了这样几条:“所有新组件必须沿用项目里现有的Button和Card基础组件;间距统一使用设计稿里的4px倍数体系;禁用任何未在package.json里声明的第三方依赖”。从那以后,它写出来的东西基本就能直接合入分支,不用我再大改。
所以,CLAUDE.md不是一锤子定死的。它应该随项目演进、随踩坑经历持续更新。每次AI做了一个你特别满意的操作,或者犯了一个你不想再犯的错,都值得沉淀进去。久而久之,它会成为你和这个AI之间专属的“默契手册”。
3.3 多项目多角色切换
如果你同时在做好几个项目,比如一个用Vue,一个用Node写服务,一个在写Python脚本,你这么干就特别重要了:给每个项目目录都放一份属于自己的CLAUDE.md。
这样一来,你在A项目里跑Claude Code,它自动遵循A的规范;切到B项目,它又自动适配B的语境。完全不需要手动提醒“你是另一个项目的AI”、“请忘记上一个项目的规则”。
这个体验非常奇妙,相当于你同时带了好几个“熟悉不同业务线”的初级工程师。你需要做的只是来回切换终端窗口,而它们各自都懂各自负责的那摊子事。
4. 提效技巧:让Claude Code变成真正的“快枪手”
4.1 善用/improve快捷键
写作过程中最影响效率的,其实不是AI不够聪明,而是你来回切换上下文太重。很多时候我写完一段提示词,发现表述得不够准确,想改进一下,但又懒得重新输入一遍。这时候就用上/improve了。
它的作用是让你针对当前工作区里已经选中的代码或文本,让Claude基于最新一轮对话的上下文去优化它。我在做代码评审时经常用:先让AI写一个模块,然后我选中这段代码,输入/improve,附加一句“请优化这个函数的性能,并保持可读性”。它就会基于刚才的对话记忆,给出改进后的代码。这一点我觉得比单纯问“你帮我优化一下刚才那段代码怎么写”要高效得多,因为它能精确定位到当前选择区域。
4.2 善用上下文压缩
一个长对话进行到一定程度,上下文窗口就会逼近上限。这时候你可能会发现AI的回复开始变慢、变“笨”,甚至遗忘早期的指令。这就是上下文快塞满的表现。
我的习惯是,一个任务绝对不拖到上下文爆掉才结束。我一般会在对话进行到10~15分钟或者产生较大体量代码改动时,主动开启新会话,然后在新会话里告诉它:“我刚刚用上一个对话完成了某某模块,这个对话的目标是在那基础上增加某某功能,请你先读取某文件了解现状”。
这在Claude Code里几乎是无痛的,因为它能直接通过读文件来“恢复记忆”,不需要你粘贴历史代码。保持对话短小精悍,比在一个斜坡上越滑越歪要省心得多。
4.3 善用自定义Slash Commands
如果说CLAUDE.md是给AI定的规矩,那自定义Slash Commands就是给你的高频动作定制的快捷指令。
比如我经常要提交代码,但我对commit message的格式有严格偏好:必须包含“类型: 描述”格式,比如feat: 增加批量导入功能。我就写了一个命令文件,让我敲/commit的时候,AI自动去执行git add、查看git diff,然后按照我的格式要求生成commit message,再执行commit。以前我手动干这套流程可能要两分钟,现在一个命令十几秒全搞定。
再比如写单测,我习惯敲/test,它会自动分析当前变更的模块,补充对应的单测文件并运行验证。这些命令写起来不难,核心是把那些你每天都要做的重复动作脚本化,然后让AI帮你挂到一条命令上。
4.4 习惯使用Agent模式,让它在后台干活
Agent模式在Claude Code里是一个很酷的功能。不是每个对话都需要你全程紧盯。有时候你只需要告诉它一个后台任务的目标,“你把这个目录下所有拼写错误的注释改一下,顺便把过时的API调用提醒出来,整理成一个清单”,然后在终端里就可以切到别的终端窗口继续做事。
它会自己迭代、搜索、定位文件、修改,并把结果汇总给你。这种“异步”协作方式很适合处理那些不紧急但很占时间的清理型任务。当然,如果你给它改代码,建议它逐个文件地改,边改边看,不要让它一次性改写几十个文件,风险太大了。
5. 避坑指南:那些容易翻车的细节
5.1 别让它越级操作,权限要懂“刹车”
Claude Code最大的能力是“能做很多事”,但最大的风险也是“乱做很多事”。我有一次让它优化某个前端构建配置,结果它不仅改了配置文件,还顺手改了依赖版本,导致整个项目构建报错。
从那以后,我养成一个习惯:每次把它丢进一个新的工作目录前,我都会先跟它约法三章,明确哪些目录它不能碰。最稳妥的方式就是在CLAUDE.md里写死红线,并设定成“该规则优先级最高”。这比在每次对话里临时强调有效得多。
另外,在执行破坏性命令(比如删除文件、覆写文件)前,它通常会弹出确认提示,有人觉得这个提示烦,想关掉。但以我的经验,这恰恰是最后一道刹车,不建议完全关闭。除非你是在跑全自动测试环境,否则多一次确认,少一次事故,真不亏。
5.2 小心“深度幻觉”:让它先复述,再行动
很多时候AI看似听懂了你的需求,但它理解的和你脑海里的根本不是一回事。特别是老代码库重构时,它特别容易基于“猜”去推工具函数的位置,然后我给你一个不存在的路径。我踩过几次坑后,现在改成这样:先要求它输出一份行动摘要。
比如我会说:“先不要动手,告诉我你打算改哪几个文件、每个文件大概怎么改、有没有涉及删改其他模块,我确认后你再执行。”
这一步多花30秒,但能帮你把误差拦截在动手之前。要知道,AI改错代码后的“回滚”成本,通常比多提一句“请确认”要高得多。
5.3 注意上下文“污染”
Claude Code有记忆能力,但它的记忆也可能会“串线”。比如你上一个任务在处理前端样式,下一个任务切换到写后端接口,如果连着同一个对话里直接切换,有时它会沿用之前项目的术语或风格。
所以我给的建议是,切换项目或切换大任务时,果断开新对话。不要觉得“聊聊而已,继续聊没事”。开新对话的成本极低,但避免上下文污染的价值极高。
5.4 别迷信“全自动”,该你出手时就出手
聊到最后我在想,工具再聪明,核心仍然是你的判断力。Claude Code可以帮你把代码写得又快又整洁,但它不能替你做架构决策,也不该替你做“该不该删掉这个模块”这种业务判断。
我见过很多开发者在工具里陷入“AI说啥我听啥”的状态,文件被改得一片混乱,然后花大量时间去修。但真正高效的人,是把AI当成“放大自己能力的杠杆”,而不是“替代自己思考的大脑”。它跑得再快,方向也得你定。
6. 我自己的实操经验与体会
用了这么长时间,我最想分享的一点是:工具的上限,很大程度取决于你给它输入的质量。Claude Code尤甚。同样一个功能,有的人扔一句话让它“看着办”,出来的东西能不能用全凭运气;有的人先花2分钟梳理好上下文、边界条件和验收标准,效率能翻几倍。
另外,一个小技巧是,把你在工作中高频出现的“问题解决套路”沉淀到CLAUDE.md里。比如我经常要处理日志采集,就把一套流程写进去了:第一步查哪几个配置文件、第二步启动/重启顺序、第三步日志文件在哪里看、输出的关键字是什么。这样AI在处理相关任务时,会表现得像个有经验的老手,而不是一个只会搜索关键词的新手。
最后再分享一个很个人的使用习惯:我会在每天开始工作前,花几分钟打开对应项目的终端,像跟同事对齐一样,跟Claude Code说一句“今天我们重点完成XX模块,昨天在XX地方我们停下来了,你先把当前代码状态过一遍,有问题直接问,我等会儿回复你”。然后我就去开晨会、回邮件。等我带着新需求回来的时候,它已经梳理完旧上下文并等着接收新指令了。这个习惯让我的工作节奏顺畅很多。
工具在迭代,技巧也会过时,但“把需求理清、把规则定好、把边界把住”这个方法,放到哪天都好使。希望这篇总结能帮你在用Claude Code的路上少走点弯路,早点把它从“玩具”用成“生产力”。