跳到主要内容

Kanban 多代理协作板

Hermes Kanban 是一个持久化任务板,用来协调多个 Hermes profile 一起工作。每个任务都是 SQLite 数据库里的一行,每次交接都有记录,每个 worker 都是独立 OS 进程,有自己的身份、模型和运行环境。

如果说 /delegate 更像“临时找一个同事帮忙”,Kanban 就更像“给团队开一个项目看板”。任务不会因为当前进程退出就消失,worker 可以认领、心跳、阻塞、恢复和完成任务。

想按案例学习,可以先看 Kanban 教程。本页更像速查说明。

两个入口:模型用工具,人用 CLI

Kanban 有两个入口,底层都写同一个数据库。

  • Agent worker 使用 kanban_* 工具集,例如 kanban_showkanban_listkanban_completekanban_blockkanban_heartbeatkanban_commentkanban_createkanban_linkkanban_unblock。模型直接调用工具,不需要 shell 到 hermes kanban
  • 人和脚本使用 CLI、slash command 或 Dashboard,例如 hermes kanban .../kanban ... 和 Dashboard 里的 Kanban 页面。

这点很重要:worker 不靠浏览器界面工作,也不靠模拟人类输入命令。它们通过专用工具读写任务板。

初始化与查看

最小流程如下:

hermes kanban init
hermes kanban list
hermes dashboard

默认看板数据库通常在 ~/.hermes/kanban.db。如果你创建多个 board,每个 board 会有自己的数据库路径,避免不同项目互相干扰。

Dashboard 是观察系统最直观的地方。你可以看任务状态、worker 活跃情况、任务关系和运行日志;脚本和 cron 则更适合用 CLI 自动创建任务。

任务状态怎么流转?

一个典型任务会经历下面的过程:

  1. 你或 orchestrator 创建任务。
  2. dispatcher 找到可用 worker。
  3. worker 认领任务,并持续发送 heartbeat。
  4. worker 遇到问题时可以 block,并写明阻塞原因。
  5. 其他 worker 或你本人可以 comment、unblock 或接手。
  6. 任务完成后,worker 调用 complete,并写入结果。

这套流程的价值在于“可恢复”。即使某个 worker 崩掉,任务和历史仍然在数据库里,下一轮调度可以继续处理。

Swarm 与多 worker

v0.15.x 之后,Kanban 已经不只是列表,而是多代理平台。hermes kanban swarm 可以创建 root、并行 worker、verifier、synthesizer 等拓扑,让多个 profile 按角色协作。

适合使用 swarm 的场景包括:

  • 大型代码改造,需要多个 worker 分文件或分模块推进;
  • 研究任务,需要搜索、整理、验证和成稿分工;
  • 回归测试,需要一个 worker 修改、另一个 worker 验证;
  • 长任务需要 scheduled start、claim TTL 和失败重试。

新手建议先从单 board、少量任务开始。理解任务状态后,再引入 swarm。

什么时候用 Kanban,什么时候用普通会话?

如果任务能在一次对话里讲清楚,并且不需要长期跟踪,用普通会话即可。

如果任务具备下面任一特征,就值得用 Kanban:

  • 需要多个 Agent 并行处理;
  • 任务会跨越很长时间;
  • 需要把工作拆成多个可追踪子任务;
  • 需要 verifier 或 reviewer;
  • 需要任务级模型、任务级 worktree 或定时启动。

记住一句话:会话适合即时协作,Kanban 适合持久协作。

参考链接