如果工作特别复杂需要分为很多步骤,每个步骤都相对独立,主流程只关注输入和返回结果,那么每个流程都可以创建一个subagent来进行独立执行,因为他们的上下文从主流程fork后都是独立的,不占用主流程的上下文 每个 subagent 在自己的 context window 中运行,具有自定义系统提示、特定的工具访问权限和独立的权限。 当 Claude 遇到与 subagent 描述相匹配的任务时,它会委托给该 subagent,该 subagent 独立工作并返回结果。下面看下如何创建和使用subagent。 出现提示时,描述 subagent: A code improvement agent that scans files and suggests improvements for readability Manual configuration 然后按照提示一步步操作就完成了subagent的创建。这个过程是黑盒的,实际干了什么呢?
PART.01 核心观点 Subagent 和 Skills 都是 prompt 规范化 的一种形式,但它们解决问题的角度不同: Subagent 是拆解 「问题」 Skills 是拆解解决问题的 「人 」(的经验) PART.02 演进历程 阶段一:模糊指令 最开始的时候我们只是告诉大模型去完成某一件事情 只有一句话和一个模糊的目标 结果往往不尽如人意 阶段二:Subagent 模式 发现结果不是很满意 ,就用 subagent 的方式 由人来帮忙拆分问题 明确告诉大模型:"你要这么解决问题" 阶段三:Skills 模式 后来我们又学精了,不仅拆分问题 进而整理提炼 人是如何划分角色、解决问题的 把这些功能给到大模型 由大模型决定: 用到的时候就用,用不到拉倒 PART.03 方法论对比 维度 Subagent Skills 拆解对象 问题本身 解决问题的人(经验) 主导权 人工预先拆分 模型按需选择 灵活性 较低
一、核心认知:Agent Subagent是什么? 打破单一Agent的能力边界Agent Subagent架构,本质是一种“分层协同、分工明确”的多智能体协作模式,核心由两个核心角色构成:主Agent(Main Agent)与子Agent(Subagent Agent Subagent vs 单一Agent:核心优势对比相比传统单一Agent,Agent Subagent架构在复杂任务处理上具备不可替代的优势,具体对比如下:效率更高:复杂任务被拆解为多个子任务 二、核心原理:Agent Subagent的协同逻辑与运行流程Agent Subagent架构的核心魅力,在于“高效协同”——主Agent与子Agent之间通过明确的指令传递、结果反馈、上下文同步,实现 三、Agent Subagent架构设计要点:打造高效协同的多智能体系统设计Agent Subagent架构,核心是“明确分工、高效协同、低耦合”——主Agent与子Agent之间既要职责清晰,又要联动顺畅
一、OpenClaw SubAgent核心机制:父子委托架构解析OpenClaw SubAgent(子智能体)是OpenClaw多智能体系统中基础且常用的协作机制,其本质是一种一对多的父-子委托关系。 1.1 生命周期四阶段SubAgent的执行遵循严格的生命周期管理:核心洞察:SubAgent与父智能体的上下文隔离是双刃剑——它防止了任务间的记忆污染,但也增加了跨任务状态同步的复杂度。 - subagent: perf-analyzer task: "分析性能瓶颈" barrier: wait_all 确定性屏障:等待全部完成 - subagent 四、网络层优化:SubAgent的全球化部署挑战当SubAgent需要执行跨地域任务(如抓取不同地区的数据)时,网络访问优化方案成为架构关键。 五、性能调优与成本控制5.1 模型分层策略SubAgent的核心成本优势在于混合模型配置:通过为不同SubAgent分配合适模型,整体token成本可降低20-35%,同时保持输出质量。
什么是 Subagent?Subagent 是 Claude Code 中的专业化 AI 助手概念。 Subagent 不宜过多3-5 个 核心 Subagent 是理想数量太多 Subagent 会导致混淆,难以选择每个 Subagent 应该职责单一5. 3:过度使用 Subagent场景建议频繁迭代修改留在主对话快速简单任务不需要 Subagent多步骤复杂流程考虑 Subagent 链陷阱 4:忽略上下文管理Subagent 也有上下文限制:容量达到 95% 时自动压缩长任务考虑拆分陷阱 5:后台 Subagent 权限问题后台 Subagent 需要预先获取权限:bash 体验AI代码助手 代码解读复制代码# 在启动后台任务前确保权限已批准进阶技巧 并行 Subagent 研究生成多个 Subagent 同时调查不同领域:markdown 体验AI代码助手 代码解读复制代码请同时启动 3 个 Subagent:1.
简单说,Skill 是任务模板,定义「做什么、怎么做」;Subagent 是独立工人,有自己的上下文窗口去执行任务。Skill 管规则,Agent 管干活。 自定义 Subagent内置的不够用可以自己写。 memory 给 Subagent 一个跨对话的记忆目录。 找到问题,把结果传给优化 Subagent 去修:Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them什么时候不该用 Subagent:任务需要频繁来回调整、几个阶段共用大量上下文、改动集中在一两个文件、对响应速度敏感——这些情况直接在主对话里做更好,Subagent
4️⃣ SubAgent(子代理):员工叫的外包团队 通俗解释:当任务太复杂时,Agent 可以叫帮手,这个帮手就是 SubAgent。 举个栗子: 你要做一个完整的项目分析,Agent 会这样分工: 主 Agent(项目经理) ├── SubAgent 1(代码审查专家)→ 检查代码质量 ├── SubAgent 2(安全专家)→ 扫描安全漏洞 ├── SubAgent 3(性能专家)→ 分析性能瓶颈 └── SubAgent 4(文档专家)→ 整理项目文档 核心优势: • 并行处理:多个 SubAgent 同时干活,效率翻倍 • 专业分工 :每个 SubAgent 专注一个领域 • 结果汇总:主 Agent 整合所有结果给你 一句话总结: SubAgent 就是 AI 界的"外包团队",让复杂任务变简单! 并行工作: │ │ • SubAgent 1(文档专家)→ 写部署文档 │ │ • SubAgent 2(绘图专家)
SUBAGENT_SYSTEM=f"Youareacodingsubagentat{WORKDIR}.Completethegiventask,thensummarizeyourfindings." (30):#safetylimitresponse=client.messages.create(model=MODEL,system=SUBAGENT_SYSTEM,messages=sub_messages 四、相对s03的变更组件之前(s03)之后(s04)Tools55(基础)+task(仅父端)上下文单一共享父+子隔离Subagent无run_subagent()函数返回值不适用仅摘要文本五、试一试展开代码语言 SUBAGENT_SYSTEM=f"Youareacodingsubagentat{WORKDIR}.Completethegiventask,thensummarizeyourfindings." :freshcontext,filteredtools,summary-onlyreturn--defrun_subagent(prompt:str)->str:sub_messages=[{"role
每个 Subagent 独立执行网页搜索,利用交替推理方式评估工具返回的结果,并将其研究发现返回给 LeadResearcher。 LeadResearcher 对这些结果进行汇总分析,并判断是否需要进一步研究——如果需要,它可以创建更多的 Subagent,或者调整研究策略。 明确主从分工,细化任务边界 在系统中,主智能体(LeadResearcher)负责拆解任务并分配给 subagent。 10–15 次; 深度研究任务:10 个以上 subagent,需明确分工。 并发策略显著提升效率 为解决串行执行耗时过长的问题,系统实现了两个层面的并行机制: 主智能体一次性并发生成多个 subagent; 每个 subagent 可并行调用多个工具。
本篇我们分享它在博客中所设计的 3 个 Agent 的 Prompt:Lead Agent、Search SubAgent和Citations SubAgent。 1. Search SubAgent Search SubAgent主要负责并行执行子任务,使用工具(如 Web 搜索),返回关键发现。 可通过以下地址查看: https://github.com/anthropics/anthropic-cookbook/blob/main/patterns/agents/prompts/research_subagent.md 角色与基础设定 身份:研究子代理(Research Subagent) 协作关系:受主研究代理(Lead Agent)指派执行具体任务 时间基准:当前日期为{{.CurrentDate}} 核心原则:严格遵循指令 Citation SubAgent Citation SubAgent为最终报告生成标准化来源引用标注 。
Paper2Agent 这个工作本身完全基于 CC 的 subagent 机制,本身就是一个我们一直大力推广的 subagent 的极好案例,与 CC 的契合度几乎 100%,拿这个例子来反推我们自己的 Paper2Agent 本身主要通过 CC 自身的机制,把论文复现这件事情分成了几个 subagent:用 「环境 Agent」 帮论文代码配置隔离、可复现的运行环境,用 「提取 Agent」 把论文逻辑转化为标准化工具调用 相关 tools 也木有,感觉更像是应对 CC 的仓促之举 Qwen-code fork 自 Gemini-code ,主要目的是推广 Qwen 家大模型们,中规中矩,PR 稿上说有 MCP 和 类 subagent ,适合开发者辅助,定位更 copilot,subagent 直接留了个命令,运行完了之后提示正在开发中,,,一个字,绝! ,做的很早,YC 毕业,创始人工作狂据说 007,初心是 auto 模式,就是解决问题过程尽量不需要用户参与,多专家代理协同编辑,在局部修改精度上优秀,且比 subagent 更进一步提出了 agent
实现完成后,Subagent 会返回四种状态之一:DONE、DONE_WITH_CONCERNS、NEEDS_CONTEXT、BLOCKED。 踩坑记录 坑一:以为 Subagent 会自动继承主 Agent 的上下文。 这是最常见的误解。Subagent 启动时是干净的上下文,它不会自动获得你之前跟主 Agent 聊了半小时的会话历史。 你需要精心构造派发时的 task 描述,把 Subagent 需要知道的所有信息都写进去。这不是 bug,是刻意的设计——避免上下文污染,让每个 Subagent 专注于自己的任务。 Q4:Subagent 可以访问主 Agent 的会话历史吗? 不能。这是设计决策,不是 bug。Subagent 启动时是干净的上下文,你需要在派发时把它需要的所有信息写入 task 描述。 不过 Superpowers 会大量使用 Subagent,这意味着 API 调用量会增加——Opus 模型的 Subagent 跑一次 Review 的 token 消耗不低,建议 Review 类任务用
实现完成后,Subagent 会返回四种状态之一:DONE、DONE_WITH_CONCERNS、NEEDS_CONTEXT、BLOCKED。 踩坑记录 坑一:以为 Subagent 会自动继承主 Agent 的上下文。 这是最常见的误解。Subagent 启动时是干净的上下文,它不会自动获得你之前跟主 Agent 聊了半小时的会话历史。 你需要精心构造派发时的 task 描述,把 Subagent 需要知道的所有信息都写进去。这不是 bug,是刻意的设计——避免上下文污染,让每个 Subagent 专注于自己的任务。 Q4:Subagent 可以访问主 Agent 的会话历史吗? 不能。这是设计决策,不是 bug。Subagent 启动时是干净的上下文,你需要在派发时把它需要的所有信息写入 task 描述。 不过 Superpowers 会大量使用 Subagent,这意味着 API 调用量会增加——Opus 模型的 Subagent 跑一次 Review 的 token 消耗不低,建议 Review 类任务用
先说结论: Claude Code 的发展路径清晰可循:从聚焦先进开发工具,到通过 subagent 为业务人员提供低门槛多智能体体验,再到以 SDK 定位自身、力图成为严肃 2B 业务流的驱动引擎。 的产品经理 @_catwu) 想把 CC 融入工作流的一种努力,这个点很好,但这个时间点大家可能还是简单的拿 CC 跟 Cursor 对比,并没有往工作流应用上想,有点发力过早 2025.7.24 发布 subagent 正式宣告一种新的业务和开发对接模式,把 coding 这件事暂时藏起来,让业务而不是开发人员首先感受到 CC 的威力,这个发布很寒碜,仅仅是开发文档里面提了一嘴,官网的 blog 都懒得提一嘴,但事实证明,subagent 才是打动 2B 端组织的关键,有了 subagent 让业务人员跳过开发,直接亲身体会到「多智能体」的威力,甚至都不需要了解什么是多智能体 说完了 CC 的发展脉络,Anthropic 这家不能忽视但不值得尊重的公司想做什么也就了然了 CC 从开发工具入手,以 subagent 的方式提供多智能体入门体验,最后通过 SDK 的方式把自己嵌入组织工作流中,思路清晰了 2.
你可以为每个subagent定义:它负责什么?如何处理问题?能访问哪些工具? Claude可以根据subagent的描述自动把任务委派给合适的subagent;你也可以在对话中直接指定调用某个subagent。 :将特定subagent限定为更安全的操作范围(例如只读权限)举一个例子:创建一个code-reviewersubagent,仅允许使用ReadGrepGlob等读取与检索工具,不开放Write/Edit 这样当你修改代码后,Claude可以自动将质量与安全审查交给该subagent完成,同时避免出现“意外改动代码”的风险。 小提示:如果你希望多个代理或多段对话都复用同一套专业方法(例如安全审查流程、数据分析方法),建议将这些知识沉淀为Skill,而不是写死在某个subagent里。
测试第二个子智能体 测试一下新的 invoice_information_subagent,以确保它按预期工作。我们将提供一个需要获取发票和员工信息的查询。 Error: transfer_to_music_catalog_information_subagent is not a valid tool, try one of [transfer_to_music_catalog_subagent 它检测到与发票相关的部分(“最近的购买”)并将其发送给 invoice_information_subagent。 然后,监督者将剩余的音乐查询路由到 music_catalog_subagent。 音乐子智能体检索 U2 专辑信息并将控制权返回给监督者。 由于state.get("customer_id")已设置为1,它会立即移至supervisor,后者将查询路由到music_catalog_subagent。
ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-reasoner", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-reasoner", "CLAUDE_CODE_SUBAGENT_MODEL ANTHROPIC_DEFAULT_SONNET_MODEL 日常编码模型 平衡性能与成本 ANTHROPIC_DEFAULT_HAIKU_MODEL 简单任务模型 快速响应,成本更低 CLAUDE_CODE_SUBAGENT_MODEL ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-chat", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-chat", "CLAUDE_CODE_SUBAGENT_MODEL
语法很简单: Task({ subagent_type: "Explore", // 必填:Agent 类型 model: "haiku", 你的任务描述", // 必填:让 Agent 做什么 run_in_background: false // 可选:是否后台执行 }) 四个参数: subagent_type 擅长的事: 在大型项目中快速找到某个功能的相关文件 理解一个模块的结构和依赖关系 搜索代码中的特定模式(比如"所有用了 JWT 的地方") 分析最近的代码变更 调用示例: Task({ subagent_type
实际情况是:v1全程使用的都是Task工具的同步subagent模式,而不是真正的多智能体团队模式。 Task工具的两种模式模式一:同步Subagent(无 name 参数)Task( prompt="你是策划,请设计章纲... Task调用时如果不传 name,WorkBuddy就按subagent模式处理。v1的调用看起来是这样的:Task( prompt="你是策划角色,输出章纲... 描述式 vs 声明式:为什么"角色ABCDE"触发的是能力3而不是能力4这是v1一直停在subagent模式的核心原因。 不带 name 参数的Task调用在技术上是合法的,它会正常执行,但走的是subagent模式而不是团队模式。工具提供了能力 ≠ 能力被自动使用。
❤ Claude Code的subagent技术革新软件开发 并行任务委托大幅提升效率 在快速发展的软件开发领域,AI工具如Claude Code正在彻底改变工程师处理复杂项目的方式。 Claude Code采用的subagent技术允许将专门任务委托给虚拟"子代理",每个子代理专注于代码库的不同方面。 这种并行化方法带来了显著的效率提升: *同时处理多个任务*,取代了传统的顺序人工处理 *专业化分工*,每个subagent专注于特定领域 *显著生产力提升*,根据实际案例,开发效率大幅提高 这一创新使Claude