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,典型场景包括:

  1. 全局检索所有废弃 API 调用位置
  2. 梳理模块完整依赖关系图
  3. 跨数十文件批量重命名的影响范围评估

这类任务不适合放在主会话执行,两种分流方案:

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 越贴合团队开发规范。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