【P4】第4期:多智能体三种玩法:从创建分身到组建 AI 团队,Windows 实操全流程
本文由视频教程转写整理,系统讲解 HermesAgent 多智能体的三种用法,并在最后对三种机制做横向对比,帮你判断什么场景该用哪种。
📌 前置说明:本期默认你已看过 P1–P3、装好 Hermes 并会基础配置。涉及的命令/文件名系据视频语音转写还原(口播里 SOUL.md、profile、sub-agent 等被念得较模糊),确切写法以你安装版本的
--help与官方文档为准。
〇、三种玩法总览
- 多个独立 Agent(分身 / Profiles):在默认 agent 之外创建多个互相独立的分身,用于不同场景(学习、工作、生活分开管理)。最简单。
- 多智能体团队(一起工作):一个复杂任务拆给多个 agent 协同,由一个“主 agent”调度若干“子 agent”。最复杂、也最强,适合重复性复杂工作。
- Sub-agent(子代理协同):把任务交给 agent,让它临时自组团队完成后回收。是第 2 种的“简约版”,作者最喜欢、最推荐尝试。
作者观点:当前“多智能体一起工作”略显鸡肋,因为它还做不到真正自主协同;但随着 A2A(Agent-to-Agent,智能体间直接通信协作)机制成熟,这块未来会非常重要。
📌 对照官方机制:本期三种玩法对应 Hermes 官方的——① Profiles(多配置档);② Kanban 多智能体看板 + Kanban Orchestrator 编排技能(主 agent 调度、跨 profile 协作的持久方案);③
delegate_task子代理委托(会话内临时、并行的子任务)。下文在每节会标注对应官方名称。
一、玩法一:多个独立 Agent(分身 / Profiles)
1. 创建分身
默认只有一个 agent,在其基础上创建分身的命令:
hermes profile create <新分身名字>
- 名字可任取,但最好全英文小写;若含数字,数字放结尾,不要放开头或中间。
- 这样创建出来的分身是空白的,所有东西都要重新配(大模型、飞书、微信等都要单独配)。
2. 四种创建方式(按携带多少配置,已核实官方参数)
每个 profile 都是一个完全独立的 HERMES_HOME 目录(各自的 config.yaml、.env、记忆、会话、技能、网关、cron、日志),默认存放在 ~/.hermes/profiles/<名字>/。
| 方式 | 命令 | 说明 |
|---|---|---|
| 空白分身 | hermes profile create <名字> |
全新空白档(仅预置内建技能),之后用 <名字> setup 配 Key、模型、网关 |
| 克隆(带基础配置) | hermes profile create <名字> --clone |
复制当前 profile 的 config.yaml、.env、SOUL.md(相同 Key 与模型,但会话/记忆全新) |
| 完整克隆 | hermes profile create <名字> --clone-all |
对来源 profile 做完整复制 |
| 从指定档克隆 | hermes profile create <名字> --clone-from <源档> [--clone|--clone-all] |
从指定的某个 profile 克隆,而非当前档 |
还有
--description "<角色>":建档时设定角色描述,便于在团队/看板里让编排者知道该把什么活派给它(也可事后用hermes profile describe设置或自动生成)。⚠️ 已知问题:
hermes profile create --clone会连同平台专属凭证一起复制,可能导致多 profile 网关冲突。克隆后若要各自接通讯工具,建议重新配置网关 token。
3. 配置分身
- 配置大模型、配置通讯终端(微信/飞书)的过程,和第一次安装时完全一样,包括用配对码(DM/配对码)激活的流程也一样。
- 唯一区别:命令前面多了
hermes --profile ...(或直接用分身名字作前缀)这一层。 - ⚠️ WSL 版的配置在官方文档里写得明确;Windows 版文档里反而不太好找——但两者本质一样,只是命令多了 profile 这一段。
4. 启动与使用
- WSL 版:直接用你取的名字启动即可。
- Windows 版:在前面加上对应前缀再启动。
- 启动后用法和正常用 Hermes/任何 AI 工具完全一样——理解不了“分身”也没关系,就当多了一个聊天对话的地方。
5. 适用场景
- 个人用:学习找一个 agent、工作找另一个、家庭生活再找一个,各自单独管理,不至于混乱。
- 工作用:新媒体、coding、数据分析等不同工作各用一个 agent 单独管,更清晰。
- 特点:各分身完全独立、互不协同,相当于“张三用张三的、李四用李四的”。
二、玩法二:多智能体团队(主 agent 调度子 agent)
这是本期最复杂的一部分。它不是完全独立,而是在分身基础上加了协同/调度机制。
📌 对应官方机制:这就是 Hermes 官方的 Kanban(多智能体看板)+ Kanban Orchestrator(编排技能)——一个跨所有 profile 的持久共享任务看板,让多个具名 agent 协作,而不依赖脆弱的“会话内子代理群”。作者自制的组队 skill 本质是这套机制的一种封装。值得注意:作者强调的“主 agent 只调度、不亲自干活”,正是官方编排技能里内置的 “don’t do the work yourself”(别自己动手) 防偷懒规则。
1. 为什么需要它 & 现状
- 复杂任务一个 agent 做容易混乱,想拆开但又要能协同。
- 现状坦白说:当前还做不到 agent 之间自主协同(遇到问题自己找谁交接),更像一个调用功能。
- 类比:你是中层领导,每个员工单兵能力很强,但彼此沟通不够、需要你协调——这就是当前多智能体团队适合的场景。
2. 团队的运作原理
- 用一个 skill 帮你组队(弥补大多数人欠缺的“组织领导能力”)。
- 团队里有一个主 agent:只和你交流、负责分配工作、自己不干具体活(相当于你的助理)。
- 真正干活的是子 agent。流程:你把活交给主 agent → 主 agent 分配给子 agent → 子 agent 完成 → 结果在主 agent 处汇总 → 主 agent 把结果给你。
- 子 agent 之间互不知道彼此存在,也没有相互调用关系。只有“主 agent → 子 agent”的单向调用 + 结果回收。这正是它“鸡肋”之处——不是真协同。
3. 第一步:用 skill 设计团队
- 作者做了一个 skill:Agent Team Design(AI 团队设计),核心看它的
SKILL.md。 - 里面包含:团队名字、协同方式、触发条件、核心概念、主验证/子验证的调度机制等说明文件。
- 用法:把“做一个什么什么的团队”这个想法告诉这个 skill,它就会帮你完成组队设计。
- ⚠️ 重要区分:用 skill 组队的这个 agent,和你最终要创建的团队没有直接关系——它只是早期组队过程中用到的工具。后期使用时,你是跟构建好的团队里的主 agent交流,不是跟这个组队 skill 的 agent 交流。(有点绕,需理解)
4. 组队的五步流程
组队不是简单的事,所以 skill 设计了五步交流过程:
- 讨论 / 与你确认需求
- 生成初稿
- 评审机制
- 修订
- 交付
交付的产物是一组文件:主 agent 是谁(团队领导)、成员是谁、各成员具备什么能力(在 SOUL 文件里)、他们怎么协同(在协作流程文件里)、以及一份完整规格说明(给你看的)。这些都可按需在 skill 文件里修改。
示例:作者建了一个“数据分析团队”,共三人——一个组长 + 两个组员。
5. 第二步:真正创建成员 agent
第一步只产出了团队的“设计文件”,并没有真的 agent。这一步在设计文件基础上真正创建 agent:
- 重复“创建分身”操作(
hermes profile create ...)创建每个成员。 - 配置分身:大模型必须配;通讯终端(飞书/微信)可配可不配——因为你只跟主 agent 交互,只需给主 agent 配通讯终端即可。
- 改 SOUL.md 文件(核心步骤):把第一步设计出的文件,对应替换到各分身的
SOUL.md。- SOUL.md 是什么(已核实):它是 agent 的身份定义文件,占据系统提示词的第 1 槽位,定义 agent 是谁、怎么说话、避免什么——启动会话时被最先加载。这正是作者反复强调“它对 agent 最重要”的原因。
- 它在哪(已核实):SOUL.md 位于该实例的
HERMES_HOME根目录。默认 agent 是~/.hermes/SOUL.md;分身则在~/.hermes/profiles/<分身名>/SOUL.md。同目录还有记忆文件memories/MEMORY.md、memories/USER.md。 - Windows 路径示例(视频中的形式):
C:\Users\<你的用户名>\AppData\Local\hermes\profiles\<分身名>\SOUL.md - 操作:把第一步生成的对应成员设计文件改名为
SOUL.md,复制进该分身目录替换原文件即可。skill 组队完成后会把文件路径给你,按路径找出文件;再确认对应分身的 SOUL.md 位置,改名替换。
6. 主 agent 的特殊处理:合并文件
- 主 agent 不仅要 SOUL.md,还要把“协作流程”文件也并进来。
- 合并方法:把改名后的 SOUL.md 打开编辑,把协作流程的内容复制粘贴到后面即可。
- 最终:所有文件改好名、主 agent 做好合并,再放回各自 agent 的文件夹做替换。
💡 核心认知:对任何 agent(主/子)而言,SOUL.md 是最重要的文件——它定义了 agent 的身份与能力。所以这个组队 skill 的价值就在于帮你把 SOUL.md 写好。
7. 关键:主 agent 必须“真调用”
- 主 agent 的 SOUL.md 里必须严格说清:工作怎么分配、在哪个子 agent 里执行、调用什么命令行、执行什么任务。
- 因为它是真的执行,不是“伪执行”:主 agent 通过命令行调用子 agent(带上子 agent 名字 + 任务),子 agent 真的去干。
- 验证:在子 agent 的 session(对话记录)里能查到这个任务,证明它真的工作了。
- 如果 SOUL.md 没写清楚,可能出现“主 agent 没有真正去调用子 agent”的问题。
8. 启动与派活
- 启动:Windows 要加前缀;WSL 直接启动即可。
- 在与主 agent 的对话里把任务说清楚(如“有一个数据分析工作,需谁来完成”,把数据表给它),它就会调度执行。
- 完成后主 agent 会反馈:哪些 agent 参与了、工作结果是什么,做一次交互汇总。
9. 实用命令:查看分身 & 调历史会话
hermes profile show # 查看 profile(分身)信息
- 进入某个分身(WSL):直接输入分身名字即可(如
mini)。 - 查看历史会话:在会话中用斜杠命令
/sessions列出之前的对话记录。 - 续接某个历史会话:用
/resume(在会话内选择已保存的会话),或在启动时用命令行参数:hermes --resume <会话ID>(按 ID 恢复,-r简写)hermes --continue [名字](按名字恢复,无名字则恢复最近一次,-c简写)
- 用途:验证主 agent 分配的任务子 agent 是否真的完成了——你看不到子 agent 实时执行,只看到主 agent 的反馈;但回到子 agent 调出它的工作记录,就能确认它确实干了活。
注:视频口播的“
/sessions <ID>续接“在新版里更标准的写法是/resume或命令行--resume <ID>,确切以你版本的/help为准。
10. 这种方式的独特好处
- 子 agent 真的执行任务 + 持久存在,意味着团队成员能力会越用越强(自我进化/积累)。
- 对比第三种 sub-agent:sub-agent 干完活就回收消失,无法积累——所以单从“积累”看,多智能体团队更好。
11. 适用场景
- 重复性的复杂工作:一个主 agent 当助理帮你拆解、分配给其他 agent。
- 第一次用需走“组队→拆分”流程;后续同类任务直接找主 agent 即可,不必重新组队。
三、玩法三:Sub-agent(子代理协同)
适合稍复杂的任务。
📌 对应官方机制:这就是 Hermes 官方的
delegate_task子代理委托工具——它会派生出子AIAgent实例,每个拥有独立的对话上下文、独立终端会话、受限工具集;子代理独立工作,只把最终摘要返回给父 agent(中间的工具调用不进入父级上下文)。支持单任务和批量/并行模式,父 agent 会阻塞等待所有子代理完成。
1. 解决的痛点
- agent 依赖上下文(context)。任务稍复杂、上下文太长时,可能跑着跑着就崩了,前面的工作白做。
delegate_task让每个子任务在隔离的上下文里跑,只回传摘要,从而避免父级上下文被撑爆。
2. 工作方式
- 把任务交给 agent → 它自己派生 sub-agent(可并行)→ 完成后自动回收 → 只把汇总结果交互给你。
- 本质是“多智能体团队”的简约版:用户端无需配一堆东西、也不用自己写 skill 组队,机制原生支持这种简约用法。
- 劣势:sub-agent 只在这一次会话过程中出现,用完即消失,无法积累。
3. 怎么用
- 用一段通用提示词:把提示词拿过来、把你的任务填进去,再把这一大段提示词交给 agent,它就会自主组队完成。
- 这种 agent 机制现在几乎所有平台都支持(ClaudeCode、Hermes 等各种 agent 平台通用)。
- 作者因内容较长没演示,但强烈推荐多用、多感受其强大。
ℹ️ 那段“通用提示词”的具体内容视频中未给全,文中无法照录。请以作者随视频提供的资料为准;其本质就是引导 agent 调用
delegate_task去自主拆解、并行执行任务。
4. 适用场景
- 需求不太清晰、稍复杂、你也不确定是否需要正式组队的任务。
- 试用成本低:先用 sub-agent 试,觉得更适合长期组队再换成“多智能体团队”也行。
四、三种方式对比
| 维度 | 多个独立 Agent(分身) | 多智能体团队 | Sub-agent |
|---|---|---|---|
| 官方机制 | Profiles | Kanban + Kanban Orchestrator | delegate_task |
| 关系 | 各自独立,互不相关 | 主 agent 调度子 agent(单向) | 主 agent 动态生成子 agent |
| 共享上下文 | 不共享 | 不共享(但主可发命令、子可回传结果) | 不共享,结果汇总到主 agent |
| 存续 | 一直存在,各自积累/学习 | 永久存在,可积累、可进化 | 临时,用完即回收消失 |
| 难度 | 最简单 | 最难 | 中等(靠通用提示词) |
| 适用场景 | 不同场景分开管理 | 重复性的复杂工作(周报/日报/周例会等) | 稍复杂、不常做、需求不清晰的任务(如团建计划) |
要点:
- 多智能体团队适合一直要做、单个 agent 又搞不定的重复性复杂工作(日报、周总结、周例会等)。
- Sub-agent 适合一年就一两回的不常用任务,或拿不准是否要组队时先低成本试水。
- 三者各有所长,并非有了一个就不用其他。作者目前三种都在用。
- 多智能体当前“还差点意思”,期待 A2A 模式成熟后能做更多事。
五、下期预告
下一期面向只有一个 agent 的大多数人:怎么把这一个 agent 用好,包括把知识库用起来——把知识库交给 agent,让它基于知识库做问答回复,零成本实现类似群/电商平台那种文字智能客服。
附:常用命令速查
| 用途 | 命令 / 操作 |
|---|---|
| 创建分身(profile) | hermes profile create <名字> |
| 克隆分身(带配置) | hermes profile create <名字> --clone / --clone-all / --clone-from <源档> |
| 建档时设角色描述 | hermes profile create <名字> --description "<角色>" |
| 查看 / 切换 / 删除分身 | hermes profile show / hermes profile use <名字> / hermes profile delete <名字> |
| 配置分身 | <名字> setup(或 hermes --profile <名字> setup) |
| 临时指定分身 | hermes -p <名字> chat |
| 启动分身(WSL 直接 / Windows 加前缀) | <名字> / <名字> gateway |
| 查看历史会话 | /sessions |
| 续接历史会话 | /resume,或 hermes --resume <会话ID> / hermes --continue [名字] |
| 组建 AI 团队(多智能体) | 官方 Kanban + Kanban Orchestrator 技能;或作者自制「Agent Team Design」skill |
| 委托子代理(sub-agent) | delegate_task 工具(由 agent 在会话内调用) |
| 关键文件 | 各 agent 的 SOUL.md(身份定义,最重要) |
| 分身 SOUL.md 路径 | ~/.hermes/profiles/<分身名>/SOUL.md(Windows:C:\Users\<用户名>\AppData\Local\hermes\profiles\<分身名>\SOUL.md) |
说明:本文命令、文件名、路径已对照 HermesAgent 官方文档核实并修正。口播误识(「service agent」「so MD / soul / 搜文件」「DM code」「A2V / A to a」「sub agent / the agent」「open cloud」「克隆-2」「profile list」「/sessions
」)已整理/修正为:分身/profile、 SOUL.md、配对码、A2A、delegate_task/子agent、ClaudeCode、--clone-all、profile show、/resume。作者自制的「Agent Team Design」skill 与那段 sub-agent「通用提示词」以作者随视频提供的资料为准。