尚硅谷 Vibe Coding|第三章(3) Claude Code深度使用与进阶技巧-最佳实践,启动配套 学习笔记
3.5 Claude Code 最佳实践
经过大量实践总结出的使用技巧,帮你事半功倍。
3.5.1 Prompt 编写技巧(针对 Claude Code 场景)
1. 任务描述要具体,不要模糊
差:
帮我做一个登录功能
好:
在 /api/auth/ 目录下创建登录 API:
POST /api/auth/login
接受 {email, password}
使用 bcrypt 验证密码
成功返回 JWT token
使用项目已有的 prisma client 查询 User 表
2. 引用已有代码作为参考
好:
参考 /api/bookmarks/route.ts 的风格,
为 /api/tags/ 创建类似的 CRUD 接口。
数据模型参见 prisma/schema.prisma 中的 Tag 表。
3. 先让 AI 制定计划,确认后再执行
好:
我想给书签管理器添加搜索功能。
请先分析一下需要修改哪些文件,列出计划,
等我确认后再开始实现。
4. 一次只做一件事
差:
帮我同时添加搜索功能、标签管理、用户认证和导出功能
好:
- 帮我先实现书签搜索功能。具体需求:
- 在书签列表页面添加搜索框
- 支持按标题和描述搜索
- 搜索实时过滤结果(前端过滤即可)
3.5.2 上下文管理策略(快速参考)
上面 /compact 详解已覆盖核心操作,这里给你一个快速决策表:
|
你观察到的情况 |
是什么问题 |
该怎么做 |
|
响应变慢、质量下降 |
上下文快满了 |
/context 查看占用占比 → 高于 60% 执行 /compact |
|
AI 开始 “遗忘” 早期约定 |
早期信息被上下文窗口挤出 |
立即执行 /compact |
|
AI 重复问已回答过的问题 |
上下文信息混乱 |
/clear 清空会话,开启新对话 |
|
要切换到完全不同的任务 |
避免上一任务逻辑、代码思路干扰 |
/clear 开启新会话 |
|
想永久记住某条规范 / 业务规则 |
需要跨会话持久记忆 |
/memory 开启 Auto Memory 功能,或写入 CLAUDE.md 文件 |
3.5.3 Git 集成最佳实践
在深入 Git 技巧之前,先给你一个直观理解:Git 就是你的「游戏存档系统」。哪怕你不是专业程序员,只要使用 Claude Code 做项目,Git 都是项目开发的生命线。
类比 RPG 游戏逻辑:打 BOSS 前先存档 → 操作失误、代码翻车就读档回退重来 → 功能开发完成、效果满意就新建存档继续迭代。
Git 在项目中的作用完全一致:每开发完成一个稳定功能节点就提交存档,后续代码出错、需求变更均可回退至之前稳定版本。
Mac 自带 Git,Windows 可以让 cc 帮你安装。建议注册 GitHub 账号 —— 远程仓库支持在其他电脑拉取存档继续工作,也方便多人协作。
Git 的下载、安装、账号绑定、提交、回滚全部可以交给 cc 通过自然语言指令完成,示例指令
> 帮我下载 Git 并跟我的 GitHub 账号绑定
> 帮我把现在的代码提交到远程仓库
> 回滚到上一个存档版本
黄金法则
在让 AI 执行大规模代码修改之前,先执行 commit 保存当前稳定版本
标准开发流程
1.git commit — 保存当前稳定状态(存档)
2.指令 AI 实现新功能
3.测试功能可用性
- 测试正常:执行 git commit 存档,继续开发下一个功能
- 存在问题:执行 git checkout . 撤销本次修改,回到步骤 1 更换方案重试
实际命令示例(bash)
1. 开发新功能前,先存档稳定版本
git add . && git commit -m "开始添加搜索功能前的存档"
2. 在 Claude Code 中执行功能开发
场景 A:功能开发出错、代码损坏,回退至存档点
git checkout .
场景 B:功能开发完成、测试正常,保存新版本
git add . && git commit -m "完成搜索功能"
避坑要点
大量新手误区:未执行 commit 存档就允许 AI 大范围修改代码,代码改动失控后无法回滚,是 AI 编程里高频且严重的失误。
核心口诀:改之前先存档。
3.5.4 费用控制策略
|
策略 |
方法 |
节省比例 |
|
分级使用 |
简单任务用 Haiku/DeepSeek,复杂任务用 Sonnet |
30-50% |
|
精准描述 |
减少来回修改次数 |
20-30% |
|
及时 /compact |
避免重复发送长上下文 |
10-20% |
|
使用 /cost 监控 |
实时了解消耗 |
- |
|
设置预算上限 |
Anthropic Console 中设置月度限额 |
防止超支 |
> /cost
AI:当前会话费用统计:
输入 Token:15,234
输出 Token:8,721
估算费用:$0.18
3.5.5 大型代码库最佳实践(Anthropic 官方推荐)
前文技巧通用;若接手多人协作、几十万行规模的大型代码库,Anthropic 官方给出专属落地规范。核心矛盾:即便模型上下文窗口充足,完整代码体量仍极易超出承载上限。下面 3 条为硬性规范,后 3 条为高效工具。
① 用 /init 自动生成 CLAUDE.md(项目初始化)
首次在新项目使用 Claude Code,优先执行 /init 命令:
> /init
AI 会自动遍历项目目录、识别技术栈、读取 README 与核心配置,生成 CLAUDE.md 初稿;之后手动补充三类必填信息:
|
必备内容 |
作用 |
示例 |
|
项目目录地图 |
让 AI 快速定位代码存放位置 |
认证逻辑存 src/auth/,UI 组件存 src/components/ |
|
禁止修改禁区 |
规避 AI 误改动关键文件 |
不可修改 prisma/migrations/、vendor/ 目录 |
|
团队开发约定 |
统一代码输出风格 |
所有 API 统一返回 { success, data, error } 结构 |
提示:CLAUDE.md 仅作为起点上下文,并非承载全部代码,等同于新人入职手册;AI 阅读文档后再现场检索代码,该机制为 Agentic Search(详见 2.2.1 节)。
② 任务粒度要小且聚焦(拒绝万能长提示词)
大型代码库最易出现效率问题:一次性向 AI 下发完整超大需求。
反例(错误):帮我重构整个支付模块,新增风控、对账、通知、报表全套功能
正例(标准):第一步仅在 src/payment/risk/ 编写风控规则引擎,接口规范参考 docs/risk-rules.md,暂不改动调用方代码
经验阈值:单条 Claude Code 任务改动文件 ≤5 个、代码改动量 ≤200 行;超出该范围必须拆分多轮执行。
③ 频繁重置上下文(/clear 是高效工具)
很多新手存在误区:认为对话越长 AI 越熟悉项目,这恰恰是大型代码库使用中最大的问题:
上下文堆积内容越多,无关代码片段越多,AI 越容易偏离核心需求、抓错重点;
上一轮任务的失败尝试、错误路径、错误假设,会持续污染下一轮任务的判断。
官方操作方案对照表
|
适用时机 |
执行操作 |
核心区别 |
|
单个独立任务全部完成(提交 PR 后) |
/clear |
完整清空全部对话,全新会话从零开始 |
|
同一任务内对话轮次过长、token 占用偏高 |
/compact |
压缩历史对话为精简摘要,保留关键决策记录 |
|
需要完全更换实现思路、彻底推翻原有方案 |
执行 claude 退出终端并重新启动 |
重置全部会话状态,包含运行模式、内存缓存 |
核心心法
宁可多次执行 /clear 重新交代项目背景,也不要持续无限延长单轮对话。每一次 /clear 都会让 AI 清空冗余信息,重新聚焦当前需求。
④ 复杂任务从 Plan Mode 起手(权限控制)
完整用法详见 4.9 节。核心要点:面对陌生代码库、牵一发而动全身的大范围修改,优先执行 /plan 或连续两次 Shift+Tab,让 AI 进入只读规划模式,先完整推演方案再执行修改;此模式下修改回退成本极低。
⑤ 用 Skills 与 Subagents 卸载高消耗长任务
大型代码库中调研类任务会大量消耗 token,典型场景包括:
- 全局检索所有废弃 API 调用位置
- 梳理模块完整依赖关系图
- 跨数十文件批量重命名的影响范围评估
这类任务不适合放在主会话执行,两种分流方案:
1.派发 Subagent 子代理
启用独立子代理完成全部调研,仅将最终结论传回主上下文,Plan Mode 环境下可自动调度子代理;
2.封装自定义 Skill
将高频复用的调研流程封装为 Skill,后续一键调用,详细开发教程见文档第四部分。
优势:主会话上下文资源全部留给阅读结论、业务决策、代码编写等核心操作,大幅降低 token 消耗与上下文污染。
⑥ 接入 MCP / LSP(给 AI 装上团队协作工具)
真实工程师开发不只阅读代码,还会查阅 Jira 工单、Confluence 文档、查询数据库、使用 IDE 跳转定义。Claude Code 通过 MCP(Model Context Protocol) 对接各类工程工具,补齐完整协作能力。
|
接入对象 |
解决能力 |
典型使用场景 |
|
GitHub MCP |
读取 PR、Issue、CI 流水线日志 |
“这个 bug 在 PR #1234 里讨论过,查看相关记录” |
|
数据库 MCP(Postgres / MySQL) |
直接查询业务库数据 |
“统计线上 user 表中 deleted_at 不为空的数据总量” |
|
Jira / Linear MCP |
读取需求任务卡 |
“按照 PROJ-123 工单需求完成开发” |
|
LSP(语言服务器)集成 |
代码跳转、类型解析、全局查找引用 |
等同于 IDE「查找所有引用」功能 |
|
Sentry / Datadog MCP |
读取线上告警、异常堆栈 |
“排查过去一小时全部 5xx 报错” |
配置提示
配置入口:.claude/settings.json 内 mcpServers 配置段;也可在终端执行 claude mcp add ... 快速添加。MCP 完整配置教程在第四部分 3.6 节讲解。
MCP库地址:ModelScope - MCP 广场

