来源:互联网 更新时间:2026-06-08 07:16
这个系列的课程带着大家学习 Claude Code,我想先调整一下节奏。咱们不急着扎进某个局部概念,而是先站高一点,把 Claude Code 这一整套东西看个完整。只有全局画面先建立起来,后面你再接触 Memory、Skills、SubAgents、Hooks、MCP、Plugin、Agent SDK 这些能力时,才不会觉得它们是彼此割裂的碎片。
咱们先想一个根本性的问题:Claude Code 到底是什么?
有人说,它是一个能看懂代码的 AI 助手;有人说,它就是命令行里的 AI 编程工具;也有人把它理解成一个更强的 Copilot,能读代码、改代码、跑命令、提 PR。这些理解都没错,但都只说到了一层。
如果站在 2026 年这个时间点再审视,Claude Code 更准确的身份,其实是一个
换个更形象的比喻:Claude Code 不只是一个工具,更像一台可以改装的机器。你当然可以直接开,但你也可以给它加传感器、接自动化、装插件、换控制系统,最后把它改造成一条稳定运转的生产线。
这一讲,咱们就先一起把这台机器的内部结构看清楚。
先别急着谈架构,先让它跑起来。根据当前官方文档,Claude Code 已经不再只是终端工具了,它现在同时覆盖终端、VS Code、JetBrains、Desktop、Web、移动端接力这些入口。不过,如果你是第一次接触,我还是建议从 CLI 开始,因为这条链路最直观,也最容易理解它背后的工作方式。
安装方式很简单,这里快速过一下:
# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
# Homebrew
brew install --cask claude-code
# WinGet
winget install Anthropic.ClaudeCode
进入项目目录后执行:
cd your-project
claude
第一次启动会引导你登录。和早期版本相比,一个很明显的变化是,Claude Code 的可用入口已经比以前丰富得多。除了 Claude 订阅和 Anthropic Console 账户之外,终端 CLI 和 VS Code 这条线也支持第三方提供方接入。这个变化很关键,它说明 Claude Code 已经不再只是一个单点产品,而是在往平台化能力演进。
如果你习惯 IDE,如今官方已经不再是简单地让你外部开个终端配合编辑器使用。VS Code 扩展现在是正式主入口之一,也是官方推荐方式。它已经支持 inline diff、@ 引用文件和目录、计划审阅、对话历史、多会话并行、远程会话恢复、终端输出引用、checkpoint 回溯这些能力。JetBrains 也有专门插件,不再是弱集成。
Desktop 和 Web 这两条线也值得单独提一下。Desktop 现在已经不是一个单纯的图形壳子,它支持多会话并行、可视化 diff 审阅、Schedule 页面、Dispatch 拉起会话、以及本地和远程任务的统一管理。Web 端也不只是网页聊天框,现在它可以直接发起云端代码会话、跑长任务、创建 cloud scheduled tasks,还能把任务从浏览器或手机接回本地终端。
所以,今天再说 Claude Code 是一个命令行工具,严格来说已经不够了。更准确的说法应该是,它有一个终端起家的内核,然后长出了一整套多端协同的工作界面。
大多数人一开始用 Claude Code,路径都差不多:用户提一个问题,Claude 回答,任务结束。这当然已经很有价值。你可以让它理解项目、补一个函数、修一个 bug、整理提交、生成 PR。对很多人来说,这一步已经足够强了。
但如果只停在这里,其实你用到的还是表层能力。你是在用它,却还没有真正驾驭它。真正的进阶,发生在你开始把 Claude Code 当成工作流底座来使用的时候。这个时候你不只是提问,你会开始设计规则、配置记忆、拆分任务、接外部工具、设置自动检查、安排周期任务,甚至让它从 Telegram、Discord、iMessage、CI、Slack 或 Webhook 主动接收事件。
这个差别,用学开车来打比方就很容易理解。
对 Claude Code 也是一样。
我们这一讲的目标,就是先带你看到引擎盖下面的东西。
如果把 Claude Code 的能力拆开看,我更愿意把它理解成
这个拆法的好处在于,每一层都在回答一个不同的问题。
下面我们一层一层看。
很多人提到 Claude Code 记忆时,第一反应还是 CLAUDE.md。这个理解不能说错,但今天已经不完整了。截至 2026 年,Claude Code 的记忆体系至少要分成两部分看。
第一部分是你主动写进去的记忆,也就是各种 CLAUDE.md、规则文件和设置。它负责告诉 Claude 项目结构、技术栈、团队规范、禁区和工作流要求。
第二部分是它自己积累出来的
官方文档现在明确把这两套记忆并列出来了:
CLAUDE.md 适合写规范、规则、架构、流程也就是说,Claude Code 今天已经不只是读你给它的手册,它还会自己做笔记。
再往细一点看,CLAUDE.md 也已经不是单层结构。现在官方文档里支持:
@path/to/import 引入其他规则文件.claude/rules/ 做更细粒度的目录或模块规则所以你可以把这套机制理解成 Claude 的入职培训体系。
很多人一开始把 CLAUDE.md 写成一份超长说明书,结果 Claude 反而执行不稳定。原因很简单,记忆系统的价值从来都不在于字数多,而在于信息是不是稳定、具体、可执行。真正有用的记忆,往往是简洁的规则、明确的约束和高频会用到的背景,而不是把所有知识一股脑塞进去。
这一层是 Claude Code 的能力中心,原始框架里把它拆成 Commands、Skills、SubAgents、Hooks。我觉得这个拆法今天依然成立,而且比以前还更清楚。
Slash Command 的本质,是把一段你会高频重复使用的提示词或工作流显式打包成一个入口。你手动触发,它稳定执行。它特别适合那些你不希望 Claude 自己猜,而希望你明确下达指令的场景。比如统一 commit 流程、固定 review 模板、部署动作、PR 评论整理、晨报生成,这些都很适合做成 Slash Command。它的核心价值是
Skill 的价值,不在于它能不能调用工具,而在于它把判断逻辑、行为策略、执行顺序和上下文约束装进了一套能力说明里。这一点特别容易被低估。很多人第一次接触 Skill,第一反应是,这不就是高级一点的 tool 包装吗。其实差别很大。Tool 解决的是“我能不能做”。Skill 解决的是“我什么时候该做、该怎么做、做到什么程度”。
举个例子。用户说:“帮我看看这段代码有没有安全问题。”如果只是工具调用,Claude 可以直接去读代码。但如果真要做好,它其实要先判断代码类型、运行环境、用户输入来源、鉴权逻辑、暴露面,再决定是轻量审一遍,还是深入挖。这个过程显然不是固定 checklist,它更接近一种上下文判断。Skill 在这里更像一套
SubAgent 是 Claude Code 很有威力的一环,因为它同时解决了两个问题:
以前很多人对 AI 编程的一个抱怨是,越聊越乱。前面聊的是架构,后面掺进测试,再后来又塞进一堆日志、diff、命令输出,主上下文很快就脏了。SubAgent 的作用,就是把高噪声、高负载、可分工的任务拆出去,让专门的袋里独立处理,再把结果带回来。
而且现在和早期相比,SubAgent 已经不是一个纯高级技巧了。官方文档里已经把内建子袋里做成了正式组成部分,至少包括:
除此之外,你也可以通过 /agents 或配置文件创建自定义子袋里。Claude 会根据每个子袋里的描述,自行判断什么时候该委派。这点很重要,它说明 Claude Code 的任务拆分能力,已经从 prompt 小技巧,变成了产品级能力。
如果说前面三个组件解决的是能力和分工,那么 Hook 更像系统里的守门员和自动化总线。早期很多人对 Hook 的理解还停留在“工具调用前后跑个 shell 脚本”,这个理解今天已经太窄了。
现在官方 Hook 体系的覆盖面明显更完整,它已经覆盖了大量生命周期事件,比如:
SessionStartInstructionsLoadedUserPromptSubmitPreToolUsePermissionRequestPostToolUseSubagentStartSubagentStopPreCompactPostCompactSessionEnd而且 Hook 的类型也不再只有命令脚本。官方文档现在明确支持:
这意味着什么?意味着 Hook 已经从一个简单脚本回调点,进化成了一套完整的事件自动化系统。你可以在 PreToolUse 阶段拦高风险命令,可以在 SessionStart 阶段自动注入上下文,可以在 PostToolUse 阶段异步跑测试,可以在 PreCompact 和 PostCompact 上围绕上下文压缩做状态处理,也可以在 MCP elicitation 阶段接管交互。
尤其是新版本的 async hooks,我觉得很实用。以前你要在写文件后自动跑一套测试,经常会卡住主流程。现在可以把这类检查挂成异步 Hook,在 Claude 继续工作的同时后台执行,结果在下一轮再反馈回来。从工程视角看,Hook 现在已经更像一条内部自动化总线,而不只是一个补丁点。
如果说前两层解决的是 Claude 知道什么、会做什么,那这一层解决的就是它怎么和外部世界连接,以及怎么在你不盯着的时候继续工作。原来的讲法把这一层主要概括成 Headless 和 MCP,这个框架依然成立,但今天如果只讲这两个,就明显不够了。因为这一层近阶段扩张得很快,至少还要把 Channels、三种定时机制、Remote Control、多端协同都放进来。
以前讲的是 Headless,这个概念在今天依然有用,但在官方文档里更常见的实际入口,已经是 print mode 这套非交互模式,比如 claude -p。它的意义不只是无人值守,而是把 Claude Code 变成一个可以被脚本、CI、流水线和外部系统稳定调用的执行单元。
现在你可以:
claude -p 直接跑单次任务--resume、--continue 续接会话--output-format 或 --json-schema 拿结构化输出--remote 发起云端会话--remote-control 让本地会话可从其他设备接管这意味着 Claude Code 今天的自动化能力,已经不只是能不能无人值守,而是能不能被系统化编排。
MCP 到今天已经不需要再解释成一个前沿新概念了,它已经是 Claude Code 连接外部工具的标准入口之一。数据库、Jira、Slack、Google Drive、内部 API、知识库,这些原来和 Claude 之间隔着一层手工复制粘贴的东西,现在都可以通过 MCP 接进去。
而且 MCP 现在的能力也已经比最初丰富很多。除了工具调用之外,官方文档里还明确支持:
@ 直接引用这里有个很值得关注的新点,就是 MCP resources。现在 MCP 服务器暴露的资源已经可以像文件一样,通过 @server:protocol://path 直接引用进提示词里了。对知识库、文档系统、数据库 schema、Issue 内容这类信息来说,这个体验比纯工具调用顺手很多。
tool search 也值得单独提一句。它默认会把 MCP 工具定义延迟到真正需要时再加载,这样即便你接了很多服务器,也不会把上下文窗口一上来就占满。这个能力对大规模工具接入非常关键。
截至 2026 年 3 月,Claude Code 官方已经把 Channels 作为 Automation 分类下的正式能力来介绍了。它目前还是 research preview,需要 Claude Code v2.1.80+,并且要求使用 claude.ai 登录,Console 和 API key 认证暂时不支持。
Channels 可以怎么理解?它本质上是一个能把外部事件主动推送进当前 Claude 会话的 MCP 通道。也就是说,Claude 不必自己去轮询外部系统,外部系统就可以把消息、告警、Webhook、CI 结果直接推进来。这件事听起来很小,实际上意义很大。因为一旦有了 Channels,Claude Code 的交互模式就从“你坐在终端前主动问它”,变成了“终端开着,外部世界主动把事件推给它,它再在原会话里继续处理”。
官方当前给了 Telegram、Discord、iMessage 三个研究预览通道,还提供了 fakechat 这个 localhost demo。它们都是以 plugin 形式安装,然后通过 claude --channels plugin:... 启动。我觉得可以把 Channels 理解成 Claude Code 的事件入口层。如果说 /loop 解决的是定时轮询,Channels 解决的就是事件驱动。前者适合隔几分钟看看部署好了没,后者适合 CI 失败后立刻把结果推过来。这也是为什么官方文档会明确说,想对事件实时响应,就优先用 Channels,而不是不断轮询。
站在今天看,Claude Code 的定时能力已经不该再靠自己拼凑了,因为官方已经把它正式产品化了。截至 2026 年 3 月,官方文档明确给了三种定时机制:
/loop这三种机制的边界非常清楚。
这是跑在 Anthropic 云端基础设施上的定时任务。机器关机也能跑,适合日常 PR 巡检、夜间 CI 失败分析、周级依赖审计、文档同步这类稳定重复工作。它可以从 Web、Desktop 或 CLI 的 /schedule 创建。每次运行会 fresh clone 仓库,支持配置环境、网络权限、连接器、仓库权限和自定义 cron 表达式。默认按你本地时区执行,最小间隔是 1 小时。这意味着它早就超出简单 cron 封装的范畴了,官方现在给到的是一整套云端周期任务系统。
这类任务跑在你本机上,但不要求当前会话一直开着。只要 Desktop 应用开着、机器醒着,它就可以按计划启动新会话执行任务。它的优势在于能直接访问你本地文件和本地工具,这一点 Cloud 任务做不到。
/loop这是 CLI 里最轻量的定时能力,也是最容易上手的一种。它本质上是一个内建 bundled skill,可以在当前会话里快速设置周期任务。
比如:
/loop 5m check if the deployment finished and tell me what happenedClaude 会把这个自然语言间隔转成 cron 表达式,在当前进程内后台运行。它特别适合会话内的临时轮询,比如盯部署、盯构建、盯某个 PR 状态。不过它也有明显限制:
所以建议很简单:如果你只是会话内临时盯一件事,用 /loop。如果你需要本地文件和本地工具,但又希望稳定按时运行,用 Desktop scheduled tasks。如果你要真正无人值守、机器关了也继续跑,就上 Cloud scheduled tasks。也就是说,Claude Code 今天已经不再是只能靠外部 cron 驱动的系统,它自己已经内建了成体系的定时能力。
另一个很容易被低估的新能力,是 Remote Control。官方文档现在已经把它当成正式跨端协作入口。它允许你把一条本地 Claude Code 会话,通过浏览器、手机、平板继续接管。核心点在于,任务本身依旧跑在你的本地机器上,只是通过 claude.ai/code 或移动端界面远程接管这条会话。
它的价值在于:
从使用体验上看,这相当于把本地 Agent 变成了一个可跨设备操作的持续运行单元。如果再和 Channels 结合起来看,Claude Code 今天其实已经开始具备一种持续在线工作体的雏形了:
这三块加在一起,才是 Claude Code 今天真正和早期纯终端助手拉开差距的地方。
当你把 Commands、Skills、SubAgents、Hooks、MCP 这些东西一套一套沉淀出来,想要分享给团队或社区时,就需要 Plugin。我一直觉得,Plugin 更像一个
截至 2026 年,Plugin 已经比很多人想象中更完整了。官方结构里除了常见的 commands/、agents/、skills/、hooks/、.mcp.json,现在还包括:
.lsp.json,用来挂语言服务器,提供代码智能settings.json,可以指定插件启用时默认激活哪个 agent.claude-plugin/plugin.json,作为插件 manifest这意味着 Plugin 已经不只是一个共享命令包,它正在变成 Claude Code 的
.lsp.json 这一块,很值得注意。因为它说明官方已经在把代码智能这一层也纳入插件体系。你接的不只是命令和工作流,还可以接语言服务能力。所以今天如果还把插件理解成“一堆 markdown 文件打包分享”,那就有点低估它了。如果前面几层还是配置驱动,那到了这一层,你已经可以直接写代码来编排 Claude 了。这里有一个必须更新的点。原来很多材料会写 Claude Code SDK,但截至 2026 年 3 月,官方已经正式把它更名为
所以今天更准确的理解应该是:
官方文档里现在强调的几个点,我觉得很值得你记住。
也就是说,你拿到的不只是一个聊天接口,你拿到的是和 Claude Code 本体同源的一套袋里循环能力。Claude 可以自己读文件、跑命令、改代码、用 WebSearch、用 WebFetch、用 Agent 工具拆子任务。
现在 SDK 不只是发一次 query。它支持 resume、continue、forkSession、持久化或非持久化 session、在指定消息点恢复会话、查询最近 session。这意味着你完全可以自己做一个多轮、可恢复、可回放的 Agent 系统。
官方现在已经把 streaming input 和 streaming output 单独做成了能力说明。你可以拿到 SystemMessage、AssistantMessage、ResultMessage、CompactBoundaryMessage、StreamEvent。如果启用 partial messages,还能看到文本增量、tool use 增量、message start/stop 这类细粒度事件。这个能力对做交互式 UI、进度条、实时可视化、前端消息渲染特别有用。
从某种角度看,这也可以理解成 SDK 层自己的消息通道机制。CLI 里的 Channels 解决的是外部事件如何推入会话,SDK 里的 streaming event 则解决的是 Claude 内部执行过程如何实时暴露给上层应用。
TypeScript SDK 现在已经支持在 options 里直接定义 agents、hooks、plugins、mcpServers,还能动态切换 MCP server 状态,甚至支持 background task 停止。也就是说,很多以前只能靠文件配置的能力,如今可以直接在应用代码里编排。
官方 TypeScript 参考现在还给了 V2 preview,也就是更简化的 send() / stream() 风格接口。这说明 SDK 本身还在持续抽象,未来很可能会更适合直接嵌入产品,而不只是给工程师写脚本。
如果你的诉求是自己用、团队内部沉淀工作流,用 Claude Code 本体加 Memory、Skills、Hooks、Plugins 通常就够了。如果你的诉求是要把这套能力嵌进自己的系统、自己的产品、自己的多 Agent 编排框架里,那就应该往 Agent SDK 走。
前面这些组件讲完之后,最关键的问题就变成了:面对一个真实需求时,到底该选哪种技术?这里有一套常用的判断方法,基本就五步。
如果你是在定义一个能力入口,比如统一生成 commit message、统一做 review、统一生成晨报,那优先考虑 Command 或 Skill。如果你是在定义执行过程中的约束和检查,比如修改文件后自动跑测试、执行危险命令前二次确认、上下文压缩前记录摘要,那优先考虑 Hook。
如果你希望稳定、明确、手动触发,就用 Command。如果你希望它根据上下文自己判断什么时候该介入,就用 Skill。
如果任务噪声很大、步骤很多、容易污染主上下文,或者明显可以分工,那就该上 SubAgent。
如果本质上是在接数据库、Jira、Slack、知识库、Google Drive、Webhook,那就进入 MCP。如果它是外部事件主动推送到当前会话,那更像 Channels。如果它是周期性执行,那就进入 Scheduling。
如果现成配置就够,用 Claude Code 本体能力。如果你要自己编排一套完整 Agent 流程,就上 Claude Agent SDK。这套判断并不复杂,但特别实用。很多选型纠结,问题往往不在技术太多,而在一开始没有把问题归类清楚。
单独看每个组件,其实都不神奇。一个 Slash Command,只是一个可重复入口。一个 Skill,只是一套专家模式。一个 Hook,只是一条自动化规则。一个 MCP,只是一条外部连接。一个 Channel,只是一条事件入口。一个定时任务,只是一种周期触发方式。但一旦这些东西开始组合,Claude Code 就不再是一个聊天工具,而是一条自动化生产线。
举个非常典型的例子。如果你想实现这样一套流程:每天早上自动检查开放 PR,发现高风险改动就深入审查,CI 失败时第一时间接收告警,必要时创建修复分支并通知团队。这件事就很适合这样组合:
你看,单个组件都不复杂,但组合起来之后,系统能力就完全不一样了。这也是我一直觉得很多人低估 Claude Code 的地方。大家看到的是一个会聊天、会写代码的东西,但真正值钱的,其实是它背后的可组合能力。
这一讲如果你只记住一句话,我希望是这句:
换句话说,真正厉害的地方,不在于它能帮你写一段代码,而在于你能不能让它长期、稳定、成体系地替你工作。从这个角度看,使用者解决的是单次问题,驾驭者开始设计系统。而你从这一讲开始,已经在往后者走了。
下饭影视APP下载安装指南
和平精英如何做到压枪稳-和平精英怎样才能压枪稳
《Off Campus》第二季官宣:这对CP还在,但不再是主角
下载浏览器app下载安装选择推荐
免费影视剧APP推荐
儿子穿新中式现身大会堂 马斯克罕见用中文回应:他正在学习普通话
Elysium Above 履云录官网在哪下载 最新官方下载安装地址
抖音最火沙雕男生网名(精选100个)
网络热词聊污是什么意思
名单曝光!库克、马斯克等将随团到访中国 黄仁勋不在其中
短剧《情绪超市》剧情介绍
短视频软件推荐
免费看电影的软件推荐
阿里发布Qwen3.7-Max大模型,全球第五、国产第一
SpaceX狂揽AI人才,马斯克亲自面试且不看简历背景
HBO 奇幻剧《龙之家族》第三季定档 6 月 22 日,最终预告片曝光喉道海战
KuCoin基本面分析
金铲铲之战s17六暗星卡莎阵容玩法构筑指南
苹果macOS 27将优化界面设计并测试AI驱动的Safari标签页自动分组功能
网石18禁MMO《RAVEN2:渡鸦》大型更新推出全新职业“军阀”
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc