Lazy loaded image
🏇Hermes Agent 教学 09 | 子 agent 与并行
字数 1310阅读时长 4 分钟
2026-4-22
本文是 Hermes Agent 教学系列 第 09 篇。Hermes 「多身」机制:并行、隔离、零上下文成本。

为什么需要子 agent

单一 agent 跑一件多步骤任务会遇到两个问题:
  1. 上下文污染 —— 主会话为了走完任务会塞入大量中间状态(拉到的页面、应該的脱出、调试输出)。完成后这些状态还在主会话里,占位、费钱、让后面的对话变慢
  1. 串行瓶颈 —— 你让它同时处理 10 个 URL,它只能一个一个跑
子 agent 解决这两问:
  • 隔离 —— 子 agent 有独立会话、独立终端、独立上下文。完成后只返回结果,不能说话中途不会拉主上下文
  • 并行 —— 多个子 agent 同时干活,主 agent 只需要等汇总
官方叫这个「zero-context-cost pipelines」——主 agent 不需要为子任务的中间状态付出上下文代价。

最简单的调用

在主对话里:
Hermes 会调用 delegate 工具:
你看到的只是返回值。中间过程(子 agent 怎么拆页面、重试、处理 404)都不在主会话里。

手写子任务定义

同上篇的定时任务类似,手写可以变更多:
主会话里调用:
Hermes 会同时启 10 个子 agent,等完成后调一次主 LLM 合成表格。

Backends:子 agent 跑在哪里

这是 Hermes 架构中较独特的地方。子 agent 不一定跑在主进程里,可以选下面 6 种任一种:
Backend
隔离程度
使用场景
local
调试、快速调用、信任代码
docker
跑未知代码、需要独立环境
ssh
跑在远端机器上
daytona
serverless,空闲休眠,推荐
modal
serverless,GPU 上需要跑不同场景
singularity
HPC 集群(学术场景)
给初学者的建议路径:
  1. 入门 → local,看清楚子 agent 怎么跳
  1. 上手 → docker,报错不会检查你主机,可以跑任意 Python/Node 代码
  1. 进阶 → daytonamodal,多任务并行也不炸你本机
配置默认 backend:

模式:fan-out / fan-in

最常用的子 agent 模式是呈扣生舔合:
在主对话里带 「并行」/「并发」 关键词 Hermes 会自己选这个模式。

Python RPC:让子 agent 干代码活

子 agent 不一定仅调 LLM,也能报跨出来跑独立 Python。Hermes 提供 RPC 接口:
主会话里:
子 agent 跑这段 Python,返回结果。适用于:
  • LLM 不适合的纯计算/数据处理任务
  • 你已有现成代码,不需要 LLM 重写
  • 重复调用,token 费太贵

查看运行中的子 agent

发现某个子任务的习惯跳宕?hermes delegate stats <skill_name> 看该子任务的成功率、平均耗时、p99 耗时。

常见坍陷

  1. 主会话里拼命能倌运 —— 子任务能走就走子任务,主会话越干净越好
  1. 输出格式严格。子任务返 Markdown 发言在主会话里会被 LLM 重新解释,造成口微差。返 JSON 程度可控
  1. token 预算心里有数。并行 50 个子 agent 听起来酷,但千 token / 任务 × 50 = 5 万 token 一次调用
  1. 避免嵌套太多。子 agent 再调子子 agent 在仗中十全,但调试会变个黑盒子

下一篇

到这一篇为止 Hermes 的能力面近与全都讲完了。下一篇讲现实问题:怎么部署到云端。$5/月 VPS 能不能肩起?Daytona / Modal / SSH / Docker 几种后端各适合什么场景?

本系列文章持续更新,下篇见。
上一篇
Hermes Agent 教学 10 | 部署到云端
下一篇
Hermes Agent 教学 08 | 定时任务与自动化