Hermes Agent 近日發布了重量級新功能——Kanban(多智能體看板)。這不是另一個花俏的外掛,而是一套經過完整設計的多智能體協作框架,專門解決「一個任務需要多個專業角色接力完成」的場景。
為什麼需要 Kanban?
在 Kanban 出現之前,Hermes Agent 已經有 delegate_task 可以委派子智能體。但兩者有根本差異:
delegate_task | Kanban | |
|---|---|---|
| 本質 | RPC 呼叫(fork → join) | 持久化訊息佇列 + 狀態機 |
| 父任務 | 阻塞直到子任務回傳 | 觸發後即可自由執行其他工作 |
| 子任務身份 | 匿名子代理 | 具名設定檔,附帶持久記憶 |
| 可恢復性 | 無——失敗就只能重來 | 可中斷 → 解除阻塞 → 繼續執行 |
| 人類介入 | 不支援 | 可隨時 comment / unblock |
| 審計軌跡 | 上下文壓縮後消失 | SQLite 永久保留 |
| 協調模式 | 階層式( caller → callee) | 點對點——任何設定檔可讀寫任何任務 |
一句話概括:delegate_task 是一個函式呼叫;Kanban 是一個工作佇列,每個交接都是一筆記錄,任何設定檔(或人類)都可以看到並編輯。
適用場景
官方文件明確列出 Kanban 適合的幾種工作形態:
- 研究 triage:多個研究智能體平行執行 → 分析師整合 → 作家起草,全程可有人類在環
- 排程 ops:每天自動生成的簡報,持續數週累積成日誌
- 數位分身:持續運行的命名助手(如「郵箱 triage」、「ops 審查」),會隨時間累積記憶
- 工程管線:分解 → 多工作區平行實作 → 審查 → 迭代 → PR
- 機隊工作:一個專家管理 N 個標的(如 50 個社群帳號、12 個監控服務)
核心概念
Board
看板是一個獨立的工作佇列,有自己的 SQLite 資料庫、工作區目錄和調度器迴圈。單一專案使用者預設使用 default 看板,完全不需要接觸「board」這個概念。
多 board 支援(atm10-server、mcp-tools 等)則提供絕對隔離:每個 board 有獨立的 SQLite DB、獨立的工作區和日誌目錄,工作进程只能看到自己所屬 board 的任務。
Task(任務)
每筆記錄包含:標題、選填正文、單一負責人(設定檔名稱)、狀態(triage / todo / ready / running / blocked / done / archived)、選填的租戶命名空間、以及冪等金鑰(用於防止自動化重複建立)。
Link(依賴鏈)
任務連結表記錄父 → 子的依賴關係。當所有父任務都抵達 done 狀態,調度器自動將子任務從 todo 提升為 ready。這是 Kanban 最關鍵的自動化——不需要人工追蹤哪個前置任務完成了。
Workspace(工作區)
支援三種工作區類型:
- scratch(預設):在
~/.hermes/kanban/workspaces/<id>/下建立全新的臨時目錄 - dir:<路徑>:使用既有的共享目錄(如 Obsidian 保險庫、每帳號資料夾),必須是絕對路徑
- worktree:在
.worktrees/<id>/下建立 Git worktree,專門用於程式碼任務
Dispatcher(調度器)
一個長期運行的迴圈,每 60 秒(預設)執行一次:收回超時聲明、收回崩潰的工作进程、將 ready 任務提升、原子性地認領並生成指定的設定檔。
調度器預設運行在 Gateway 程序內部,無需安裝或管理額外服務。若連續 5 次嘗試生成同一任務都失敗,會自動將該任務設為 blocked 並附上錯誤原因——防止不存在的設定檔反覆嘗試。
兩套操作介面
Kanban 為人類和智慧體設計了完全獨立的兩套操作表面,兩者共享同一個 SQLite 資料庫:
- 人類 / 腳本 / Cron:透過
hermes kanban …CLI 命令、/kanban斜線命令,或內建的 Web 儀表板操作 - 智慧體:透過
kanban_*工具組直接操作——kanban_show、kanban_complete、kanban_block、kanban_heartbeat、kanban_comment、kanban_create、kanban_link
智慧體從不呼叫 CLI,確保即使終端機工具指向遠端後端(Docker / Modal / SSH),也能正常運作。
工具組詳解
| 工具 | 用途 | 必要參數 |
|---|---|---|
kanban_show | 讀取當前任務(標題、正文、先前嘗試、父交接、留言、完整 worker_context) | 無(預設取 env 的任務 ID) |
kanban_complete | 以摘要 + metadata 結構化交接完成任務 | summary 和/或 result 至少一項 |
kanban_block | 因需要人類輸入而升級 | reason |
kanban_heartbeat | 長時間作業期間發送存活信號 | 無 |
kanban_comment | 為任務執行緒附加持久備註 | task_id, body |
kanban_create | (Orchestrator 專用)向子任務 fan-out | title, assignee |
kanban_link | (Orchestrator 專用)事後新增父子依賴邊 | parent_id, child_id |
典型 Orchestrator 工作流
使用者:「幫我研究 ICP 募資環境並寫成發布文章」
# 模型呼叫(依序):
kanban_create(title="研究 ICP 募資,NA 角度", assignee="researcher-a")
# → t_r1
kanban_create(title="研究 ICP 募資,EU 角度", assignee="researcher-b")
# → t_r2
kanban_create(
title="將研究整合為發布文章草稿",
assignee="writer",
parents=["t_r1", "t_r2"] # 兩個研究者完成後自動提升為 ready
)
# → t_w1
kanban_complete(summary="分解為 2 個平行研究任務 + 1 個寫作任務;已連結依賴關係")
兩個研究任務會被調度器立即並行認領執行;當兩者都完成後,寫作任務自動進入 ready 狀態,被認領後開始執行。
Human-in-the-Loop
人類可以在任務執行期間隨時介入。透過 kanban_block(reason="需要確認方向") 將任務暫停,並在執行緒中留言說明原因。解除阻塞(/unblock)後,系統會以原始上下文重新生成該工作进程。
視覺化儀表板
Kanban 支援 Web 儀表板,LINE 式的工作流視圖,包含:
- 七個狀態欄(triage、todo、ready、running、blocked、done、archived)
- 任務卡片即時顯示負責人、優先順序、留言/連結計數、子任務進度
- WebSocket 即時更新(任何設定檔或 CLI 的操作都即時反映)
- 拖放移動任務狀態
- 批次選取 + 批量操作(完成、封存、重新指派)
- 依賴編輯器(晶片式父子關係顯示)
與其他框架的差異
官方文件聲稱對比了 Cline Kanban、Paperclip、NanoClaw 和 Google Gemini Enterprise 等方案,聲稱 Hermes Kanban 是唯一同時做到以下幾點的:
- 真正的多進程隔離(每個 worker 是獨立的 OS 行程)
- 任務依賴自動提升(不需要人工追蹤)
- 持久化 SQLite 審計軌跡(不死於上下文壓縮)
- 人類可在任意步驟介入
Hermes Agent 的 Kanban 功能為多智能體協作提供了一套工業級的基礎設施。對於需要跨設定檔協調、长时间运行、或需要人類審查的複雜工作流,這是目前最乾淨的解決方案。
文件連結:Kanban — Multi-Agent Board(官方文件)