首页/@claw-academy

Hermes Agent 多 Agent 工作流入门:delegate_task、Kanban、Cron 与 worktree(小白版)

龙虾学堂
龙虾学堂2026年5月6日

一篇面向新手的 Hermes Agent 多 Agent 使用指南,讲清 delegate_task、Kanban、Cron 与 worktree 的区别、配置和避坑。

Hermes Agent 多 Agent 工作流入门:delegate_task、Kanban、Cron 与 worktree(小白版)

适合对象:刚开始使用 Hermes Agent、听说“多 agent”但不知道怎么配置和怎么用的人。

本文依据 Hermes Agent 官方文档整理,重点参考:

1. 先用一句话理解 Hermes 的“多 Agent”

Hermes 的多 Agent,不是一个机器人变聪明一点,而是:

一个主 Agent 可以把任务拆给多个“子 Agent”或多个“角色 Agent”去做。

你可以把它想成一个小团队:

  • 主 Agent:项目经理,负责理解你的目标、拆任务、汇总结果。
  • 子 Agent:临时助手,帮忙查资料、检查代码、分析问题。
  • Kanban Worker:有名字、有角色、能长期接任务的工人,比如 researcher、writer、backend-dev、reviewer。
  • Cron Agent:定时自动运行的 Agent,比如每天早上自动总结新闻。

2. Hermes 里常见的 4 种“多 Agent”玩法

玩法 A:delegate_task,临时叫几个子 Agent 来帮忙

这是最简单、最常用的多 Agent。

适合:

  • 让 3 个 Agent 同时查 3 个资料来源
  • 让一个 Agent 写草稿,另一个 Agent 复核
  • 让子 Agent 检查代码、找 bug、做对比分析

特点:

  • 子 Agent 是临时的,用完就结束。
  • 子 Agent 有隔离的上下文;它只知道主 Agent 传给它的 goal/context,不知道父会话完整历史。
  • 如果任务涉及工具/终端操作,不要依赖父会话里的临时状态。
  • 即使父 Agent 指定 toolsets,某些工具也会被 Hermes 固定禁止给 leaf subagent,例如 delegation、clarify、memory、send_message、execute_code/code_execution 等;这是安全边界,不是配置错误。
  • 子 Agent 不知道主 Agent 前面聊过什么,所以主 Agent 必须把背景写清楚。
  • 子 Agent 最后只把总结交回给主 Agent,中间过程不会全部塞回主上下文。
  • 批量 delegate_task 默认最多允许 3 个并发子 Agent;如果一次提交的 tasks 数量超过该限制,当前版本会返回工具错误,而不是自动排队。可通过 delegation.max_concurrent_children 调整。
  • 这是同步的:主 Agent 会等子 Agent 完成后再继续。
  • 不适合跑很久或必须跨会话保存的任务。

你可以这样对 Hermes 说:

请你调用 3 个 subagent:
1. 一个查官方文档;
2. 一个检查我这份配置有没有问题;
3. 一个站在小白角度指出哪里看不懂。
最后把三份结果合并成一版建议。

如果你自己在代码或工具层面使用,核心工具叫:

delegate_task

玩法 B:Kanban,多角色长期协作的任务看板

Kanban 是更正式的多 Agent 协作系统。

适合:

  • 一个任务要拆成很多步骤
  • 不同角色接不同任务
  • 任务需要重试、阻塞、恢复、审查
  • 你希望任务进度能被人类看到
  • 你希望 Agent 重启后任务还在

你可以把 Kanban 理解成一个本地任务看板数据库。

官方文档里说,每个任务会存在 SQLite 数据库里,默认位置是:

~/.hermes/kanban.db

如果只用默认 board,就是这个文件;如果启用多 board,每个 board 会有自己的数据库路径。

Kanban 里的常见角色:

  • researcher:调研
  • writer:写稿
  • backend-dev:写后端
  • frontend-dev:写前端
  • reviewer:复核
  • ops:运维

Kanban 和 delegate_task 最大区别:

对比delegate_taskKanban
用途临时并行处理长期任务协作
子 Agent 身份临时、匿名有 profile/角色名
是否耐久不耐久,父任务中断就可能没了耐久,任务存在数据库里
人类可见性主要看主 Agent 汇总可以看板、CLI、dashboard 查看
适合场景快速复核、调研、分析项目流水线、多人/多角色协作

玩法 C:Cron,定时自动运行 Agent

Cron 不是传统意义的“多个 Agent 同时工作”,但它也是多 Agent 工作流的一部分。

适合:

  • 每天早上自动总结 RSS/新闻
  • 每小时检查服务器状态
  • 每周生成项目报告
  • 定时触发某个技能或脚本

