ANTHROPIC 官方 · CLAUDE CODE 101

Claude Code 官方教程
图文精读版

把 Anthropic 官方《Claude Code 101》9 集视频,拆成可一眼读完的中文图文教程:每集一句话抓重点、分段讲解、配真实画面截图、附命令速查与英文原文。

9 集 · 约 28 分钟 中文精讲 + 英文原文 画面取自原视频
1
什么是 Claude Code
What is Claude Code?
⏱ 2:55
What is Claude Code
一句话:Claude Code 不是聊天机器人,而是一个住在你终端里的「AI 智能体」——它能直接读你的代码库、改文件、跑命令,自己把活干完,而不用你来回复制粘贴。
◷ 00:04 它是什么

一个能动手的编码工具

Claude Code 能理解你的整个代码库、编辑文件、运行命令,并和你已有的开发工具打通,帮你把事情更快做完。它可以用在:终端VS CodeClaude 桌面端网页版、以及 JetBrains 系列 IDE。本系列演示都在终端里进行。

Claude Code 终端界面

视频画面:Claude Code 在终端中工作

◷ 00:41 和 Claude 网页版有啥不同

关键区别:它是「Agent(智能体)」

和 Claude.ai 网页版不同,Claude Code 直接拥有你终端和代码库的访问权,不用你把代码复制来复制去,它自己进去把活干了。所谓 AI 智能体,就是一个能感知环境、并主动采取行动去完成既定目标的软件——最朴素的形态,就是「让一个大模型在一个实时循环里不停跑」。

智能体概念
◷ 01:13 它能做什么

三个典型能力

读懂代码库:让它解释某个功能、或顺着代码追一个 bug;② 跑命令:执行构建脚本、跑测试、装依赖,并根据输出决定下一步;③ 查网络:需要某个最新 API 文档时,它能自己去查。

Claude Code 能力演示
◷ 01:44 必须知道的三个概念

用好它之前,先记住这 3 点

① 上下文窗口(Context Window):相当于 Claude 的「工作记忆」,能装很多,但装不下一切——所以它会用策略性的方式在代码库里找答案,而不是把整个代码库塞进记忆。

② 它会先问你:默认情况下,运行命令或改动代码前,Claude Code 都会征求你同意,控制权始终在你手里——你可以选择更亲力亲为,也可以更放手。

③ 它会犯错:和任何工具一样它不完美,可能误解你的意图、引入新 bug、或把方案过度设计。

核心概念
◷ 02:17 小结

Claude Code 是一个能动手的编码智能体:读代码库、改文件、跑命令、连外部工具,帮你更快交付。今天就能在终端、VS Code、JetBrains、Claude 桌面端用上它。

小结
▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:04 Claude Code 是一个能动手的编码工具,它理解你的代码库、编辑你的文件、运行命令,并和你已有的开发工具集成,帮你更快把事情做完。它可以在终端、Visual Studio Code、Claude 桌面应用、网页端和 JetBrains 系列 IDE 中使用。不过本视频里我们会在终端中使用它。

00:41 和 Claude AI 不同,Claude Code 直接拥有你终端中文件和整个代码库的访问权。所以它不用把代码来回复制粘贴,而是自己进去把活全干了。最容易区分的一点是:Claude Code 以 AI 智能体的方式工作——一种能与环境交互、并采取行动来完成既定目标的软件。

01:13 它能读懂你的代码库、执行构建脚本、跑测试、安装依赖包,并用输出结果决定下一步做什么。如果需要最新的 API 参考文档,Claude Code 还能搜索网络。

01:44 第一是上下文窗口——Claude 的工作记忆。第二,它在运行命令或做改动前会征求许可。第三,它会犯错——可能误解你的意图、引入新 bug、或把方案过度设计。

02:17 快速回顾:Claude Code 是一个能动手的编码智能体。它读你的代码库、编辑文件、运行命令、连接外部工具,帮你更快交付。

2
安装 Claude Code
Installing Claude Code
⏱ 3:02
Installing Claude Code
一句话:一条命令装好,进项目目录敲 claude 就能用;终端、VS Code、JetBrains、桌面端、网页版五种入口任选,终端版更新最快、功能最全
◷ 00:04 各平台安装命令

按你的系统选一条

