维护咨询 大模型部署 问题解决 技能定制 大模型训练
想让AI同时做多件事?Subagent(子Agent)系统让你能同时启动多个独立的AI任务,各自处理不同的请求,最后汇总结果。
比如:让一个AI研究竞品,一个AI写文案,一个AI分析数据——三个同时进行,速度提升3倍。
## Subagent是什么
Subagent是Hermes的并行任务机制。正常情况下你跟一个AI对话,但Subagent允许你同时启动多个独立AI进程,各自完成子任务。
核心特点:
– 每个Subagent有独立的对话上下文
– 多个Subagent同时运行,互不干扰
– 主Agent汇总所有Subagent的结果
– 可以指定不同的模型和工具集
—
## 基本用法
启动单个Subagent:
帮我研究一下竞品A的核心功能,输出结构化对比表
AI会自动派生一个Subagent去做研究,结果返回后自动汇入主对话。
启动多个Subagent并行:
帮我同时做三件事:
1. 研究竞品A的核心功能
2. 写一篇产品介绍文案
3. 分析我现有的用户数据
三个Subagent同时开始工作,完成后结果汇总给主Agent。
—
## 高级用法:指定配置
指定不同的模型:
帮我同时做:
1. 用Claude做深度技术分析(model: claude-3-5-sonnet)
2. 用Haiku做快速总结(model: claude-3-haiku)
3. 用GPT-4o写文案(model: gpt-4o)
指定不同的工具集:
帮我同时做:
1. 用搜索引擎调研市场(tools: web_search)
2. 用代码分析项目(tools: read_file, search_files)
3. 用浏览器抓取数据(tools: browser_navigate)
指定工作目录:
帮我同时分析两个项目:
1. project-a 的代码质量(workdir: ~/project-a)
2. project-b 的代码质量(workdir: ~/project-b)
—
## delegate_task工具详解
Subagent功能的核心是delegate_task工具。它的参数:
goal # 子任务的目标描述
context # 背景信息(项目结构、约束条件等)
model # 可选,指定子Agent用的模型
toolsets # 可选,指定子Agent能用的工具集
max_iterations # 可选,最大迭代次数(默认50)
acp_command # 可选,指定子Agent类型(如claude、copilot)
示例:
delegate_task(
goal="分析并优化项目的数据库查询性能,找出最慢的5个查询",
context="项目是Python+Django,数据库是PostgreSQL,ORM使用Django ORM",
toolsets=["terminal", "file"],
max_iterations=30
)
—
## 实际应用场景
场景一:竞品调研
帮我调研三个竞品:
1. 竞品A的核心功能、技术架构、定价策略
2. 竞品B的用户评价、优缺点
3. 竞品C的市场占有率和更新频率
最后输出一份对比报告
三个Subagent并行调研,速度是串行的3倍。
场景二:多语言内容生成
帮我同时生成同一产品的多语言介绍:
1. 中文版本(面向国内用户)
2. 英文版本(面向海外用户)
3. 日文版本(面向日本市场)
保持风格和核心信息一致
场景三:代码审查
帮我同时审查PR的多个维度:
1. 安全性审查(是否有SQL注入、XSS等漏洞)
2. 性能审查(查询效率、缓存策略)
3. 代码规范审查(命名、注释、测试覆盖)
最后汇总成一份审查报告
—
## 批量处理模式
Subagent支持批量模式,同时处理最多3个独立任务(可配置):
# 三个任务同时进行
delegate_task(tasks=[
{
"goal": "任务1:分析A公司的财务数据",
"context": "数据在 ~/data/company-a/"
},
{
"goal": "任务2:分析B公司的财务数据",
"context": "数据在 ~/data/company-b/"
},
{
"goal": "任务3:分析C公司的财务数据",
"context": "数据在 ~/data/company-c/"
}
])
所有任务完成后,结果一起返回。
—
## 限制和注意事项
最大并发数:
默认最多同时运行3个Subagent。可以在config.yaml里调整:
delegation:
max_concurrent_children: 5 # 最多5个并发
Subagent没有记忆:
Subagent只根据你给的context工作,不会记住之前的对话。如果需要长期记忆,把上下文写在context里。
主Agent等待所有结果:
主Agent会等待所有Subagent完成后才回复用户。如果某个Subagent失败,主Agent会汇报失败情况继续执行。
—
## 常见问题
Q:Subagent和Profiles有什么区别?
A:Subagent是临时性的任务并行,完成后自动结束。Profiles是持久的多个人格配置,长期共存。Subagent适合”这个任务太大,拆开跑”,Profiles适合”我需要不同风格的AI长期在线”。
Q:Subagent费用怎么算?
A:每个Subagent是独立的API调用,费用累加。但因为并行执行,实际等待时间缩短了。整体成本略高,但效率提升明显。
Q:Subagent挂了怎么办?
A:主Agent会汇报失败,并提供已获取的部分结果。你可以重新派发失败的任务。
Q:可以指定不同的API Provider吗?
A:可以。在context里指定不同的provider和model配置。
—
## 相关文章








暂无评论内容