3.5.6 大型代码库最佳实践速查表
|
实践 |
命令 / 入口 |
执行时机 |
核心收益 |
|
项目初始化 |
/init + 手工补充 CLAUDE.md |
首次进入新项目 |
让 AI 掌握项目目录结构、禁止修改目录、团队规范 |
|
任务拆分 |
流程心法(无专属命令) |
每次下发需求前 |
限制单次改动文件≤5 个、代码≤200 行,避免大范围误改 |
|
上下文重置 |
/clear / /compact |
独立任务结束 / 对话 token 占用过高 |
清除冗余历史、避免上下文污染,降低 token 消耗 |
|
规划优先 |
/plan 或 连续两次 Shift+Tab |
复杂、大范围修改任务起步 |
只读模式先完整推演方案,无破坏性修改,回退成本极低 |
|
任务卸载 |
Subagent / Skill 自定义工具 |
全局检索、依赖梳理等重调研任务 |
将高消耗调研分流至子代理,保护主会话上下文空间 |
|
工具接入 |
claude mcp add ... |
项目初次配置阶段 |
打通 Git、数据库、Jira、监控等外部工程工具,AI 不再仅局限读取代码 |
3.5.7 三个容易被忽视的官方进阶建议
以下三点官方文档反复强调,但新手实操时极易忽略。
1. 在业务子目录初始化 Claude,不要在仓库根目录启动
该规范在 monorepo 多包仓库场景下效果最明显。
错误示范(根目录启动)
user@monorepo $ claude
# AI 读取仓库全部数百服务、上千依赖包,造成严重上下文污染、token 大量浪费
正确示范(进入目标业务子目录再启动)
user@monorepo $ cd services/payment
user@monorepo/services/payment $ claude
# 1. Claude 自动向上递归加载全部 CLAUDE.md(根目录配置也会读取,不丢失全局规范)
# 2. 工作范围自动限定在当前子目录,检索范围大幅缩小
配套优化做法
每个业务子目录单独创建小型 CLAUDE.md,仅记录当前模块专属测试、lint 校验命令; 避免 AI 修改单个服务后,自动执行整个仓库全量测试套件,防止执行超时、资源消耗过高。