# macOS / Linux / WSL —— 一条 curl 搞定
curl -fsSL https://claude.ai/install.sh | bash

# 或用 Homebrew(注意:brew 装的不会自动更新)
brew install --cask claude-code

# Windows · PowerShell
irm https://claude.ai/install.ps1 | iex

# Windows · CMD(curl)或 winget(winget 同样不自动更新)
winget install Anthropic.ClaudeCode
!Homebrew 和 winget 装的版本没有自动更新能力,想一直用最新版,优先用官方 curl/irm 脚本。
安装命令
◷ 00:35 首次运行

进目录,敲 claude

进入你的项目目录运行 claude,会有初始化引导:选配色主题、用 Claude 账号登录(Pro / Max / Enterprise 都行)或填 API Key。组织有 Claude Enterprise 账号的话记得选企业选项。注意:你在哪个目录运行 claude,它就拥有那个目录及其所有子目录的访问权。

首次运行引导
◷ 01:05 VS Code 集成

装官方扩展

打开扩展面板搜 “Claude Code”,认准 Anthropic 出品 + 蓝色对勾,安装后可能要重启 VS Code。之后用 Ctrl/Cmd+Shift+P 打开命令面板搜 Claude Code 开新标签;文件打开时点 Claude 图标也行。也可以在设置里关掉 UI,只用纯终端体验。

VS Code 扩展
◷ 01:34 JetBrains / 桌面端

JetBrains 与 Claude 桌面端

JetBrains:从 Marketplace 装 Claude Code 插件,重启 IDE 后会看到 Claude 图标,打开是一个和你并肩工作的终端面板。Claude 桌面端:装好登录后,顶部有个 “Code” 开关,观感像 Claude 聊天,但能锁定具体文件夹、改权限,甚至在云端环境里干活。

JetBrains 与桌面端
◷ 02:10 网页版 & 怎么选

claude.ai/code,以及如何取舍

网页版去 claude.ai/code,体验接近桌面端,但只能操作 GitHub 仓库。取舍:想第一时间用上新功能 → 终端版(更新最快);想和编辑器深度融合 → IDE 集成;想让 Claude 在后台跑、你同时干别的 → 桌面端;想远程改 GitHub 项目或并行多会话 → 网页版。

网页版与选择
▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:04 如果你用 macOS、Linux 或 WSL,用这条 curl 命令一步装好。如果你偏好 Homebrew,可以用 brew install,但注意它没有自动更新。Windows 上用 PowerShell 的 Invoke-RestMethod 命令、CMD 里的 curl 命令、或 winget 命令。

00:35 进入你的项目目录,运行 claude。会经过一些初始引导,比如选择主题、用 Claude 账号(Pro、Max 或 Enterprise)或 API Key 登录。不管你在哪个目录运行 claude,它就拥有那个目录及其所有子目录的访问权。

01:05 在 VS Code 中,打开扩展面板搜索 Claude Code——认准 Anthropic 出品、带蓝色对勾的那个扩展。重启 VS Code,然后用 Ctrl/Cmd+Shift+P 打开命令面板。你也可以在设置文件里关掉 UI、直接用终端。

01:34 对于 JetBrains 系列 IDE,从 Marketplace 安装 Claude Code 插件并重启。在 Claude 桌面端,安装并登录后,顶部会出现一个 Code 开关——它让你能在特定文件夹工作、修改权限,甚至在云端环境工作。

02:10 网页端访问 claude.ai/code——和桌面端类似,但仅限 GitHub 仓库。想保持最新,终端是最佳选择,功能在那里上线最快。桌面端适合后台工作;网页端适合远程操作 GitHub 或并行多个会话。

3
Claude Code 是怎么工作的
How Claude Code Works
⏱ 2:51
How Claude Code Works
一句话:它的核心是一个「智能体循环」——收集上下文 → 调模型 → 采取行动 → 验证结果,没达标就再循环,直到结果可验证为止。
◷ 00:04 智能体循环

Agentic Loop(智能体循环)

你输入提示词 → Claude Code 收集完成任务所需的上下文 → 调用模型,模型返回文本或一个工具调用 → Claude Code 执行这个动作(比如改文件、跑命令)→ 最后验证结果是否达成你最初的目标。

