一句话解决:你有多个Agent,但不知道怎么让它们像团队一样协作?Kanban让Agent们接力干活,就像在Trello上管理项目一样简单。

背景:小李的困境

小李的Hermes Agent已经用了好一阵子,越用越顺手。慢慢地,他有了好几个Agent:

  • 一个负责写文章(叫”撰稿人”)
  • 一个负责配图片(叫”插画师”)
  • 一个负责检查错别字(叫”校对员”)

但问题来了:怎么让它们像团队一样协作?

小李试过 delegate_task——让AgentA写完文章后通知AgentB配图。但AgentA完成后,AgentB可能正在忙别的事,消息就丢了。而且如果AgentC需要等AgentA和AgentB都完成后才开始,逻辑就更复杂了。

能不能有个看板,让所有Agent都看着同一个任务列表干活?

有!这就是 Hermes Kanban

看板是什么?

如果你用过 Trello、Notion 或者 Jira,那你已经知道看板是什么了——就是一个共享的任务板,不同的卡片在不同列之间移动

Hermes Kanban 就是这个概念,但专为Agent设计:

[插图:Kanban 6列布局Mockup]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌─────────────────────────────────────────────────────────────────────┐
│ 📋 Hermes Kanban Board [⚡ 自动调度中] │
├─────────┬──────────┬──────────┬─────────────┬─────────┬───────────┤
│ Triage │ Todo │ Ready │ In Progress │ Blocked │ Done │
│ │ │ │ │ │ │
│ ┌─────┐ │ ┌─────┐ │ ┌─────┐ │ ┌─────┐ │ ┌─────┐ │ ┌─────┐ │
│ │新需求│ │ │写文章│ │ │配图 │ │ │校对│ │ │配色 │ │ │文章1 │ │
│ │ │ │ │ │ │ │ │ │ │文章 │ │ │待定 │ │ │已完成│ │
│ └─────┘ │ └─────┘ │ └─────┘ │ └─────┘ │ └─────┘ │ └─────┘ │
│ │ ┌─────┐ │ ┌─────┐ │ │ ┌─────┐ │ ┌─────┐ │
│ │ │发日报│ │ │发日报│ │ │ │等待 │ │ │日报 │ │
│ │ │ │ │ │ │ │ │ │数据 │ │ │已发 │ │
│ │ └─────┘ │ └─────┘ │ │ └─────┘ │ └─────┘ │
└─────────┴──────────┴──────────┴─────────────┴─────────┴───────────┘

关键区别:在Trello里,是人把卡片拖到下一列。在Hermes Kanban里,Agent完成任务后自动把卡片移到下一列,下一个Agent自动认领。

就像工厂里的传送带——产品到了哪一站,对应的工人自动开始干活。

Kanban vs 传统方式

场景 delegate_task Kanban
让AgentA写文章,AgentB配图 代码里写死调用链 AgentA完成 → 卡片移到”待配图” → AgentB自动认领
AgentB正忙 调用超时,报错 任务在队列里等着,AgentB忙完自动认领
想人工介入看看进展 得看日志 打开Dashboard看板,一目了然
AgentC需要等A和B都完成 复杂的Promise/回调 父子依赖,自动推进
出错了想重试 整个流程重来 单个任务解封重试

实战:让三个Agent写一篇文章

Step 1:初始化看板

用一次,后面不用再管:

1
hermes kanban init

这条命令会在 ~/.hermes/kanban.db 里创建一个SQLite数据库,作为任务的”大本营”。

Step 2:创建任务

小李想写一篇”AI写作工具对比”的文章。他在终端里输入:

1
hermes kanban create "写一篇AI写作工具对比文章" --assignee 撰稿人

或者更简单——在Dashboard的Kanban面板里,点 + 新建任务,填入标题、正文和分配人。

[插图:创建任务界面Mockup]

1
2
3
4
5
6
7
8
9
10
┌──────────────────────────────────────────────┐
│ ✨ 新建任务 │
├──────────────────────────────────────────────┤
│ 标题: 写一篇AI写作工具对比文章 │
│ 正文: 对比ChatGPT、Claude、Gemini的写作能力 │
│ 分配: 撰稿人 [ 👤 选择Agent ] │
│ 优先级: 🔴 高 │
│ │
│ [取消] [✏️ 创建任务] │
└──────────────────────────────────────────────┘

Step 3:Agent认领并工作

“撰稿人”Agent正在待命。Kanban的调度器每60秒检查一次有没有就绪的任务。

看到这个任务后,”撰稿人”自动认领:

1
2
[Dispatcher] 任务 t_a1b2 已分配给 撰稿人
[撰稿人] 开始工作:写一篇AI写作工具对比文章...

它埋头写作,期间会定期给看板发”心跳信号”(heartbeat),告诉系统:”我还活着,还在干活!”

Step 4:完成 → 自动流转

“撰稿人”写完后,调用完成指令:

1
[撰稿人] 任务完成!交给插画师配图吧。

系统自动把卡片从 “In Progress” 移到 “Done” 列——等等,不对。因为任务还有后续步骤(配图),所以卡片会移到 “Ready” 列,标记为”等待插画师”。

Step 5:接力棒传给插画师

“插画师”Agent看到”Ready”列里有任务等着自己,自动认领:

1
2
[Dispatcher] 任务 t_a1b2 已分配给 插画师
[插画师] 读文章,配3张插图...

