Chapter 11

Claude Code 基础

核心问题 命令行AI编程助手和网页版AI有什么本质区别?为什么它能"自己动手"而不只是"给建议"? 阅读收获 理解Claude Code的定位与核心能力,完成安装配置,掌握基本使用方法和CLAUDE.md配置,建立安全意识和成本控制习惯

本章概览

本章包含6个知识点,围绕"如何从零开始使用Claude Code"这一核心问题展开:

什么是Claude Code(定位与核心能力) │ ├──→ 安装与配置(从零搭建环境) │ ├──→ 核心使用方法(交互模式、斜杠命令、权限管理) │ ├──→ CLAUDE.md 入门(给AI的"项目说明书") │ ├──→ 第一个实战任务(完整操作演示与Diff审核) │ └──→ 安全基础与成本意识(安全底线、危险信号、费用控制)
阅读建议:如果你是第一次接触Claude Code,建议从11.1开始按顺序阅读。如果你已经安装好了,可以直接跳到11.3学习核心使用方法。11.6安全基础是所有人都应该认真阅读的内容。

11.1 什么是 Claude Code

在前面的章节中,我们学习了AI工具的五级信任模型。ChatGPT和Claude网页版属于L1(纯对话),Cursor属于L3(半自动执行)。本节要介绍的Claude Code,则是一个典型的L4(监督执行)工具——它不只是给你建议,而是能自己规划、自己动手。
定义

Claude Code是Anthropic推出的命令行AI编程助手,属于L4监督执行工具。它能够理解整个代码仓库的结构和内容,自主规划任务步骤,直接执行文件修改和运行命令,甚至创建Git提交和Pull Request。你给它一个目标,它自己想办法完成。

术语说明
  • 命令行(CLI):指通过终端输入文字命令来操作电脑的方式,与图形界面(GUI)相对。Claude Code运行在命令行终端中,而不是在浏览器或编辑器里。
  • L4监督执行:来自第七章的信任层级模型。L4意味着AI能自主规划并执行多步骤任务,人类的角色是旁观和纠偏,而不是逐步审批。
  • 代码仓库(Repository):一个项目的所有代码文件和版本历史的集合,通常用Git管理。
问题背景

你可能已经用过ChatGPT或Claude网页版来帮你写代码。但你有没有遇到过这样的情况:AI给你写了一段代码,你需要手动复制粘贴到文件里,然后发现它不了解你项目的其他文件,给的代码和现有代码不兼容?

这就是L1对话工具在编程场景中的根本局限——它看不到你的项目,也无法动手修改你的文件。Claude Code的出现就是为了解决这个问题:让AI直接进入你的项目环境,看到所有文件,自己动手修改。

核心能力

Claude Code能做的事情远超一个对话框:

能力说明
理解整个代码仓库自动读取项目文件,理解代码结构、依赖关系和业务逻辑
自主规划任务拿到一个目标后,自己拆分成多个步骤并按顺序执行
直接修改文件创建、编辑、删除文件,不需要你手动复制粘贴
运行命令执行测试、安装依赖、启动服务等终端命令
Git操作创建分支、提交代码、创建Pull Request
搜索和分析在整个项目中搜索代码、分析错误日志
对比

Claude Code和你可能已经用过的其他AI工具有什么区别?

对比维度ChatGPT/Claude网页版CursorClaude Code
界面浏览器网页图形化代码编辑器命令行终端
AI行为模式只输出文字建议在编辑器中提出修改建议自主规划并执行多步骤任务
人的角色全程操控,手动执行审批每个修改建议监督整体过程,必要时纠偏
自主程度L1 纯对话L3 半自动执行L4 监督执行
适合任务问答、学习、写小段代码单文件编辑、逐步编码多文件重构、复杂项目任务
价格模式月费订阅制月费订阅制API按量计费 或 订阅制
类比

用一个日常场景来理解这三种工具的区别:

  • ChatGPT/Claude网页版 像一个顾问——你问他问题,他给你详细的建议和方案,但他不会帮你动手。所有事情还是你自己做。
  • Cursor 像一个需要你盯着的工人——他能帮你干活,但每一步都要你看过、点头同意之后他才做。你要全程坐在旁边。
  • Claude Code 像一个项目经理带着一队工人——你说"把这面墙刷成白色",他自己去看现场、准备材料、安排工序、动手施工。你偶尔过去看一眼进展,发现方向不对就喊停。
适用场景
场景是否适合用Claude Code原因
多文件代码重构非常适合Claude Code能理解文件间的依赖关系并批量修改
添加新功能适合能从理解现有代码开始,自主规划和实现
Bug修复适合能分析错误日志、定位问题、修改代码、运行测试
创建Git提交和PR适合内置Git操作能力
学习新概念一般网页版更方便,不需要命令行环境
写文档或邮件不太适合杀鸡用牛刀,网页版就够了
常见误区

误区:"Claude Code会替代程序员"

Claude Code是一个强大的工具,但它不能替代人类的判断力。它可能写出能运行但逻辑有问题的代码,可能不理解你的业务需求,可能在边界情况上犯错。它的定位是"加速器"而不是"替代者"——让有能力的人做得更快,而不是让没有能力的人跳过学习。

11.2 安装与配置

确认Claude Code适合你的需求之后,下一步是把它安装到你的电脑上。
前置条件

在安装Claude Code之前,确保你满足以下条件:

条件说明
操作系统macOS、Linux、Windows(原生支持)或 WSL
Node.js(npm方式需要)版本 18 及以上
Git用于版本控制,Windows用户需先安装 Git for Windows
Anthropic账号用于认证,需要Claude订阅或API Key
三种安装方式

根据你的操作系统和偏好,选择最适合的安装方式:

方式一:原生安装(推荐)

这是最简单、最推荐的方式。

macOS / Linux / WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

注意:Windows用户在安装前需要先安装 Git for Windows,因为Claude Code依赖Git来管理代码版本。

方式二:Homebrew(macOS用户)

如果你习惯使用Homebrew管理软件:

brew install --cask claude-code

方式三:npm方式

如果你已经有Node.js环境(版本18以上):

npm install -g @anthropic-ai/claude-code

安装完成后,可以运行 claude --version 验证安装是否成功。

认证方式

Claude Code支持两种认证方式:

认证方式适合人群说明
Claude订阅个人用户使用你的Claude Pro/Team订阅账号登录
Anthropic Console API Key开发者使用API Key,按量计费
首次启动

安装完成后,进入你的项目目录并启动Claude Code:

cd your-project
claude

首次启动时会提示你登录。按照终端中的提示完成认证即可。登录成功后,你会看到Claude Code的交互界面,可以开始输入自然语言指令了。

其他使用方式

除了命令行终端,Claude Code还提供了其他入口:

  • VS Code扩展:在VS Code扩展市场搜索"Claude Code"即可安装,能在编辑器内直接使用Claude Code的功能
  • 桌面应用:Anthropic也提供了桌面端应用,适合不习惯命令行的用户
常见误区

误区:"安装失败就是不兼容"

大多数安装失败是因为网络问题(国内访问可能需要代理)或Node.js版本过低。遇到问题时,先检查网络连接和Node.js版本,再查看错误信息中的具体提示。

11.3 核心使用方法

安装好Claude Code之后,你需要学会和它"对话"。虽然它运行在命令行里,但交互方式其实非常直观——用自然语言描述你想做什么就行。
交互模式基本操作

启动Claude Code后,你会进入一个交互式终端。使用方法很简单:

$ claude
> 帮我看看这个项目的整体结构,告诉我每个目录是做什么的

你只需要用自然语言描述你的任务,Claude Code就会开始工作。它会自动读取项目文件、分析结构、规划方案,然后开始执行。

核心斜杠命令

除了自然语言,Claude Code还提供了一些以 / 开头的控制命令:

命令功能使用场景
/clear清除对话上下文开始新任务时,避免旧上下文干扰
/compact压缩对话历史对话太长导致响应变慢或费用增加时
/resume恢复之前的会话继续昨天未完成的工作
/help查看帮助信息忘记命令或功能时
/permissions管理工具权限控制AI可以执行哪些操作
/cost查看当前会话费用监控API开支
/init自动生成CLAUDE.md项目初始化时
/memory查看和编辑记忆文件管理AI的长期记忆
工作流程

Claude Code处理任务的典型流程如下:

你描述任务
    ↓
AI分析代码库(读取相关文件,理解项目结构)
    ↓
AI规划方案(列出要做的步骤)
    ↓
AI开始执行(修改文件、运行命令)
    ↓
你监督过程(观察AI的操作,发现问题随时中断)
    ↓
检查结果(审核修改内容,确认符合预期)

在这个过程中,你的角色不是逐步指挥,而是设定目标、监督过程、验收结果。这就是L4监督执行模式的核心特征。

权限管理

Claude Code在执行可能影响你项目的操作时,会请求你的许可。例如:

Claude wants to run: npm install axios
Allow? (y/n)
Claude wants to edit: src/app.js
Allow? (y/n)

你可以选择:

  • 输入 y 允许本次操作
  • 输入 n 拒绝本次操作
  • 使用 /permissions 命令预先配置哪些操作自动允许、哪些需要确认