智能体循环
◷ 00:41 循环 + 你的介入

没达标就再来一遍

达标了,Claude 结束并等你下一条指令;没达标,它回到循环里继续跑,直到结果完整且可验证。整个过程里你都能随时补充上下文、打断、或引导它往你的目标走。上下文窗口决定它能记住、回看多少对话/文件/命令输出。

循环与介入
◷ 01:14 压缩 & 工具

上下文压缩 与「工具」

到达上下文上限时,Claude Code 会压缩(compact)对话:自动判断哪些能丢、哪些能总结,把占用降下来。「工具」是智能体的骨架——普通 AI 只能输入文本、输出文本,中间什么都做不了;工具让 Claude Code 能在恰当时机去执行代码逼近目标,比如「读文件工具」「网页搜索工具」。

压缩与工具
◷ 01:47 权限模式

三种权限模式(Shift+Tab 切换)

默认:改文件或跑 shell 命令前必须显式征得同意。Auto-accept:自动接受文件改动,但命令仍要问你。Plan 计划模式:只用只读工具,先研究并产出一份行动计划,再开始动手。跳过权限要谨慎——给 Claude Code 全权跑命令,意味着错误在发生前更难拦住。

权限模式
◷ 02:18 小结

Claude Code = 智能体循环 + 受管理的上下文窗口 + 工具 + 可配置的权限,全在你的终端里。它能读代码库、采取行动、自我验证——这正是它和聊天窗口的本质区别。

小结
▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:04 Claude Code 最好通过「智能体循环」来理解。你输入提示词;Claude Code 收集上下文,与模型交互,模型返回文本或一个工具调用,然后采取行动(编辑文件或运行命令),最后验证这些结果。

00:41 如果达成了目标,Claude 结束并等待;如果没有,它再跑一遍循环,直到结果完整且可验证。整个过程中,你可以补充上下文、打断、或引导模型。

01:14 一旦到达上限,Claude Code 会压缩你的对话。工具是智能体工作方式的骨架——它们让 Claude Code 执行代码以更接近任务,比如读文件工具或网页搜索工具。

01:47 Claude Code 有权限模式。默认会请求显式许可。自动接受会不询问就编辑文件,但仍会就命令询问你。计划模式用只读工具来编出一份计划。跳过权限时要谨慎。

02:18 Claude Code 把智能体循环、受管理的上下文窗口、工具、可配置的权限组合进你的终端——这与聊天窗口有本质区别。

4
你的第一个 Claude Code 提示词
Your first Claude Code prompt
⏱ 2:27
Your first Claude Code prompt
一句话:像跟人说话一样给它提需求;复杂的多步任务,先用 Shift+Tab 进「计划模式」让它先出方案——这是动代码前最好的纠偏时机
◷ 00:04 两种权限节奏

自动接受 vs 每次问你

你可以选 Claude 自动接受每个文件改动,或每次都要你显式批准,用 Shift+Tab 在两种模式间循环。自动接受模式下,它会自动批准文件的编辑/创建,但运行命令仍会问你。没有对错,选你最自在的方式。

权限节奏
◷ 00:34 计划模式

Plan Mode 擅长什么

计划模式接到你的提示后,用只读工具分析代码库、研究你建议的实现方式,还会就需要澄清的点反问你,最后给你一份详细的可执行计划。它特别适合规划复杂改动或做一次安全的代码审查。大多数时候你让 Claude 做的都是面向某功能的多步实现——这正是计划模式的强项。

计划模式
◷ 01:04 实战:加暗色模式

一个真实例子

视频里有个 app 急需暗色模式开关。在项目根目录,连按几次 Shift+Tab 进入计划模式,然后写提示词:

My app needs a dark mode implemented across the entire app.
Can you create a toggle switch on the header that allows the
user to toggle between light mode and dark mode? I need you
to find a good contrast color that works based on my existing
light theme.

让 Claude 把方案规划出来。

暗色模式实战
◷ 01:32 复盘 + 要点

结束后能看清它怎么想的

审查后觉得方案不错就让它执行。全部结束时,能清楚看到 Claude 做了什么、怎么得出结论,暗色模式效果也不错。要点:提示词尽量描述得具体;想全程掌控就用计划模式,让 Claude 在执行前把要达成的目标抠得更细。

