Contents

Hermes Kanban 入门手册:多智能体协作的正确姿势

版本:基于 kanban-orchestrator v2.0.0 和 kanban-worker v2.0.0 创建时间:2026-05-07 目标读者:初次使用 Hermes Kanban 多智能体协作系统的用户


开篇

容我先说句不太中听的话:如果你还在用 delegate_task 处理所有复杂任务,那你大概每天都在经历同一件事——任务跑着跑着断了,上下文丢了,然后你不得不从头再来。

这不是你的问题。这是工具的问题。

Hermes Kanban 解决的就是这个事:当任务复杂到需要多个 AI 专家协作、需要抗崩溃、需要审计追踪的时候,你该怎么组织它们?

答案不是"更聪明的 prompt",而是一套协作系统


为什么需要看板?

先说个常识。《孙子兵法》讲:“凡治众如治寡,分数是也。” 管理大部队和管理小分队,道理不一样。

AI 协作也一样。

一个小任务,一次推理就能搞定——直接用 delegate_task 或者让 AI 自己答,没问题。但当任务变成这样:

  • 需要研究员查资料、工程师写代码、测试员跑测试,三个角色协作
  • 任务跑了一半,服务挂了,重启后还能接着干
  • 你需要在中途介入,看看进度,改改方向
  • 子任务之间有依赖关系,A 没完 B 不能动

这时候,“更聪明的 prompt” 不管用了。你需要的是一个任务管理系统,而不是一句更好的话。

Hermes Kanban 的核心概念就四个:

概念说明
Task(任务)看板上的卡片,包含标题、描述、状态、负责人
Profile(专家)具有特定技能的 AI 角色(researcher、writer、backend-eng 等)
Parent-Child(父子关系)任务之间的依赖关系,子任务等父任务完成
Status(状态)todo → ready → running → completed/blocked/archived

说白了,就是把复杂任务拆成卡片,分给不同的人,然后看着它们一张张翻过去


两个角色:包工头和工人

Hermes Kanban 的设计哲学很朴素:拆任务的人和干活的人,必须是两个角色。

编排者(Orchestrator):包工头

包工头的工作就五件事:

  1. 理解你要干什么
  2. 画一张任务图——谁先干、谁后干、谁可以并行
  3. 把任务分出去
  4. 向你汇报结构
  5. 不自己干活

第五条最重要。编排者最大的陷阱就是"这个我顺手就干了"。别干。你的工作是路由,不是施工。

标准专家名册长这样:

Profile职责典型工作空间
researcher查资料、收集事实scratch(临时目录)
analyst综合分析、去重、排名scratch
writer按用户风格写文档scratch 或 vault
reviewer审查输出、把关scratch
backend-eng写服务端代码worktree(Git 工作树)
frontend-eng写客户端代码worktree
ops跑脚本、管服务dir: 脚本仓库
pm写需求规格、验收标准scratch

工人(Worker):干活的专家

工人拿到的任务已经拆好了,他要做的是四步:

  1. Orient(定向):读任务详情,检查环境
  2. Work(工作):在分配的工作空间里干活
  3. Heartbeat(心跳):定期汇报进度(可选,几分钟一次)
  4. Complete/Block(完成/阻塞):提交结果,或者请求人工介入

工人的陷阱跟编排者正好相反——工人容易越界。比如用 delegate_task 替代 kanban_create 来创建子任务。前者是短期推理,后者是跨任务交接,不是一回事。


任务是怎么流转的

状态机长这样:

created → ready → running → completed
                blocked → (unblock) → ready
                crashed/timed_out → ready (重试)
              archived (最终状态)

核心机制是依赖自动管理

  • T1 完成了,状态变 completed
  • 调度器检测到 T2 的依赖(T1)已满足
  • T2 自动从 todoready,等待派发
  • T3 同理

你不需要手动触发。系统会自动把满足依赖的任务推过去。


实战:用户认证系统

说个具体的。用户说:“帮我实现一个用户认证系统,包括方案调研、代码实现和测试。”

编排者会这样处理:

第一步,理解目标。 需求明确,需要多个专家,适合用看板。

第二步,画任务图。

父任务:实现用户认证系统
├── T1 (researcher): 调研 OAuth2 和 JWT 方案
├── T2 (backend-eng): 实现认证中间件和 API (依赖 T1)
└── T3 (qa-engineer): 编写单元测试和集成测试 (依赖 T2)

第三步,创建任务。hermes kanban create 命令,先建父任务,再建子任务并指定 --parent

第四步,等工人干活。 T1 研究员调研完提交结果,T2 自动变成 ready,工程师开始写代码。T2 完了 T3 接着跑。

第五步,收工。 所有子任务完成后,完成父任务。

整个过程你只需要在关键时刻介入——比如 T1 研究员遇到决策点,kanban_block() 问你"选 OAuth2 还是 JWT?"——你回答就行。


四种常见协作模式

扇出 + 扇入(Fan-out + Fan-in)

需要并行研究多个方案,然后综合。三个研究员各跑各的,分析师等他们全完了再汇总。

流水线 + 审核门(Pipeline with Gates)

PM 写需求 → 工程师实现 → 审查者把关。审查者可以 kanban_block() 打回,修改后创建新任务,不重新运行原任务。

同专家队列(Same-Profile Queue)

需要翻译 50 个文档?全分给 translator,调度器按优先级串行处理。每个任务都能积累经验到该 profile 的记忆中。

人工介入(Human-in-the-Loop)

关键决策点,工人 kanban_block() 等你确认。你看完回复,kanban_unblock() 继续跑。


踩过的坑

编排者别自己干活

“这个我顺手就干了”——这是编排者最常见的错误。你的工作是路由,不是施工。创建任务,分出去。

工人别幻觉 ID

kanban_complete(created_cards=[...]) 里只能放从 kanban_create 返回值拿到的真实 ID。放幻觉 ID,网关会拦截并记录审计事件。

重试时先读之前的结果

任务是重试(之前运行过)?先看 kanban_show 返回的 runs 字段:

outcome原因处理方式
timed_out超时拆分工作或减少工作量
crashedOOM 或段错误减少内存占用
spawn_failed缺凭证、坏 PATHkanban_block 请求人工介入
reclaimed被操作员归档检查状态,可能不应运行
blocked之前被阻塞查看 unblock 评论,了解上下文

完成时的 summary 要结构化

别写"做完了"三个字。写清楚:做了什么、关键决策是什么、产出了什么。下游任务要靠这个信息继续工作。

好的 summary 长这样:

“调研完成:对比 OAuth2 授权码模式与 JWT 无状态认证,推荐采用 JWT+Redis 方案,支持水平扩展。阅读 8 个资料源,评估了 3 种方案。”


写在最后

《道德经》讲:“治大国若烹小鲜。” 管理多智能体协作系统也一样——别折腾

Hermes Kanban 的设计思路很清晰:

  • 编排者负责拆,工人负责干,各司其职
  • 依赖关系自动管理,不用你手动调度
  • 任务持久化,崩溃了能恢复
  • metadata 结构化,下游能直接用

记住五条就够了:

  1. 复杂任务用看板,简单问题直接答
  2. 编排者不干活,只路由
  3. 工人按生命周期走,别越界
  4. metadata 要结构化,方便下游解析
  5. 有疑问就问用户,别盲目执行

就这么简单。


文档基于实际技能文档整理,更多细节请参考:

  • kanban-orchestrator 技能:~/.hermes/skills/devops/kanban-orchestrator/SKILL.md
  • kanban-worker 技能:~/.hermes/skills/devops/kanban-worker/SKILL.md