配完图后,它把卡片传给”校对员”。

Step 6:校对完成,大功告成

“校对员”检查完错别字后,任务完成。

[插图:完成状态Mockup]

1
2
3
4
5
6
7
8
9
10
11
12
13
┌──────────────────────────────────────────────┐
│ ✅ 任务完成! │
├──────────────────────────────────────────────┤
│ 📝 写一篇AI写作工具对比文章 │
│ │
│ ⏱ 总耗时: 12分34秒 │
│ 🤖 参与Agent: 撰稿人、插画师、校对员 │
│ 📄 输出: /workspace/ai-tools-comparison.md │
│ │
│ 💬 撰稿人: "文章写完了,3000字" │
│ 💬 插画师: "配了3张图,风格统一" │
│ 💬 校对员: "发现2处错别字,已修正" │
└──────────────────────────────────────────────┘

整个过程,小李什么都没做——他只是在Dashboard上看着卡片从一列移到另一列。

任务卡住了怎么办?

Agent也不是万能的。万一”插画师”遇到选择困难:

插画师:”用户要求配图风格是’科技感+温暖’,这两个概念有点矛盾,我不知道怎么平衡…”

这时它会**阻塞(block)**这个任务,并说明原因:

1
2
3
[插画师] 任务 t_a1b2 已阻塞
原因: 配图风格需要人工确认
评论区: "科技感和温暖风格怎么平衡?能给些方向吗?"

小李在Dashboard上看到”Blocked”列亮起了红灯:

[插图:阻塞状态Mockup]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌──────────────────────────────────────────────┐
│ 🔴 阻塞中 — 等待人工决策 │
├──────────────────────────────────────────────┤
│ 任务: 写一篇AI写作工具对比文章 │
│ 阻塞原因: 配图风格需要人工确认 │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 💬 插画师: 科技感和温暖风格怎么平衡? │ │
│ │ 💬 你: 偏向暖色调,加点蓝色点缀吧 │ │
│ │ 💬 插画师: 收到!我试试这个方向 │ │
│ └──────────────────────────────────────┘ │
│ │
│ [✏️ 写回复] [🔓 解封] │
└──────────────────────────────────────────────┘

小李在评论区给了建议,然后点 解封,任务继续执行。

整个过程不用写代码,就跟在群里聊天一样。

八种协作模式一览

Kanban支持8种协作模式,覆盖绝大多数的多Agent场景:

模式 形状 一句话场景
🏃 并行展开 N个Agent同时做 “研究5个竞争对手,同时进行”
🔗 流水线 A→B→C接力 上面文章的案例:写→配图→校对
🗳️ 投票 3个研究+1个汇总 “3个Agent独立调研,1个Agent综合最优方案”
📝 长运行日志 同一个Agent反复执行 “每天早上8点自动发日报”
🙋 人工介入 Agent等你决策 上面”卡住了”的案例
@ 提及 快速指定 “@插画师 帮我看一下这张图”
📂 线程范围 按项目隔离 “项目A和项目B的工作区互相不影响”
🌾 批量农场 1个Agent管N个 “一个Agent管理10个社交媒体账号”

小贴士:刚开始用,掌握”流水线”和”人工介入”就够了,其他模式等你熟悉了再探索。

如何在Dashboard上看Kanban?

如果你已经装了Dashboard(上一篇的内容),点顶部的 [看板] 标签页,就能看到完整的Kanban面板了。所有操作都支持拖拽:

  • 把卡片从Todo拖到In Progress → 手动分配
  • 把卡片从Blocked拖到In Progress → 解封
  • 点卡片 → 侧边抽屉展开详情

还有一个AI辅助按钮:

按钮 作用
Decompose 让AI把大任务自动拆分成小任务
Specify 让AI帮你细化任务描述

比如你输入”写一篇对比文章”,点Decompose,AI会帮你分解成”调研→写初稿→配图→校对”四个子任务。

常见问题

Q:如果Agent写任务时崩溃了怎么办?

A:Dispatcher(调度器)每60秒检查一次。如果发现某个任务的Worker进程不见了,会自动回收并标记为”待重试”。如果重试超过2次还不行,就移到Blocked列等你来看。

Q:Kanban数据库在哪儿?会不会丢数据?

A:数据存在 ~/.hermes/kanban.db 的SQLite文件里。每次状态变更都会写入磁盘,不用担心丢数据。想备份的话,直接复制这个文件就行。

Q:一个Agent只能同时处理一个任务吗?

A:是的,一个Agent一次只能处理一个任务。但你可以创建多个同类型的Agent(比如多个”撰稿人”),Dispatcher会自动负载均衡。

Q:我可以不打开Dashboard,直接用CLI操作Kanban吗?

A:当然可以。所有操作都有对应的CLI命令:hermes kanban list 查看列表,hermes kanban show t_xxx 查看详情,hermes kanban watch 实时监控等等。

总结

场景 传统方式 Kanban方式
多Agent接力 写死调用链,容易断 卡片自动流转,接力不丢
人工介入 改代码,重启流程 评论区聊两句,点解封
失败重试 整个流程重来 单任务解封重试
监控进度 翻日志 打开看板,一目了然

学会Kanban,你就拥有了一个Agent团队的”项目经理”。 它不写代码,但它让所有Agent有条不紊地工作。

下一篇,我们来聊聊Agent技能的”大扫除”——🧹 Curator:让Agent越用越聪明