复盘
▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:04 你像跟任何 AI 助手说话一样跟 Claude Code 说话。你可以选择让 Claude 自动接受每个文件改动,还是每次都要显式许可。用 Shift+Tab 在两种模式间循环。自动接受模式下它会自动批准文件编辑,但运行命令仍会请求许可。

00:34 Shift+Tab 菜单里有计划模式。它用只读工具分析你的代码库、提出澄清问题、返回一份长而详细的计划。非常适合规划复杂改动或做安全的代码审查。

01:04 我有一个 app 需要一个暗色模式开关。在根目录我按 Shift+Tab 进入计划模式,写下提示词:「我的 app 需要在整个应用里实现暗色模式。你能不能在头部做一个切换开关……基于我现有的浅色主题找一个对比度合适的颜色。」

01:32 审查之后,看起来不错。最后你能明确看到 Claude 做了什么、它是怎么得出结论的。尽量描述得具体一些;用计划模式在执行前把细节抠清楚。

5
CLAUDE.md 记忆文件
The CLAUDE.md file
⏱ 3:01
The CLAUDE.md file
一句话:CLAUDE.md 是项目的「入职说明书」——放在根目录,每次开会话自动读取,内容会拼接到你的提示词前,让 Claude 不用每次重新摸索代码库。
◷ 00:02 为什么需要它

没有它,每次都要从零摸索

没有 CLAUDE.md 时,Claude Code 每次都像第一次来:重新探索代码库、搞清依赖、搞清已有功能,有时还得靠猜——猜就更难往正确方向引导。

为什么需要
◷ 00:32 它是什么 / 怎么生成

一个会被自动读取的 Markdown

它是放在项目根目录的 markdown 文件,每次开会话 Claude Code 自动读,相当于代码库的「入职脚本」——本质上它的内容会被拼接到你自己的提示词前面。可以跑 /init 命令让 Claude 基于你的代码库自动生成一份。

# 在项目里让 Claude 自动生成 CLAUDE.md
/init
/init 生成
◷ 01:02 里面写什么

技术栈 + 命令 + 代码风格

示例(一个用 App Router、Tailwind、Drizzle ORM 的 Next.js 15 应用):

# 技术栈
Next.js 15 (App Router) · Tailwind · Drizzle ORM

# 命令
dev server · run tests · lint

# 代码风格
- 两空格缩进
- 优先具名导出 (named exports)
- 所有 API 路由放 app/api
- 能用 server actions 就别用 API routes

有了它,你让 Claude 建 React 组件时,它一上来就知道用 Tailwind(或你用的任何框架)来写。

CLAUDE.md 内容
◷ 01:38 记忆文件的层级

项目级 vs 用户级

项目级 CLAUDE.md:在项目根目录,提交进版本控制给团队共用。用户级 CLAUDE.md:在你的配置目录,只属于你、跨所有项目生效——放个人偏好,比如你怎么写代码注释。

记忆层级
◷ 02:05 三个实用建议

怎么把它养好

① 让它记住纠正:当你不得不纠正 Claude(比如「永远用 server actions 而不是 API routes」),就明确叫它把这条存进 memory,下次回到项目它就一直记得。

② 引用文档用 @:项目里有想让 Claude 参考的文档,直接用 @ + 文件路径。

③ 先别急着建:建议项目一开始先不要 CLAUDE.md,先观察你需要在哪些地方反复纠正模型——这样能让文件保持精简、只留必要信息。

实用建议
◷ 02:34 小结

一次糟糕的会话和一次高效会话,差别就在「上下文」,而 CLAUDE.md 就是你提供上下文的方式:从技术栈、个人偏好、再到命令,随用随补、逐步长出来。

▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:02 最有用的部分之一就是 CLAUDE.md 文件——关于你项目的持久记忆。没有它,Claude 每次都得从零开始、重新探索代码库、并做出各种假设。

00:32 它是放在项目根目录的 markdown 文件;Claude Code 每个会话都会自动读它——就像一份入职脚本。它的内容会被拼接到你的提示词上。运行 /init 让 Claude 根据你的代码库生成一份。

