Hermes高阶技巧|🏗️ 多Agent流水线:Kanban 实战指南
一句话解决:你有多个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 | ┌─────────────────────────────────────────────────────────────────────┐ |
关键区别:在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 | ┌──────────────────────────────────────────────┐ |
Step 3:Agent认领并工作
“撰稿人”Agent正在待命。Kanban的调度器每60秒检查一次有没有就绪的任务。
看到这个任务后,”撰稿人”自动认领:
1 | [Dispatcher] 任务 t_a1b2 已分配给 撰稿人 |
它埋头写作,期间会定期给看板发”心跳信号”(heartbeat),告诉系统:”我还活着,还在干活!”
Step 4:完成 → 自动流转
“撰稿人”写完后,调用完成指令:
1 | [撰稿人] 任务完成!交给插画师配图吧。 |
系统自动把卡片从 “In Progress” 移到 “Done” 列——等等,不对。因为任务还有后续步骤(配图),所以卡片会移到 “Ready” 列,标记为”等待插画师”。
Step 5:接力棒传给插画师
“插画师”Agent看到”Ready”列里有任务等着自己,自动认领:
1 | [Dispatcher] 任务 t_a1b2 已分配给 插画师 |
配完图后,它把卡片传给”校对员”。
Step 6:校对完成,大功告成
“校对员”检查完错别字后,任务完成。
[插图:完成状态Mockup]
1 | ┌──────────────────────────────────────────────┐ |
整个过程,小李什么都没做——他只是在Dashboard上看着卡片从一列移到另一列。
任务卡住了怎么办?
Agent也不是万能的。万一”插画师”遇到选择困难:
插画师:”用户要求配图风格是’科技感+温暖’,这两个概念有点矛盾,我不知道怎么平衡…”
这时它会**阻塞(block)**这个任务,并说明原因:
1 | [插画师] 任务 t_a1b2 已阻塞 |
小李在Dashboard上看到”Blocked”列亮起了红灯:
[插图:阻塞状态Mockup]
1 | ┌──────────────────────────────────────────────┐ |
小李在评论区给了建议,然后点 解封,任务继续执行。
整个过程不用写代码,就跟在群里聊天一样。
八种协作模式一览
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越用越聪明!