Claude Code 从入门到精通 - AI编程助手完全指南

本教程带你从零开始掌握 Claude Code——Anthropic 推出的命令行 AI 编程助手。无论你是刚接触大模型的小白,还是想深入了解 Claude Code 的开发者,这里都有适合你的内容。我们会用大量实际示例,从安装配置讲到高级玩法,让你真正理解为什么 Claude Code 是目前最好用的 AI 编程工具。

🎯 学习目标

  1. 理解 Claude Code 是什么,它和 ChatGPT、GitHub Copilot 有什么区别
  2. 完成 Claude Code 的安装和配置
  3. 掌握常用 CLI 命令和实战技巧
  4. 理解 CLAUDE.md、Memory、Skills、Hooks 等核心机制
  5. 学会用 Claude Code 高效完成日常开发任务
  6. 理解为什么 Claude Code 能让大模型变”聪明”

第1章 什么是 Claude Code

1.1 一句话解释

Claude Code 是 Anthropic 公司推出的命令行 AI 编程助手。它不是一个普通的聊天机器人——它能直接在你的项目里读代码、写代码、跑命令、搜文件,像一个真正的资深工程师一样和你协作。

1.2 它和别的 AI 工具有什么不同

很多同学用过 ChatGPT、GitHub Copilot。我们来对比一下:

工具工作方式能做什么
ChatGPT 网页版浏览器里聊天回答问题、写代码片段(你要复制粘贴到项目里)
GitHub Copilot编辑器插件在你写代码时补全下一行,像智能的 tab 补全
Cursor集成 IDE在编辑器里聊天,AI 可以帮你改文件
Claude Code命令行终端直接在项目目录运行,主动读代码、改文件、执行命令

用一句话概括:Claude Code 是一个能”动手干活”的 AI 程序员,不是一个只能”聊天出主意”的顾问。

1.3 核心工作流程

它的工作方式是这样的:

sequenceDiagram
participant U as 你(开发者)
participant CC as Claude Code
participant FS as 文件系统
participant SH as 终端

U->>CC: 输入指令:"帮我修复登录页的bug"
CC->>FS: 自动搜索项目中的相关代码
FS-->>CC: 返回代码内容
CC->>CC: 分析问题、推理原因
CC->>FS: 修改相关文件
CC->>SH: 运行测试验证修复
SH-->>CC: 返回测试结果
CC-->>U: 报告:"已修复,原因是xxx,改动在xxx文件"

关键区别:你只需要描述需求,Claude Code 自己完成”看代码→思考→改代码→测试→汇报”的全过程。


第2章 安装与环境配置

2.1 安装方式

Claude Code 支持多种安装方式,选一种即可:

方式一:npm 全局安装(推荐,最通用)

1
2
3
4
5
# 需要 Node.js 18+ 环境
npm install -g @anthropic-ai/claude-code

# 验证安装
claude --version

方式二:直接下载可执行文件

Claude Code 发布页 下载对应系统的安装包。

方式三:pip 安装

1
pip install claude-code

2.2 认证配置

安装完成后,需要配置 API 密钥或登录认证:

1
2
3
4
5
# 方式1:使用 Anthropic API Key
export ANTHROPIC_API_KEY="sk-ant-xxx你的密钥"

# 方式2:通过 Claude Code 的 OAuth 登录(推荐新手)
claude login

OAuth 登录步骤

  1. 终端输入 claude login
  2. 浏览器自动打开 Anthropic 控制台
  3. 生成 API Key 或关联账号
  4. 回到终端,认证完成

2.3 检查环境

1
2
3
4
5
# 查看当前配置
claude config list

# 查看版本信息
claude --version

安装成功后会看到版本号,就可以开始使用了。


第3章 基础使用入门

3.1 启动 Claude Code

最简单的使用方式:进入你的项目目录,直接运行 claude

1
2
3
4
5
# 进入项目目录
cd 你的项目路径

# 启动 Claude Code
claude

启动后会进入交互式 REPL 界面,类似于聊天对话。你可以直接打字和 Claude Code 对话。

3.2 第一个任务:让它看看你的项目

1
2
# 在 claude 交互界面中直接输入
帮我分析一下这个项目的结构

Claude Code 会自动:

  1. 读取 package.json、目录结构等文件
  2. 分析项目框架
  3. 用自然语言汇报分析结果

不需要手动指定文件路径,它会自己探索。

3.3 让 AI 帮你写代码

1
2
3
4
5
6
7
8
9
# 示例:添加一个新功能
帮我在 src/utils 下创建一个 formatDate.ts 文件,实现日期格式化功能

# 示例:修复 bug
GET /api/users 接口返回的 user 列表里 avatar 字段有时是 null,
帮我看看前端哪里没处理这个情况

# 示例:重构代码
把 src/components/UserList.tsx 里的 useEffect 逻辑抽成一个自定义 hook

3.4 一次性命令模式(非交互)

不想进入交互界面?可以用 -p 参数直接执行一句话任务:

1
2
3
4
5
6
7
8
# -p 或 --print:直接执行,输出结果后退出
claude -p "解释一下 src/main.ts 里这段代码的用途"

# 管道模式:把其他命令的输出传给 Claude Code
cat error.log | claude -p "分析这个错误日志,告诉我问题出在哪里"

# 结合 git
git diff HEAD~3 | claude -p "总结一下最近3个commit做了什么改动,写一段 changelog"

3.5 常用 CLI 参数速查

参数说明示例
-p / --print一次性执行,打印结果后退出claude -p "解释这段代码"
-c / --continue继续上一次对话claude -c
--model指定模型claude --model opus
--max-turns最大对话轮次claude --max-turns 10
-r / --resume恢复指定会话claude -r 上次的session-id
--output-format输出格式(text/json/stream-json)claude -p "..." --output-format json
--allowedTools限制可用工具claude --allowedTools "Read,Grep"
--permission-mode权限模式claude --permission-mode accept-edits

第4章 核心概念深入

这是最重要的一章。理解了这些概念,你才知道 Claude Code 为什么”聪明”。

4.1 CLAUDE.md —— 给 AI 的项目说明书

这是 Claude Code 最核心的机制之一。

每个项目根目录可以放一个 CLAUDE.md 文件,里面写清楚项目的架构、常用命令、编码规范等。Claude Code 每次启动都会自动读取这个文件。

flowchart LR
subgraph 启动流程
    A[用户启动 Claude Code] --> B[自动读取 CLAUDE.md]
    B --> C[加载项目上下文]
    C --> D[开始工作]
end

subgraph CLAUDE.md内容
    E[项目架构说明]
    F[常用命令]
    G[编码规范]
    H[注意事项]
end

E --> B
F --> B
G --> B
H --> B

示例 CLAUDE.md:

1
2
3
4
5
6
7
8
9
10
11
12
13
# CLAUDE.md

This file provides guidance to Claude Code when working with code in this repository.

## Project Overview
这是一个 Next.js 14 的电商项目,使用 TypeScript + Tailwind CSS。

## Commands
```bash
npm run dev # 启动开发服务器(localhost:3000)
npm run build # 生产构建
npm run test # 运行所有测试
npm run test -- -t "ComponentName" # 运行单个测试

Architecture

  • src/app/ — Next.js App Router 页面
  • src/components/ — 可复用组件
  • src/lib/ — 工具函数和 API 封装
  • src/types/ — TypeScript 类型定义

Notes

  • API 调用统一通过 src/lib/api.ts 里的 apiClient 进行
  • 请不要直接使用 fetch 调用后端
  • 状态管理使用 Zustand,不要引入 Redux
1
2
3
4
5
6
7
8
9
10
11

**有了 CLAUDE.md,Claude Code 就不需要每次猜你的项目结构和规范了。**

#### 快速生成 CLAUDE.md

```bash
# Claude Code 内置的 init 命令,自动分析项目生成 CLAUDE.md
claude

# 在交互界面输入
/init

实战技巧:把那些”每次新同事入职你都要讲一遍”的东西写进 CLAUDE.md,比如”不要直接改数据库”、”这个表的字段含义”等。

4.2 Memory 系统 —— AI 的长期记忆

Claude Code 有一个持久化的记忆系统,它会把和你协作过程中的重要信息记下来,下次对话时自动加载。

flowchart TD
A[第一次对话] --> B[Claude 记住:用户偏好、项目约定]
B --> C[记忆文件存储到 .claude/projects/]
C --> D[第二次对话]
D --> E[自动加载之前的记忆]
E --> F[不需要重复解释,直接上手]

记忆的类型:

类型记录什么示例
user用户身份、技术水平、偏好“用户是 Python 后端,不太熟悉前端”
project项目目标、进度、决策“正在重构认证模块,截止下周五”
feedback用户对 AI 行为的反馈“不要写过多注释,用户喜欢简洁风格”
reference外部资源位置“API 文档在 Confluence 的 xxx 页面”

实战示例:

1
2
3
4
# 在对话中告诉 Claude Code
记住:我们这个项目的 API 全部用 GraphQL,不要写 REST 风格的代码。

# 下次对话中它会自动遵循这个偏好

查看和管理记忆:

1
2
3
4
5
6
# 记忆文件存储在项目的 .claude 目录下
ls .claude/projects/项目名/memory/

# 查看所有记忆
claude
/记忆

4.3 Slash Commands —— 内置快捷指令

在交互界面中输入 / 会显示所有可用命令。最常用的几个:

