要构建真正协同的多代理系统,必须启用Profile隔离、Kanban调度、delegate_task并行和A2A主动通信;未配Profile会导致上下文混乱;每个Agent需专属Profile定义角色与工具;Kanban支持长周期任务跟踪;delegate_task用于秒级轻量并行;A2A实现流式主动通信。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让 Hermes Agent 构建起真正能分工、能通信、能协同的多代理协作系统,必须绕过单实例运行的默认模式,启用角色隔离、任务分发与跨代理通信机制;不配置 Profile 就启动多个 Agent,所有会话将混在同一上下文里,结果不可控、记忆错乱、工具权限失效。
创建独立 Agent 实例(Profile 驱动)
每个 Agent 必须有专属 Profile,这是身份、技能、记忆和工具权限的唯一载体。
第一步:在 ~/.hermes/profiles/ 下新建 researcher.yaml,内容含 name: researcher、role: “专注信息检索与数据验证”、tools: [web_search, pdf_reader];
第二步:同目录下再建 writer.yaml,明确 role: “结构化报告撰写”,tools: [markdown_writer, file_saver],且禁用 web_search;
【role 字段必须用自然语言描述,不能写成 researcher 或 writer 这类标签——LLM 依赖这段文字理解职责边界,写错会导致委派失败】
第三步:执行 hermes profile list,确认两个 Profile 已注册;
第四步:启动时指定 hermes --profile researcher,此时所有输入仅被该 Agent 解析,上下文完全隔离。
启用 Kanban 看板调度长周期协作
Kanban 是 v0.13.0+ 版本中专为多 Agent 持久化协作设计的任务中枢,适合需人工介入、状态跟踪或带依赖关系的流程。
方法一:命令行初始化看板
运行 hermes kanban init,自动生成本地 SQLite 数据库 ~/.hermes/kanban.db;
方法二:发布首个可分配任务
执行 hermes kanban add --title "整理2026Q2竞品功能列表" --assignee researcher --due 2026-08-15;
方法三:让 Writer 主动认领并推进
切换到 writer Profile 后,运行 hermes kanban claim --id 1,任务状态自动从「待做」变为「执行」;
这一步无需手动通知 researcher,Kanban 本身是共享状态源,所有 Agent 读取同一数据库即可感知进度。
用 delegate_task 实现短时并行子任务
适用于语义明确、无状态依赖、期望秒级返回的轻量协作,比如同时查三台服务器状态、并行解析三个日志文件。
方法1:由主 Agent 自主触发
在对话中直接说:“请并行检查 server-a、server-b、server-c 的磁盘使用率”,LLM 会自动调用 delegate_task,生成三个子代理;
方法2:显式构造 JSON 参数调用
在 prompt 中嵌入如下结构,确保 tasks 数组中每个元素都含 goal 和 context 字段:
{"name": "delegate_task", "parameters": {"tasks": [{"goal": "获取 server-a 的 df -h 输出", "context": "SSH 地址为 10.0.1.10"}, {"goal": "获取 server-b 的 df -h 输出", "context": "SSH 地址为 10.0.1.11"}]}}
【子代理默认 role=leaf,无法再 delegate;如需二级拆解(例如 researcher 再委派给 scraper),必须显式设置 role=orchestrator】
启用 A2A 协议实现 Agent 间主动通信
A2A(Agent-to-Agent)协议让 Agent 不再被动等待指令,而是能流式推送、主动通知、传文件块,且内置反循环保护。
第一步:确认插件已加载
检查 ~/.hermes/plugins/a2a/ 目录存在,且 plugins.yaml 中含 - a2a;
第二步:在 researcher.yaml 中添加 a2a_enabled: true 和 endpoints: ["writer@localhost:8081"];
第三步:在 writer.yaml 中对应添加 endpoints: ["researcher@localhost:8080"];
第四步:researcher 执行完数据整理后,调用 a2a_send 工具,目标设为 writer,payload 类型选 markdown,内容直接传结构化表格;
writer 收到后自动触发 report_generation 流程,无需用户再次输入指令。


















