Dive into Claude Code 子代理架构揭秘:SkillTool vs AgentTool 与6种内置类型的分工之道

📅 发布时间:2026/10/8 6:54:47
Dive into Claude Code 子代理架构揭秘:SkillTool vs AgentTool 与6种内置类型的分工之道
Dive into Claude Code 子代理架构揭秘SkillTool vs AgentTool 与6种内置类型的分工之道【免费下载链接】Dive-into-Claude-CodeA Systematic Analysis and Discussion of Claude Code for Designing Todays and Future AI Agent Systems项目地址: https://gitcode.com/gh_mirrors/di/Dive-into-Claude-CodeDive into Claude Code 是一份对 Claude Code 进行源码级架构分析的开源项目本文带你快速看懂它的子代理Subagent架构SkillTool 与 AgentTool 这两个元工具的本质区别、6 种内置子代理类型的分工以及隔离沙箱和侧链转录稿的设计要点帮你理解现代 AI Agent 系统如何优雅地分而治之。一、Claude Code 系统全景子代理在哪里要理解子代理先要知道它处在系统的什么位置。Claude Code 的整体结构可以拆成 7 个组件用户 → 接口层CLI/SDK/IDE→ 智能体循环 → 权限系统 → 工具池 → 状态与持久化 → 执行环境。其中最核心的引擎只有一个queryLoop智能体查询循环所有入口共用同一条代码路径。而子代理正是循环中工具分发环节里最精妙的分工机制——当任务复杂到需要换个脑子、开个小房间时系统就启用子代理。每个回合实际遵循 9 步流水线设置解析 → 状态初始化 → 上下文组装 → 条件式上下文管理 → 模型调用 → 工具分发 → 权限门控 → 工具执行 → 停止条件检查。 官方数据整个代码库约 512K 行只有 1.6% 是 AI 决策逻辑其余 98.4% 都是权限门控、上下文管理、工具路由等确定性基础设施——子代理系统正是这种harness 工程思想的典型体现。二、核心揭秘SkillTool vs AgentTool 的本质区别这是整个子代理架构里最值得记住的一对概念。两者都是元工具但解决的是完全不同的问题对比维度SkillTool技能注入AgentTool任务委托核心动作把技能指令注入当前对话上下文把子任务委派到独立的隔离上下文执行上下文与主对话共享原地生效另开房间与主对话物理隔离成本模型只花读说明书的 token模型调用 协调成本取决于实际工作量与返回结果适合场景照着这套规范做去查/去写/去验证只把结论带回来一句话概括SkillTool 是给模型喂方法AgentTool 是给模型派活。前者的知识留在主上下文里后者的中间过程被隔离在外只有精炼的结果回到父对话——这正是防止长任务撑爆上下文窗口的关键设计。三、6种内置子代理类型各司其职的专业工种Claude Code 内置了 6 种子代理类型配合 Custom 自定义通道覆盖了编码任务的几乎全场景内置类型职责定位通俗理解Explore只读探索代码库定位文件与结构侦察兵——先摸清地形Plan制定实现方案与步骤规划军师——只出方案不写码️General-purpose通用执行读写与运行皆可全能工程师GuideClaude Code Guide回答 Claude Code 用法相关问题官方客服✅Verification验证产出是否符合要求质检员——独立复核StatuslineStatusline-setup状态栏配置的初始化设置杂务助理另外图中还有一个隐藏通道Agent是 Task 的遗留别名legacy alias旧脚本里的 Task 调用依然可以工作。如何选择一个实用的决策口诀需要遵循某种做法→ 用 SkillSkillTool 注入指令需要隔离大量中间过程→ 用 AgentTool 派子代理只要结论不要过程→ 让子代理返回简短报告控制进入父上下文的信息量四、隔离沙箱与权限设计为什么子代理越权不了子代理不只是另开会话那么简单它的隔离沙箱包含三个核心机制重建权限上下文与工具集——子代理拿到的是重新组装过的权限和工具池而非直接继承主对话的一切权限模式覆盖可选——子代理可设置自己的permissionMode但注意若父级处于bypassPermissions/acceptEdits/auto模式则显式用户决策始终优先覆盖不生效隔离 Worktree可选——通过 Git worktree 实现文件系统级隔离此外还有两条容易被忽略的设计细节侧链转录稿Sidechain Transcripts每个子代理的历史写入独立的.jsonl文件与主转录稿分开保存。父级只通过 AgentTool 接收结果内容——存的是全量档案回传的是精炼报告两个职责分离。零依赖协调多个子代理实例之间用 POSIXflock()文件锁协调不引入任何外部服务。三种隔离模式对比模式机制默认In-process共享文件系统、隔离对话✅ 是WorktreeGit worktree 文件系统隔离否Remote远程执行内部专用否⚠️ 需要澄清一个常见误解上下文隔离并不自动等于权限隔离。文件访问范围与授权取决于执行后端和具体配置上下文分开只是第一道门。五、自定义子代理用 Markdown 文件定义自己的工种内置类型不够用在项目里放一个.claude/agents/*.md文件即可。YAML frontmatter 支持丰富的配置字段tools、disallowedTools工具白/黑名单、model、effort、permissionMode、mcpServers、hooks、maxTurns、skills、memory scope、background 标记、isolation mode 等——相当于用一份声明式配置招一个专属员工。六、延伸阅读项目中的关键资料想深入子代理架构细节建议按这个顺序阅读本项目的资料架构深度剖析docs/architecture_zh.md子智能体委托章节含 SkillTool vs AgentTool 与三种隔离模式详解架构英文版docs/architecture.md项目总览README_zh.md子智能体委托折叠章节完整论文仓库归档版paper/Dive_into_Claude_Code.pdf架构图原图assets/subagent.png结语回顾一下本文的三个核心知识点SkillTool 管注入方法AgentTool 管隔离派活——这是理解 Claude Code 子代理架构的第一把钥匙6 种内置类型 自定义通道用专业工种的思路覆盖了探索、规划、执行、验证全流程隔离沙箱 ≠ 权限隔离侧链转录稿 简短回传的设计才是上下文经济学的精髓这套上下文隔离 权限重建 结果精炼回传的组合拳正是当下构建多智能体系统最值得借鉴的设计范式。【免费下载链接】Dive-into-Claude-CodeA Systematic Analysis and Discussion of Claude Code for Designing Todays and Future AI Agent Systems项目地址: https://gitcode.com/gh_mirrors/di/Dive-into-Claude-Code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考