命令功能说明
/help帮助信息查看所有可用命令
/clear清空对话长对话变慢时清一下
/compact压缩对话保留摘要,释放上下文空间
/init初始化 CLAUDE.md自动分析项目生成配置文件
/config配置设置修改主题、模型等
/memory查看记忆管理持久化记忆
/permissions权限管理配置工具权限
/cost费用查看查看当前会话的 token 消耗
/status会话状态查看当前会话信息
/todos任务列表查看当前任务进度
/doctor诊断修复排查 Claude Code 的问题

4.4 Skills —— 可复用的专业技能(重点章节)

Skills 是 Claude Code 的核心扩展机制。你可以把它理解成”为特定任务定制的专业工作流模板”——每个 Skill 就是一个独立的 Markdown 文件,里面写好了做某件事的步骤、规范和注意事项。

一句话理解:CLAUDE.md 是项目的”总说明书”,Skills 是具体任务的”标准作业流程(SOP)”。

flowchart TD
subgraph 项目知识体系
    A[CLAUDE.md<br/>项目总说明书<br/>始终加载]
    B[Memory<br/>持久记忆<br/>跨会话加载]
    C[Skill A<br/>任务A的SOP]
    D[Skill B<br/>任务B的SOP]
    E[Skill C<br/>任务C的SOP]
end

A --> F[Claude Code 的完整认知]
B --> F
C -.->|"按需加载"| F
D -.->|"按需加载"| F
E -.->|"按需加载"| F

F --> G[精准执行任务]

4.4.1 Skill 的触发方式

Skills 有两种触发方式:

方式说明示例
显式调用输入 /<skill名> 手动激活/deploy/review
自动触发当你的请求匹配 Skill 的触发条件时,自动加载你说”部署到生产环境”,自动触发 deploy 技能
1
2
3
4
5
6
7
8
# 查看当前所有可用 Skills
/skills

# 输出示例:
# /init — 初始化 CLAUDE.md
# /review — 代码审查
# /security-review — 安全审查
# /deploy — 部署到生产环境(你自定义的)

4.4.2 Skill 文件长什么样

Skill 文件是一个 Markdown 文件,带 YAML 头部。放在 .claude/skills/ 目录下即可。

示例:一个”部署博客”的 Skill

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
---
name: deploy
description: |
将 Hexo 博客部署到阿里云 CodeUp。
TRIGGER when: 用户提到部署、发布、上线博客、push 文章。
allowed-tools: [Bash, Read]
---

# 博客部署流程

## 执行步骤

1. 先运行 `npx hexo clean` 清理旧的构建产物
2. 再运行 `npx hexo generate` 生成静态文件
3. 检查 public/ 目录是否生成成功
4. 确认无误后,运行 `npx hexo deploy` 推送到 CodeUp

## 安全检查

- 部署前必须向用户确认
- 如果构建失败,不要继续部署
- 部署后告诉用户完成情况

Skill 文件的核心字段:

字段必填说明
nameSkill 的唯一标识,也是 / 命令名
description描述功能 + 触发条件(TRIGGER when / SKIP
allowed-tools限制该 Skill 能用的工具,增加安全性
modeauto(自动触发)或 manual(仅手动调用)

4.4.3 安装 Skill

有三种安装方式:

方式一:从官方/社区注册表安装

1
2
# 在 Claude Code 交互界面中使用 install-skill 命令
/install-skill deploy-to-heroku

Claude Code 会从技能注册表中下载并安装到你的 ~/.claude/skills/ 目录。

方式二:从 GitHub 仓库安装

1
2
# 直接指向 GitHub 上的 Skill 仓库
/install-skill github.com/anthropics/claude-code-skills/deploy

方式三:手动创建(推荐入门时使用)

直接把 .md 文件放到 skills 目录即可,不需要任何注册或命令:

1
2
3
4
5
6
7
# 项目级 Skill(只有这个项目能用)
mkdir -p .claude/skills
# 然后把 .md 文件放进去

# 用户级 Skill(你的所有项目都能用)
mkdir -p ~/.claude/skills
# 然后把 .md 文件放进去

Skill 的存放位置:

1
2
3
4
5
6
7
8
~/.claude/skills/          # 用户级:你的所有项目都能用
├── deploy.md
├── review.md
└── my-custom-skill.md

项目根目录/.claude/skills/ # 项目级:只有当前项目能用(可提交到 Git 共享给团队)
├── run-tests.md
└── db-migration.md

优先级规则:项目级 Skill 会覆盖同名的用户级 Skill,方便团队统一规范。

4.4.4 创建自定义 Skill

方式一:交互式创建

1
2
# Claude Code 会引导你一步步填写 Skill 的信息
/create-skill my-deploy

Claude Code 会问你:

  1. 这个 Skill 是做什么的?
  2. 什么情况下触发?
  3. 需要哪些工具权限?
  4. 具体的执行步骤是什么?

你回答完问题,Skill 文件就自动生成好了。

方式二:手动编写

直接在 .claude/skills/ 目录下新建 Markdown 文件。以下是一个更完整的示例——“代码审查” Skill:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
---
name: code-review
description: |
对当前分支的变更进行代码审查,检查代码质量、安全问题和最佳实践。
TRIGGER when: 用户要求 code review、审查代码、检查代码质量、PR review。
SKIP: 用户只是问代码是什么意思(不是审查)。
allowed-tools: [Read, Grep, Glob, Bash]
---

# 代码审查流程

## 第一步:了解变更范围


git diff main..HEAD --stat
git log main..HEAD --oneline


## 第二步:逐文件审查

对每个变更的文件,检查以下方面:

### 功能正确性
- 逻辑是否正确
- 边界条件是否处理
- 错误处理是否完善

### 安全问题
- 是否有 SQL 注入风险(用户输入拼接 SQL)
- 是否有 XSS 风险(未转义的用户输入渲染到 HTML)
- 敏感信息是否硬编码(API Key、密码等)
- 文件上传是否有类型和大小限制

### 代码质量
- 命名是否清晰
- 函数是否过长(超过 50 行建议拆分)
- 是否有重复代码

## 第三步:输出审查报告

按这个格式输出:

| 严重程度 | 文件 | 行号 | 问题描述 | 建议修复 |
|---------|------|------|---------|---------|
| 严重/一般/建议 | xxx.ts | L42 | ... | ... |

## 注意事项
- 重点关注安全漏洞,这是最高优先级
- 不需要审查 node_modules 和自动生成的文件
- 建议修复给出具体的代码示例

创建完成后立即生效,输入 /code-review 就能使用。

4.4.5 让 Claude Code 自动总结和生成 Skill

这是一个非常实用的功能。你可以让 Claude Code 观察你的工作习惯,自动帮你创建 Skill。

场景一:从重复操作中提取 Skill

1
2
3
4
5
6
7
8
# 你不需要自己写 Skill,直接告诉 Claude Code
我发现我每次提交代码前都会做这几件事:
1. 运行 npm run lint
2. 运行 npm run test
3. 用 git diff --staged 检查改动
4. 写 commit message

帮我根据这个流程创建一个 pre-commit 的 Skill

Claude Code 会分析你的描述,自动生成一个完整的 Skill 文件,包括触发条件、步骤分解、安全检查等。

场景二:把一段对话总结成 Skill

1
2
3
# 当你和 Claude Code 完成了一个复杂的任务后
刚才你帮我做的这个数据库迁移流程很好用,
帮我把这个流程总结成一个 Skill,下次直接调用

Claude Code 会回顾刚才的对话,提取关键步骤和决策点,自动生成结构化 Skill。

场景三:从 CLAUDE.md 拆分出 Skill

如果你的 CLAUDE.md 越来越长,维护起来不方便,可以让 Claude Code 帮你拆分:

1
2
3
# 自动拆分
帮我分析 CLAUDE.md 的内容,把那些可以独立成 Skill 的部分拆出来,
比如部署流程、测试规范、代码审查规则等

Claude Code 会:

  1. 分析 CLAUDE.md 中不同类型的内容
  2. 将任务型内容提取为独立 Skill
  3. 保留通用的项目说明在 CLAUDE.md
  4. 生成多个 Skill 文件放在 .claude/skills/

场景四:从团队文档生成 Skill

1
2
3
4
5
6
# 如果你有团队的开发规范文档
这是我们团队的 API 设计规范文档:
[粘贴或指向文档]

帮我把里面的关键规则提取出来,创建一个 api-design Skill,
当我在写 API 代码时自动提醒我遵循这些规范。

4.4.6 Skills 的常用实战示例

示例一:数据库迁移 Skill

1
2
3
4
5
6
7
8
9
10
11
12
13
---
name: db-migrate
description: |
创建和执行数据库迁移。
TRIGGER when: 用户提到数据库迁移、migration、新增表、修改表结构。
allowed-tools: [Bash, Read, Write]
---

# 数据库迁移流程

## 创建迁移
```bash
npx prisma migrate dev --name <迁移名称>

安全检查

  • 迁移前确认数据库备份已完成
  • 检查迁移 SQL 是否有 DROP TABLE 等危险操作
  • 先在开发环境验证
  • 迁移后运行相关测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

**示例二:生成 Changelog Skill**

```markdown
---
name: changelog
description: |
从 git commit 历史自动生成 CHANGELOG。
TRIGGER when: 用户提到 changelog、更新日志、发布日志、发版说明。
allowed-tools: [Bash, Write]
---

# 生成 Changelog

## 步骤
1. 确定版本范围:`git log v1.0..HEAD --oneline`
2. 按类型分组(Feature、Bug Fix、Refactor、Docs)
3. 生成结构化的 CHANGELOG.md

## 输出格式
```markdown
## [版本号] - 日期

### 新增功能
- xxx

### Bug 修复
- xxx

### 其他改进
- xxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

**示例三:新成员入门 Skill**

```markdown
---
name: onboarding
description: |
帮助新成员快速了解项目。
TRIGGER when: 新成员说"帮我了解项目"、"这个项目怎么跑起来"。
---

# 新成员入门引导

## 引导流程
1. 展示 CLAUDE.md 中的项目概述
2. 说明技术栈选型的原因
3. 帮助新成员运行 `npm install && npm run dev`
4. 解释核心目录结构和关键模块
5. 指出项目中的"坑"和注意事项

4.4.7 Skills vs CLAUDE.md vs Hooks —— 三者分工

很多新手会搞混这三者的作用。这里用一个表格彻底说清楚:

维度CLAUDE.mdSkillsHooks
用途项目通用知识和规范特定任务的标准化流程事件的自动化响应
加载时机每次对话都加载按需加载(触发时才加载)事件驱动(某个操作前后执行)
文件位置项目根目录 CLAUDE.md.claude/skills/*.mdsettings.json 中的 hooks 配置
谁执行Claude(AI 读取)Claude(AI 读取并执行)Claude Code 程序本身执行
数量每个项目建议 1 个不限,按任务拆分不限,按事件配置
示例“这个项目用 Zustand 做状态管理”“部署到生产的 10 个步骤”“git commit 前自动运行 lint”
共享方式提交到 Git提交到 Git 或通过注册表安装放在 settings.json 中,团队共享

核心区分:

  • CLAUDE.md = 背景知识(”这是什么项目”)
  • Skills = 工作指导书(”这事儿怎么做”)
  • Hooks = 自动开关(”当 X 发生时自动做 Y”)

重要提示:像”每次保存时自动格式化代码”、”提交前自动跑测试”这类需求必须用 Hooks 而不是 Skills。因为 Skills 是给 AI 看的指令,只有你和 AI 对话时才有用;而 Hooks 是 Claude Code 程序层面执行的,在你不说话的时候也能自动触发。

4.5 Hooks —— 自动化触发器

Hooks 是 Claude Code 的事件驱动自动化机制。可以配置”当某事件发生时,自动执行某操作”。

flowchart LR
A[事件发生] --> B{匹配到 Hook?}
B -->|是| C[自动执行预设操作]
B -->|否| D[继续正常运行]
C --> E[例如:提交前跑测试]
C --> F[例如:部署前发通知]

Hook 的配置在 .claude/settings.json 中:

1
2
3
4
5
6
7
8
9
10
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hook": "echo '即将执行命令,请注意'"
}
]
}
}

第5章 常用工作流实战

5.1 新人接手老项目

1
2
3
4
5
6
7
8
9
10
11
# 第1步:让 Claude Code 帮你理解项目
cd 老项目目录
claude

# 在交互界面中:
帮我全面分析这个项目:
1. 项目是做什么的
2. 用了什么技术栈
3. 目录结构是怎么组织的
4. 核心代码入口在哪里
5. 生成一个 CLAUDE.md 文件

Claude Code 会遍历项目文件、阅读关键代码、分析依赖,然后输出一份详尽的分析报告。

5.2 日常 Bug 修复

1
2
3
4
5
6
7
8
9
10
# 一句话描述问题,不需要指定在哪改
用户反馈:商品详情页点击"加入购物车"后,购物车图标上的数量没更新。
帮我找到原因并修复。

# Claude Code 的工作过程:
# 1. 搜索"加入购物车"相关的组件和 API 调用
# 2. 分析购物车状态管理逻辑
# 3. 找到 bug 根因(比如状态没更新)
# 4. 修改代码
# 5. 运行相关测试确认修复

5.3 写单元测试

1
2
3
4
5
6
7
8
9
10
# 给指定文件写测试
帮我给 src/utils/validation.ts 写完整的单元测试,
覆盖正常情况、边界情况和异常输入。

# 给某个函数写测试
帮我给 formatPrice 函数写测试,用例包括:
- 正常金额(100 -> ¥100.00)
- 零值
- 负数
- 小数点精度测试

5.4 代码审查

1
2
3
4
5
6
7
8
# 审查当前分支的改动
/review

# 审查指定范围
claude -p "审查最近3个commit的改动,重点关注安全问题"

# 或者
git diff main..HEAD | claude -p "做一次 code review,列出问题和建议"

5.5 数据库操作辅助

1
2
3
4
5
6
7
# 让它帮你写 SQL
帮我写一条 SQL:查询过去30天中,购买金额排名前十的用户,
并显示他们的订单数量和总金额。表结构我会描述给你...

# 分析已有 SQL
解释这条 SQL 做了什么,有没有性能问题:
SELECT ...复杂的查询...

5.6 Git 操作辅助

1
2
3
4
5
6
7
8
9
# 生成 commit message
git diff --staged | claude -p "根据改动内容生成简洁的 commit message"

# 整理 changelog
git log v1.0..v1.1 --oneline | claude -p "根据这些 commit 整理一份用户可读的 changelog"

# 解决合并冲突
我遇到了合并冲突,帮我分析一下怎么解决。
这是冲突内容:...

5.7 技术方案调研

1
2
3
# 在项目中调研
我们项目现在的图片加载比较慢,帮我调研一下现有的图片加载方案,
然后推荐一个适合我们的懒加载库,给出理由。

第6章 高级功能

6.1 Plan Mode —— 先规划再动手

对于复杂的任务,可以让 Claude Code 先出方案,你确认后再执行

1
2
3
4
5
6
# 在对话中输入
/plan

# 然后描述复杂任务
我需要把项目里的用户认证从 JWT 改成 OAuth2.0 + 双 Token 机制,
帮我先出个方案。

Claude Code 会:

  1. 深入探索代码库中所有相关文件
  2. 设计实现方案
  3. 列出具体步骤
  4. 等你确认后再开始写代码

推荐在以下场景使用 Plan Mode:

  • 新功能开发(影响多个文件)
  • 重构任务(改架构)
  • 迁移任务(如数据库迁移、框架升级)

6.2 Agent 子任务 —— 并行执行

Claude Code 可以创建子 Agent 并行处理任务,极大提升效率。

1
2
3
# 同时分析前后端代码
帮我分析前后端的用户认证逻辑:前端在 src/pages/login/,
后端在 server/auth/。两个方向都看,给我一份完整的分析报告。

Claude Code 会创建多个子 Agent,同时分析不同目录,最后汇总结果。

sequenceDiagram
participant U as 你
participant CC as Claude Code
participant A1 as Agent 1 (前端)
participant A2 as Agent 2 (后端)
participant A3 as Agent 3 (数据库)

U->>CC: 全面分析认证系统
CC->>A1: 探索前端代码
CC->>A2: 探索后端代码
CC->>A3: 探索数据库 schema
par 并行工作
    A1-->>CC: 前端分析报告
    A2-->>CC: 后端分析报告
    A3-->>CC: 数据库分析报告
end
CC-->>U: 汇总后的完整分析

6.3 Worktree —— 隔离环境工作

Worktree 功能让你在隔离的 Git 工作副本中操作,不影响当前分支。

1
2
3
4
5
# 创建隔离工作区
/worktree

# 在隔离环境里放心测试各种改动
# 不会影响你原来的代码

适用场景:

  • 实验性改动,不确定要不要保留
  • 大规模重构,想先看看效果
  • 多人并行开发同一个功能

6.4 Pipe(管道)模式

Claude Code 可以无缝嵌入 Unix/Linux 管道链:

1
2
3
4
5
6
7
8
# 分析日志
tail -n 1000 app.log | claude -p "分析这些日志中的错误模式"

# JSON 处理
cat data.json | claude -p "把这份 JSON 转成 TypeScript 类型定义"

# 结合 curl 使用
curl -s https://api.example.com/docs | claude -p "根据这份 API 文档,帮我生成 TypeScript 的请求类型"

6.5 权限与安全控制

Claude Code 有精细的权限系统,确保 AI 不会做你不允许的操作:

1
2
3
4
# 设置权限模式
claude --permission-mode default # 每次工具调用都询问
claude --permission-mode accept-edits # 自动允许编辑,危险的仍询问
claude --permission-mode plan # 只允许读取,不允许修改

权限配置建议:

  • 新手:用 default 模式,每一步都有确认,你能看清 AI 在做什么
  • 熟悉后:用 accept-edits 模式,编辑文件自动放行,危险操作仍需确认
  • 纯探索/学习:用 plan 模式,只读不写,完全安全

第7章 实用技巧与最佳实践

7.1 写好 CLAUDE.md 的技巧

1
2
3
4
5
6
7
8
9
10
# DO(推荐):
- 写清楚项目是做什么的(一句话)
- 列出常用命令(构建、测试、部署)
- 说明目录结构和各模块职责
- 标注坑和注意事项("禁止直接操作生产数据库")

# DON'T(避免):
- 不要写显而易见的通用规范("写好注释")
- 不要写会频繁变动的信息("当前 sprint 进度"——会过时)
- 不要把 CI/CD 密钥放进去

7.2 提问的技巧

1
2
3
4
5
6
7
8
9
10
11
12
13
# ❌ 太模糊
帮我改一下

# ✅ 具体明确
帮我把 src/pages/Login.tsx 里的密码校验逻辑抽成一个独立函数,
放在 src/utils/validation.ts 里,函数名就叫 validatePassword

# ❌ 缺少上下文
这个报错怎么解决?

# ✅ 带上上下文
运行 npm run build 时报这个错,项目是 Next.js 14 + TypeScript
[贴完整报错信息]

7.3 让 Claude Code 更懂你的项目

1
2
3
4
5
6
7
8
9
10
# 项目中添加 .claudeignore 文件(类似 .gitignore)
# 让 Claude Code 忽略不需要看的文件和目录

# 示例 .claudeignore 内容:
node_modules/
dist/
.next/
*.min.js
*.map
package-lock.json

7.4 处理大型项目

1
2
3
4
5
6
7
8
9
# 大型项目用 -max-turns 限制轮次,避免跑太久
claude --max-turns 15 -p "找到登录逻辑的所有相关文件"

# 分步骤来,每一步结果确认后再进行下一步
# 第一步:先让它列相关文件
claude -p "列出项目中所有和支付相关的文件"

# 第二步:重点看核心文件
claude -p "详细分析 paymentService.ts 的工作流程"

7.5 上下文管理

Claude Code 的对话越长,占用的上下文越多。长对话会导致响应变慢。

1
2
3
4
5
6
7
# 当对话很长时,使用 compact 压缩
/compact

# 或者清空重新开始
/clear

# 新任务开新对话,不要把所有事情堆在一个会话里

第8章 为什么同样的大模型,在 Claude Code 里这么好用?

这是很多人困惑的问题:同样的 Claude 模型,网页版和 Claude Code 明明调的是同一个 API,为什么 Claude Code 的表现好这么多?

8.1 秘密在于”包装”

打个比方。同一个发动机(大模型),装在不同的车架上,性能表现天差地别。Claude Code 就是那个为发动机量身定制的专业赛车底盘

flowchart TD
    subgraph 网页版
        W1[用户输入问题]
        W2[API 调用大模型]
        W3[模型凭空回答]
        W4[返回答案]
        W1 --> W2 --> W3 --> W4
    end

    subgraph Claude Code
        C1[用户输入问题]
        C2[读取 CLAUDE.md 理解项目]
        C3[搜索相关代码文件]
        C4[读取关键文件内容]
        C5[组合上下文 + 用户问题]
        C6[API 调用大模型]
        C7[模型基于丰富上下文回答]
        C8[执行具体操作]
        C1 --> C2 --> C3 --> C4 --> C5 --> C6 --> C7 --> C8
    end
    
    W1 -.->|同一个模型 API| C6

核心差异:给模型的信息量完全不同。

8.2 差在哪几个方面

第一层:System Prompt(系统提示词)

Claude Code 有一套极其精心设计的 System Prompt。这不是一两句话,而是一整套”行为准则”:

  • 告诉模型它是什么角色(命令行编程助手)
  • 告诉它有哪些工具可用
  • 告诉它什么时候该用什么工具
  • 告诉它代码风格偏好
  • 告诉它安全问题注意事项
  • 告诉它如何管理上下文

类比:同样一个员工,给了一份100页的详细岗位手册 vs 口头说了句”你看着办”。效果能一样吗?

第二层:Context Injection(上下文注入)

这是 Claude Code 最核心的”魔法”。每次对话,它会自动注入:

1
2
3
4
5
6
7
8
9
10
11
12
# 环境信息
- 当前工作目录的路径
- Git 分支和状态
- 操作系统

# 项目信息
- CLAUDE.md 的内容
- 项目目录结构
- Memory 系统中保存的历史信息

# 对话信息
- 当前会话的上下文

结果就是:你问”帮我改个bug”,模型已经知道了你的项目结构、技术栈、编码风格、历史偏好。不用你解释任何背景。

第三层:Tool-Augmented(工具增强)

网页版模型只能”说”,Claude Code 能”做”。它既是一个推理引擎,又是一个执行引擎

Claude Code 拥有这些工具:

  • Read:读取文件
  • Write:写入文件
  • Edit:精确编辑文件
  • Bash:执行终端命令
  • Grep:搜索代码
  • Glob:查找文件
  • Agent:创建子Agent处理复杂任务

每次模型”思考”时,它不是凭空想象,而是读到真实代码 → 分析 → 写真实代码 → 跑真实测试

sequenceDiagram
participant M as 大模型
participant T as 工具层

Note over M,T: 网页版:模型只能"猜"

M->>M: 用户:"我的项目怎么启动?"
Note over M: 模型猜测:可能是 npm start?npm run dev?

Note over M,T: Claude Code:模型能"看到"

M->>T: 用户:"我的项目怎么启动?"
T->>T: Read package.json
T-->>M: scripts: { "dev": "next dev", "build": "next build" }
M->>M: 看到了,"npm run dev" 启动,Next.js 项目

第四层:Edit Tool —— AI 界的”手术刀”

一般 AI 写代码是全文重写,比如你让它改一个函数,它会把整个文件重写一遍给你。这有两个问题:

  1. 你很难看出改了什么
  2. 如果文件很长,模型可能写错其他地方

Claude Code 的 Edit 工具使用了精确字符串替换:它只发”把A替换成B”的指令。既不重写整个文件,也不会”幻觉”出不存在的代码。

1
2
3
4
5
6
7
# Edit 工具的工作原理
{
"file_path": "/src/utils.ts",
"old_string": "const API_URL = 'http://localhost:3000'",
"new_string": "const API_URL = process.env.NEXT_PUBLIC_API_URL"
}
// 只改这一行,文件其余部分纹丝不动

第五层:Memory and Learning(记忆与学习)

网页版每次对话都是”失忆”的——关掉网页,一切重新开始。

Claude Code 有跨会话的持久记忆。你跟它说过”不要用 console.log,用项目里的 logger 工具”,它记下来,下次、下下次、永远记住。

这就是为什么用得越多,它越”懂你”。

8.3 一张图总结

flowchart TD
subgraph 为什么好用
    A["精心设计的 System Prompt<br/>——告诉模型该怎么做"]
    B["自动上下文注入<br/>——不用你解释项目背景"]
    C["工具系统<br/>——能看代码、能执行命令"]
    D["精确编辑<br/>——只改该改的,不乱动"]
    E["持久记忆<br/>——越用越懂你"]
    F["权限控制<br/>——你敢放手让它干"]
end

A --> G["结果:同一个模型,<br/>质量提升 3-5 倍"]
B --> G
C --> G
D --> G
E --> G
F --> G

style G fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px

8.4 简单总结

维度网页版 ChatGPT/ClaudeClaude Code
了解你的项目吗不了解,全凭你描述自动读取代码和配置
能改文件吗不能,要复制粘贴精确编辑
能跑命令吗不能
记住上次说了什么吗单次对话内记得跨会话持久记忆
知道你的代码风格吗不知道从 CLAUDE.md 和记忆了解
能并行做事吗不能能(子 Agent)

第9章 常见问题 FAQ

Q1: Claude Code 免费吗?

Claude Code 本身开源免费,但调用的是 Anthropic 的 API,按 token 计费。你可以绑定自己的 API Key,费用取决于使用的模型和用量。

Q2: 支持哪些模型?

目前支持 Anthropic 的 Claude 系列模型(Haiku、Sonnet、Opus),以及最新版本。可以通过 --model 参数切换。

Q3: 和 Cursor / Copilot 怎么选?

场景推荐工具
写新代码、补全Copilot(实时补全最快)
在编辑器里聊天辅助Cursor
以项目为单位的复杂任务Claude Code
重构、调试、分析Claude Code
CI/CD 集成、自动化Claude Code

它们不是替代关系,很多开发者搭配使用:Copilot 做补全,Claude Code 做复杂任务。

Q4: 它能替代程序员吗?

不能。它是最强的辅助工具

  • ✅ 能帮你干80%的”体力活”(写样板代码、查文档、改格式)
  • ✅ 能帮你快速理解陌生代码
  • ❌ 不能替代你做架构决策
  • ❌ 不能替你承担代码责任
  • ❌ 生成的代码需要你审查

把它当成一个永不疲倦的结对编程伙伴,而不是自动驾驶。

Q5: 代码安全吗?

Claude Code 默认在你本地运行,代码不会上传到 Anthropic(除非你使用的是 API 模式)。如果你特别在意安全:

  • --permission-mode default 控制每一个操作
  • 配置 .claudeignore 排除敏感文件
  • 不要把密钥、证书等放在 CLAUDE.md 里

🎓 学习路线图

flowchart TD
S[第1步:安装] --> A
A[第2步:基础对话] --> B
B[第3步:理解 CLAUDE.md] --> C
C[第4步:掌握 Slash Commands] --> D
D[第5步:学习 Memory 系统] --> E
E[第6步:实战工作流] --> F
F[第7步:Plan Mode / Agent] --> G
G[第8步:Hooks 自动化]

style S fill:#e3f2fd
style A fill:#e3f2fd
style B fill:#fff9c4
style C fill:#fff9c4
style D fill:#f3e5f5
style E fill:#f3e5f5
style F fill:#e8f5e9
style G fill:#e8f5e9

建议学习顺序:

  1. 先装上,随便聊聊,感受基本交互(1天)
  2. 认真写一个 CLAUDE.md,体会上下文注入的威力(1天)
  3. 在实际项目里用一周,逐步掌握 Slash Commands 和 Memory
  4. 遇到复杂任务时尝试 Plan Mode 和 Agent
  5. 熟练后配置 Hooks 做自动化

📚 参考资源

  • Claude Code 官方文档
  • Claude Code GitHub
  • Anthropic 开发者文档