权限管理是安全的第一道防线。养成习惯:看清楚AI要做什么,再决定是否同意。

中断操作

如果你发现AI正在做的事情不对,可以随时按 Ctrl+C 中断当前操作。中断后,你可以纠正方向或重新描述任务。不用担心中断会导致问题——Claude Code的操作都是可以回滚的(前提是你用了Git)。

构造案例

一个典型的使用场景

假设你有一个Python项目,想给所有函数添加类型注解。

$ cd my-python-project
$ claude
> 帮我给src目录下所有Python文件的函数添加类型注解

Claude Code会:

  1. 读取 src/ 目录下的所有 .py 文件
  2. 分析每个函数的参数和返回值
  3. 逐一添加类型注解
  4. 可能会运行 mypy 检查类型是否正确

整个过程中你只需要在旁边观察,确认它的修改合理即可。

11.4 CLAUDE.md 入门

当你开始频繁使用Claude Code时,你会发现一个问题:每次启动新会话,AI都要重新理解你的项目。有没有办法让它"记住"项目的关键信息?答案是CLAUDE.md。
定义

CLAUDE.md是一个放在项目中的Markdown文件,它是给AI的"项目说明书"。Claude Code在启动时会自动读取这个文件,从中了解项目的技术栈、构建命令、代码规范和注意事项,从而更快更准确地开始工作。

问题背景

没有CLAUDE.md时,AI每次都要从零开始理解你的项目:

  • "这个项目用的是什么框架?"——它需要读取 package.jsonrequirements.txt
  • "怎么运行测试?"——它需要猜测或尝试多种命令
  • "代码风格有什么要求?"——它不知道你团队的约定

这不仅浪费时间,还可能导致AI做出不符合项目规范的修改。

有了CLAUDE.md就像给新入职的同事写了一份详细的"项目交接文档"——第一天上班就能快速进入状态,而不是花三天时间自己摸索。

CLAUDE.md存放位置

CLAUDE.md可以放在不同位置,产生不同的作用范围:

位置作用共享范围
./CLAUDE.md项目级指令,对当前项目生效团队共享(通过Git提交)
~/.claude/CLAUDE.md个人全局偏好,对所有项目生效仅自己
./CLAUDE.local.md个人项目偏好,对当前项目生效仅自己(不入Git)

推荐做法

  • 把团队通用的规范写在 ./CLAUDE.md 中,提交到Git仓库
  • 把你个人的偏好(比如"用中文回复")写在 ~/.claude/CLAUDE.md
  • 把个人针对特定项目的偏好写在 ./CLAUDE.local.md
基本结构模板

一个实用的CLAUDE.md模板如下:

# 项目说明
这是一个React + TypeScript项目,用于公司内部的任务管理系统。

# 构建命令
- npm install 安装依赖
- npm run dev 启动开发服务器
- npm test 运行测试
- npm run build 构建生产版本

# 代码规范
- 使用函数组件,不用类组件
- 使用Tailwind CSS进行样式开发
- 变量命名用camelCase
- 组件命名用PascalCase
- 每个组件一个文件

# 项目结构
- src/components/ 存放UI组件
- src/hooks/ 存放自定义Hook
- src/utils/ 存放工具函数
- src/api/ 存放API调用逻辑

# 注意事项
- 不要修改.env文件中的密钥
- 提交前必须通过所有测试
- 不要删除数据库migration文件
- 不要在前端代码中硬编码API地址

你不需要一开始就写得非常完善。从最基本的项目说明和构建命令开始,在使用过程中逐步补充。

自动生成

如果你不想手写,可以用 /init 命令让Claude Code自动分析你的项目并生成初始CLAUDE.md:

$ claude
> /init

Claude Code会扫描项目文件,自动识别技术栈、构建脚本、项目结构等信息,生成一份基础的CLAUDE.md。你再在此基础上补充和修改即可。

类比

CLAUDE.md就像给新入职同事写的"项目交接文档":

交接文档内容CLAUDE.md对应部分
"我们用React做前端"项目说明
"运行npm test跑测试"构建命令
"我们不用class组件"代码规范
"别碰.env文件"注意事项

没有交接文档的新同事会到处问人、反复踩坑;有了交接文档的新同事第一天就能开始干活。CLAUDE.md对Claude Code的作用完全一样。

11.5 第一个实战任务

前面几节介绍了概念和配置,现在让我们走一遍完整的实战流程,感受Claude Code的实际使用体验。
完整演示流程

假设你有一个Python脚本 process_data.py,目前它的输入文件路径是硬编码的,你想给它添加命令行参数支持。以下是完整的操作过程:

Step 1:进入项目目录,启动Claude Code

cd ~/projects/data-processor
claude

Step 2:描述任务

> 帮我给process_data.py添加命令行参数支持,让用户可以通过--input指定输入文件,
  通过--output指定输出文件。如果不指定则使用当前的默认值。

Step 3:观察AI的规划过程

Claude Code不会立即开始修改文件。它会先:

  • 读取 process_data.py 的内容,理解现有代码
  • 分析当前硬编码的文件路径
  • 制定修改方案:使用Python的 argparse 模块

你会在终端中看到AI的思考过程和它正在读取的文件。

Step 4:AI开始执行修改

Claude Code会请求修改 process_data.py 的权限。获得许可后,它会修改文件内容。

Step 5:审核修改内容(Diff审核)

Claude Code会以Diff格式展示它的修改。Diff是程序员用来查看"代码改了什么"的标准格式:

--- a/process_data.py
+++ b/process_data.py
@@ -1,8 +1,20 @@
+import argparse
 import pandas as pd

-INPUT_FILE = "data/input.csv"
-OUTPUT_FILE = "data/output.csv"
+def parse_args():
+    parser = argparse.ArgumentParser(description="数据处理脚本")
+    parser.add_argument("--input", default="data/input.csv",
+                        help="输入文件路径")
+    parser.add_argument("--output", default="data/output.csv",
+                        help="输出文件路径")
+    return parser.parse_args()

 def process_data():
-    df = pd.read_csv(INPUT_FILE)
+    args = parse_args()
+    df = pd.read_csv(args.input)
     # ... 处理逻辑 ...
-    df.to_csv(OUTPUT_FILE, index=False)
+    df.to_csv(args.output, index=False)

Step 6:确认结果

审核Diff后,如果修改合理,任务就完成了。你也可以让Claude Code运行一下脚本确认功能正常:

> 运行一下python process_data.py --help,看看参数说明是否正确
Diff审核基础

学会看Diff是使用L3及以上工具的必备技能。核心规则很简单:

标记含义如何理解
红色 / -被删除的内容这些代码被移除了
绿色 / +新增的内容这些代码被加入了
无标记未变化的上下文帮助你定位修改的位置

审核三步法

  1. 看删了什么——被删除的代码是否真的应该被删除?有没有误删重要逻辑?
  2. 看加了什么——新增的代码逻辑是否正确?命名是否合理?有没有安全隐患?
  3. 评估影响范围——这个修改会影响其他文件或功能吗?是否需要同步更新其他地方?
常见误区

误区:"AI改的一定是对的"

这是使用AI编程工具时最危险的想法。AI可能:

  • 删除了看似多余但实际有用的代码
  • 引入了新的依赖但没有考虑兼容性
  • 修改了函数签名但没有更新所有调用处
  • 写出了能运行但逻辑有缺陷的代码

养成审核习惯是使用Claude Code的基本功。即使你不是专业程序员,也要至少理解修改的大方向是否合理。

11.6 安全基础与成本意识

Claude Code的能力越强,使用者的责任就越大。L4级别的工具能直接修改文件和执行命令,这意味着如果出了问题,后果也是实实在在的。
三条安全底线

无论你是新手还是老手,这三条底线必须始终遵守:

底线一:先提交再修改

在让Claude Code修改代码之前,先用Git提交当前状态:

git add -A && git commit -m "保存当前状态,准备让AI修改"

这样做的目的是保留回退能力。如果AI的修改搞砸了,你可以用 git checkout . 恢复到修改前的状态。没有Git保护的情况下让AI大规模修改文件,就像不系安全带开车——大部分时候没事,但出事时你会后悔。

底线二:看清楚再同意

每当Claude Code请求权限时,花几秒钟理解它要做什么:

  • 它要修改什么文件?
  • 它要运行什么命令?
  • 这个操作的影响范围有多大?

不要养成"无脑按y"的习惯。大部分安全事故都源于"我以为没什么问题就直接同意了"。

底线三:限制权限范围

通过 /permissions 命令配置Claude Code的权限:

  • 允许它读取文件(低风险)
  • 允许它修改项目内的代码文件(中风险)
  • 谨慎允许它运行任意命令(高风险)
  • 禁止它修改系统配置文件(高危)

权限配置的原则是"最小权限":只给AI完成当前任务所需的最少权限。

危险信号识别

以下情况出现时,你应该特别警惕,仔细审核或直接拒绝:

危险信号为什么危险建议操作
大量文件被修改影响范围太大,难以逐一审核要求AI分批修改,每批少量文件
删除关键代码或文件可能导致功能缺失仔细确认删除的必要性
修改 .env 等配置文件可能泄露密钥或破坏环境配置拒绝,手动修改配置文件
安装未知的依赖包可能引入安全漏洞先查看包的来源和评价
执行 rm -rf 等删除命令不可逆的破坏性操作除非你非常确定,否则拒绝
修改数据库相关操作可能造成数据丢失确保有备份后再操作
API按量计费说明

Claude Code使用API按量计费,这和ChatGPT的固定月费不同。你每发送一次消息、AI每生成一次回复,都会消耗Token并产生费用。Token大致可以理解为"文字量"——输入和输出的文字越多,费用越高。

这意味着:

  • 长时间的复杂会话会比简短的问答贵很多
  • 让AI读取大量文件也会消耗Token
  • 上下文越长,每次交互的成本越高
成本控制建议
策略做法效果
选对模型90%的日常任务用Sonnet(快且便宜),只在复杂任务时用Opus显著降低费用
监控费用/cost 命令随时查看当前会话已花费的金额避免不知不觉超支
压缩上下文/compact 命令压缩对话历史减少Token消耗
及时清理完成一个任务后用 /clear 清除上下文,再开始下一个任务避免无关上下文累积
精准描述任务描述尽量清晰具体,减少AI来回确认减少交互次数
类比

安全实践就像开车系安全带——不是因为你觉得会出事才系上,而是万一出事时它能救你。每天开车的人大部分时候都安全到达目的地,但那一次意外就足以让你庆幸自己系了安全带。

Claude Code的安全实践也是同样的道理:

  • git commit = 系安全带
  • 审核权限请求 = 看后视镜
  • 限制权限范围 = 遵守限速

这些习惯花不了多少时间,但关键时刻能帮你避免严重损失。

本章小结

知识点一句话总结
什么是Claude CodeAnthropic推出的L4命令行AI编程助手,能理解项目、自主规划和执行多步骤任务
安装与配置支持原生安装、Homebrew和npm三种方式,首次启动需要登录认证
核心使用方法用自然语言描述任务,通过斜杠命令控制会话,权限管理确保安全
CLAUDE.md 入门给AI的"项目说明书",让AI快速理解项目规范,避免每次从零开始
第一个实战任务完整流程为描述任务、观察规划、审核Diff、确认结果,审核是核心技能
安全基础与成本意识三条底线(先提交、看清楚、限权限),API按量计费需要主动控制成本

本章的核心认知:Claude Code的核心价值不是"替你写代码",而是"加速你的编码过程"。它能力越强,对使用者的监督能力要求越高。学会审核AI的输出、管理AI的权限、控制使用成本——这些"元能力"比学会任何一个具体命令都重要。

练习

动手练习1:安装Claude Code

按照以下步骤完成安装:

  1. 确认你的操作系统(macOS / Linux / Windows)
  2. 确认Node.js版本(终端运行 node --version,需要18以上)
  3. 如果是Windows用户,确认已安装Git for Windows
  4. 选择一种安装方式完成安装
  5. 运行 claude --version 确认安装成功
  6. 运行 claude 并完成首次登录
动手练习2:用Claude Code完成一个简单任务
  1. 进入一个你有的代码项目(或创建一个简单的测试项目)
  2. 启动Claude Code
  3. 输入:"帮我看看这个项目的整体结构,告诉我每个目录和主要文件的作用"
  4. 观察Claude Code如何分析你的项目
  5. 再输入一个简单的修改请求,如"帮我给README.md添加一个'快速开始'章节"
  6. 练习审核Diff,看懂它修改了什么
动手练习3:创建你的第一个CLAUDE.md
  1. 在你的一个项目根目录中创建 CLAUDE.md 文件
  2. 按照本章的模板,写入以下内容:
    • 项目简要说明(一句话描述做什么的)
    • 技术栈(用了什么语言和框架)
    • 构建命令(如何安装依赖、启动项目、运行测试)
    • 至少两条代码规范
    • 至少两条注意事项
  3. 启动Claude Code,验证它是否正确读取了CLAUDE.md的内容
  4. 也可以尝试用 /init 命令自动生成,然后和你手写的版本对比
思考题:命令行 vs 图形界面

为什么Claude Code选择命令行而不是图形界面作为主要交互方式?这对它的能力有什么影响?

提示:从以下角度思考——

  • 命令行能直接执行系统命令,图形界面能吗?
  • 命令行更容易实现自动化流程,为什么?
  • 命令行对使用者的技术门槛意味着什么?
  • 这种选择如何体现了L4工具的设计理念?

参考资料