<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="https://shaozk.xyz/feed_style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <tabi:metadata xmlns:tabi="https://github.com/welpo/tabi">
        <tabi:base_url>https:&#x2F;&#x2F;shaozk.xyz</tabi:base_url>
        <tabi:separator>
            •
        </tabi:separator>
        <tabi:about_feeds>This is a web feed, also known as an Atom feed. Subscribe by copying the URL from the address bar into your newsreader. Visit About Feeds to learn more and get started. It&#x27;s free.</tabi:about_feeds>
        <tabi:visit_the_site>Visit website</tabi:visit_the_site>
        <tabi:recent_posts>Recent posts</tabi:recent_posts>
        <tabi:last_updated_on>Updated on $DATE</tabi:last_updated_on>
        <tabi:default_theme></tabi:default_theme>
        <tabi:post_listing_date>date</tabi:post_listing_date>
        <tabi:current_section>claudecode</tabi:current_section>
    </tabi:metadata><title>shaozk - claudecode</title>
    <link href="https://shaozk.xyz/tags/claudecode/atom.xml" rel="self" type="application/atom+xml"/>
    <link href="https://shaozk.xyz/tags/claudecode/" rel="alternate" type="text/html"/>
    <generator uri="https://www.getzola.org/">Zola</generator><updated>2026-08-15T00:00:00+00:00</updated><id>https://shaozk.xyz/tags/claudecode/atom.xml</id><entry xml:lang="en">
        <title>Claude Code 101【译】</title>
        <published>2026-08-15T00:00:00+00:00</published>
        <updated>2026-08-15T00:00:00+00:00</updated>
        <author>
            <name>shaozk</name>
        </author>
        <link rel="alternate" href="https://shaozk.xyz/blog/020-claude-monitor-101/" type="text/html"/>
        <id>https://shaozk.xyz/blog/020-claude-monitor-101/</id>
        
            <content type="html">&lt;h1 id=&quot;claude-code-101&quot;&gt;Claude Code 101&lt;&#x2F;h1&gt;
