Claude Code 架构深度解析:一文搞懂 Sub-Agent、Skill 与底层模型之间的协同机制
Claude Code 架构深度解析一文搞懂 Sub-Agent、Skill 与底层模型之间的协同机制Claude Code 凭什么成为 AI 编程工具市场占有率第一本文深入拆解其内部四层架构——Skill 拦截层、Claude Code 编排器、Sub-Agent 执行层、底层大模型推理层——带你彻底理解这套被行业争相模仿的 Agent 架构设计。目录从一个问题说起全局架构四层协同模型第一层Skill 拦截层第二层Claude Code 编排器第三层Sub-Agent 执行层第四层底层大模型推理引擎完整调用链路实战Skill vs Agent一张表讲清区别为什么这套架构能拿下 SWE-bench 80.9%对开发者的启示结语1. 从一个问题说起如果你用过 Claude Code你一定被它的能力震撼过——它能在 200K 上下文中理解整个代码库能自主规划并执行持续数小时的复杂重构任务能在 SWE-bench 上拿到80.9%的业界最高分。但你有没有想过一个问题Claude Code 的内部到底是怎么工作的它为什么有时会自己直接干活有时又派一个小弟去搜代码它和底层大模型比如 DeepSeek V4 Pro是什么关系所谓的 “Skill” 和 “Sub-Agent” 又有什么区别这篇文章将用一张架构图 三个实战场景彻底讲清楚这些问题。2. 全局架构四层协同模型先看一张全景架构图简化版先看一张全景架构图简化版 四层各司其职Skill 层最早拦截给 Claude Code “加载插件”编排器层做决策“这件事我自己干还是派人干”Agent 层独立执行“领到任务就去干活干完回来汇报”模型层提供算力和推理“所有人的大脑”3. 第一层Skill 拦截层3.1 什么是 SkillSkill 是 Claude Code 的“内置插件系统”。它不是独立的进程而是在主会话内部动态加载的专项能力模块。Claude Code 目前内置 5 个 SkillSkill功能触发方式update-config配置 settings.json设置 hooks 和自动化行为用户说配置 Claude Codesimplify审查代码的复用性、质量和效率自动修复问题代码变更后审查loop按固定间隔重复运行某个命令或 prompt/loop 5m check deployclaude-api加载 Claude API / Anthropic SDK 使用指南代码中导入anthropic时自动触发agent-browser无头浏览器自动化基于无障碍树操作网页需要浏览器自动化时触发3.2 Skill 的本质Skill 不是独立进程而是一段预设的 System Prompt 扩展。当 Skill 被触发时相当于给 Claude Code 主会话加载了一个知识包。举个例子当你输入/loop 5m check deploy时1. Skill 拦截层识别到 /loop 命令 2. loop Skill 在主会话内展开——它将用户的指令转化为定时任务配置 3. Claude Code 获得定时执行的能力不需要启动任何子进程关键区别Skill 让 Claude Code 本身变得更强大Agent 则是派出去干活的外包团队。4. 第二层Claude Code 编排器4.1 编排器的职责这是整个系统的大脑。每收到一个用户指令编排器需要做以下决策用户指令 │ ▼ ┌──────────────┐ │ 意图解析 │ ← 这到底是要干啥 └──────┬───────┘ ▼ ┌──────────────┐ │ 复杂度评估 │ ← 简单还是复杂需要几个步骤 └──────┬───────┘ ▼ ┌──────────────┐ 简单 ┌──────────────┐ │ 执行路径决策 │─────────→│ 直接工具调用 │ │ │ │ Read/Write/ │ │ │ │ Edit/Bash/ │ │ │ │ Grep/Glob │ └──────┬───────┘ └──────────────┘ │ 复杂 ▼ ┌──────────────┐ │ 任务拆解 │ ← 拆成几个子任务 └──────┬───────┘ ▼ ┌──────────────┐ │ Agent 委派 │ ← 派哪种 Agent前台还是后台 └──────┬───────┘ ▼ ┌──────────────┐ │ 结果汇总 │ ← 把 Agent 的结果整合生成最终回复 └──────────────┘4.2 亲自做 vs 委派子代理的判断标准场景决策原因读一个已知路径的文件自己做单次操作不需要独立上下文重命名一个变量全局替换自己做用 Grep Edit 直接完成“找出项目中所有 API 端点”委派 Explore Agent需要多轮搜索范围不确定“实现用户登录功能”委派 Plan Agent 先规划需要架构设计“同时搜索前端和后端代码”并行委派 2 个 Agent前后端搜索互不依赖5. 第三层Sub-Agent 执行层5.1 五种 Sub-Agent 详解Agent 类型专长可用工具典型场景general-purpose通用复杂任务全部工具多步骤实现、调试、重构Explore代码库搜索探索Grep/Glob/Read/WebFetch/WebSearch“找所有调用 deleteUser 的地方”Plan架构设计与方案规划只读工具不可写代码“设计缓存层的实现方案”statusline-setup配置状态栏Read/Edit定制终端状态栏显示claude-code-guide知识问答Grep/Glob/Read/WebFetch“Claude Code 怎么配置 hooks”5.2 Sub-Agent 的独立特性每个 Sub-Agent 启动时具备以下特性┌────────────────────────────────────┐ │ Sub-Agent 实例 │ │ │ │ ✅ 独立的上下文窗口 │ │ 不会污染主会话上下文 │ │ │ │ ✅ 独立的工具权限 │ │ 可按类型限制工具 │ │ │ │ ✅ 独立调用底层模型 │ │ 每次推理都调用 DeepSeek V4 Pro │ │ │ │ ✅ 可选后台运行 │ │ run_in_background: true │ │ │ │ ✅ 可选 Git Worktree 隔离 │ │ 在临时分支上操作不影响主工作区 │ │ │ │ ❌ 无法看到主会话的对话历史 │ │ 需要我写好完整的任务说明 │ └────────────────────────────────────┘关键设计理念Sub-Agent 是派出去的助手——你需要告诉它完整上下文和明确任务但它不会干扰你的主工作区。5.3 Agent 并行执行Claude Code 支持同时启动多个 Agent用户把前后端的 API 端点都梳理出来然后写一份接口文档 ┌──────────────────┐ │ Claude Code 编排器 │ └──────┬───────────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ Explore │ │ Explore │ │ 我直接写 │ │ Agent #1 │ │ Agent #2 │ │ 文档 │ │ │ │ │ │ │ │ 搜索前端 │ │ 搜索后端 │ │ 等两个 │ │ API 调用 │ │ API 定义 │ │ Agent │ │ │ │ │ │ 返回后 │ │ 返回结果 │ │ 返回结果 │ │ 整合输出 │ └──────────┘ └──────────┘ └──────────┘这种设计带来了巨大的效率优势——两个独立的搜索任务互不阻塞充分利用并行计算能力。6. 第四层底层大模型推理引擎6.1 大脑的角色无论是 Claude Code 编排器的决策还是 Sub-Agent 的独立推理都需要底层大模型提供算力。可以把这层理解为整个系统的大脑——它本身不执行任何工具操作但为所有上层提供推理能力。当前会话中驱动我的是DeepSeek V4 Pro核心参数指标数值上下文窗口1M tokens架构MoE混合专家参数规模1.6TArena 排名全球 Top 106.2 模型可替换性Claude Code 的设计允许替换底层模型。在 Anthropic 官方部署中可以使用的模型包括模型定位适用场景Claude Opus 4.6旗舰最复杂任务SWE-bench 80.9%Claude Sonnet 4.6平衡速度与能力最佳折中Claude Haiku 4.5轻量低延迟、高吞吐场景DeepSeek V4 Pro第三方旗舰当前会话引擎1M 上下文这意味着Claude Code 是一个模型无关的 Agent 框架。上层架构Skill、编排器、Agent不变底层的推理引擎可以根据成本、速度、能力需求灵活切换。7. 完整调用链路实战场景一简单命令/loop 5m check deploy时间线 → T0: 用户输入 /loop 5m check deploy │ T1: 【Skill 拦截层】匹配到 /loop 命令 │ loop Skill 在主会话内展开 │ 将指令转化为创建定时任务每5分钟执行 check deploy │ T2: 【编排器】解析 Skill 展开后的指令 │ 判断这是配置类任务简单直接 │ 决策我自己做 │ T3: 【编排器】调用 CronCreate 工具 │ 参数cron*/5 * * * *, promptcheck deploy │ T4: 【底层模型】DeepSeek V4 Pro 生成确认消息 │ T5: ✅ 用户收到确认已设置每5分钟检查部署状态 全程在【主会话】内完成未启动任何 Sub-Agent 底层模型被调用了 2 次Skill 展开 1 次 生成回复 1 次场景二复杂搜索 “找出项目里所有 SQL 注入风险”时间线 → T0: 用户输入 找出项目里所有 SQL 注入风险 │ T1: 【Skill 拦截层】无匹配透传给编排器 │ T2: 【编排器】解析意图 │ 判断需要在全项目中搜索多种 SQL 注入模式 │ 涉及大量文件搜索结果可能很长 │ 决策委派 Explore Agent避免污染主会话上下文 │ T3: 【编排器】准备 Agent 任务说明 │ 写明搜索字符串拼接SQL、未参数化查询、动态SQL构建等模式 │ 限定只读搜索不修改代码 │ T4: 【Agent Tool】启动 Explore Agent独立子进程 │ ├── Explore Agent 开始独立工作 │ ├── 调用 Grep 搜索 execute\s*\(.*\ 模式 │ ├── 调用 Grep 搜索 Statement\.execute │ ├── 调用 Grep 搜索 format.*INSERT\|UPDATE\|DELETE │ ├── 每次搜索后调用底层模型分析结果 │ └── 汇总所有发现生成结构化报告 │ T5: Explore Agent 返回结果给编排器 │ T6: 【编排器】收到 Agent 报告 │ 整合结果调用底层模型生成面向用户的总结 │ T7: ✅ 用户收到完整的 SQL 注入风险报告 全程启动【1 个 Explore Agent】 主会话上下文保持干净搜索结果在 Agent 内处理场景三并行任务时间线 → T0: 用户输入 优化首页加载速度分析前后端各自的问题 T1: 【Skill 拦截层】无匹配 → 透传 T2: 【编排器】任务分解 ├── 子任务A分析前端 bundle 大小、渲染性能、资源加载 └── 子任务B分析后端 API 响应时间、数据库查询、缓存策略 T3: 【并行委派】同时启动 2 个 Agent │ ├── Agent A (Explore, 后台) ├── Agent B (Explore, 后台) │ 搜索前端性能相关代码 │ 搜索后端性能相关代码 │ 分析 webpack 配置 │ 分析数据库查询 │ 检查组件渲染逻辑 │ 检查 API 中间件 │ ... │ ... │ 完成返回报告 │ 完成返回报告 │ │ └─────────────────┬────────────────┘ │ T4: 【编排器】两个 Agent 都返回后 │ 整合两份报告调用底层模型生成优化方案 │ T5: ✅ 用户收到完整的前后端性能优化方案 总计【2 个 Agent 并行】耗时 ≈ 单 Agent 时间8. Skill vs Agent一张表讲清区别这是最容易混淆的概念。简而言之维度SkillSub-Agent运行位置主会话内独立子进程本质System Prompt 扩展“知识包”独立的 Claude Code 实例触发方用户命令或关键词自动匹配编排器主动决策委派是否有独立上下文否共用主会话上下文是独立上下文窗口能否后台运行否是run_in_background能否并行执行否Skill 顺序加载是多个 Agent 可并行典型用途扩展能力、定时任务、浏览器自动化复杂搜索、并行分析、架构规划对用户可见性显式调用如 /loop或自动加载对用户透明用户只看到最终结果一句话总结Skill 是给我Claude Code加载的技能插件——我获得了新能力但我还是我。Agent 是我派出去的独立助手——它有自己的一整套工具、上下文和模型调用干完活向我汇报。9. 为什么这套架构能拿下 SWE-bench 80.9%SWE-bench 测试的是 AI 解决真实 GitHub Issue 的能力——需要理解大型代码库、定位问题、修改多处代码、确保测试通过。这恰恰是单体 LLM 难以胜任的任务。Claude Code 的架构设计精准解决了这些痛点9.1 上下文隔离问题一次加载整个大型代码库会撑爆上下文窗口 解决Explore Agent 独立搜索只把结果摘要返回主会话 效果200K 上下文 → 实际可用信息量放大 10 倍9.2 任务分工单体 LLM一个脑子同时搜索 分析 写代码 审查 → 注意力分散 Claude Code ├── Explore Agent → 专门搜索不会分心去写代码 ├── Plan Agent → 专门规划不会被实现细节干扰 └── 编排器 → 专门执行已有清晰计划只需实现9.3 并行加速传统串行搜索 → 分析 → 搜索 → 分析 → ...慢 Claude Code ├── Agent A 搜索前端相关代码 ├── Agent B 搜索后端相关代码 同时进行 └── Agent C 搜索测试文件 → 时间效率提升 2-3 倍9.4 错误隔离单体 LLM一处分析错误 → 整个任务跑偏 Claude Code ├── Agent A 结果有误 → 编排器可以丢弃重新委派 └── Agent B 结果正确 → 不受影响继续使用这就是为什么 Claude Code 能在 SWE-bench 上拿到 80.9%——不是模型最强而是架构最合理。10. 对开发者的启示10.1 如果你在用 Claude Code了解这套架构后你可以更高效地使用它✅ 需要探索大型代码库时 → 直接提复杂问题它自动委派 Explore Agent ✅ 需要多模块并行分析时 → 一次说清楚所有需求让它并行启动 Agent ✅ 简单修改 → 直接说它不会浪费资源启动 Agent ✅ 复杂重构 → 先让它规划会触发 Plan Agent再执行10.2 如果你在构建 AI AgentClaude Code 的架构提供了几个可复用的设计原则原则 1分层拦截 → 通用能力用 Skill 扩展主会话内轻量 → 专项任务用 Agent 处理独立进程隔离 → 不要把所有能力都堆在主 Agent 里 原则 2上下文隔离 → 搜索和探索类任务委派给子 Agent → 只把关键结果返回主会话 → 保持主会话上下文干净、高效 原则 3错误隔离 → 子 Agent 失败不影响整体任务 → 编排器可以丢弃错误结果、重新委派 → 比单体 LLM 的容错能力高一个数量级 原则 4模型无关 → 框架层和模型层解耦 → 可以随时替换底层模型Opus → DeepSeek → 未来的模型 → 保护架构投资11. 结语回到开头的问题Claude Code 的内部到底是怎么工作的答案是四层协同Skill 层先加载需要的技能插件编排器判断任务复杂度决策自己做还是派人做Agent 层独立执行复杂任务完成后汇报模型层为所有层级提供推理算力这套架构的精妙之处不在于单点有多强而在于分工明确、隔离良好、灵活替换。它不是让一个超级大脑做所有事而是组建一个协作高效的团队。这或许也是为什么 Claude Code 能以终端 CLI 这种原始形态击败一众 IDE 类竞品——体验的差距可以用架构的优势来弥补反过来则不然。 如果这篇文章有帮助欢迎点赞让更多人看到评论聊聊你对 Claude Code 架构的看法收藏方便随时查阅架构图分享给正在学习 AI Agent 设计的朋友本文基于 Claude Code 实际对话中的架构探索整理架构图和数据截至 2026 年 5 月。底层模型信息随部署环境不同而有所差异。