01:02 示例:一个用 app router、Tailwind、Drizzle ORM 的 Next.js 15 应用。命令:开发服务器、跑测试、lint。代码风格:两空格缩进、具名导出、API 路由放 app/api、优先用 server actions。

01:38 有一个层级:项目级 CLAUDE.md 放在根目录(通过版本控制共享),用户级 CLAUDE.md 放在你的配置目录,只属于你、跨所有项目——把个人偏好放那里。

02:05 如果你纠正了 Claude,明确叫它保存进 memory。用 @ 符号加文件路径来引用文档。我们建议一开始先不要 CLAUDE.md,这样你能看清在哪些地方必须纠偏,保持它精简。

02:34 一次令人沮丧的会话和一次高效会话的差别就在于上下文——CLAUDE.md 文件就是你提供上下文的方式。从技术栈、偏好开始,然后是命令。

6
探索 → 计划 → 编码 → 提交
The Explore → Plan → Code → Commit workflow
⏱ 3:12
Explore Plan Code Commit
一句话:如果只记住一件事,就记住这个工作流——探索、计划、编码、提交。别一上来就让它写代码,那只会让你后面花更多时间纠偏。
◷ 00:04 用计划模式吃掉前两步

探索 + 计划

处理「探索」「计划」最快的方式就是计划模式。计划模式下 Claude不能改文件,只读文件做研究。按 Shift+Tab 直到文本框下方出现 plan mode。示例提示词:

I need to add WebP conversion to our image upload pipeline.
Figure out where in the pipeline it should happen, whether
we need new dependencies, and how to approach it.
探索与计划
◷ 00:38 审查计划

动代码前的最佳纠偏点

Claude 会读相关文件、做网页搜索、给你一份行动计划。务必审查它是否符合你的标准,不行就让它补充或修订。这里是最适合纠偏的地方,因为还没写任何代码。不进计划模式时,也可以直接让 Claude「探索一下代码库」。

审查计划
◷ 01:08 批准并执行

编码阶段

计划满意后选 approve,让 Claude 逐条勾掉清单项。你可以决定让它自动接受文件改动还是每次都问。Claude 会尽力在认定计划完成前自查代码库,但有时仍需你纠偏——这正是计划模式的好处:计划完成后,我们还保留了「它是怎么一步步得到结果的」这层上下文来指导下一步决策。

批准执行
◷ 01:35 让它对结果有把握

给它判断「对」的标准和工具

要让 Claude 对结果有信心,它必须清楚什么算「正确」——写计划时把这点写明确。给它能完成目标的工具能省掉大量来回:比如做 Web UI,装上 Claude in Chrome 扩展,Claude Code 就能控制一个标签页、在认定完成前实测 UI。项目里也要有一套测试集让它持续校验。

标准与工具
◷ 02:06 测试 + 提交前

测试是「真理来源」

Claude 能帮你写测试,但交给它之前,确保测试对你和团队是可信的真理来源,避免假阳性。小技巧:Claude 老是踩同一个坑,就让它把解决办法存进 CLAUDE.md。你自测满意后,就该推代码了——提交前先跑一个子智能体代码审查员(sub-agent code reviewer)过一遍。

测试与提交前
◷ 02:35 提交 & 小结

循环往复

然后让 Claude 按你的风格生成提交信息,如此往复。探索给 Claude 项目所需的相关上下文;计划产出 Claude 用来判断成功与否的行动方案;编码是你和 Claude 在敲定最终结果前的来回;提交帮你审查并推送代码,好开始下一个功能。

提交与小结
▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:04 如果你只带走一样东西,就让它是这个工作流:探索、计划、编码、提交。处理前两步最快的方式是计划模式——Claude 不能编辑文件,只读取以收集研究。一直按 Shift+Tab 直到看到计划模式。

00:38 Claude 读取相关文件、做网页搜索、给出一份计划。审查它;这是最适合纠偏的地方,因为还没写任何代码。不进计划模式时,你也可以直接让 Claude 探索你的代码库。

01:08 计划看起来不错后,选择批准,让 Claude 逐条勾掉清单项。计划完成后,我们保留了「它是怎么得到结果的」这层上下文,用来指导它下一步的决策。

01:35 要让 Claude 有信心,它必须清楚什么算正确——把这点写明确。添加工具:做 Web UI 时,Claude in Chrome 扩展让 Claude Code 能控制一个标签页并测试 UI。提供一套它能据以校验的测试集。

