发布日期2026-07-27 | 关键词Hermes Agent、多 Agent、delegate_task、Kanban 编排、Nous Research适用版本Hermes Agent v0.19.0v2026.7.20Hermes Agent 的多 Agent 能力是 Nous Research 在其开源自主智能体2026 年 2 月开源MIT 许可中提供的一组协作运行时共五种机制会话内的 delegate_task 委派、Mixture of Agents 多模型协同、Background Review 后台技能提炼、send_message 跨 Profile 传话以及唯一真正跨进程的 Kanban 编排层。与多数框架把多 Agent做成单一抽象不同Hermes 按任务时长和故障容忍度把能力分层单回合、并发不超过 3 路的活儿交给 delegate_task进程内用线程池跑需要跨重启不丢、多 Profile 分工的长任务交给 Kanban由 dispatcher 每 60 秒轮询、spawn 独立子进程执行状态落在 SQLite。这套设计的代价是子 Agent 之间完全不通信、默认扁平不嵌套收益是故障边界清晰——但 2026 年 7 月泰国财政部入侵事件也暴露了无人值守模式的真实风险。一、Hermes 多 Agent 到底指什么五种机制一张表看清Hermes 没有单一的多 Agent 模式而是五种运行时机制按作用域和触发方式区分。混用概念是踩坑的第一来源。机制触发方式作用域并发上限delegate_taskLLM 自主 tool call单 session 内3 路并行Mixture of AgentsLLM 自主 tool call单 session多模型4 个参考模型 1 聚合器Background Review系统计数器自动触发单 session后台1 个守护线程send_messageLLM tool call跨 Profile同进程网关—Kanbandispatcher tick每 60 秒跨 session / 跨重启 / 跨 profilemax_spawn实时并发上限前四种全部在单进程内完成没有任何进程间通信只有 Kanban 是真正的进程间编排——dispatcher 会 spawn 独立的 worker 子进程sys.executable -m hermes_cli.main。此外还有/goal的 Ralph 循环特点是不 fork、不改 system prompt 和 toolset续转 prompt 以普通 user message 追加严格说它不属于多 Agent 而是单 Agent 的持续迭代。二、delegate_task会话内并行的硬边界delegate_task 是 Hermes 最常用的多 Agent 入口但它有三条写死在代码里的硬限制tools/delegate_tool.pyMAX_DEPTH2# 父(0) → 子(1) → 孙子被拒绝(2)MAX_CONCURRENT_CHILDREN3# 最多 3 个并行子代理DEFAULT_MAX_ITERATIONS50DEFAULT_TOOLSETS[terminal,file,web]1. 并行跑三个任务的写法delegate_task(tasks[{goal:Fix login bug,toolsets:[terminal,file]},{goal:Update API docs,toolsets:[terminal,file]},{goal:Run test suite,toolsets:[terminal]},])批量执行走ThreadPoolExecutor(max_workers3)as_completed父线程用future.result()收结果。单任务时连线程池都不用直接调_run_single_child。2. 权限只会收窄不会放大子 Agent 的工具集遵循一条固定公式子代理工具 用户指定 ∩ 父级可用−DELEGATE_BLOCKED_TOOLS黑名单包含delegate_task禁递归、clarify、memory、send_message、execute_code。3. 隔离边界继承什么、隔离什么继承隔离模型 / provider / API key对话历史空白起步工作目录 cwd终端 session凭证池、平台引用中间工具调用与推理过程子 Agent 还会强制skip_context_filesTrue、skip_memoryTrue——这意味着它读不到项目上下文文件任务描述必须自包含这是新手最常踩的坑。4. 默认扁平orchestrator 会静默降级v2026.4.18 起 delegate_task 新增role参数leaf默认不可再委派orchestrator保留 delegation toolset 可继续派生 worker。但存在一个隐蔽陷阱当max_spawn_depth1默认值时即便声明了 orchestrator 角色也会静默降级成 leaf。要解锁嵌套必须手动调整配置delegation:provider:openroutermodel:google/gemini-3-flashmax_iterations:50reasoning_effort:lowmax_concurrent_children:3# 并发数max_spawn_depth:1# 1扁平默认2-3 解锁嵌套委派orchestrator_enabled:true5. 子 Agent 之间完全不通信这是 Hermes 多 Agent 设计中最重要的一条约束并行的子 Agent 之间没有任何通信通道。它们各自独立执行结果只汇总到父 Agent。父 Agent 看到的是 JSON 摘要包含task_index、status、summary、api_calls、duration_seconds、exit_reason、tokens、tool_trace。跨 Profile 同样没有原生通信通道。社区变通做法是让两个 Profile 各绑一个 bot 处于同一频道靠DISCORD_ALLOW_BOTS/SLACK_ALLOW_BOTS的 none / mentions / all 三档配置互相收发消息——但这属于巧合式交互有延迟、无事务保证且容易形成 A→B→A 的死循环。三、Kanban 编排层跨进程、跨重启的长任务方案Kanban 是 Hermes 唯一能跨进程、跨重启保持任务状态的多 Agent 机制适合长跑迭代场景。状态落在 SQLiteroot/kanban.dbworker 通过 9 个kanban_*工具回写状态。1. 基本命令流程# 初始化看板幂等操作缺失时创建数据库hermes kanban init# 创建任务并指派 profilehermes kanban create重构支付模块--assigneeworker--workspacedir:/path/to/repo# 派发reclaim 过期 → promote ready → spawn workerhermes kanban dispatch# 查看状态hermes kanban list hermes kanban showid# 启动 Web 控制台默认端口 9119hermes dashboard多看板管理适合区分项目hermes kanban boards create atm10-server--nameATM10 Server--icon hermes kanban--boardatm10-server createRestart server--assigneeops hermes kanban boards switch atm10-server看板解析优先级为--board标志 →HERMES_KANBAN_BOARD环境变量 →~/.hermes/kanban/current→default。2. 自动任务分解kanban.auto_decompose默认为Trueauto_decompose_per_tick默认为3。decompose_triage_task会把一个 triage 任务扇出为子任务树并路由到对应的 specialist profile根任务保留为父节点全部子任务 done 后父任务才升级为 ready。Specialist 集合不是硬编码的——_build_roster读取配置的 profile roster 动态决定可用集合。3. 六条可靠性不变量Kanban 的工程价值集中在故障恢复设计上这是它区别于纯线程池方案的核心heartbeat TTLclaim 过期自动 reclaimworker 挂了任务不会永久卡住僵尸进程检测macOS / Linux 各自路径的 zombie detectionexit-without-complete 自动 blockworker 退出但未标记完成任务自动进入 block 态per-task max_retriesmax_retries1首次失败即 block3允许两次重试task ownership 强制校验防止 worker 越权操作他人任务hallucination gate声称完成但数据库里没有证据时任务转入completion_blocked_hallucination恢复态另有stranded_in_ready诊断检测长期无人接走的 ready 任务阈值默认 1800 秒。4. max_spawn 是并发上限不是每 tick 预算这是一个高频误解max_spawn被明确定义为实时并发上限live concurrency cap限制同时运行的 worker 数量而不是每个 dispatcher tick 能派发多少任务。四、选型决策delegate_task 还是 Kanban判断维度delegate_taskKanban任务时长单回合可完成长跑迭代并发需求≤ 3 路由max_spawn控制跨重启保持❌ 进程内重启即丢✅ SQLite 持久化多 Profile 分工❌✅故障恢复父 Agent 处理六条不变量自动兜底启动开销低线程高子进程官方选型建议原文单回合可完成、并发 ≤3 →delegate_task长跑迭代、需重启不丢、需多 profile → Kanban。实践上还有一条经验如果任务能在一次对话里说清并且 15 分钟内跑完用 delegate_task如果你需要关掉电脑第二天接着跑用 Kanban。五、迭代预算token 会不会失控Hermes 用IterationBudget做线程安全的预算控制父子预算独立不互扣。父 Agent 默认 90 次迭代每个子 Agent 50 次因此三路并行的理论总迭代为 90 150 240。两个值得注意的设计refund()机制execute_code执行后会退还迭代额度官方注释说明这是为了鼓励多验证压力阈值 0.7 / 0.9接近预算上限时注入警告且警告写入工具结果 JSON 而非 prompt——避免破坏 prompt cacheMixture of Agents 的成本更可预测asyncio.gather并发 4 个参考模型temperature 0.6再由聚合器temperature 0.4合成共 5 次 API 调用中间答案存在函数栈的 list 里不落盘。模型供给的现实约束多 Agent 并行会把 API 调用量放大到单 Agent 的 3–5 倍模型侧的稳定性和延迟成为瓶颈。Hermes 的delegation配置允许给子 Agent 单独指定 provider 和更便宜的模型如示例中的 flash 类模型开发者也可以通过兼容 OpenAI SDK 的统一网关接入多款主流大模型例如七牛云推理服务兼容该接口国内可直接访问切换底层模型无需改动 Hermes 客户端代码。六、编排外部 AgentACP 模式Hermes 可以通过 ACPAgent Client Protocol把外部 Agent 当作执行者自己充当编排器delegate_task(goalRefactor this module,acp_commandclaude,acp_args[--acp,--stdio,--model,claude-opus-4-6])这个能力让 Hermes 成为异构 Agent 的调度层——用 Hermes 的 Kanban 做任务管理和故障恢复把具体编码工作交给专门的编码 Agent。七、运行时控制面不打断的纠偏Hermes 提供了一组在 Agent 运行中途介入的斜杠命令这是长任务多 Agent 的实用配套命令作用/handoff profile|platform迁移整个 sessionmessage、tool call、context 一并带走/steer text对运行中的 agent 注入纠偏不打断执行/queue text排队等当前 turn 结束后执行/subgoal {show,append,remove,clear}在/goal循环中途追加成功标准/subgoal append的价值在于judge 会把新增 criteria 一起纳入 DONE 判定无需重启整个循环。八、安全警示无人值守多 Agent 的真实代价多 Agent 无人值守模式已出现真实滥用案例。据 The Hacker News、BleepingComputer 与 Security Affairs 2026 年 7 月报道有攻击者在泰国财政部入侵事件中以关闭审批提示的无人值守模式“YOLO” mode运行 Hermes Agent 自动化后渗透活动并将日志遗留在开放目录中被安全公司 Hunt.io 发现。这起事件对正常使用者的直接启示不要为了省事全局关闭审批Hermes v0.19.0 引入的 smart approvals 默认由模型判定被标记的命令比一刀切关闭安全得多子 Agent 权限收窄是特性不是限制DELEGATE_BLOCKED_TOOLS黑名单和工具集交集规则应当保留Kanban worker 跑在隔离环境Hermes 支持本地、Docker、SSH、Daytona、Singularity、Modal 六种终端后端多 Agent 场景优先用容器化后端九、FAQQHermes 有 swarm 模式吗A截至 2026 年 7 月swarm在 Hermes 仓库中以多个 open issue 和 PR 的形式存在如 per-swarm verifier synthesizer、custom swarm stage skills、swarm cards 默认运行时上限但官方 CLI 命令参考中尚无hermes kanban swarm命令属于开发中的能力。生产环境请以 delegate_task 和 Kanban 为准。Q为什么我的子 Agent 读不到项目文件A子 Agent 强制skip_context_filesTrue和skip_memoryTrue不继承父 Agent 的上下文文件和记忆。解决办法是把必要信息写进goal描述或让子 Agent 用 file 工具自己读取指定路径。Q三层嵌套委派可以吗AMAX_DEPTH 2是硬上限即父0→ 子1孙子层2会被拒绝。同时需要把max_spawn_depth从默认的 1 调到 2 或 3否则 orchestrator 角色会静默降级为 leaf。Q父 Agent 中断了子 Agent 会怎样A父 Agent 的interrupt()会复制_active_children列表并逐个调用子 Agent 的child.interrupt(message)。子 Agent 返回status: interrupted部分结果保留在返回值中但中断结果不会作为有效答案展示给用户父 Agent 标记completed: False。QBackground Review 会影响我的对话性能吗ABackground Review 在用户已收到回复之后才启动守护线程 forkquiet_modeTrue、max_iterations8。官方文档把它类比为垃圾回收——定期自动跑用户无感知。触发条件是纯计数器逻辑_turns_since_memory/_iters_since_skill达到阈值默认 10。十、总结Hermes 的多 Agent 设计选择了分层而非统一抽象delegate_task 用线程池换低延迟Kanban 用子进程加 SQLite 换故障恢复能力两者之间没有中间态。代价是子 Agent 完全不通信、默认扁平不嵌套——这些限制在实际使用中往往比想象的更合理因为绝大多数并行任务并不需要 Agent 间对话。据 Nous Research 官方发布数据Hermes Agent v0.19.02026 年 7 月 20 日发布自 v0.18.0 起累计约 2245 次提交、1065 个合并 PR、关闭约 3300 个 issue社区贡献者超过 450 人据 TechCrunch 2026 年 7 月 13 日报道Nous Research 正以 15 亿美元估值洽谈至少 7500 万美元新一轮融资由 Robot Ventures 领投。本文内容基于 2026 年 7 月的官方文档、GitHub 仓库与社区 wiki 整理Hermes 迭代节奏极快约双周一个大版本涉及具体常量和配置项时建议以当前版本源码为准。延伸资源Hermes Agent 官方文档https://hermes-agent.nousresearch.com/docs/zh-Hans/GitHub 仓库与 Release Noteshttps://github.com/NousResearch/hermes-agent社区多 Agent 架构 wikihttps://github.com/cclank/Hermes-Wiki多模型 API 统一接入与对比https://www.qiniu.com/ai/models