2. 配置定期审查(周期:每 3–6 个月)
针对旧模型编写的配置、指令,在新版大模型上可能产生反效果,官方给出两组真实失效案例:
|
过期配置内容 |
适用旧环境 |
失效原因(新环境) |
|
CLAUDE.md 强制要求「每次重构仅修改单个文件」 |
早期模型专注力弱,需要限制改动范围 |
新版模型支持跨多文件协同编辑,该约束反而限制效率、成为枷锁 |
|
配置文件写入 Hook 自动执行 p4 edit |
Claude 原生不支持 Perforce 版本工具 |
Claude Code 已内置原生 Perforce 支持,自定义 Hook 完全冗余 |
3. 团队需指定专人负责 Claude Code(DRI / Agent Manager)
本条面向团队协作场景,个人开发者可跳过。
Anthropic 调研显示:落地推广最顺畅的团队,均为先由小团队搭建完整配套基础设施,再全员开放使用。
|
团队规模 |
专属负责人角色 |
核心工作职责 |
|
小团队(人数<20) |
DRI 直接责任人(选拔感兴趣工程师兼任) |
统一维护项目级 CLAUDE.md、共享 Skill 工具集、插件选型管控 |
|
中型企业 |
Agent Manager(半产品半工程师复合岗) |
跨部门落地推行、权限管控策略、安全与合规接入校验 |
|
大型 / 金融医疗等强监管企业 |
跨职能专项工作组 |
工程、安全、治理、合规多方协同,统一定义需求与长期落地路线图 |
重要提示
开发者初次使用 Claude Code 的体验,直接决定工具在全公司的推广效果。若初次使用就出现 AI 乱改代码、破坏业务逻辑等问题,后续扭转口碑成本极高。
放任工具野蛮使用虽能短期激发热情,但缺少组织统一规范沉淀,优质实践只会变成小范围 “部落知识”,无法全员复用。
3.5.8 企业级落地三阶段(面向团队负责人)
企业规模化推广 Claude Code 标准落地路径:
阶段 1:核心小团队完成全套工具链、开发规范搭建;
阶段 2:选取少量业务小组小范围试点验证;
阶段 3:全公司大面积开放推广。
核心原则:保证开发者初次使用即可正常跑通全流程,负面初次体验会大幅提升后续推广阻力。
3.6 新项目启动套件
5 分钟配好,后续所有项目无需重复教学
本节目标:搭建一套可复用标准化配置模板,新项目打开 Claude Code 即可直接开发,无需反复交代项目规范。
3.6.1 搭建启动套件的必要性
全新项目启动 Claude Code 时,AI 等同于刚入职新人,无任何项目背景认知,存在三类典型低效问题:
目录规范不了解:修改 API 时直接在组件文件编写 SQL,不知道项目数据库操作统一存放于 src/lib/services/;
权限交互繁琐:每条执行命令都弹出权限确认弹窗,频繁手动点击 Allow;
无统一输出规范:Git 提交说明 commit message 无固定格式,每次临时编写。
原生 Claude Code 是无偏向通用助手,通用性反而会降低开发效率。
套件核心设计思路:把单次口头解释成本固化为可复用配置文件,整套包含4 个配置文件 + 9 条配套指令,复制至任意项目即可一键启用专属项目规则。
3.6.2 核心配置文件:CLAUDE.md
CLAUDE.md 是 Claude Code 启动时优先读取的首个文件,文件内定义的所有规则会在每一轮对话自动生效,文档内提供全局 CLAUDE.md 精简模板。
## 沟通方式
- 默认中文回复;代码、命令、变量名、文件路径保持英文
- 结论先行,简洁直接,不先铺垫背景
- 不谄媚,不夸“这是个很好的问题”,不以“当然可以”开头
- 给真实判断——方案有问题直接指出,发现更好做法主动说明
## Git
- 不自动 `git commit` 或 `git push`,除非我明确要求
- 提交前先展示将要提交的变更摘要
- commit message 使用简洁英文
## 红线操作
以下操作即使在 auto-accept 模式下也必须先问我:
- 删除文件、目录或 git 历史
- 修改 `.env`、密钥、token、证书、CI/CD 配置
- `git push`、`git rebase`、`git reset --hard`、强制推送
- 公开发布(`npm publish`、生产部署等)
项目级 CLAUDE.md 补充规则,内容比较多,需要完整的项目级CLAUDE.md,留言“项目级CLAUDE.md”
在全局模板基础上,项目专属 CLAUDE.md 额外补充:
# CLAUDE.md
减少常见 LLM 编码错误的行为准则。必要时可与项目特定说明合并使用。
**权衡原则**:这些准则优先考虑严谨性而非开发速度。对于琐碎任务,可灵活判断。
## 1. 编码前先思考
...
CLAUDE.md 长期维护策略
每一次 AI 操作踩坑、出错后,立刻新增对应约束规则到文档;
定期清理过时、失效规则,保持全文精炼;
长期积累后,该文档等同于「项目踩坑预防清单」;
核心维护口诀:更新 CLAUDE.md,让同类问题不再复现
3.6.3 第二个配置文件:settings.json
Claude Code 高频痛点为频繁权限弹窗,该配置文件可固化权限黑白名单,自动放行安全操作、锁定高危操作,减少手动确认。
{
"permissions": {
"allow": [
"Read", "Glob", "Grep", "Edit", "MultiEdit",
"Write(src/**)", "Write(tests/**)",
"Bash(npm *)", "Bash(pnpm *)", "Bash(git status)", "Bash(git diff *)",
"Bash(git log *)", "Bash(git add *)", "Bash(git commit *)",
"Bash(cat *)", "Bash(head *)", "Bash(tail *)", "Bash(find *)"
],
"deny": [
"Read(**/.env*)", "Read(**/*.pem)", "Read(**/*.key)",
"Read(**/secrets/**)", "Read(**/credentials/**)",
"Write(**/.env*)", "Write(**/secrets/**)",
"Write(package-lock.json)", "Write(.github/workflows/*)",
"Bash(rm -rf *)", "Bash(sudo *)", "Bash(git push *)",
"Bash(git merge *)", "Bash(git rebase *)",
"Bash(docker *)", "Bash(curl * | sh)", "Bash(chmod *)"
]
},
"defaultMode": "acceptEdits"
}
settings.json 权限黑白名单补充说明
1. allow 白名单
存放日常安全操作,配置后执行无需弹窗确认:
涵盖读取文件、源码写入、单元测试、Git 常规查询 / 提交类命令。
适配说明:根据项目包管理器自行增删,使用 yarn 则添加 Bash(yarn *),使用 bun 则添加 Bash(bun *)。
2. deny 黑名单(安全红线,建议完整保留)
自动拦截高危风险操作,包含:
读取 .env 环境变量、密钥证书文件、rm -rf 删除命令、sudo 提权、git push 推送等。
配置完成效果
日常开发操作无权限弹窗,高危、敏感操作直接自动拦截,兼顾效率与安全。
3.6.4 第三个配置文件:.gitignore
在常规忽略规则基础上,额外新增规则,防止 AI 配置、密钥、隐私文件被提交至 Git 仓库。
# AI 工具本地私有配置
.claude/settings.local.json
.cursor/
.aider*
.continue/
.cody/
# 密钥、证书、私有凭证
*.pem
*.key
credentials.json
.npmrc
.aws/
.ssh/
1.区分共享配置与个人私有配置
被忽略:.claude/settings.local.json —— 存放个人本地偏好、API Key、私有密钥,仅个人本地使用,禁止提交仓库;
不忽略:.claude/settings.json、.claude/skills/ —— 团队通用权限规范、共享工具脚本,需要纳入版本库全员共用。
2.设计逻辑
项目通用规范统一交给团队共享,个人隐私密钥、本地个性化配置仅保存在本机,避免密钥泄露风险。
3.6.5 第四个组件:9 个 Slash Command(Skills 自定义指令)
一、Skill 机制说明
Skills 把上线前标准化自检清单封装为一键斜杠命令,无需手动逐条核对,输入 / 即可自动按项目规范完整执行。
每个 Skill 是独立 Markdown 文件,存放路径:
.claude/skills/[技能名]/SKILL.md
完整 9 套 Skill 编写模板见文档第五部分,以下为 3 个核心高频指令:
1. /review 代码审查
仅聚焦代码缺陷,不纠结代码风格,按严重等级分级输出:
CRITICAL 严重级:逻辑错误、空指针、竞态条件、安全漏洞
WARNING 警告级:N+1 数据库查询、缺少异常捕获、性能隐患
INFO 提示级:命名不规范、冗余垃圾代码、遗留 TODO 注释
输出格式:结构化检查清单,文末汇总统计 X critical, Y warnings, Z info
2. /commit 标准化提交
自动执行 git status、git diff --stat 读取变更内容,按业务逻辑分组文件,生成符合规范的提交信息,格式固定:
type(scope): description
3. /deploy-check 上线前置全量校验
按固定顺序自动化流水线检查,全部通过才可上线:
类型校验 → 单元测试 → Lint 语法校验 → 项目构建 → 检索控制台打印日志 → 核对.env 环境变量引用 → 确认无未提交本地改动
二、剩余 6 套配套 Skill 指令
/test、/pr、/debug、/refactor、/docs、/security
统一编写范式:文件头部 frontmatter 声明 name、description、allowed-tools,正文逐条编写自动化检查步骤。
三、核心价值
一次性编写固化规则,后续所有开发、上线、审查场景一键复用标准化校验流程;完整开发教程见文档第四部分。
3.6.6 三种安装部署方式
|
适用场景 |
部署操作方案 |
|
全新从零搭建项目 |
完整模板复制到项目根目录,填入对应技术栈信息,首次 Git 提交即纳入全套配置 |
|
存量已有业务项目 |
1. 将CLAUDE.md、.gitignore放入项目根目录;2. 把新settings.json规则合并进项目现有配置;3. 直接移入完整skills文件夹 |
|
多项目全局统一复用 |
1. settings.json权限配置、skills指令集放置 ~/.claude/ 实现全局所有项目自动生效;2. CLAUDE.md 每个项目单独编写,保存项目专属上下文 |
官方推荐最优方案
全局存放 settings.json + skills,每个项目独立维护专属 CLAUDE.md。
优势:权限白名单、自定义斜杠命令只需要配置一次,全项目通用;同时每个项目保留独立技术栈、目录规范、禁区说明,互不干扰。
3.6.7 这套配置是动态可持续迭代的
模板的核心价值不是拿来直接套用,而是以此为基础持续迭代,让配置贴合自身项目特性:
1.CLAUDE.md 动态更新
只要 Claude 出现一次错误操作,就新增一条约束规则。核心维护口诀:更新 CLAUDE.md,让同类问题不再发生。
2.settings.json 随项目演进
引入新开发工具时,在 allow 白名单追加对应命令;发现新高危操作,补充至 deny 黑名单拦截。
3.Skills 自定义适配项目
/review 代码审查规则,补充当前代码库独有的高频缺陷校验项;
/commit 提交规范,写入团队专属的 scope 分类命名标准。
4. .gitignore 持续扩充
每引入一款新工具,检查其本地生成的缓存、密钥配置文件,新增忽略规则防止误提交。
长期迭代效果
持续使用三个月后,初始通用模板会根据开发习惯完成定制化改造;迭代本身就是这套配置的核心价值,项目专属约束越完善,Claude 越贴合团队开发规范。
更多推荐




所有评论(0)