02:06 让测试成为真理来源,避免假阳性。如果 Claude 老是撞同一个问题,让它把解决方案保存进它的 CLAUDE.md。提交之前,跑一个子智能体代码审查员。

02:35 然后让 Claude 按你的风格生成提交信息。如此循环往复。探索给出上下文,计划创建行动方案,编码是来回打磨,提交审查并推送你的代码。

7
上下文管理
Context Management in Claude Code
⏱ 3:52
Context Management
一句话:上下文 = Claude 的工作记忆,且有限。学会用 /compact/clear/context 管理它,并用「具体的提示词」和「子智能体」来省着花。
◷ 00:00 上下文是什么

每个动作都在占空间

你发的每条消息、它读的每个文件、跑的每条命令、每个工具调用结果,都会加进上下文窗口。空间有限,所以尽可能优化它极其重要。

上下文是什么
◷ 00:39 自动 & 手动压缩

/compact

接近上限时会自动压缩:总结要点、移除不必要的工具调用结果、腾出大量空间(注意可能丢失之前对话的细节)。也能手动 /compact,把目前为止做的都压缩掉——既清出空间,又保留对之前工作的记忆。

/compact   # 总结并压缩当前会话,保留记忆
compact
◷ 01:08 清空 & 查看

/clear/context

想彻底从零开始、不要之前记忆,用 /clear。想看上下文状态,用 /context:能看到上下文有多大、哪些类别占得最多,还有一张可视化图。

/clear     # 清空一切,从零开始
/context   # 查看上下文占用全景图
clear 与 context
◷ 01:37 何时 compact、何时 clear

经验法则

正在做某个功能、上下文要满了但还得继续 → compact(保留该功能相关上下文很重要)。一个计划做完、要开新功能 → clear(别让旧对话给新东西带偏)。想让 Claude 跨会话记住的,写进 CLAUDE.md,省得它每次重新发现。

经验法则
◷ 02:04 具体一点反而省

短提示词的反讽

写得越短,长远反而越费上下文:不说清楚,Claude 就被迫在代码库里到处翻、自己猜,这比你多写一两句把话讲清楚要费多得多的上下文空间。

具体提示词
◷ 02:36 MCP / 技能 / 子智能体

三个省上下文的杠杆

MCP 服务器默认会把所有可用工具都加载进上下文,和项目无关的可以关掉。技能(skills)和 MCP 类似但不会把整个东西塞进上下文,更省空间。子智能体与主智能体并行、有完全独立的上下文窗口——对那种「只要答案、不要过程」的任务(比如「认证端点在哪」),让子智能体去做,只把摘要返回给主智能体。

MCP 技能 子智能体
◷ 03:09 小结

管理上下文至关重要:用 /compact 总结长会话、/clear 重新开始;提示词要具体;查清楚当前上下文被谁占用;用子智能体去接那些「你只要结果」的任务。

▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:00 上下文是 Claude 的工作记忆。它读的每个文件、跑的每条命令、你发的每条消息,都占用上下文窗口的空间。它是有限的,所以优化它极其重要。

00:39 接近上限时,上下文窗口会自动压缩——它总结并移除不必要的工具调用结果(可能丢失细节)。手动运行 /compact,把到目前为止的内容压缩,同时保留记忆。

01:08 想完全从零开始,运行 /clear。想查看状态,运行 /context——展示你上下文大小的全景,以及哪些类别占得最多。

01:37 经验法则:在做某功能、超出但需要继续 → compact。一个计划做完、要开新的 → clear。需要跨会话记住的,写进 CLAUDE.md。

02:04 短提示词的反讽:长远看它反而更耗上下文。不说清楚,Claude 会在你代码库里翻得更多、自己思考更多——比多写清楚一两句话耗费多得多的上下文。

02:36 MCP 服务器默认把所有工具加载进上下文——把无关的关掉。技能的工作方式类似,但不会把整个东西塞进上下文。子智能体并行运行、有独立的上下文窗口;对只要答案的任务,只返回一份摘要。

03:09 长会话用 /compact,重新开始用 /clear。要具体。查清楚是谁在占用上下文。用子智能体去接那些只要答案的任务。

