Foundations
理解 Claude Code 是什么、为什么它不同、如何安装和配置
Claude Code 是什么
Claude Code 是 Anthropic 推出的 agentic coding tool,直接在终端中运行。它不是一个 IDE 插件,而是一个能理解你的整个代码库、执行命令、编辑文件、搜索 web、与外部工具交互的 AI 编程助手。
本章核心要点
- Claude Code 是终端原生的 agentic coding tool,不是 IDE 插件
- 五层能力模型:Model / Instructions / Context / Tools / Hooks
- 在 10 款主流产品中唯一实现五层全满
- 核心差异化:Hooks 系统(可编程的事件驱动自动化)
"Claude Code is an agentic coding tool that lives in your terminal. It understands your entire codebase, can execute commands, edit files, and reason through complex software engineering tasks." — Anthropic Official Documentation
不只是代码补全
市面上大多数 AI 编程工具本质上是"代码补全"的高级版本:你写代码,它建议下一行。Claude Code 完全不同。它是一个 agent — 给它一个目标,它会自己规划路径、读取文件、搜索代码、执行命令、编写测试、迭代修复,直到任务完成。
传统 AI 编码工具
在 IDE 中嵌入 → 看到当前文件 → 建议下一行代码 → 你手动决定接受或拒绝 → 你控制一切
Claude Code (Agent)
在终端中运行 → 看到整个代码库 → 自主规划和执行 → 调用工具和命令 → 迭代直到完成 → 你定义目标
五层能力模型
理解 Claude Code 为什么强大,需要看它的五层架构。这不只是"大模型更聪明"那么简单 — 真正的差异在第 2-5 层。
记忆口诀: 大脑 → 身份 → 眼睛 → 手脚 → 反射
竞品横评(2026 年 3 月)
用五层模型给 10 款主流 AI 编程工具打分(每层 0-2 分,满分 10):
| 产品 | Model | Instructions | Context | Tools | Hooks | 总分 |
|---|---|---|---|---|---|---|
| Claude Code | 2 | 2 | 2 | 2 | 2 | 10 |
| Windsurf | 2 | 1 | 2 | 2 | 1 | 8 |
| Cursor | 2 | 2 | 2 | 1 | 0 | 7 |
| Gemini Code | 2 | 1 | 2 | 1 | 0 | 6 |
| GitHub Copilot | 2 | 1 | 1 | 1 | 0 | 5 |
| ChatGPT | 2 | 1 | 1 | 1 | 0 | 5 |
| Trae | 1 | 1 | 1 | 1 | 0 | 4 |
| 文心快码 | 1 | 0 | 1 | 1 | 0 | 3 |
| 通义灵码 | 1 | 1 | 1 | 0 | 0 | 3 |
| 豆包 MarsCode | 1 | 0 | 1 | 1 | 0 | 3 |
1. Hooks 是独门武器 — 10 款产品中唯一有完整可编程 Hook 系统
2. 差距在 2-5 层 — 模型智能差距已小,记忆/工具/自动化差距明显
3. 选工具看层数 — 一人公司需要五层全满,因为没有多余人力补 AI 缺失的层
安装与配置
从零开始,5 分钟内让 Claude Code 跑起来。
本章核心要点
- 需要 Node.js 18+ 和 Anthropic 账号(Max 订阅或 API Key)
- npm install -g @anthropic-ai/claude-code 一行安装
- settings.json 控制权限、模型选择、MCP Server
- 权限系统分四级:Allow / Deny / Ask / Auto-accept
安装与认证
系统要求
Node.js
18.0 以上版本(推荐 20 LTS)
操作系统
macOS / Linux / WSL(不支持原生 Windows)
认证
Claude Max 订阅 或 Anthropic API Key
安装步骤
使用 Claude Max 订阅(推荐)
如果你有 Claude Max 订阅($100/月或 $200/月),Claude Code 已包含在内,无需额外费用。首次运行 claude 命令时,浏览器会自动打开完成 OAuth 登录。
使用 API Key
如果你使用 API 计费模式,需要设置环境变量。建议在 shell profile 中添加:
核心设置
Claude Code 的设置通过 settings.json 文件和 /config 命令管理。设置文件有两个层级:
全局设置
~/.claude/settings.json
影响所有项目,适合放通用偏好
项目设置
.claude/settings.json
项目根目录下,可以提交到 git
权限系统
Claude Code 有精细的权限控制,决定哪些工具可以自动执行、哪些需要确认:
模型选择
在 Claude Code 中,可以通过 /model 命令切换模型:
日常开发用 Sonnet(速度快、成本低),遇到复杂架构设计或难 debug 时切 Opus。如果用 Max 订阅,不需要关心 API 成本,但要注意 rate limit。
核心工作流
使用 Claude Code 最重要的心智模型:说清目标,不规定步骤。这是新手和高手之间最大的差距。
本章核心要点
- 核心原则:Tell Claude WHAT, not HOW(说目标,不说步骤)
- 先做计划再动手 — 让 Claude 先输出方案,你确认后再执行
- 反馈闭环 — 单测、截图、Puppeteer,迭代 2-3 次到满意
- 渐进信任 — 从小任务开始,逐步放权
"The number one tip for using Claude Code: describe what you want, not how to do it. Let Claude figure out the implementation. You focus on the goal." — Boris Cherny, Anthropic (Mastering Claude Code in 30 Minutes)
说清目标,不规定步骤
这是使用 Claude Code 最重要的一条原则。你是产品经理,Claude 是工程师。好的产品经理不会告诉工程师"先建一个 React 组件,然后...",而是说"用户需要能在首页看到最近 10 条订单"。
❌ 错误:规定步骤
"创建一个 React 组件叫 OrderList,用 useEffect 调用 /api/orders,用 map 渲染每个订单,每个订单显示 id 和金额,用 Tailwind 的 flex 布局..."
✓ 正确:描述目标
"首页需要展示用户最近 10 条订单,包括订单号、金额和状态。API 端点是 /api/orders。风格跟现有页面保持一致。"
为什么这很重要?
因为 Claude Code 能看到你的整个代码库。它知道你用的是什么框架、什么组件库、什么代码风格。当你过度规定实现细节时,反而限制了它做出更好选择的能力。
在描述目标时,添加验收标准效果更好:"用户点击订单可以看到详情。如果没有订单显示友好的空状态。加载中有 skeleton 效果。" — 这些是目标和约束,不是实现步骤。
先计划再编码
"Before writing any code, ask Claude to make a plan. Review the plan. Then tell it to execute." — Boris Cherny, Anthropic
这是 Claude Code 工作流的第二个关键原则。对于任何非平凡的任务,都应该分两步走:
- 让 Claude 先出方案:"分析一下这个 bug 的根因,给我一个修复方案,先不要改代码。"
- 你审核方案:检查方向是否正确、影响范围是否可控、是否有遗漏。
- 确认后执行:"方案 OK,开始执行。" 或 "方案需要调整:xxx,然后再执行。"
一人公司没有 code review 环节,"先计划再编码"就是你唯一的安全网。养成习惯:任何涉及数据库、API 或用户数据的变更,都先让 Claude 出方案,你 review 后再执行。这 30 秒的投入能避免小时级的回滚。
反馈闭环
"Give Claude feedback. Show it test results, screenshots, error logs. The more signal you give, the faster it converges." — Boris Cherny, Anthropic
Claude Code 真正厉害的地方在于迭代。一次性写出完美代码是幻想,但给反馈后快速收敛是现实。
三种反馈方式
单元测试
让 Claude 写测试 → 跑测试 → 看失败 → 修到全过。最可靠的闭环。
截图反馈
把浏览器截图粘贴给 Claude。它能看到 UI 问题并直接修复。
Puppeteer / 自动化
用 Puppeteer MCP 让 Claude 自己操作浏览器验证结果。全自动闭环。
Deep Dive
CLAUDE.md 记忆系统、MCP 工具扩展、Hooks 自动化
CLAUDE.md 与记忆系统
让 AI 记住你的项目、你的规则、你的偏好。这是 Claude Code 和"一次性对话"工具之间最根本的区别。
本章核心要点
- CLAUDE.md 是 Claude Code 的"员工手册",每次对话自动加载
- 三层作用域:全局 > 项目 > 子目录,从通用到具体
- # 快捷键直接写入记忆
- 好的 CLAUDE.md 能让新会话"秒进入状态"
什么是 CLAUDE.md
CLAUDE.md 是一个 Markdown 文件,Claude Code 每次启动时会自动读取并加入上下文。你可以把它理解为给 Claude 的永久指令 — 项目架构、编码规范、技术栈偏好、特殊规则...所有你不想每次对话都重复说的东西。
"CLAUDE.md is like a README for Claude. It tells Claude who it is in this project, what rules to follow, and what matters." — Boris Cherny, Anthropic
应该写什么?
必写内容
• 项目技术栈和架构概述
• 编码规范和命名约定
• 常用命令(build / test / deploy)
• 文件结构说明
• 重要的业务规则
不应该写的
• 整个代码库的详细文档(太长)
• API Key 等敏感信息
• 过时的或矛盾的指令
• Claude 能从代码中推断的显而易见的信息
三层作用域
CLAUDE.md 有三个层级,从全局到项目到子目录,层层叠加:
实战示例:项目级 CLAUDE.md
Memory 命令
除了手动编辑 CLAUDE.md,Claude Code 还提供了便捷的记忆写入方式:
用 # 快捷写入
在对话中,输入 # 开头的内容会被写入 CLAUDE.md 的 memory 部分:
/memory 命令
使用 /memory 命令可以查看和管理已保存的记忆:
一人公司的 CLAUDE.md 不只是技术文档,它是你的组织知识库。把"铁律"(绝不能违反的规则)、"授权分级"(什么可以自己决定、什么要问你)、"防污染规则"(区分不同项目的思维模式)都写进去。Claude 就从一个工具变成了一个"懂规矩的技术合伙人"。
工具与 MCP
Claude Code 自带了强大的内置工具,但通过 MCP (Model Context Protocol) Server,它的能力边界可以无限扩展。
本章核心要点
- 内置工具:Read / Write / Edit / Bash / Glob / Grep / WebFetch / WebSearch
- MCP = Model Context Protocol,让 Claude 调用外部服务
- MCP Server 在 settings.json 或 .mcp.json 中配置
- 官方 MCP Server + 社区 Server + 自建 Server
内置工具
Claude Code 开箱即有一套强大的内置工具,覆盖了日常开发的绝大部分场景:
Read / Write / Edit
读取文件、创建新文件、精确编辑现有文件(只发 diff,不重写整个文件)。Edit 工具是 Claude Code 的核心优势 — 大文件也只修改需要改的部分。
Bash
执行任意 shell 命令。跑测试、构建项目、git 操作、启动服务器...终端能做的,Claude 都能做。受权限系统控制。
Glob / Grep
文件搜索和内容搜索。基于 ripgrep 构建,在大型代码库中也能快速定位文件和代码模式。
WebFetch / WebSearch
获取网页内容、搜索互联网。让 Claude 能查文档、找解决方案、了解最新 API 变更。
MCP Server
MCP (Model Context Protocol) 是 Anthropic 推出的开放协议,让 AI 模型能与外部工具和数据源交互。Claude Code 内置了 MCP 客户端,你只需要配置 Server 地址就能使用。
配置方式
在项目根目录创建 .mcp.json 或在 settings.json 中配置:
常用 MCP Server
| Server | 功能 | 使用场景 |
|---|---|---|
| Puppeteer | 浏览器自动化 | UI 测试、截图验证、网页交互 |
| PostgreSQL | 数据库查询 | 查数据、分析 schema、调试 SQL |
| GitHub | 仓库操作 | PR/Issue 管理、代码搜索 |
| Slack | 团队消息 | 发通知、查历史消息 |
| Linear | 项目管理 | 创建 Issue、更新状态 |
| Sentry | 错误监控 | 查看报错、分析堆栈 |
| Figma | 设计稿 | 读取设计稿参数、下载素材 |
自建 MCP Server
MCP 是开放协议,你可以用 Python 或 TypeScript 快速创建自己的 Server:
MCP Server 是一人公司的"员工扩招"。每建一个 MCP Server,就等于雇了一个"专职助手":财务 Server 管记账、法务 Server 管合规、运营 Server 管数据。Claude Code 通过 MCP 指挥这些 Server 协作,你只需要告诉它目标。
Hooks — 自动化纪律的终极武器
Hooks 是 Claude Code 的独门武器。它让你能在工具调用前后自动执行脚本,实现"机械性纪律用机械化方式保障"。
本章核心要点
- Hooks 是事件驱动的自动化脚本,在 Claude Code 生命周期中触发
- 四种事件:PreToolUse / PostToolUse / Notification / Stop
- Hook 可以阻止操作(exit 2)或修改行为
- 核心理念:凡是"每次 X 必须 Y"的规则,都应该用 Hook 保障
"Hooks let you run scripts at various points in Claude Code's lifecycle. They're perfect for enforcing standards, preventing mistakes, and automating repetitive checks." — Anthropic Claude Code Documentation
事件与生命周期
Hooks 在 Claude Code 的四个关键时刻触发:
PreToolUse
工具调用之前触发。可以检查参数、阻止操作、修改行为。比如:写入文件前检查是否有必要的 frontmatter。
PostToolUse
工具调用之后触发。可以验证结果、触发后续动作。比如:代码变更后提醒跑测试。
Notification
当 Claude 发送通知时触发。可以用来转发通知到其他渠道(如 Telegram)。
Stop
当 Claude 完成任务(停止 agent loop)时触发。可以用来做收尾检查或自动提交。
Hook 的控制能力
Hook 脚本的 exit code 决定了后续行为:
| Exit Code | 效果 | 用途 |
|---|---|---|
0 | 继续执行 | 检查通过,正常进行 |
2 | 阻止操作 | 检查不通过,阻止工具调用并将 stderr 反馈给 Claude |
| 其他非零 | Hook 错误(静默失败) | Hook 本身出了问题 |
配置方式
Hooks 在 settings.json 中配置(全局或项目级):
环境变量
Hook 脚本可以访问这些环境变量:
| 变量 | 说明 |
|---|---|
$TOOL_NAME | 当前工具名称(如 Write, Bash, Edit) |
$TOOL_INPUT | 工具输入参数(JSON 格式) |
$TOOL_OUTPUT | 工具输出(仅 PostToolUse) |
$SESSION_ID | 当前会话 ID |
实战 Hook 示例
Hook 1:知识库文件必须有 author frontmatter
Hook 2:代码变更后强制提醒自测
Hook 3:数据库模型变更提醒 Migration
凡是"每次变更 X 必须同步更新 Y"这类机械性规则,全部写成 Hook 强制执行,不靠记忆。 记忆用于需要判断的事情,机械性纪律用机械化方式保障。发现新的"变更 X → 必须 Y"规则时,第一反应是写 Hook,不是写记忆文件。
一人公司最大的风险是"没有人 review 你的代码"。Hook 就是你的自动 code reviewer:写文件前检查规范、改数据库后提醒 migration、部署前验证版本号。这些在大公司靠流程和人力保障的事情,一人公司靠 Hook 保障。
Mastery
高级技巧、一人公司实战模式、最佳实践
高级技巧
从"能用"到"用得好"的关键技巧:并行 Agent、快捷操作、CLI 集成、反馈闭环进阶。
本章核心要点
- 并行 Agent:用 /agents 或多终端窗口同时处理多个任务
- Shift+Tab:自动接受 Claude 的建议,进入"自动驾驶"模式
- claude -p "prompt":非交互模式,适合脚本和 CI/CD
- git commit 集成:让 Claude 自动生成 commit message
并行 Agent
Claude Code 支持在一个会话中启动子 Agent 来并行处理任务,也支持多终端窗口同时运行多个 Claude Code 实例。
方法一:多终端窗口
最简单的并行方式 — 在不同终端窗口启动多个 Claude Code 实例,各自处理不同任务:
方法二:Agent 工具
Claude Code 内部可以调用 Agent 工具来处理子任务。Agent 工具会启动一个新的 Claude 实例,在独立上下文中完成任务后返回结果。
适合并行:独立的文件/模块修改、多个不相关的 bug 修复、前后端同时开发。
不适合并行:相互依赖的代码变更、需要全局一致性的重构、数据库 schema 修改。
Shift+Tab 与快捷操作
"Shift+Tab is the auto-accept mode. When you trust what Claude is doing, just let it run." — Boris Cherny, Anthropic
Claude Code 有几个关键的快捷操作,能大幅提升效率:
Shift+Tab — 自动接受
按下后进入自动接受模式,Claude 的工具调用不再逐个确认。适合你信任 Claude 的判断、想让它自主完成的场景。按 Esc 退出。
# — 写入记忆
以 # 开头的输入会被写入 CLAUDE.md 的记忆部分。快速记录规则和偏好。
/compact — 压缩上下文
长对话占用太多 context 时,用 /compact 压缩历史。Claude 会保留关键信息,释放 token 空间。
/clear — 清空对话
完全重置当前对话。适合任务切换时使用,避免前一个任务的上下文干扰。
/model — 切换模型
在 Sonnet 和 Opus 之间切换。Sonnet 日常用,Opus 处理复杂问题。
/config — 设置
查看和修改 Claude Code 的配置项,包括权限、主题等。
CLI 与 CI/CD 集成
Claude Code 不只是交互工具,它的 CLI 模式让它可以融入自动化流水线:
非交互模式
CI/CD 集成示例
自动 Commit Message
CLI 模式是一人公司的"批量生产力"。把 Claude Code 嵌入你的 git hooks、CI/CD、定时任务,实现:每次 commit 自动写 changelog、每次 PR 自动 review、每天早上自动分析错误日志。一个人的公司,但拥有大公司的自动化水平。
一人公司实战
如何用 Claude Code 替代一个开发团队 — 不是"辅助",而是真正承担工程师、QA、DevOps 多个角色。
本章核心要点
- Claude Code 在一人公司中扮演"技术合伙人"而非"工具"
- 通过 CLAUDE.md + Hooks 建立完整的工程纪律
- 五层全满 = 一人公司需要的最低配置
- 关键是"授权分级" — 什么让 Claude 自己决定,什么你来拍板
替代一个开发团队
一人公司使用 Claude Code 的核心思路不是"让 AI 写代码",而是"让 AI 承担角色"。一个完整的开发团队有这些角色,Claude Code 可以覆盖大部分:
| 角色 | Claude Code 如何替代 | 关键配置 |
|---|---|---|
| 后端工程师 | 编写 API、数据库操作、业务逻辑 | CLAUDE.md 定义技术栈和规范 |
| 前端工程师 | 编写 UI 组件、页面、交互逻辑 | MCP Puppeteer 做视觉验证 |
| QA 工程师 | 编写和运行测试、发现边界情况 | PostToolUse Hook 强制提醒测试 |
| DevOps | 部署脚本、CI/CD、监控配置 | CLI 模式 + Bash 权限 |
| Code Reviewer | 自动检查代码质量、安全问题 | PreToolUse Hook 强制规范 |
| Tech Lead | 架构设计、技术选型建议 | 先计划再编码的工作流 |
授权分级
一人公司最关键的决策:什么让 Claude 自己做,什么需要你确认。
Claude 自己决定
UI 细节、通用错误处理、代码结构、边界情况、响应式适配、性能优化、明显 bug 修复、测试执行
需要问创始人
业务逻辑变更、数据模型改动、新的第三方服务选型、花钱的决定、产品方向判断
绝对禁止
删除用户数据库、修改系统代理、跳过 git hooks、删除功能/数据、推送到 main 分支
实战模式库
模式一:新项目冷启动
模式二:Bug 修复三部曲
第二步:"写一个测试来复现这个 bug。"
第三步:"现在修复它,确保测试通过。"
模式三:功能开发 + 测试一体化
模式四:代码库探索与重构
第二步:"src/utils/helpers.js 太臃肿了,分析一下哪些函数可以拆到独立模块。"
第三步:"按你的方案重构,每个模块独立 commit。"
模式五:全栈端到端交付
常见问题与最佳实践
避开新手陷阱,建立高效的使用习惯。
常见问题
Q: Claude Code 和 Cursor / Copilot 应该怎么选?
取决于你的工作方式。如果你喜欢在 IDE 中边写边补全,Cursor 更适合。如果你更像一个产品经理 — 描述需求、审核方案、验收结果 — Claude Code 更适合。一人公司推荐 Claude Code,因为它的五层能力都是一人公司刚需。
当然两者并不冲突,很多人用 Claude Code 做大块开发和重构,用 Cursor 做小的编辑和补全。
Q: Claude 改了不该改的文件怎么办?
三道防线:
1. 权限系统:在 settings.json 的 deny 列表中配置不允许修改的路径
2. PreToolUse Hook:在写入前检查路径,阻止对关键文件的修改
3. Git:Claude Code 的所有改动都在本地,随时可以 git checkout 回退
Q: 对话太长,Claude 开始"忘记"之前的内容?
这是 context window 的限制。解决方案:
1. 用 /compact 压缩对话历史
2. 把关键决策和规则写入 CLAUDE.md(每次对话都会读取)
3. 大任务拆成多个独立对话,每个对话解决一个子问题
4. 约 70 轮对话时主动"存档" — 让 Claude 总结当前进展,写入工作笔记
Q: Claude 的输出质量不稳定怎么办?
几个提升稳定性的技巧:
1. 更好的 CLAUDE.md:规则越明确,输出越一致
2. 提供示例:在 prompt 中给一个"好的输出"的例子
3. 先计划再编码:让 Claude 先说清楚打算怎么做
4. 用 Opus 处理关键任务:Opus 在复杂推理上显著优于 Sonnet
5. 反馈闭环:不要期望一次完美,用测试和验证来迭代
Q: 如何控制 API 成本?
如果用 API 计费模式:
1. 日常开发用 Sonnet(约为 Opus 成本的 1/5)
2. 避免在大文件上反复调用(先 Glob/Grep 定位再 Read 特定部分)
3. 用 /compact 控制 context 长度
4. 考虑切 Claude Max 订阅($100-200/月固定费用,不限量)
Q: 团队协作中怎么用 Claude Code?
1. 项目级 CLAUDE.md 提交到 git,确保团队成员的 Claude 行为一致
2. .mcp.json 提交到 git,共享 MCP Server 配置
3. 项目级 settings.json 配置统一的权限和 Hook
4. 个人偏好放在全局 ~/.claude/settings.json,不影响团队
最佳实践清单
工作流
• 说清目标,不规定步骤
• 非平凡任务先出方案再执行
• 用测试验证而不是肉眼验证
• 迭代 2-3 轮是正常的
• 大任务拆成小的独立对话
CLAUDE.md
• 写技术栈、架构和常用命令
• 写铁律(绝对不能做的事)
• 写授权分级(自己决定 vs 要问)
• 保持简洁,不要写小说
• 定期清理过时的内容
安全
• 不要在 CLAUDE.md 中放 API Key
• 用 deny 规则保护敏感文件
• 数据库操作先出方案再执行
• 绝不删除用户数据库
• 用 git 作为最后的安全网
效率
• Shift+Tab 进入自动接受模式
• /compact 管理长对话
• CLI 模式做批量任务
• 多窗口并行处理独立任务
• MCP Server 扩展能力而非手动操作
Claude Code 新手路径图
安装 + 基础对话
理解五层模型
写 CLAUDE.md
先计划再编码
反馈闭环
MCP + Hooks
CLI 集成
全流程自动化
Claude Code 不是让你"更快地写代码",而是让你把精力从"怎么实现"转移到"做什么产品"。作为一人公司创始人,你的时间应该花在客户、产品和商业模式上,而不是调 CSS 和写 CRUD。Claude Code 的终极价值:让技术不再是一人公司的瓶颈,让商业变现成为你唯一需要关注的事。