注意:Cron 任务的创建和保存不等于它一定会自动执行。定时执行通常由 gateway daemon 的 scheduler 负责;如果 gateway/scheduler 没有运行,到点任务不会被触发。创建后建议检查:hermes gateway statushermes cron status

你可以这样说:

每天早上 9 点帮我总结 AI 新闻,并发到当前聊天。

如果你是在 Telegram/Discord/Slack 等聊天入口里创建,默认可回到 origin 聊天;如果你在 standalone CLI 里创建,默认通常保存到本地输出目录,除非显式设置 deliver 目标。具体以 hermes cron create --help 为准。

Hermes 会使用 cronjob 工具创建定时任务。

CLI 示例:

hermes cron create "every 1d at 09:00" "总结过去 24 小时的 AI 新闻"
hermes cron list
# 把 JOB_ID 换成 hermes cron list 看到的实际任务 ID
hermes cron pause JOB_ID
hermes cron resume JOB_ID
hermes cron remove JOB_ID

玩法 D:启动多个 Hermes 进程,各跑各的

这是更“硬核”的方式:你可以开多个终端,每个终端启动一个 Hermes。

适合:

  • 多个长期任务并行
  • 每个 Agent 在不同目录或 git worktree 里工作
  • 你想让它们完全隔离

如果是写代码,推荐配合 git worktree。

最简单的命令:

cd /path/to/your/repo
hermes -w

-w 表示自动创建一个隔离的 git worktree,让这个 Hermes 在单独分支/目录里工作,减少多个 Agent 同时改同一个文件造成冲突。

也可以开多个终端:

# 终端 1
cd /path/to/your/repo
hermes -w

# 终端 2
cd /path/to/your/repo
hermes -w

3. 小白应该先用哪一种?

建议按这个顺序学:

第一步:先学 delegate_task

因为它最简单。你只要用自然语言告诉 Hermes:

请调用 subagent 帮我复核这份内容。

或者:

请并行调用 3 个 subagent,分别从准确性、可读性、可操作性三个角度检查。

第二步:再学 hermes -w / Git worktree

如果你让多个 Agent 改代码,就要学会隔离,否则容易互相覆盖。

第三步:项目复杂后再学 Kanban

当任务开始变成“调研 → 编写 → 复核 → 修改 → 发布”这种流水线,就可以用 Kanban。

第四步:重复任务再交给 Cron

如果一件事你每小时、每天、每周都要做,就用 Cron。

4. 使用 delegate_task 前要配置什么?

4.1 确认 delegation 工具集可用

Hermes 的子 Agent 能力来自 delegation toolset。

你可以用交互界面检查工具:

hermes tools

或者查看工具列表:

hermes tools list

如果你在某个平台,比如 CLI、Telegram、Discord 上用 Hermes,要确认该平台启用了 delegation

注意:工具变更通常需要新会话才生效。在聊天里可以 /reset,CLI 可以退出后重开;如果是在 gateway 平台改工具,可能还需要重启 gateway 或开启新会话。

4.2 配置子 Agent 的并发数量

默认情况下,批量 delegate_task 最多同时跑 3 个子 Agent;超过限制通常会报工具错误,而不是自动排队。

如果你想改,可以编辑:

hermes config edit

~/.hermes/config.yaml 里加入或修改:

delegation:
  max_concurrent_children: 3

也可以用命令设置:

hermes config set delegation.max_concurrent_children 3

新手建议先保持 3,不要一上来开太大。

为什么?

因为并发越多,速度可能越快,但也会:

  • 花更多 token/API 费用
  • 更容易撞到限速
  • 输出更难管理
  • 如果每个 Agent 都能操作文件,冲突风险更高

4.3 配置子 Agent 使用哪个模型

默认情况下,子 Agent 会继承主 Agent 的模型和 provider。

如果你想让子 Agent 用更便宜或更快的模型,可以在配置里写:

delegation:
  provider: openrouter
  model: google/gemini-flash-2.0

或者使用你自己的 provider/model。

官方文档说明:如果不配置,subagent 默认继承父 Agent 的 provider 和 model。

新手建议:

  • 刚开始不要单独配置 delegation model。
  • 先确认主 Agent 能正常用。
  • 等你经常使用 subagent 后,再考虑给子 Agent 换便宜模型。

4.4 是否允许子 Agent 再创建子 Agent?

默认情况下,Hermes 的 delegation 是“扁平”的:

主 Agent 可以创建子 Agent,但子 Agent 默认不能继续创建孙 Agent。

这可以避免无限套娃、费用失控。

如果你真的需要多层级,先理解费用、复杂度和失控风险,再按官方 Configuration 文档提高 max_spawn_depth,并在调用时使用 orchestrator 角色。默认 max_spawn_depth: 1role="orchestrator" 在默认深度下基本不会产生孙 Agent;要允许一层孙 Agent 通常需设为 2。官方会限制深度上限,并可用 delegation.orchestrator_enabled: false 全局禁用。

新手不建议一开始打开多层级。先用默认的一层就够了。

5. 如何正确地让 subagent 工作?

最重要的一条:把背景讲清楚。

因为 subagent 没有你当前聊天的完整记忆。技术上可以理解为:父 Agent 调用 delegate_task 时,只会把写在 goal/context 里的信息交给 child AIAgent。

不好的说法

请让 subagent 修一下这个问题。

问题:subagent 不知道“这个问题”是什么。

好的说法

请调用一个 subagent 复核下面这份 Hermes 多 Agent 入门文案。
复核重点:
1. 是否符合官方文档;
2. 小白是否看得懂;
3. 命令是否有风险或缺少前提;
4. 是否混淆 delegate_task、Kanban、Cron、worktree。

这是文案:
……

推荐模板

你可以复制这个模板给 Hermes:

请调用 N 个 subagent 来处理这个任务。

背景:
[这里写项目背景、文件路径、目标、限制]

每个 subagent 的分工:
1. [角色 A]:负责……
2. [角色 B]:负责……
3. [角色 C]:负责……

要求:
- 不要问我问题,基于现有信息完成。
- 如果不确定,明确写出假设。
- 最后输出:发现的问题、修改建议、风险点、最终结论。

6. Kanban 怎么配置和使用?

先记住 Kanban 跑起来需要四样东西:

  1. 一个任务数据库:默认 ~/.hermes/kanban.db
  2. 一个持续运行的 gateway/dispatcher:负责认领任务、启动 worker。
  3. 一个能正常启动的 profile/worker:比如 researcher、writer、reviewer。
  4. worker 加载 kanban-worker skill,并使用 kanban_* tools 读取、更新、heartbeat、完成或阻塞任务。

注意区分两类使用者:

  • 人类用户:主要使用 hermes kanban ... CLI 或 dashboard 创建、查看、管理任务。
  • Worker Agent:应该加载 kanban-worker skill,并使用 Hermes 提供的 kanban_* tools 工作,而不是主要靠 shell 里手敲 hermes kanban 命令。

安全提示:下面的命令会在本机创建数据库、profile、后台服务、定时任务或 git worktree。第一次运行前建议先执行对应的 --help,并确认当前目录、模型、provider 和工具权限配置正确。

6.1 初始化 Kanban

hermes kanban init

官方文档也说明,第一次运行很多 hermes kanban 命令时会自动初始化;但小白可以手动 init,更直观。

6.2 启动 gateway,让 dispatcher 工作

Kanban 任务需要 dispatcher 来认领任务、启动对应 profile 的 worker。

官方文档说明:默认情况下 dispatcher 嵌在 gateway 进程里。

常见命令:

hermes gateway start

或前台运行:

hermes gateway run

gateway/dispatcher 需要保持运行;如果关闭 gateway,Kanban 数据库里的任务仍然存在,但不会自动被 worker 认领执行。

如果你已经安装成后台服务,也可以:

hermes gateway status
hermes gateway restart

注意:不要同时跑 gateway 内置 dispatcher 和已废弃的独立 hermes kanban daemon,官方文档提示这样可能造成 claim race,不推荐。

6.3 创建不同角色的 profile

Kanban 的 worker 通常按 profile 来区分角色。

比如:

# 从当前能正常使用的 profile 克隆配置,避免空 profile 没模型/API key
hermes profile create researcher --clone
hermes profile create writer --clone
hermes profile create reviewer --clone

# 可选:快速确认每个 profile 能正常调用模型
hermes -p researcher chat -q "只回复 OK"
hermes -p writer chat -q "只回复 OK"
hermes -p reviewer chat -q "只回复 OK"

你可以给不同 profile 配不同模型、工具、记忆和习惯。仅创建 profile 名称还不够;实际使用前请确认这些 profile 能正常启动 Hermes、能访问需要的工具,并已安装或加载 kanban-worker skill。

查看 profile:

hermes profile list

使用某个 profile:

hermes --profile researcher

6.4 安装/确认 Kanban worker 技能

官方文档建议 worker 加载 kanban-worker 技能,因为它会教 worker:

  • 开始时读取任务
  • 在工作中发送 heartbeat
  • 完成时写 summary/metadata
  • 卡住时 block 任务

命令:

# 以当前版本 skills 列表/官方文档中的实际名称为准
hermes -p researcher skills install devops/kanban-worker
hermes -p writer skills install devops/kanban-worker
hermes -p reviewer skills install devops/kanban-worker

dispatcher 通常会在启动 worker 时自动传入 kanban-worker skill;但新手仍应确认该 skill 在目标 profile 中可用,尤其是使用自定义 profile 或裁剪安装时。

如果你有专门负责任务拆解的 orchestrator,也可以安装:

# 以当前版本 skills 列表/官方文档中的实际名称为准
hermes skills install devops/kanban-orchestrator

6.5 创建一个 Kanban 任务

例子:让 researcher 做调研。

hermes kanban create "调研 Hermes Agent 多 Agent 官方文档" \
  --assignee researcher \
  --body "请阅读官方 delegation、kanban、cron、worktree 文档,输出:1) 关键概念;2) 新手最容易误解的点;3) 推荐使用场景。不要修改文件,只写总结。"

然后查看:

hermes kanban list
hermes kanban watch

当 dispatcher 发现这个任务后,会启动 researcher profile 去执行。

如果任务一直不动,先查:

hermes gateway status
hermes kanban list
# 把 TASK_ID 换成 hermes kanban list 看到的实际任务 ID
hermes kanban runs TASK_ID
hermes kanban log TASK_ID

6.6 创建有依赖关系的流水线

比如:先调研,再写文案,再复核。

简化理解:

调研任务完成后,写作任务才能开始;
写作任务完成后,复核任务才能开始。

Kanban 支持任务依赖/父子任务等机制,用于表达“某任务完成后,后续任务才能开始”。具体状态名和命令请以当前版本 hermes kanban --help 为准。

具体命令会随版本变化,建议用:

hermes kanban --help
hermes kanban create --help
hermes kanban link --help

7. 多 Agent 改代码时,为什么要用 worktree?

如果两个 Agent 同时改同一个项目,很容易出现:

  • A 改了文件,B 又覆盖
  • 两个 Agent 同时跑测试,环境互相影响
  • git diff 混在一起,不知道谁改了什么

所以官方推荐用 git worktree 隔离。

最简单方式:

cd /path/to/repo
git status   # 先确认这里是 Git 仓库,并看清是否有未提交改动
hermes -w

使用 hermes -w 前,请确认当前目录是 Git 仓库。如果你有重要未提交改动,先确认是否要提交或备份。worktree 能隔离文件目录,但不能自动解决最终合并冲突。

每个 hermes -w 会创建一个独立 worktree 和分支。任务结束后,先在该 worktree 内运行 git status / git diff 看改动;满意后 commit,再回主仓库 merge 或 cherry-pick。worktree 能隔离目录,但不能自动解决最终合并冲突。

新手记住一句话:

多个 Agent 同时改代码,优先用 hermes -w

8. Cron 定时任务怎么和多 Agent 配合?

Cron 可以定时启动一次独立的 Agent 运行。创建前先确认 scheduler/gateway 正在运行:

hermes gateway status
hermes cron status

如果任务需要特定技能:

# 前提:已安装并确认该 skill 可用;SKILL_NAME 换成实际技能名
hermes cron create "every 1h" \
  "读取指定 RSS 源,汇总过去 1 小时的新内容,输出标题、链接和一句话摘要" \
  --skill SKILL_NAME

如果任务只需要特定工具,可以通过 cronjob 的 enabled_toolsets 限制工具,降低风险和成本。

比如只允许 web 和 file。注意:这是 cronjob 工具参数的概念示例,不是 shell 命令:

enabled_toolsets=["web", "file"]

如果通过 CLI 创建,请先查看 hermes cron create --help,确认当前版本是否支持对应参数。

新手建议:

  • 定时任务的 prompt 要自包含,不要写“像上次那样”。
  • 因为定时任务运行时没有人在场,不能临时问你问题。
  • 如果只是检查阈值,能用脚本就用 no-agent 模式,省 token。脚本通常放在 ~/.hermes/scripts/,参数和路径以 hermes cron create --help 为准。

9. 常见推荐配置

9.1 新手安全配置

delegation:
  max_concurrent_children: 3
  max_spawn_depth: 1

解释:

  • 批量任务同时最多 3 个子 Agent。
  • 只允许主 Agent 创建子 Agent,不允许继续套娃。
  • 不主动开启多层 delegation;只有明确需要“子 Agent 再拆任务”时,再研究 orchestrator。

9.2 子 Agent 用便宜模型

delegation:
  provider: openrouter
  model: google/gemini-flash-2.0
  max_concurrent_children: 3

解释:

  • 主 Agent 可以用强模型做决策。
  • 子 Agent 用便宜模型做资料整理、初步复核。

注意:模型名和 provider 要以你自己的 Hermes 配置为准。

9.3 多 Agent 写代码

新手优先使用明确的 CLI 参数:

hermes -w

如果你的 Hermes 版本支持全局 worktree 配置,可按官方 Configuration 文档设置;字段名请以当前版本文档为准。

解释:

  • 每个 Hermes 会进入独立 git worktree。
  • 更适合并行开发。

10. 权限和成本边界

多 Agent 很强,但也更容易花钱和扩大权限。建议遵循最小权限原则:

  • 子 Agent 只给它完成任务需要的 toolsets。
  • Cron 和 Kanban 是后台/无人值守场景,更要限制 file、terminal、browser、send_message 等能力。
  • prompt 里写清楚输出位置、允许修改的文件范围、不要做什么。
  • 并发数量先小后大,确认稳定后再提高。

11. 小白最容易踩的坑

坑 1:以为 subagent 知道当前聊天全部内容

它不知道。你要把任务背景、文件路径、错误信息、目标都写清楚。

坑 2:并发开太大

并发越大,费用和出错概率越高。新手先用 2~3 个。

坑 3:让多个 Agent 同时改同一份代码

容易冲突。用 hermes -w 或手动 git worktree。

坑 4:把 delegate_task 当后台任务

delegate_task 是同步的,不是持久后台任务。父 Agent 会同步等待结果;如果父会话中断、进程退出或任务超时,不应依赖 delegate_task 继续在后台可靠运行。需要持久状态请用 Kanban;需要定时重复请用 Cron。

坑 5:Kanban worker 不写 summary/metadata

这样后续 Agent 很难接手。完成任务时要留下清楚的交接信息。

坑 6:定时任务 prompt 不自包含

Cron 任务以后会在没有你的上下文里运行。prompt 要写清楚:目标、数据来源、输出格式、交付位置。

坑 7:工具改完没有重开会话

很多工具/配置变更需要 /reset 或重启 Hermes 才生效。

12. 一套从简单到复杂的实践路线

第 1 天:只用 subagent 复核

对 Hermes 说:

请调用 3 个 subagent,从准确性、可读性、可操作性复核这份文案。先只输出问题清单和修改建议,不要直接改文件。

第 2 天:用 subagent 并行调研

请调用 3 个 subagent,分别调研官方文档、GitHub README、社区案例,最后合并成一份摘要。

第 3 天:用 hermes -w 让两个 Agent 改不同功能

cd /path/to/repo
hermes -w

另开一个终端:

cd /path/to/repo
hermes -w

第 4 天:用 Kanban 跑一个小流水线

hermes kanban init

# 克隆当前可用 profile,避免空 profile 没模型/API key
hermes profile create researcher --clone
hermes profile create writer --clone
hermes profile create reviewer --clone

# 确认每个 profile 能启动
hermes -p researcher chat -q "只回复 OK"
hermes -p writer chat -q "只回复 OK"
hermes -p reviewer chat -q "只回复 OK"

# 给 worker profile 安装/确认 skill
hermes -p researcher skills install devops/kanban-worker
hermes -p writer skills install devops/kanban-worker
hermes -p reviewer skills install devops/kanban-worker

hermes gateway start
hermes gateway status

hermes kanban create "调研某个主题" \
  --assignee researcher \
  --body "请输出 5 条要点和来源,不要修改文件。"

hermes kanban watch

第 5 天:用 Cron 自动跑重复任务

hermes gateway start
hermes cron create "every 1d at 09:00" "总结昨天的重要信息,输出 5 条要点"
hermes cron status

13. 最后给小白的选择指南

如果你不知道该用哪个,就按下面选:

  • 我只是想让 AI 找人帮忙复核一下:用 delegate_task
  • 我想同时查几个方向的资料:用 delegate_task 批量并行。
  • 我要多个角色长期协作:用 Kanban。
  • 我要每天/每小时自动做事:用 Cron。
  • 我要多个 Agent 同时改代码:用 hermes -w 或 git worktree。
  • 我要几个隔离的 Agent 同时手工处理任务:开多个终端或 tmux,分别运行 Hermes。
  • 我要任务可持久保存、可重试、可阻塞和恢复:用 Kanban。

一句话总结:

小任务用 delegate_task,长期协作用 Kanban,重复任务用 Cron,并行改代码用 worktree。

#Hermes Agent#多 Agent#AI Agent#教程#Kanban#Cron