查资料 1 小时、写稿 2 小时、审校 30 分钟、配图 20 分钟。每个环节都得盯着前一个 AI 跑完才能开始下一个。我后来意识到我不是在写文章我是在陪 AI 排队。这篇要解决的就是这件事用 Hermes 搭一个 3 Agent 流水线把调研、写作、审校三件事拆给三个 AI 并行跑整篇压缩到 10 分钟出初稿。一、Hermes 是谁跟 Claude Code 差在哪用过 Claude Code 或 Cursor 的话Hermes 上手几乎没成本。它就是一个跑在终端里的 AI 代理但多了一层派发能力。最直观的对比Claude Code / Cursor你打开一个 tabAI 在里面干活干完你接着提需求。Hermes你打开一个 tabAI 叫出另外几个 tab 一起干。Hermes 负责拆任务、传上下文、收结果。Hermes 比单 Agent 工具多出来的核心能力就三件多 Provider 路由。一条命令切 OpenAI / Anthropic / Google / xAI 后端业务代码不用动。多 Agent 派发。delegate_task()拉起子 Agent每个子 Agent 独立上下文互不污染。Skills 系统。把写公众号、做调研、出配图 prompt 这些套路写成SKILL.mdAgent 加载就会用。剩下的toolsets白名单授权、profiles多场景隔离、depends_onDAG 调度都是配套的工程能力。只想跑单 Agent 串行活Claude Code 够用。但凡你想让多个步骤并发、让上下文拆分不互相污染、让工具按 Agent 最小授权Hermes 的多 Agent 模型就是为这些场景做的。二、10 分钟起一个 3 Agent 流水线不再绕弯子。咱们直接上手。2.1 装环境# PyPI 一行装推荐新手 pip install hermes-agent # 启动 REPL hermes chat # 切到你想用的模型 hermes config set provider anthropic hermes config set model claude-sonnet-4装完跑hermes tools看下当前账号可用的工具集。默认会有browser / file / terminal / web / image_gen / delegation / search这几类。2.2 写一份 YAML 配置Hermes 的精髓在 YAML 流水线配置文件。把 Agent 当成函数声明依赖关系写在depends_on里Hermes 自己按 DAG 排调度。下面这份配置就是公众号写作流水线的最小可运行版本。5 个 Agent、5 个文件产物、链式 DAG 调度。# # Hermes 多 Agent 流水线公众号写作 5 步曲 # 跑法hermes run --config hermes_agents.yaml --topic Hermes 入门 # agents: topic_scout: # 第 1 步选题侦察兵 model: anthropic/claude-sonnet-4 toolsets: [web, search] # 只给联网 搜索文件操作不要开 role: leaf # 关键声明 leaf禁止递归 spawn researcher: # 第 2 步资料研究员 model: anthropic/claude-sonnet-4 toolsets: [file, web] # file 用来读 01-topics.md、写出 02-research.md role: leaf writer: # 第 3 步执笔写手 model: anthropic/claude-sonnet-4 toolsets: [file, skills] # skills 让它能加载「公众号写作」技能 role: leaf editor: # 第 4 步审校编辑 model: anthropic/claude-sonnet-4 toolsets: [file] # 最小集只让它改文件 role: leaf illustrator: # 第 5 步配图提示词 model: anthropic/claude-sonnet-4 toolsets: [skills] # 用 image_gen 技能生成配图 prompt role: leaf pipeline: - call: topic_scout # 入口节点无需 depends_on goal: 为「{TOPIC}」出 3 个公众号选题候选输出到 01-topics.md - call: researcher goal: 基于 01-topics.md 整理 6 section 研究资料包到 02-research.md depends_on: topic_scout - call: writer goal: 据 02-research.md 起草 2500-3000 字实操教程到 03-draft.md depends_on: researcher - call: editor goal: 审校 03-draft.md输出三栏 Markdown 表格存到 04-review.md depends_on: writer - call: illustrator goal: 为 03-draft.md 配 2-3 张图给出图名节点文字用途 depends_on: editor这里有几个细节需要注意一下role: leaf必须显式写。不写默认是general子 Agent 自己会 spawn 孙子 Agenttoken 几分钟烧光。toolsets走白名单能少一个就少一个。Editor 只给file连web都不开。depends_on替代手写串行你只声明依赖Hermes 自己排调度。2.3 嫌 YAML 不够灵活上 PythonYAML 适合配置固定的流水线。想动态生成任务、加条件分支、用 Python 拼装任务列表就走delegate_taskAPI。下面这段 Python 是同样的 5 步流水线能看出它和 YAML 的对应关系。YAML 是声明式Python 是命令式干的事一样。 Hermes 多 Agent 流水线 —— Python 入口 跑法python run_pipeline.py 依赖pip install hermes-agent from hermes_tools import delegate_task # Hermes 官方派发 API # ---------------------------------------------------------------- # 1) 定义 5 个子 Agent 任务顺序由 depends_on 字段控制 # ---------------------------------------------------------------- tasks [ { goal: 你是 topic_scout。用户主题{TOPIC}。请用 websearch 工具调研 输出 3 个公众号选题候选到 01-topics.md。, toolsets: [web, search], role: leaf, # 关键明确 leaf禁止递归 }, { goal: 你是 researcher。据 01-topics.md 整理 6 section 资料包 核心概念/代码/坑点/最佳实践/参考/配图写到 02-research.md。, toolsets: [file, web], role: leaf, depends_on: [topic_scout], }, { goal: 你是 writer。据 02-research.md 起草 2800 字实操教程 输出到 03-draft.md必须有 YAML Python 两段代码。, toolsets: [file, skills], role: leaf, depends_on: [researcher], }, { goal: 你是 editor。审校 03-draft.md输出三栏 Markdown 表格 原文 / 问题 / 建议到 04-review.md。, toolsets: [file], role: leaf, depends_on: [writer], }, { goal: 你是 illustrator。为 03-draft.md 配 2-3 张图 给出图名用途节点文字到 05-illustrations.md。, toolsets: [skills], role: leaf, depends_on: [editor], }, ] # ---------------------------------------------------------------- # 2) 一次性派发Hermes 默认就是批派发主 Agent 不阻塞 # Hermes 会按 tasks 里的 depends_on 字段自动排 DAG # 没有依赖的同级任务自动并发跑。 # ---------------------------------------------------------------- results delegate_task( taskstasks, shared_context{TOPIC: Hermes Agent 入门多 Agent 协作}, ) # ---------------------------------------------------------------- # 3) 打印每个子 Agent 的 summary调试用 # ---------------------------------------------------------------- for r in results: print(f[{r[agent]}] - {r[summary]})注意我没像一些老博客那样写parallelTrue。Hermes 的delegate_task(tasks[...])默认就是批派发依赖关系由depends_on字段决定。它会自动识别哪些任务没依赖、把没依赖的扔到并发队列里跑。parallelTrue是早期接口的遗留新版 API 不用管。跑完之后results是个列表每个元素是{agent: ..., summary: ..., output_path: ...}。要拿哪个文件直接读output_path。三、单 Agent 串行 vs 3 Agent 并行差距有多大跑通之后你大概率会问不就比单 Agent 多个并发真有那么神有。拿数据说话。Anthropic 2024 年的多 Agent 调研系统报告里有一组数据开放研究类任务多跳问题、跨源综合多 Agent 架构比单 Agenttoken 消耗约 4 倍但准确率从基线 60% 提升到 90%。直观点拆开看。维度单 Agent 串行3 Agent 并行步骤调研 → 写作 → 审校必须等前一步调研 ‖ 写作依赖调研→ 审校耗时60s 90s 30s 180s60s ‖ 90s → 30s 120s上下文单上下文80k token所有东西塞一起拆 3 份上下文各30k token准确率基线 60%90%Anthropic 2024 多 Agent 调研报告原文 baseline ~60%Token 总成本1×约 1.4×端到端分摊后内部单次调研 4×由此我们可以得出几个结论耗时省 33%。本流水线写作和审校是链式依赖写作 depends_on 调研、审校 depends_on 写作不能硬并发。但 3 Agent 上下文拆分让每个子 Agent 都能在前一个还没完全结束时就启动下一段准备。比如 writer 等调研结果时editor 已经把上次的 prompt 模板加载好调研一回来就立刻接上。这才是省 33% 的真正机制不是 DAG 并发。上下文干净。单 Agent 跑完一篇文章context 里塞了选题、查到的所有网页、中间稿、审校意见……再跑第二个任务就稀里哗啦。3 Agent 拆分后每个子 Agent 上下文清爽幻觉率明显降。Token 总成本没爆炸。很多人听到多 Agent 就担心 token 翻 4 倍。其实单 Agent 串行重试的 token 浪费更猛一次跑崩就得从头再来。多 Agent 拆开能断点重跑省的是这个钱。需要注意的是Anthropic 2024 报告里 4× 指的是单次调研任务内部 token 增长4 个并行调研员各跑一遍而端到端多 Agent 任务总成本分摊后大约 1.4×别混着说。但多 Agent 不是万灵药。简单任务步骤 ≤ 3、上下文 ≤ 50k、工具 ≤ 3 个用单 Agent 更省心。你硬上多 Agent 反而是给自己找事。判断标准很简单你的活能不能一句话讲完目标。能单 Agent不能多 Agent。四、6 个最容易踩的坑多 Agent 看着美好新手实操 90% 的人都死在下面这几个坑里。坑 1工具集开太多context 撑爆给某个子 Agent 同时勾上browser file terminal image_gen delegation结果光工具描述就吃掉 8k token模型反应慢、还贵。口诀能少一个就少一个。Editor 只给fileResearcher 只给file web别贪。坑 2漏写roleleaf子 Agent 递归 spawn默认行为下子 Agent 自己也能delegate_task。一不小心就 spawn 孙子 Agent孙子再 spawn 曾孙几分钟 token 烧光。任何干完活就退出的子 Agent 都必须显式role: leaf。这个不能省。坑 3context 传自然语言摘要下游接错上游 Agent 给下游传一句参考上一份草稿下游 Agent 经常接错文件、读错段落。约定context 字段必须是文件路径 字段名如02-research.md#section_2别传自然语言摘要。结构化的好处是出错时你能 grep 到具体哪一步挂了。坑 4SKILL.md写成长论文有人把整个内部 wiki 塞进一个 skill加载即占 5k token。Agent 干正事之前先消化半天规则。口诀单个 skill ≤ 500 token只放硬约束 模板。详细文档放外链让 skill 触发时再去查。坑 5没设max_iterations子 Agent 死循环子 Agent 陷入调工具 → 看结果 → 再调死循环一晚上烧掉 50 美金的真实案例不少。每个子 Agent 任务都加max_iterations: 10上限。到点强制退出宁可跑不完整也别烧钱。坑 6profile 隔离不严skills 互相污染把项目 A 的 skills 放到全局~/.hermes/skills/项目 B 误用导致模型行为漂移。比如你给代码审查写的 SKILL 跑去污染了公众号写作流水线文章里开始出现 git diff 风格的语言。多 Agent/多项目场景下必须用~/.hermes/profiles/name/严格隔离。每个 profile 独立加载自己的 skills、plugins、cron、memories互不串台。五、动手玩一下6 步流水线 2 段代码 6 个坑整篇就是这些。给你列个最小行动清单pip install hermes-agent复制上面那份hermes_agents.yaml