&lt;blockquote&gt;
&lt;p&gt;来源：&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;anthropic.skilljar.com&#x2F;claude-code-101&quot;&gt;Anthropic Courses — Claude Code 101&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;声明：本文档爬取自 Anthropic 官方 Skilljar 课程平台，包含全部 12 篇课程正文与课程测验，翻译全由 AI 完成。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;ke-cheng-jian-jie&quot;&gt;课程简介&lt;&#x2F;h2&gt;
&lt;p&gt;AI 编码智能体正在改变「编写软件」这件事本身。过去要花一个下午的任务——在大型代码库中追踪一个 bug、搭建一个新服务的脚手架、审阅一摞 pull request——如今可以在一次专注的会话中完成：有一个智能体陪你一起读代码、跑命令、改文件。但要从智能体身上获得真正的价值，光安装它、敲一句请求是不够的。你需要理解智能体是如何思考的、它能访问哪些上下文（context），以及在它跑偏时如何把它拉回正轨。&lt;&#x2F;p&gt;
&lt;p&gt;本课程教开发者如何高效使用 &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;claude.com&#x2F;product&#x2F;claude-code&quot;&gt;Claude Code&lt;&#x2F;a&gt;，无论你是刚踏入软件工程的新人，还是尚未接触过 AI 编码智能体的资深工程师。我们从第一性原理讲起——智能体循环（agentic loop）究竟是什么、上下文窗口（context window）如何决定 Claude 能看到什么、工具（tools）与权限模式如何决定它能做什么——这样后面课程中的各种技巧才会顺理成章，而不是一堆死记硬背的招式。&lt;&#x2F;p&gt;
&lt;p&gt;你将学会如何在多种环境中安装 Claude Code（终端、VS Code、JetBrains、Claude Desktop 以及网页版），如何借助批准模式（approval mode）、自动接受（auto-accept）和计划模式（Plan Mode）写出第一次就能得到好结果的提示词。课程的核心是 Explore → Plan → Code → Commit 工作流：一套可复用的节奏——拆解任务、让 Claude 提出方案、在工作推进的过程中随时审查、最后干净利落地落地。我们还会介绍如何用 Claude Code 做代码审查，以及让长会话保持高效的上下文管理命令（&lt;code&gt;&#x2F;compact&lt;&#x2F;code&gt;、&lt;code&gt;&#x2F;clear&lt;&#x2F;code&gt;、&lt;code&gt;&#x2F;context&lt;&#x2F;code&gt;）。&lt;&#x2F;p&gt;
&lt;p&gt;最后一部分讲的是把 Claude Code 变成你自己的工具。你会编写 &lt;code&gt;CLAUDE.md&lt;&#x2F;code&gt; 文件，让 Claude 跨会话记住你项目的约定；为你经常重复的任务构建自定义子代理（subagent）和 Skill；通过 MCP 服务器接入外部系统；以及编写钩子（hook），为 Claude 的行为加上确定性的护栏。学完之后，你将得到一套贴合自己实际工作方式的配置——而不是一个千篇一律的默认安装。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;tui-jian-qian-zhi-yao-qiu&quot;&gt;推荐前置要求&lt;&#x2F;h4&gt;
&lt;p&gt;熟悉代码编辑器和命令行的基本操作。你还需要一个 Claude 账号（Pro、Max 或 Enterprise）或一个 API key。不要求有任何 AI 工具的使用经验。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;gua-he-shui-xue&quot;&gt;适合谁学&lt;&#x2F;h4&gt;
&lt;p&gt;刚进入软件工程、想从一开始就用上 AI 辅助工作流的新开发者，以及对编码智能体好奇但还没迈出第一步的资深工程师。如果你以前试过编码助手但觉得效果平平，这门课程正是要让你看到：与智能体协作（而不是与它对着干）会有什么不同。&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ke-cheng-jie-gou&quot;&gt;课程结构&lt;&#x2F;h2&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;#&lt;&#x2F;th&gt;&lt;th&gt;章节&lt;&#x2F;th&gt;&lt;th&gt;课程&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;什么是 Claude Code？&lt;&#x2F;td&gt;&lt;td&gt;什么是 Claude Code？ &#x2F; Claude Code 的工作原理&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;2&lt;&#x2F;td&gt;&lt;td&gt;你的第一个提示词&lt;&#x2F;td&gt;&lt;td&gt;安装 Claude Code &#x2F; 你的第一个提示词&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;3&lt;&#x2F;td&gt;&lt;td&gt;日常工作流&lt;&#x2F;td&gt;&lt;td&gt;Explore → Plan → Code → Commit &#x2F; 上下文管理 &#x2F; 代码审查&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;4&lt;&#x2F;td&gt;&lt;td&gt;自定义 Claude Code&lt;&#x2F;td&gt;&lt;td&gt;CLAUDE.md 文件 &#x2F; 子代理 &#x2F; Skill &#x2F; MCP &#x2F; 钩子&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;5&lt;&#x2F;td&gt;&lt;td&gt;测验&lt;&#x2F;td&gt;&lt;td&gt;课程测验&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;shen-me-shi-claude-code&quot;&gt;什么是 Claude Code？&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;shen-me-shi-claude-code-1&quot;&gt;什么是 Claude Code？&lt;&#x2F;h3&gt;
&lt;p&gt;Claude Code 是一款智能体编码工具，它能理解你的代码库、编辑你的文件、运行命令，并与你现有的开发工具集成，帮你更快地把事情做完。它可在终端、Visual Studio Code、Claude Desktop 桌面应用、网页版以及 JetBrains IDE 中使用。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;claude-code-yu-claude-you-he-bu-tong&quot;&gt;Claude Code 与 Claude 有何不同？&lt;&#x2F;h3&gt;
&lt;p&gt;如果你用过 Claude.ai，可能会好奇 Claude Code 有什么不一样。与 Claude.ai 不同，Claude Code 可以直接访问你的文件、你的终端和你的整个代码库。不需要来回复制粘贴代码，它自己钻进去把活干完。&lt;&#x2F;p&gt;
&lt;p&gt;关键区别在于：Claude Code 是作为一个 **AI 智能体（AI Agent）**工作的。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shen-me-shi-zhi-neng-ti-agent&quot;&gt;什么是智能体（Agent）？&lt;&#x2F;h3&gt;
&lt;p&gt;AI 智能体是一种能够与环境交互、并执行动作以达成既定目标的软件。它的核心原理是让一个大语言模型在循环中实时运转。AI 智能体可以使用工具、外部服务，甚至其他 AI 智能体来帮助达成目标。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;claude-code-dao-di-neng-zuo-shen-me&quot;&gt;Claude Code 到底能做什么？&lt;&#x2F;h3&gt;
&lt;p&gt;以下是它在实际中的样子：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;阅读并理解你的代码库。&lt;&#x2F;strong&gt; 你可以让 Claude Code 解释某个功能，或在你的代码中追查一个 bug。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;编辑项目中的文件。&lt;&#x2F;strong&gt; Claude Code 可以重构一个函数，并更新所有引用它的文件。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;运行终端命令。&lt;&#x2F;strong&gt; 它能执行你的构建脚本、跑测试、安装软件包，并根据输出决定下一步做什么。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;搜索网络。&lt;&#x2F;strong&gt; 如果它需要文档或最新的 API 参考，它可以替你查。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;gao-xiao-shi-yong-claude-code&quot;&gt;高效使用 Claude Code&lt;&#x2F;h3&gt;
&lt;p&gt;要高效使用 Claude Code，请记住这三个概念：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;上下文窗口。&lt;&#x2F;strong&gt; 把它想象成 Claude 的工作记忆。它能装下很多内容，但没法一次装下所有东西。「智能体」的特性正体现在这里——Claude 会用策略性的办法在你的代码库中定位答案，而不是把整个代码库塞进上下文。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;它会请求许可。&lt;&#x2F;strong&gt; 默认情况下，Claude Code 在运行命令或做出更改之前会先征得你的同意。无论你喜欢亲力亲为还是放手让它干，主动权始终在你手上。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;它会犯错。&lt;&#x2F;strong&gt; 和任何工具一样，Claude Code 并不完美。它可能误解你的意图、引入 bug，或把方案做得过度复杂。保持参与能帮你尽早发现这些问题。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;Claude Code 是一款智能体编码工具。它读取你的代码库、编辑你的文件、运行命令，并连接外部工具，帮你更快地交付。你现在就可以在终端、VS Code、JetBrains 和 Claude Desktop 桌面应用中使用它。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;claude-code-de-gong-zuo-yuan-li&quot;&gt;Claude Code 的工作原理&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;claude-code-de-gong-zuo-yuan-li-1&quot;&gt;Claude Code 的工作原理&lt;&#x2F;h3&gt;
&lt;p&gt;Claude Code 与典型的聊天应用不同。了解它背后的工作原理，能帮你更有效地使用它。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;zhi-neng-ti-xun-huan&quot;&gt;智能体循环&lt;&#x2F;h3&gt;
&lt;p&gt;用**智能体循环（agentic loop）**来解释 Claude Code 最为贴切：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;你向 Claude Code 输入一条提示词。&lt;&#x2F;li&gt;
&lt;li&gt;Claude 通过与模型交互来收集所需的上下文，模型返回文本或一个 Claude Code 可以执行的工具调用。&lt;&#x2F;li&gt;
&lt;li&gt;它采取行动——例如编辑文件或运行命令。&lt;&#x2F;li&gt;
&lt;li&gt;它验证结果，判断是否达成了你的提示词所设定的目标。&lt;&#x2F;li&gt;
&lt;li&gt;如果达成了，Claude 就结束并等待下一条提示词；如果没有，它会回头重试，直到结果完整且可验证。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;在整个循环过程中，你随时可以补充上下文、打断它，或引导模型朝着你的目标前进。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shang-xia-wen&quot;&gt;上下文&lt;&#x2F;h3&gt;
&lt;p&gt;Claude 有一个&lt;strong&gt;上下文窗口&lt;&#x2F;strong&gt;，决定它能存储和引用多少对话内容、文件内容、命令输出等等。一旦达到上限，Claude Code 会压缩（compact）你的对话——自动判断哪些内容可以删除或摘要，把上下文窗口降回可用的大小。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gong-ju&quot;&gt;工具&lt;&#x2F;h3&gt;
&lt;p&gt;工具是智能体运作方式的支柱。大多数 AI 助手只是文本进、文本出。工具则让 Claude Code 能够判断_何时_执行代码来推进任务。它可以是一个读文件的工具、一个网络搜索工具，或者其他各种能力。Claude Code 通过语义理解来决定何时调用工具、如何使用工具的输出。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;quan-xian&quot;&gt;权限&lt;&#x2F;h3&gt;
&lt;p&gt;Claude Code 有几种权限模式：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;默认行为：&lt;&#x2F;strong&gt; Claude 在编辑文件或运行 shell 命令之前，会先请求你的明确许可。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;自动接受：&lt;&#x2F;strong&gt; 文件编辑不再询问，但运行命令仍需批准。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;计划模式：&lt;&#x2F;strong&gt; 在开始任何工作之前，只用只读工具制定一份行动方案。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;以上这些都可以在你的设置文件中配置。跳过权限时请务必谨慎——让 Claude Code 对运行命令拥有完全的自由，意味着错误可能在发生之前更难被拦住。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-1&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;Claude Code 融合了几个智能体概念：智能体循环、受管理的上下文窗口、工具，以及可配置的权限——全都装在你的终端里。它能读取你的代码库、采取行动、并验证自己的工作。这正是它从根本上区别于聊天窗口的地方。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;an-zhuang-claude-code&quot;&gt;安装 Claude Code&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;an-zhuang-claude-code-1&quot;&gt;安装 Claude Code&lt;&#x2F;h3&gt;
&lt;p&gt;无论你想在终端、网页还是 IDE 中使用，安装 Claude Code 都很简单。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;zhong-duan&quot;&gt;终端&lt;&#x2F;h3&gt;
&lt;p&gt;在 &lt;strong&gt;macOS、Linux 或 WSL&lt;&#x2F;strong&gt; 上，使用 curl 命令一步安装。如果你偏好 Homebrew，也可以用 &lt;code&gt;brew install&lt;&#x2F;code&gt;，但注意这种方式不支持自动更新。&lt;&#x2F;p&gt;
&lt;p&gt;在 &lt;strong&gt;Windows&lt;&#x2F;strong&gt; 上有几种选择。在 PowerShell 中使用 &lt;code&gt;Invoke-RestMethod&lt;&#x2F;code&gt; 命令；在 CMD 中使用 curl 命令。还有 winget 命令可用，不过和 Homebrew 一样，它不会自动更新。&lt;&#x2F;p&gt;
&lt;p&gt;安装完成后，你应该就能运行 &lt;code&gt;claude&lt;&#x2F;code&gt; 命令了。如果不行，重启你的终端。进入你的项目目录并运行：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;claude&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;你会经历一些初始设置步骤，比如选择配色主题、用你的 Claude 账号（Pro、Max 或 Enterprise）登录，或者使用 API key。如果你的组织有 Claude Enterprise 账号，请务必选择该选项。&lt;&#x2F;p&gt;
&lt;p&gt;你在哪个目录运行 &lt;code&gt;claude&lt;&#x2F;code&gt;，它就能访问那个目录及其所有子文件夹。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;visual-studio-code&quot;&gt;Visual Studio Code&lt;&#x2F;h3&gt;
&lt;p&gt;打开扩展面板，搜索「Claude Code」。找到 Anthropic 出品、带蓝色认证对勾的扩展，点击安装。&lt;&#x2F;p&gt;
&lt;p&gt;安装后可能需要重启 VS Code。启动后，用 &lt;code&gt;Ctrl&#x2F;Cmd + Shift + P&lt;&#x2F;code&gt; 打开命令面板，搜索「Claude Code Open in New Tab」。如果侧边栏里能看到 Claude 的图标，也可以直接点击它。&lt;&#x2F;p&gt;
&lt;p&gt;VS Code 扩展的体验与终端非常接近。你也可以在设置中选择不用这套 UI，直接使用终端体验。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;jetbrains&quot;&gt;JetBrains&lt;&#x2F;h3&gt;
&lt;p&gt;从 JetBrains Marketplace 安装 Claude Code 插件。安装后重启 IDE。重新打开时你会看到 Claude 的图标，点击它会打开一个面板，其中是与你编辑器并排工作的终端体验。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;zhuo-mian-ying-yong&quot;&gt;桌面应用&lt;&#x2F;h3&gt;
&lt;p&gt;安装并登录 Claude Desktop 后，你会在顶部看到一个标着「Code」的开关。它的外观和感觉与聊天界面类似，但它让你能在指定文件夹中工作、更改权限，甚至可以在云端环境中工作。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wang-ye-ban&quot;&gt;网页版&lt;&#x2F;h3&gt;
&lt;p&gt;在网页上，访问 &lt;code&gt;claude.ai&#x2F;code&lt;&#x2F;code&gt; 即可使用 Claude Code，或者点击聊天应用侧边栏中的「Code」标签。它与桌面应用的工作方式类似，但只能操作 GitHub 仓库。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gai-yong-na-yi-ge&quot;&gt;该用哪一个？&lt;&#x2F;h3&gt;
&lt;p&gt;如果你想站在最前沿，&lt;strong&gt;终端&lt;&#x2F;strong&gt;是最佳选择——新功能总是最先登陆终端。IDE 集成提供几乎完全相同的体验，适合希望 Claude Code 与代码编辑器结合得更紧密的人。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;桌面应用&lt;&#x2F;strong&gt;适合让 Claude 在后台跑任务，而你去处理别的事情。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;网页版 Claude Code&lt;&#x2F;strong&gt; 则是适合想通过 GitHub 仓库远程处理项目的人的稳妥选择。&lt;&#x2F;p&gt;
&lt;p&gt;你想怎么用 Claude Code，完全由你决定。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;ni-de-di-yi-ge-ti-shi-ci&quot;&gt;你的第一个提示词&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;ni-de-di-yi-ge-ti-shi-ci-1&quot;&gt;你的第一个提示词&lt;&#x2F;h3&gt;
&lt;p&gt;你与 Claude Code 对话，就像与任何 AI 助手对话一样。在输入提示词时，有几点值得考虑，它们既能保护你，也能让事情更顺利。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;zi-dong-jie-shou-vs-pi-zhun&quot;&gt;自动接受 vs. 批准&lt;&#x2F;h3&gt;
&lt;p&gt;你可以选择让 Claude 自动接受它提出的每一个文件改动，还是每次都请求你的明确许可。按 &lt;code&gt;Shift + Tab&lt;&#x2F;code&gt; 在各模式之间切换。&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;批准模式：&lt;&#x2F;strong&gt; Claude 每次要编辑文件或运行命令时都会请求许可。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;自动接受模式：&lt;&#x2F;strong&gt; 文件编辑自动通过，但运行命令仍需你的许可。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;没有标准答案——你自己舒服就好。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ji-hua-mo-shi&quot;&gt;计划模式&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;Shift + Tab&lt;&#x2F;code&gt; 菜单里还有&lt;strong&gt;计划模式（Plan Mode）&lt;&#x2F;strong&gt;。计划模式接收你的提示词，使用只读工具分析你的代码库、研究你建议的实现方式。它会一路提出澄清问题，最后给出一份它可以执行的详细计划。&lt;&#x2F;p&gt;
&lt;p&gt;计划模式非常适合规划复杂的改动，或者做一次安全的代码审查。很多时候你会让 Claude 处理一个功能的多步实现——这正是计划模式的用武之地。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shi-li-tian-jia-shen-se-mo-shi-kai-guan&quot;&gt;示例：添加深色模式开关&lt;&#x2F;h3&gt;
&lt;p&gt;我们来走一个例子。假设你有一个应用，需要加一个深色模式开关。打开项目根目录并运行 &lt;code&gt;claude&lt;&#x2F;code&gt;。连按几次 &lt;code&gt;Shift + Tab&lt;&#x2F;code&gt; 进入计划模式，然后写一条类似这样的提示词：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;My app needs a dark mode implemented across the entire app. Can you create a toggle switch on the header that allows a 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.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;让 Claude 把方案规划出来。审查完计划后，如果觉得不错，就接受它，并让 Claude 在每一步都请求你的批准。最后，你能清楚地看到 Claude 做了什么、以及它是如何得出结论的。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-2&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;使用 Claude Code 时，尽量把提示词写得具体详尽。如果你想每一步都保持在决策圈内，你完全可以做到。在执行任何代码之前，先用计划模式让 Claude 深入挖掘你想实现目标的细节。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;explore-plan-code-commit-gong-zuo-liu&quot;&gt;Explore → Plan → Code → Commit 工作流&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;explore-plan-code-commit-gong-zuo-liu-1&quot;&gt;Explore → Plan → Code → Commit 工作流&lt;&#x2F;h3&gt;
&lt;p&gt;如果这门课你只能带走一样东西，那就是这个工作流：&lt;strong&gt;Explore、Plan、Code、Commit&lt;&#x2F;strong&gt;。没有它，大多数人会直接让 Claude 写代码——这意味着后面要花更多功夫纠正方向。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;tan-suo-yu-gui-hua&quot;&gt;探索与规划&lt;&#x2F;h3&gt;
&lt;p&gt;处理前两步最快的方式就是&lt;strong&gt;计划模式&lt;&#x2F;strong&gt;。在计划模式下，Claude 不能编辑文件——它只读取文件，收集信息以确定如何着手实现。&lt;&#x2F;p&gt;
&lt;p&gt;要进入计划模式，按 &lt;code&gt;Shift + Tab&lt;&#x2F;code&gt;，直到在文本输入框下方看到「Plan Mode」。然后写一条类似这样的提示词：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;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.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Claude 会阅读相关文件、做一些网络搜索，然后给你一份行动方案。审查它，判断是否符合你的标准；不符合的话，让它修改具体的地方。&lt;&#x2F;p&gt;
&lt;p&gt;这是纠正方向的最佳时机，因为此时还没有写任何代码。如果你并不打算接着做改动，只是想要一份对代码库的整体概览，也可以不进计划模式、直接运行 explore 子代理。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;bian-ma&quot;&gt;编码&lt;&#x2F;h3&gt;
&lt;p&gt;计划看起来没问题后，选择「approve」接受它，让 Claude 按清单逐项推进。你可以选择让 Claude 自动接受文件编辑，还是每次都询问你。&lt;&#x2F;p&gt;
&lt;p&gt;在宣布计划「完成」之前，Claude 会尽力排查问题，但有时你需要亲自介入。这正是与计划模式协作的好处——执行之后，你还保有「结果是如何得出的」这一层上下文，它能帮你引导 Claude 的后续决策。&lt;&#x2F;p&gt;
&lt;p&gt;几个让编码阶段更顺畅的技巧：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;定义成功标准。&lt;&#x2F;strong&gt; 要让 Claude 对结果有信心，它得清楚「正确」长什么样。写计划时就把这一点写明确。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;添加工具。&lt;&#x2F;strong&gt; 能帮 Claude 达成目标的工具能省去大量来回。例如，如果你在做 Web UI，安装 Claude in Chrome 扩展，Claude Code 就能控制一个浏览器标签页、直接测试 UI。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;准备一套测试。&lt;&#x2F;strong&gt; 给 Claude 一套它可以持续对照验证的测试。Claude 甚至可以帮你写测试。交付之前，确保这些测试是可靠的事实来源，避免误报。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;小提示：&lt;&#x2F;strong&gt; 如果你发现 Claude 反复踩同一个坑，让它把解决办法存进它的 CLAUDE.md 文件。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ti-jiao&quot;&gt;提交&lt;&#x2F;h3&gt;
&lt;p&gt;在你亲自测试过改动、并对结果满意之后，就该推送代码了。提交之前，先运行一个&lt;strong&gt;子代理代码审查者&lt;&#x2F;strong&gt;来看看你的工作。子代理会带着一对「新眼睛」审视代码库——它不会带着主代理在本次会话中可能积累的偏见。&lt;&#x2F;p&gt;
&lt;p&gt;然后让 Claude 用你的风格生成一条提交信息。如此循环往复。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-3&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;要高效使用 Claude Code，请遵循 Explore、Plan、Code、Commit 工作流：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Explore&lt;&#x2F;strong&gt; 让 Claude 获得项目所需的相关上下文。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Plan&lt;&#x2F;strong&gt; 制定一份 Claude 用来衡量成败的行动方案。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Code&lt;&#x2F;strong&gt; 是你与 Claude 之间反复打磨、直至敲定最终结果的过程。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Commit&lt;&#x2F;strong&gt; 帮你审查并推送代码，好让你开始下一个功能。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;shang-xia-wen-guan-li&quot;&gt;上下文管理&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;shang-xia-wen-guan-li-1&quot;&gt;上下文管理&lt;&#x2F;h3&gt;
&lt;p&gt;上下文是 Claude 的工作记忆。它读的每个文件、跑的每条命令、你发的每条消息——都会占用上下文窗口的空间。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shen-me-shi-shang-xia-wen-chuang-kou&quot;&gt;什么是上下文窗口？&lt;&#x2F;h3&gt;
&lt;p&gt;把上下文窗口想象成 Claude 记忆里能容纳的空间总量。你每输入一条提示词、Claude 每读一个文件、每发起或接收一次工具调用结果，都会增加上下文窗口的占用。由于空间有限，优化使用方式就变得很重要。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shang-xia-wen-man-liao-hui-fa-sheng-shen-me&quot;&gt;上下文满了会发生什么&lt;&#x2F;h3&gt;
&lt;p&gt;当接近上限时，上下文窗口会被自动&lt;strong&gt;压缩（compaction）&lt;&#x2F;strong&gt;。压缩会把重要细节做成摘要、并移除不必要的工具调用结果，以腾出空间。注意，这个过程可能会丢失一些细节。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ming-ling&quot;&gt;命令&lt;&#x2F;h3&gt;
&lt;p&gt;你可以用 &lt;code&gt;&#x2F;compact&lt;&#x2F;code&gt; 命令手动执行压缩。它会把到那一刻为止的所有内容压缩。当你想在腾出上下文空间的同时保留之前工作的记忆时，它很顺手。&lt;&#x2F;p&gt;
&lt;p&gt;如果你想彻底从零开始、不留任何上一个会话的记忆，运行 &lt;code&gt;&#x2F;clear&lt;&#x2F;code&gt;。它会移除一切。&lt;&#x2F;p&gt;
&lt;p&gt;要查看上下文的状态，运行 &lt;code&gt;&#x2F;context&lt;&#x2F;code&gt; 命令。你会得到一份上下文大小的总览、占用空间最多的类别，以及一张展示分布的可视化图。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shen-me-shi-hou-yong-na-ge&quot;&gt;什么时候用哪个&lt;&#x2F;h3&gt;
&lt;p&gt;一条通用的经验法则：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;用 &lt;code&gt;&#x2F;compact&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;：当你在做一个具体的功能、即将撞上上下文上限、但还需要继续干的时候。让上下文与当前功能保持相关很重要。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;用 &lt;code&gt;&#x2F;clear&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;：当你要开始一个新功能的时候。你不会想让上一段对话给新任务带入偏见。对于希望 Claude 跨会话记住的内容，放进 CLAUDE.md 文件，这样它就不必从零重新摸索。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;jie-sheng-shang-xia-wen-kong-jian-de-ji-qiao&quot;&gt;节省上下文空间的技巧&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;写得具体。&lt;&#x2F;strong&gt; 模糊的提示词看起来更短，但从长远看反而消耗更多上下文。没有明确的指令，Claude 被迫更多地探索你的代码库、自己做推理——这比一条详尽的提示词占用的上下文空间多得多。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;管理你的 MCP 服务器。&lt;&#x2F;strong&gt; MCP 服务器默认会把它们所有可用的工具都加载进上下文，哪怕你根本没在用它们。如果你配置了一些与当前项目无关的服务器，考虑把它们关掉。你也可以试试「Skill」，它的工作方式与 MCP 服务器类似，但不会一开始就把所有内容加载进上下文。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;使用子代理。&lt;&#x2F;strong&gt; 子代理与你的主代理并行运行，但拥有完全独立的上下文窗口。对于你只需要一个答案的任务——比如「鉴权端点在哪里？」——子代理去干活，只把一份摘要返回给主代理，让你的主上下文保持干净。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-4&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;在 Claude Code 中管理上下文至关重要。用 &lt;code&gt;&#x2F;compact&lt;&#x2F;code&gt; 摘要长会话，用 &lt;code&gt;&#x2F;clear&lt;&#x2F;code&gt; 从头开始。要高效利用上下文窗口：提示词写具体、留意什么在消耗你当前的上下文、并把你只需要结果的任务委托给子代理。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;dai-ma-shen-cha&quot;&gt;代码审查&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;dai-ma-shen-cha-1&quot;&gt;代码审查&lt;&#x2F;h3&gt;
&lt;p&gt;Claude Code 内置了几个能让你的 git 工作流更快的功能。我们逐一来看。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yong-zi-dai-li-zuo-shen-cha&quot;&gt;用子代理做审查&lt;&#x2F;h3&gt;
&lt;p&gt;在推送 PR 之前，让 Claude 用一个&lt;strong&gt;子代理&lt;&#x2F;strong&gt;来审查你的改动。子代理在自己的上下文窗口中运行，视角是全新的——它不会带着刚刚写了一整个会话代码的主代理的偏见。&lt;&#x2F;p&gt;
&lt;p&gt;创建 code-reviewer 子代理时，把它限制在只读工具上。审查者应该标记问题，而不是编辑文件。把子代理的配置提交到你的仓库里，让整个团队用同一个审查者。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;commit-push-pr-skill&quot;&gt;&#x2F;commit-push-pr Skill&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;&#x2F;commit-push-pr&lt;&#x2F;code&gt; 这个 Skill 把提交、推送和创建 PR 合成一步完成。不用再一步步手动操作，只需运行这个 Skill，Claude 会替你搞定。&lt;&#x2F;p&gt;
&lt;p&gt;如果你配置了 Slack MCP 服务器、并在 CLAUDE.md 里列出了频道，它还会自动把 PR 链接发到你团队的频道里。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yong-from-pr-guan-lian-hui-hui-hua&quot;&gt;用 --from-pr 关联回会话&lt;&#x2F;h3&gt;
&lt;p&gt;当 Claude 通过 &lt;code&gt;gh pr create&lt;&#x2F;code&gt; 创建 PR 后，会话会自动与该 PR 关联。如果你之后需要回到它——比如处理审查意见或修复失败的构建——运行：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;claude --from-pr &amp;lt;PR_NUMBER&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;它会从你上次停下的地方继续。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-5&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;推送之前，用子代理做一次无偏见的代码审查。用 &lt;code&gt;&#x2F;commit-push-pr&lt;&#x2F;code&gt; 一步完成从提交到 PR 的全流程。再用 &lt;code&gt;--from-pr&lt;&#x2F;code&gt; 在之后恢复某个 PR 上的工作。这些都是小功能，但它们能为你日常工作流省掉大量摩擦。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;claude-md-wen-jian&quot;&gt;CLAUDE.md 文件&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;claude-md-wen-jian-1&quot;&gt;CLAUDE.md 文件&lt;&#x2F;h3&gt;
&lt;p&gt;Claude Code 最有用的功能之一就是 CLAUDE.md 文件。它为 Claude Code 提供关于你项目的持久记忆。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ta-jie-jue-de-wen-ti&quot;&gt;它解决的问题&lt;&#x2F;h3&gt;
&lt;p&gt;没有 CLAUDE.md 文件时，你每次打开 Claude Code，它都是从零开始。它得重新探索你的代码库、弄清楚需要哪些依赖、理解哪些功能已经实现。有时它还会自行假设，这会让你更难把 Claude 引向正确的方向。&lt;&#x2F;p&gt;
&lt;p&gt;CLAUDE.md 解决了这个问题。它是你放在项目根目录的一个 Markdown 文件，Claude Code 会在你每次开始会话时自动读取它。把它想成你代码库的入职手册。CLAUDE.md 文件的内容会被附加到你的提示词后面。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yi-ge-shi-li&quot;&gt;一个示例&lt;&#x2F;h3&gt;
&lt;p&gt;一个典型的 CLAUDE.md 文件长这样：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# Project&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;This is a Next.js 15 app using the App Router, Tailwind, and Drizzle ORM.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# Commands&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- Dev server: `pnpm dev`&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- Run tests: `pnpm test`&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- Lint: `pnpm lint`&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# Code Style&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- Use 2-space indentation&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- Prefer named exports&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- All API routes go in app&#x2F;api&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- Use server actions instead of API routes where possible&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;非常直白。现在如果你让 Claude Code 创建一个 React 组件，它已经知道要用 Tailwind 做样式、并遵循你的代码约定。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;claude-md-shi-gei-tuan-dui-yong-de&quot;&gt;CLAUDE.md 是给团队用的&lt;&#x2F;h3&gt;
&lt;p&gt;你可以（也应该）把 CLAUDE.md 提交到版本控制，让整个团队受益。记忆文件实际上有层级之分，取决于它是给谁用的：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;项目级 CLAUDE.md&lt;&#x2F;strong&gt; 放在你项目的根目录。与团队共享。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;用户级 CLAUDE.md&lt;&#x2F;strong&gt; 放在你的配置文件夹里。它只属于你，并对你所有的项目生效。把个人偏好放在这里。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;ji-qiao&quot;&gt;技巧&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;把纠正存进记忆。&lt;&#x2F;strong&gt; 如果你发现自己在反复纠正 Claude——比如总是要提醒它用 server actions 而不是 API routes——就明确让 Claude 把这条规则存进记忆。下次打开项目时，它就知道了。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;引用项目文档。&lt;&#x2F;strong&gt; 如果项目中有你想让 Claude 参考的文档，用 &lt;code&gt;@&lt;&#x2F;code&gt; 符号加文件路径：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;## README.md&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Please read if you need more info: @README.md&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;先从没有它开始。&lt;&#x2F;strong&gt; 我们建议在项目初期不建 CLAUDE.md 文件，这样你能观察到自己在哪些地方不得不不断纠正模型。这能让你的 CLAUDE.md 保持精炼，只写必要的信息。等你准备好了，运行 &lt;code&gt;&#x2F;init&lt;&#x2F;code&gt; 让 Claude 帮你生成一份。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-6&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;一次令人沮丧的 Claude Code 会话和一次高效的会话，差别往往就在上下文——而 CLAUDE.md 文件正是你提供上下文的方式。从你的技术栈、你的偏好、你的命令开始，然后在使用过程中逐步完善。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;zi-dai-li&quot;&gt;子代理&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;zi-dai-li-1&quot;&gt;子代理&lt;&#x2F;h3&gt;
&lt;p&gt;Claude 可以把任务委托给子代理，由它们把任务拆解、并行运行各个子任务，从而改善你的上下文管理。每个子代理都在自己隔离的上下文窗口中运行。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gong-zuo-yuan-li&quot;&gt;工作原理&lt;&#x2F;h3&gt;
&lt;p&gt;在 Claude Code 中管理上下文很重要。上下文窗口的很大一部分会被探索代码库的工具调用、或做调研的网络搜索消耗掉。而 Claude 在探索过程中的发现，并不总是与你正在开发的主功能相关。&lt;&#x2F;p&gt;
&lt;p&gt;这就是子代理的用武之地。Claude 会生成一个子代理来处理诸如「帮我探索这个代码库」的任务。子代理用它自己的上下文窗口并行运行，完成所有探索工作，结束后把发现总结成摘要、返回给 Claude。&lt;&#x2F;p&gt;
&lt;p&gt;结果是：你得到了想要的答案，而找到答案的整个过程不会弄乱你的主上下文。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;chuang-jian-ni-zi-ji-de-zi-dai-li&quot;&gt;创建你自己的子代理&lt;&#x2F;h3&gt;
&lt;p&gt;子代理用带 YAML frontmatter 的 Markdown 文件定义。上手最简单的方式是让 Claude 帮你生成一个。运行：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;agents&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;然后选择「Create new agent」。你会走过几个步骤，包括选择代理的作用范围、定义它的用途、选择它能使用的工具，甚至还能给它挑个颜色。&lt;&#x2F;p&gt;
&lt;p&gt;Claude 会为子代理生成名称、描述和提示词。这同时也告诉 Claude，根据你给的提示词，什么时候该调用这个子代理。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;jin-yi-bu-zi-ding-yi&quot;&gt;进一步自定义&lt;&#x2F;h3&gt;
&lt;p&gt;子代理还可以进一步定制。以下是几个亮点：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;持久记忆&lt;&#x2F;strong&gt;让你的子代理跨对话保留记忆。如果你一直在同样的项目上使用它，这非常有用。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;预加载 Skill&lt;&#x2F;strong&gt;：通过添加 &lt;code&gt;skill&lt;&#x2F;code&gt; 键并按名称列出 Skill，把它们预加载进子代理。注意，与主对话中的 Skill 不同，这里会把整个 Skill 完整加载进上下文。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;xiao-jie-7&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;保持上下文窗口干净，是在 Claude Code 中保持高效的最佳方式之一。有了子代理，你可以让一个智能体在后台干重活，只把答案返回到你的主上下文窗口。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;想深入了解？&lt;&#x2F;strong&gt; 看看我们的专门课程：&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;anthropic.skilljar.com&#x2F;introduction-to-subagents&quot;&gt;子代理入门&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;skill&quot;&gt;Skill&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;wen-zhang&quot;&gt;文章&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;想深入了解？&lt;&#x2F;strong&gt; 看看我们的专门课程：&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;anthropic.skilljar.com&#x2F;introduction-to-agent-skills&quot;&gt;智能体 Skill 入门&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;mcp&quot;&gt;MCP&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;mcp-1&quot;&gt;MCP&lt;&#x2F;h3&gt;
&lt;p&gt;模型上下文协议（Model Context Protocol，MCP）是一个开放标准，让 Claude Code 能够连接外部工具和数据源。当你提问时，Claude 会自动判断何时该使用这些工具来更好地处理你的请求。&lt;&#x2F;p&gt;
&lt;p&gt;你的很多上下文其实生活在代码库之外——在数据库、效率工具或公开仓库里。MCP 弥合了这道鸿沟。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yong-ta-neng-zuo-shen-me&quot;&gt;用它能做什么？&lt;&#x2F;h3&gt;
&lt;p&gt;首先，要理解智能体 AI 中「工具」的概念。工具赋予像 Claude Code 这样的智能体执行动作的能力，帮它们更有效地完成任务。这与典型的 AI 不同——后者只会给你返回一段文本。&lt;&#x2F;p&gt;
&lt;p&gt;例如，如果你的团队用 Linear 做项目管理，你可以添加一个 Linear MCP 服务器，把你具体 issue 的细节带进来。如果你需要某个依赖的最新文档，像 Context7 这样的文档 MCP 服务器可以提供给它。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;tian-jia-mcp-fu-wu-qi&quot;&gt;添加 MCP 服务器&lt;&#x2F;h3&gt;
&lt;p&gt;你可以用 &lt;code&gt;claude mcp add&lt;&#x2F;code&gt; 命令添加 MCP 服务器。主要有两种类型：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTTP 服务器&lt;&#x2F;strong&gt;用于远程服务。它们由服务提供方托管，通过网络连接。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Stdio 服务器&lt;&#x2F;strong&gt;用于在你本机上运行的本地进程。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;你可以在 Claude Code 会话中用 &lt;code&gt;&#x2F;mcp&lt;&#x2F;code&gt; 管理你的服务器：查看连接了什么、检查状态、禁用你不需要的服务器。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fu-wu-qi-de-zuo-yong-yu&quot;&gt;服务器的作用域&lt;&#x2F;h3&gt;
&lt;p&gt;MCP 服务器可以用三种方式限定作用域：&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Local（本地）&lt;&#x2F;strong&gt;——只在当前项目中可用，仅对你自己。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;User（用户）&lt;&#x2F;strong&gt;——对你所有的项目可用。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Project（项目）&lt;&#x2F;strong&gt;——使用一个 &lt;code&gt;.mcp.json&lt;&#x2F;code&gt; 文件并提交到版本控制，这样任何使用这个代码库的人都会自动获得完全相同的服务器。&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;shang-xia-wen-cheng-ben&quot;&gt;上下文成本&lt;&#x2F;h3&gt;
&lt;p&gt;MCP 服务器会把工具定义加进你的上下文窗口——即使你并没有在实际使用它们。如果你配置了很多服务器，这会吃掉你可用的上下文。运行 &lt;code&gt;&#x2F;mcp&lt;&#x2F;code&gt; 看看连接了什么，把没在用的都禁用掉。&lt;&#x2F;p&gt;
&lt;p&gt;如果某个工具有等价的 CLI（比如 GitHub 的 &lt;code&gt;gh&lt;&#x2F;code&gt; 或 AWS 的 &lt;code&gt;aws&lt;&#x2F;code&gt;），CLI 更省上下文，因为它不会添加常驻的工具定义。&lt;&#x2F;p&gt;
&lt;p&gt;你也可以考虑改用 &lt;strong&gt;Skill&lt;&#x2F;strong&gt;。一个 Skill 只把名称和描述加载进上下文，Claude 只有在判断需要用到它时才加载完整内容。&lt;&#x2F;p&gt;
&lt;p&gt;如果你的 MCP 工具超过了上下文窗口的 10%，Claude Code 会自动切换到工具搜索模式，按需发现合适的工具——不过这种方式可能没那么可靠。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-8&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;MCP 把 Claude Code 连接到你的外部工具和数据源。用 &lt;code&gt;claude mcp add&lt;&#x2F;code&gt; 添加服务器。用 &lt;code&gt;.mcp.json&lt;&#x2F;code&gt; 把它们限定到项目作用域，让团队自动获得。并留意上下文占用，禁用没在用的服务器。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;gou-zi&quot;&gt;钩子&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;gou-zi-1&quot;&gt;钩子&lt;&#x2F;h3&gt;
&lt;p&gt;钩子（hook）让你在 Claude Code 生命周期的特定时点运行命令。钩子与本课程讲过的其他一切的关键区别在于：钩子是&lt;strong&gt;确定性&lt;&#x2F;strong&gt;的——它们总会运行。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wei-shen-me-yao-yong-gou-zi&quot;&gt;为什么要用钩子&lt;&#x2F;h3&gt;
&lt;p&gt;你可以在 CLAUDE.md 里告诉 Claude 每次文件编辑后运行 Prettier。大多数时候它会照做。但有时不会。钩子则能让这件事每一次都发生，没有例外。&lt;&#x2F;p&gt;
&lt;p&gt;常见用例包括：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;文件编辑后自动格式化&lt;&#x2F;li&gt;
&lt;li&gt;记录所有执行过的命令以备合规审查&lt;&#x2F;li&gt;
&lt;li&gt;阻止危险操作，比如修改生产环境文件&lt;&#x2F;li&gt;
&lt;li&gt;在 Claude 完成任务时给你发通知&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;gong-zuo-fang-shi&quot;&gt;工作方式&lt;&#x2F;h3&gt;
&lt;p&gt;钩子配置在你的 &lt;code&gt;settings.json&lt;&#x2F;code&gt; 里。你选定一个事件，可选地为它适用的工具设置一个匹配器（matcher），再提供一条要运行的命令。可用的事件有：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PreToolUse&lt;&#x2F;strong&gt; — 在工具调用之前运行&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;PostToolUse&lt;&#x2F;strong&gt; — 在工具调用完成后运行&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;UserPromptSubmit&lt;&#x2F;strong&gt; — 在你提交提示词之后、Claude 处理之前运行&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Stop&lt;&#x2F;strong&gt; — 在 Claude 结束响应时运行&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Notification&lt;&#x2F;strong&gt; — 在 Claude 发出通知时运行&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;你可以在 Claude Code 里通过 &lt;code&gt;&#x2F;hooks&lt;&#x2F;code&gt; 命令配置它们，或直接编辑 &lt;code&gt;settings.json&lt;&#x2F;code&gt;。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yi-ge-shi-yong-shi-li&quot;&gt;一个实用示例&lt;&#x2F;h3&gt;
&lt;p&gt;最常见的钩子：编辑后自动格式化。设置一个 &lt;strong&gt;PostToolUse&lt;&#x2F;strong&gt; 钩子，匹配器为 &lt;code&gt;&quot;Edit|MultiEdit|Write&quot;&lt;&#x2F;code&gt;，这样每当 Claude 修改文件时它就会触发。命令检查文件扩展名，运行相应的格式化工具——TypeScript 用 Prettier，Go 用 gofmt，你的项目用什么就用什么。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yong-pretooluse-zu-zhi-cao-zuo&quot;&gt;用 PreToolUse 阻止操作&lt;&#x2F;h3&gt;
&lt;p&gt;PreToolUse 钩子可以在工具调用执行之前&lt;strong&gt;阻止它&lt;&#x2F;strong&gt;。你的钩子会以 JSON 形式从标准输入（stdin）收到工具名称和输入，退出码决定行为：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;退出码 0&lt;&#x2F;strong&gt; — 正常继续。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;退出码 2&lt;&#x2F;strong&gt; — 阻止该操作。标准错误（stderr）上的消息会作为反馈回传给 Claude，让它知道自己为什么被阻止、并做出调整。&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;其他任何退出码&lt;&#x2F;strong&gt; — 一个非阻断性错误，会展示给你，但不会阻止任何事。&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;这就是你执行硬性规则的方式。阻止对生产配置目录的写入。阻止包含 &lt;code&gt;rm -rf&lt;&#x2F;code&gt; 的 bash 命令。阻止向 main 提交。你的团队需要得到_保证_的事情，而不是仅仅被建议的事情，都用这个。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yu-tuan-dui-gong-xiang-gou-zi&quot;&gt;与团队共享钩子&lt;&#x2F;h3&gt;
&lt;p&gt;配置在 &lt;code&gt;.claude&#x2F;settings.json&lt;&#x2F;code&gt; 中的钩子是项目级的，可以提交到你的仓库——这意味着整个团队会自动获得相同的钩子。在命令中使用 &lt;code&gt;CLAUDE_PROJECT_DIR&lt;&#x2F;code&gt; 环境变量来引用存放在项目中的脚本，这样无论 Claude 当前的工作目录在哪里，它们都能正常工作。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xiao-jie-9&quot;&gt;小结&lt;&#x2F;h3&gt;
&lt;p&gt;钩子让你对 Claude Code 的行为拥有确定性的控制。用 PostToolUse 做自动格式化和日志记录。用 PreToolUse 阻止危险操作。用 &lt;code&gt;&#x2F;hooks&lt;&#x2F;code&gt; 或在 &lt;code&gt;settings.json&lt;&#x2F;code&gt; 中配置。并把它们提交到仓库，让团队也能用上。&lt;&#x2F;p&gt;
&lt;p&gt;如果一件事必须每次都无一例外地发生，别把它写进提示词。把它写进钩子。&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;ke-cheng-ce-yan&quot;&gt;课程测验&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;共 7 题：Q1–Q4 为知识选择题（判分），Q5–Q6 为满意度调查（不计分），Q7 为开放反馈。通过线 75%（至少 4&#x2F;5）。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;q1-claude-code-works-as-an-ai-agent-what-is-an-ai-agent&quot;&gt;Q1. Claude Code works as an AI agent. What is an AI agent?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;实时回答问题的聊天机器人&lt;&#x2F;li&gt;
&lt;li&gt;带内置自动补全功能的代码编辑器&lt;&#x2F;li&gt;
&lt;li&gt;托管你开发项目的云服务&lt;&#x2F;li&gt;
&lt;li&gt;能够采取行动完成目标的 AI ✅（正确答案）&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;q2-what-happens-when-claude-code-reaches-its-context-window-limit&quot;&gt;Q2. What happens when Claude Code reaches its context window limit?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;它会切换到更小、更快的模型以节省内存&lt;&#x2F;li&gt;
&lt;li&gt;它会删除你最旧的文件来为新文件腾地方&lt;&#x2F;li&gt;
&lt;li&gt;它会自动压缩你的对话以腾出空间 ✅（正确答案）&lt;&#x2F;li&gt;
&lt;li&gt;它会停止工作并要求你重启会话&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;q3-what-is-the-recommended-workflow-for-using-claude-code-effectively&quot;&gt;Q3. What is the recommended workflow for using Claude Code effectively?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Code → Test → Deploy → Monitor&lt;&#x2F;li&gt;
&lt;li&gt;Explore → Plan → Code → Commit ✅（正确答案）&lt;&#x2F;li&gt;
&lt;li&gt;Write → Review → Merge → Ship&lt;&#x2F;li&gt;
&lt;li&gt;Prompt → Accept → Push → Repeat&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;q4-how-does-claude-code-use-the-claude-md-file&quot;&gt;Q4. How does Claude Code use the CLAUDE.md file?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;只在你运行 &#x2F;init 命令之后才读取它&lt;&#x2F;li&gt;
&lt;li&gt;只在你首次创建项目时读取一次&lt;&#x2F;li&gt;
&lt;li&gt;在每个会话开始时自动读取 ✅（正确答案）&lt;&#x2F;li&gt;
&lt;li&gt;只在你明确要求时才读取它&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;q5-how-satisfied-are-you-with-the-content-provided-in-this-course&quot;&gt;Q5. How satisfied are you with the content provided in this course?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;完全不满意&lt;&#x2F;li&gt;
&lt;li&gt;不太满意&lt;&#x2F;li&gt;
&lt;li&gt;不好说&lt;&#x2F;li&gt;
&lt;li&gt;满意&lt;&#x2F;li&gt;
&lt;li&gt;非常满意&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;q6-how-likely-are-you-to-recommend-this-course-to-a-friend-or-coworker&quot;&gt;Q6. How likely are you to recommend this course to a friend or coworker?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;完全不可能&lt;&#x2F;li&gt;
&lt;li&gt;不太可能&lt;&#x2F;li&gt;
&lt;li&gt;不好说&lt;&#x2F;li&gt;
&lt;li&gt;可能&lt;&#x2F;li&gt;
&lt;li&gt;非常可能&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;q7-is-there-any-feedback-you-d-like-to-provide-based-upon-your-experience-with-this-course-so-far&quot;&gt;Q7. Is there any feedback you&#x27;d like to provide based upon your experience with this course so far?&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;em&gt;（开放文本题）&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
</content>
        </entry>
</feed>