8
MCP:连接外部工具与数据
MCP in Claude Code
⏱ 3:37
MCP in Claude Code
一句话:MCP(模型上下文协议)是开放标准,让 Claude Code 连上 Linear、Context7 等外部工具和数据源;用 claude mcp add 添加,用 .mcp.json 让团队自动共享,并留意它对上下文的占用。
◷ 00:03 MCP 是什么

Model Context Protocol

一个开放标准,让 Claude Code 连接外部工具和数据源。你提问时,Claude 会自动判断何时该用这些工具来更好地理解你的需求。你的很多上下文其实在别处——数据库、效率工具、公开仓库——MCP 就是把它们接进来。

MCP 是什么
◷ 00:37 工具的概念

用例:Linear、Context7

「工具」让 Claude Code 这类智能体能执行动作去更好完成任务(普通 AI 通常只回你一段文本)。例如团队用 Linear 做项目管理,就加个 Linear MCP 把具体 issue 详情带进来;想拿某依赖的最新文档,Context7 MCP 能提供给 Claude Code。

工具用例
◷ 01:06 添加与两种类型

claude mcp add · HTTP vs STDIO

更多连接器见 claude.com/connectors。用 claude mcp add 添加。两种主要类型:HTTP 服务器用于远程服务,由服务方托管、走网络连接;STDIO 服务器用于跑在你本机的本地进程。会话里用 /mcp 查看连了哪些、状态、并禁用不想要的。

claude mcp add ...   # 添加一个 MCP 服务器
/mcp                 # 会话内查看 / 管理已连服务器
添加 MCP
◷ 01:40 三种作用域

local / user / project

local:只在当前项目、只对你可用。user:对你所有项目可用。project:用一个提交进版本控制的 .mcp.json 文件,任何在这代码库工作的人都自动得到完全相同的服务器

作用域
◷ 02:12 当心上下文占用

没用也占空间

MCP 服务器即使你没用,也会把工具定义加进上下文窗口。配多了就吃掉可用上下文。用 /mcp 看连了什么,禁用不在用的。若某工具有 CLI 等价物(如 GitHub 用 gh、AWS 用 aws),CLI 更省上下文,因为它不加常驻工具定义。

上下文占用
◷ 02:45 技能 & 工具搜索 & 小结

超 10% 自动切「工具搜索」

这种场景也可以用技能(skill):技能只把名字和描述加载进上下文,当 Claude 觉得需要时才把它载入——CLI 工具就可以放进技能里。如果 MCP 工具超过上下文窗口的 10%,Claude Code 会自动切到工具搜索模式,按需发现工具(但因为不在上下文里,效果可能没那么好)。小结:claude mcp add 添加、用 .mcp.json 让团队自动获得、靠禁用不用的服务器看住上下文。

技能与小结
▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:03 模型上下文协议(MCP)是一个开放标准,让 Claude Code 连接外部工具和数据源。你的很多上下文在别处——数据库、效率工具、公开仓库。这正是 MCP 的用武之地。

00:37 工具赋予智能体执行动作的能力。如果你团队用 Linear,加一个 Linear MCP 服务器把 issue 详情带进来。要拿最新的依赖文档,Context7 MCP 服务器能提供。

01:06 claude.com/connectors 上有数百个连接器。用 claude mcp add 命令添加。HTTP 服务器用于远程服务;STDIO 服务器用于本地进程。会话里用 /mcp 查看连了什么。

01:40 三种作用域:local(当前项目、你自己)、user(你所有项目)、project(提交进版本控制的 .mcp.json,整个团队自动得到相同服务器)。

02:12 MCP 服务器即使没用也会把工具定义加进上下文。运行 /mcp 把没用的禁用。如果某工具有 CLI 等价物(gh、aws),CLI 更省上下文。

02:45 技能只把名字和描述加载进上下文,需要时才完整载入。如果 MCP 工具超过你上下文窗口的 10%,Claude Code 会切到工具搜索模式。回顾:用 claude mcp add 添加、用 .mcp.json 设作用域、靠禁用没用的服务器看住上下文。

