本章包含6个知识点,围绕"如何从零开始使用Claude Code"这一核心问题展开:
Claude Code是Anthropic推出的命令行AI编程助手,属于L4监督执行工具。它能够理解整个代码仓库的结构和内容,自主规划任务步骤,直接执行文件修改和运行命令,甚至创建Git提交和Pull Request。你给它一个目标,它自己想办法完成。
你可能已经用过ChatGPT或Claude网页版来帮你写代码。但你有没有遇到过这样的情况:AI给你写了一段代码,你需要手动复制粘贴到文件里,然后发现它不了解你项目的其他文件,给的代码和现有代码不兼容?
这就是L1对话工具在编程场景中的根本局限——它看不到你的项目,也无法动手修改你的文件。Claude Code的出现就是为了解决这个问题:让AI直接进入你的项目环境,看到所有文件,自己动手修改。
Claude Code能做的事情远超一个对话框:
| 能力 | 说明 |
|---|---|
| 理解整个代码仓库 | 自动读取项目文件,理解代码结构、依赖关系和业务逻辑 |
| 自主规划任务 | 拿到一个目标后,自己拆分成多个步骤并按顺序执行 |
| 直接修改文件 | 创建、编辑、删除文件,不需要你手动复制粘贴 |
| 运行命令 | 执行测试、安装依赖、启动服务等终端命令 |
| Git操作 | 创建分支、提交代码、创建Pull Request |
| 搜索和分析 | 在整个项目中搜索代码、分析错误日志 |
Claude Code和你可能已经用过的其他AI工具有什么区别?
| 对比维度 | ChatGPT/Claude网页版 | Cursor | Claude Code |
|---|---|---|---|
| 界面 | 浏览器网页 | 图形化代码编辑器 | 命令行终端 |
| AI行为模式 | 只输出文字建议 | 在编辑器中提出修改建议 | 自主规划并执行多步骤任务 |
| 人的角色 | 全程操控,手动执行 | 审批每个修改建议 | 监督整体过程,必要时纠偏 |
| 自主程度 | L1 纯对话 | L3 半自动执行 | L4 监督执行 |
| 适合任务 | 问答、学习、写小段代码 | 单文件编辑、逐步编码 | 多文件重构、复杂项目任务 |
| 价格模式 | 月费订阅制 | 月费订阅制 | API按量计费 或 订阅制 |
用一个日常场景来理解这三种工具的区别:
| 场景 | 是否适合用Claude Code | 原因 |
|---|---|---|
| 多文件代码重构 | 非常适合 | Claude Code能理解文件间的依赖关系并批量修改 |
| 添加新功能 | 适合 | 能从理解现有代码开始,自主规划和实现 |
| Bug修复 | 适合 | 能分析错误日志、定位问题、修改代码、运行测试 |
| 创建Git提交和PR | 适合 | 内置Git操作能力 |
| 学习新概念 | 一般 | 网页版更方便,不需要命令行环境 |
| 写文档或邮件 | 不太适合 | 杀鸡用牛刀,网页版就够了 |
误区:"Claude Code会替代程序员"
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还提供了其他入口:
误区:"安装失败就是不兼容"
大多数安装失败是因为网络问题(国内访问可能需要代理)或Node.js版本过低。遇到问题时,先检查网络连接和Node.js版本,再查看错误信息中的具体提示。
启动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会:
src/ 目录下的所有 .py 文件mypy 检查类型是否正确整个过程中你只需要在旁边观察,确认它的修改合理即可。
CLAUDE.md是一个放在项目中的Markdown文件,它是给AI的"项目说明书"。Claude Code在启动时会自动读取这个文件,从中了解项目的技术栈、构建命令、代码规范和注意事项,从而更快更准确地开始工作。
没有CLAUDE.md时,AI每次都要从零开始理解你的项目:
package.json 或 requirements.txt这不仅浪费时间,还可能导致AI做出不符合项目规范的修改。
有了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的作用完全一样。
假设你有一个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 的内容,理解现有代码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是使用L3及以上工具的必备技能。核心规则很简单:
| 标记 | 含义 | 如何理解 |
|---|---|---|
红色 / - | 被删除的内容 | 这些代码被移除了 |
绿色 / + | 新增的内容 | 这些代码被加入了 |
| 无标记 | 未变化的上下文 | 帮助你定位修改的位置 |
审核三步法:
误区:"AI改的一定是对的"
这是使用AI编程工具时最危险的想法。AI可能:
养成审核习惯是使用Claude Code的基本功。即使你不是专业程序员,也要至少理解修改的大方向是否合理。
无论你是新手还是老手,这三条底线必须始终遵守:
底线一:先提交再修改
在让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 等删除命令 | 不可逆的破坏性操作 | 除非你非常确定,否则拒绝 |
| 修改数据库相关操作 | 可能造成数据丢失 | 确保有备份后再操作 |
Claude Code使用API按量计费,这和ChatGPT的固定月费不同。你每发送一次消息、AI每生成一次回复,都会消耗Token并产生费用。Token大致可以理解为"文字量"——输入和输出的文字越多,费用越高。
这意味着:
| 策略 | 做法 | 效果 |
|---|---|---|
| 选对模型 | 90%的日常任务用Sonnet(快且便宜),只在复杂任务时用Opus | 显著降低费用 |
| 监控费用 | 用 /cost 命令随时查看当前会话已花费的金额 | 避免不知不觉超支 |
| 压缩上下文 | 用 /compact 命令压缩对话历史 | 减少Token消耗 |
| 及时清理 | 完成一个任务后用 /clear 清除上下文,再开始下一个任务 | 避免无关上下文累积 |
| 精准描述 | 任务描述尽量清晰具体,减少AI来回确认 | 减少交互次数 |
安全实践就像开车系安全带——不是因为你觉得会出事才系上,而是万一出事时它能救你。每天开车的人大部分时候都安全到达目的地,但那一次意外就足以让你庆幸自己系了安全带。
Claude Code的安全实践也是同样的道理:
git commit = 系安全带这些习惯花不了多少时间,但关键时刻能帮你避免严重损失。
| 知识点 | 一句话总结 |
|---|---|
| 什么是Claude Code | Anthropic推出的L4命令行AI编程助手,能理解项目、自主规划和执行多步骤任务 |
| 安装与配置 | 支持原生安装、Homebrew和npm三种方式,首次启动需要登录认证 |
| 核心使用方法 | 用自然语言描述任务,通过斜杠命令控制会话,权限管理确保安全 |
| CLAUDE.md 入门 | 给AI的"项目说明书",让AI快速理解项目规范,避免每次从零开始 |
| 第一个实战任务 | 完整流程为描述任务、观察规划、审核Diff、确认结果,审核是核心技能 |
| 安全基础与成本意识 | 三条底线(先提交、看清楚、限权限),API按量计费需要主动控制成本 |
本章的核心认知:Claude Code的核心价值不是"替你写代码",而是"加速你的编码过程"。它能力越强,对使用者的监督能力要求越高。学会审核AI的输出、管理AI的权限、控制使用成本——这些"元能力"比学会任何一个具体命令都重要。
按照以下步骤完成安装:
node --version,需要18以上)claude --version 确认安装成功claude 并完成首次登录CLAUDE.md 文件/init 命令自动生成,然后和你手写的版本对比为什么Claude Code选择命令行而不是图形界面作为主要交互方式?这对它的能力有什么影响?
提示:从以下角度思考——