OpenClaw 企业定制 私人订制工作流 优化运维 openclaw记忆优化 问题咨询解决 请加微信交流
想让AI同时做多件事?Subagent系统让Hermes可以同时启动多个独立AI Agent并行工作,各自处理不同任务。这就像有了一个AI团队,你可以同时让它们帮你写代码、查资料、做分析,各自独立工作互不干扰。
这是Hermes最强大的功能之一,适合需要并行处理多个任务的场景。这篇讲清楚Subagent是什么、怎么用、以及实际应用场景。
Subagent是什么
Subagent是Hermes的并行任务系统。当你有一个复杂任务时,可以拆分成多个子任务,交给不同的Subagent同时处理:
- 主Agent:负责任务分解、结果汇总
- Subagent:独立执行具体子任务
比如你说”帮我研究三个AI工具,然后写个对比报告”,主Agent会:
- 分解任务:研究工具A、研究工具B、研究工具C
- 启动3个Subagent并行研究
- 收集各Subagent的研究结果
- 汇总成最终报告
基本用法
命令行方式
/subagent 研究这个代码库的结构
Subagent会在后台启动,执行任务。完成后结果返回给你。
委托任务
/delegate 研究三个AI代码助手的差异:Claude Code、Cursor、Github Copilot
用/delegate命令明确委托任务给Subagent。
并行委托
/delegate
- 研究Python Web框架:FastAPI vs Django
- 研究Node.js框架:Express vs NestJS
- 研究Go框架:Gin vs Echo
竖线分隔的多个任务会并行执行。
任务分解策略
水平分解
把同类任务拆分给多个Subagent:
任务:分析1000条用户评论
分解:
- Subagent 1-4:各分析250条
- 主Agent:汇总结果
垂直分解
按处理阶段拆分:
任务:写一篇技术博客
分解:
- Subagent 1:收集素材和研究资料
- Subagent 2:写初稿
- Subagent 3:润色和校对
- 主Agent:最终审核发布
混合分解
复杂任务结合水平和垂直分解:
任务:竞品分析
分解:
- Subagent 1-5:各研究一个竞品(水平)
- 每个Subagent内部:产品、技术、定价、用户评价(垂直)
- 主Agent:汇总所有竞品分析
配置选项
subagents:
max_parallel: 5 # 最大并行数
default_model: "claude-sonnet-4"
timeout: 600 # 默认超时(秒)
retry: 3 # 失败重试次数
memory_shared: false # 是否共享记忆
独立vs共享记忆
# 独立记忆(默认)
subagents:
memory_shared: false
# 每个Subagent有独立记忆,不互相干扰
# 共享记忆
subagents:
memory_shared: true
# 所有Subagent共享记忆,结果可被其他Subagent利用
Per-Subagent配置
subagents:
research:
model: "claude-3-opus"
timeout: 300
expertise: ["research", "analysis"]
coding:
model: "claude-3-sonnet"
timeout: 600
expertise: ["coding", "debugging"]
writing:
model: "claude-3-haiku"
timeout: 120
expertise: ["writing", "editing"]
实际应用场景
场景1:批量内容创作
任务:写10篇SEO博客文章
分解:
- Subagent 1-10:各写一篇
- 主Agent:审核、发布
执行:
/delegate
- 写一篇关于"Python异步编程"的SEO文章
- 写一篇关于"Go并发模型"的SEO文章
- 写一篇关于"Rust所有权"的SEO文章
- ...(最多10个并行)
场景2:代码库分析
任务:全面分析这个代码库
分解:
- Subagent 1:分析目录结构和模块划分
- Subagent 2:分析依赖关系和架构模式
- Subagent 3:分析代码质量和潜在问题
- Subagent 4:分析测试覆盖率和文档
执行:
/subagent 分析代码库架构
场景3:市场调研
任务:竞品分析
分解:
- Subagent 1-5:各研究一个竞品
- 主Agent:汇总成对比报告
执行:
/delegate 研究以下五个竞品:Notion、Obsidian、Roam Research、Logseq、TiddlyWiki
场景4:数据处理
任务:处理10000条数据
分解:
- Subagent 1-10:各处理1000条
- 主Agent:汇总清洗后的数据
执行:
/subagent 处理CSV文件,每1000行一个批次
场景5:多语言翻译
任务:把一篇文章翻译成5种语言
分解:
- Subagent 1:翻译成英语
- Subagent 2:翻译成日语
- Subagent 3:翻译成韩语
- Subagent 4:翻译成法语
- Subagent 5:翻译成德语
执行:
/delegate 翻译成英日韩法德
任务管理
查看运行中的Subagent
/subagent list
显示所有运行中的Subagent及状态。
停止Subagent
/subagent stop
停止指定的Subagent。
暂停/恢复
/subagent pause # 暂停
/subagent resume # 恢复
结果获取
/subagent result
获取指定Subagent的执行结果。
中断和恢复
Subagent支持中断和恢复:
# 中断执行
/subagent interrupt
# 恢复执行
/subagent resume
# 强制终止
/subagent kill
检查点
subagents:
checkpoint_enabled: true
checkpoint_interval: 60 # 每60秒保存检查点
Subagent定期保存执行状态,失败后可从检查点恢复。
最佳实践
- 合理拆分粒度:子任务太细管理成本高,太粗并行效果差。建议5-10个并行。
- 独立子任务:子任务之间尽量少依赖,减少汇总复杂度。
- 设置合理超时:根据任务复杂度设置timeout。
- 监控执行状态:用/subagent list监控,必要时干预。
- 结果汇总清晰:给每个Subagent明确的输出格式要求。
不适合Subagent的场景
- 简单的一次性任务(直接让主Agent处理)
- 强依赖链的任务(下一步依赖上一步结果)
- 需要共享上下文的细粒度任务
成本考量
Subagent并行意味着多倍Token消耗:
- 每个Subagent独立消耗Token
- 并行数越多,总消耗越大
- 适合时间敏感的高价值任务
# 成本控制
subagents:
max_parallel: 3
budget_limit: 10 # 每次运行最多10美元
常见问题
Subagent结果丢失?
Subagent执行完结果会返回给主Agent。如果需要持久化,在任务描述中要求保存到文件。
一个Subagent失败怎么办?
默认会重试3次。如果仍然失败,会报告给主Agent,可选择跳过或重新分配。
Subagent之间能通信吗?
默认不能。如果需要共享数据,用共享记忆或通过文件传递。
能指定不同模型吗?
可以,在配置中为不同Subagent指定不同模型。
Subagent数量有限制吗?
有max_parallel限制,默认5个,防止资源耗尽。
与其他功能配合
Subagent可以和其他功能配合使用:
- +Skills:Subagent可以调用Skill执行特定任务
- +Memory:共享记忆让Subagent之间传递信息
- +MCP:Subagent可以调用MCP工具
- +Cron:定时启动多个Subagent并行处理
总结
Subagent是并行AI任务处理的核心,让Hermes从单兵作战升级为团队协作。
核心价值:
- 并行处理多个任务,速度翻倍
- 智能任务分解,主Agent统筹
- 灵活配置,精细控制
- 支持中断恢复,稳定可靠
- 适合批量内容、数据处理、调研分析等场景
需要同时处理多个任务时,优先考虑Subagent。








暂无评论内容