9
Hooks:确定性地控制行为
Hooks in Claude Code
⏱ 3:22
Hooks in Claude Code
一句话:Hooks 让你在 Claude Code 生命周期的特定时点跑命令——和别的都不同,它确定性、必然执行。「必须每次都发生、不能有例外」的事,别写进提示词,写成 hook。
◷ 00:03 为什么用 Hooks

提示词「大概率」,Hook「百分百」

你在 CLAUDE.md 里写「每次改文件后跑 Prettier」,大多数时候它会做,但偶尔不做——不完美。而 hook 让这件事每一次、无例外都发生。常见用途:编辑后自动格式化、为合规记录所有执行过的命令、拦截危险操作(如改生产文件)、Claude 完成任务时给自己发通知。

为什么用 hooks
◷ 00:42 配置与事件

在 settings.json 里配

选一个事件,可选地为「哪个工具」设 matcher,再给一条要跑的命令。事件包括:

# 五个生命周期事件
UserPromptSubmit  你提交提示词、Claude 处理前
PreToolUse        某个工具调用前
PostToolUse       某个工具调用完成后
Notification      Claude 发通知时
Stop              Claude 结束响应时
事件
◷ 01:16 最常用:自动格式化

PostToolUse + matcher

最常见的 hook 就是「编辑后自动格式化」:设一个 PostToolUse hook,matcher 设为 EditMultiEdit,这样 Claude 一改文件就触发。命令里判断文件扩展名跑对应格式化器——TypeScript 用 Prettier、Go 用 gofmt、Python 用 Ruff,看你项目用什么。

自动格式化 hook
◷ 01:55 用 PreToolUse 拦截

退出码 0 放行 / 2 拦截

PreToolUse hook 能在工具调用执行前拦下它。你的 hook 从 stdin 收到 JSON 格式的工具名和输入:退出码 0 = 放行;退出码 2 = 拦截,并把 stderr 的信息反馈给 Claude,让它知道为何被拦、好做调整。这就是怎么落地硬规则:禁止写生产配置目录、禁止含 rm -rf 的 bash 命令、禁止提交到 main——凡是团队要的是「保证」而非「建议」的。

PreToolUse 拦截
◷ 02:31 项目级 & 小结

提交进仓库,全队共享

配在 .claude/settings.json 的 hooks 是项目级、能提交进仓库,整个团队自动获得相同 hooks。命令里用环境变量 CLAUDE_PROJECT_DIR 引用项目内脚本,这样无论 Claude 当前工作目录在哪都能用。小结:用 PostToolUse 做自动格式化和日志,用 PreToolUse 拦危险操作,在 /hooks 菜单或 settings.json 里配置并提交进仓库。要每次都发生、不能失败的事,别放进提示词——放进 hook。

# 项目级,提交进版本控制,全队共享
.claude/settings.json
# 命令里引用项目脚本
$CLAUDE_PROJECT_DIR/scripts/format.sh
# 也可在会话里用菜单配置
/hooks
项目级与小结
▶ 看原视频(YouTube)
逐字稿原文 · 中文 / English

00:03 Hooks 让你在 Claude Code 生命周期的不同时点运行命令。和其它一切不同,hooks 是确定性的——它们总会运行。CLAUDE.md 里的指令大多数时候被遵守但并非总是;hook 让它每一次都发生。

00:42 Hooks 在你的 settings.json 里配置。选一个事件,可选地为「哪个工具」设 matcher,再给一条命令。事件有:UserPromptSubmit、PreToolUse、PostToolUse、Notification、Stop。

01:16 最常见的 hook:编辑后自动格式化——一个 PostToolUse hook,matcher 设为 Edit 或 MultiEdit。命令检查文件扩展名并运行格式化器(TS 用 Prettier、Go 用 gofmt、Python 用 Ruff)。

01:55 PreToolUse hooks 能拦截工具调用。hook 从 stdin 收到 JSON 格式的工具名和输入。退出码 0 表示放行;退出码 2 表示拦截,并把 stderr 反馈给 Claude。可用来拦截写生产配置、rm -rf、提交到 main。

02:31 .claude/settings.json 里的 hooks 是项目级的,能提交进仓库,让整个团队都获得。用 CLAUDE_PROJECT_DIR 环境变量引用项目脚本。如果某件事必须每次都发生、不能失败,把它放进 hook,而不是提示词。