👶 Subagent (子Agent)

父Agent动态创建的临时助手 — 按需分配,用完即走

Agent架构动态创建OpenClaw2026核心

📖 定义

Subagent (子Agent) 是由父Agent动态创建的临时Agent实例。子Agent拥有独立的会话、工具和上下文,用于执行特定任务,完成后自动销毁。

就像老板临时叫一个实习生帮忙查资料——任务完成,实习生就离开了。Subagent让Agent能够按需扩展能力,而不需要预先配置所有可能用到的Agent。

🧠 核心原理

子Agent的工作机制

  • 动态创建 - 父Agent根据任务需要实时创建子Agent
  • 独立会话 - 子Agent拥有独立的会话和上下文
  • 任务驱动 - 子Agent接收明确的任务描述
  • 结果返回 - 子Agent完成后将结果返回父Agent
  • 自动清理 - 任务完成后子Agent自动销毁

💻 OpenClaw中的Subagent

1. 创建子Agent

# 使用 sessions_spawn 创建子Agent sessions_spawn: task: "研究2026年AI Agent市场趋势" label: "market-research" model: "gpt-4o" mode: "run" # 一次性任务 # 参数说明: # - task: 子Agent的任务描述 # - label: 子Agent的标签(便于管理) # - model: 使用的模型(可选) # - mode: "run"=一次性任务, "interactive"=交互式

2. 等待子Agent完成

# 使用 sessions_yield 等待子Agent完成 sessions_yield: message: "等待市场研究完成..." # 子Agent完成后,结果会自动返回给父Agent # 父Agent可以继续处理其他任务

3. 查看子Agent状态

# 使用 subagents 查看子Agent列表 subagents: action: "list" recentMinutes: 60 # 查看最近60分钟的子Agent # 返回子Agent的状态、结果等信息

4. 与子Agent通信

# 使用 sessions_send 向子Agent发送消息 sessions_send: label: "market-research" message: "请重点关注中国市场" # 使用 sessions_history 查看子Agent历史 sessions_history: sessionKey: "market-research" limit: 10

🎯 实战案例:并行内容生产

父Agent同时创建多个子Agent:

# 父Agent创建3个子Agent并行工作 sessions_spawn: - task: "搜索最新AI新闻" label: "news-searcher" model: "gpt-4o" - task: "生成新闻日报HTML" label: "news-writer" model: "claude-3.5-sonnet" - task: "优化SEO关键词" label: "seo-optimizer" model: "gpt-4o" # 等待所有子Agent完成 sessions_yield: message: "等待所有任务完成..."

📊 使用场景

1. 并行处理

同时执行多个独立任务,提高效率。例如:同时搜索多个数据源。

2. 专业分工

让不同模型处理不同任务。例如:用GPT-4o搜索,用Claude写作。

3. 错误隔离

子Agent的错误不会影响父Agent。例如:一个搜索失败,其他继续。

4. 资源管理

按需创建,用完即走,节省资源。例如:临时需要数据分析时才创建。

✅ 优势

  • 动态扩展,按需创建
  • 并行处理,提高效率
  • 错误隔离,提高稳定性
  • 资源灵活,用完即走

⚠️ 挑战

  • 创建开销(冷启动时间)
  • 通信延迟
  • 上下文丢失
  • 调试复杂度增加

🔗 相关术语