🤖HermesBlog
Hermes 功能詳解 · 第35篇2026/8/9· Easy Understand Hermes Agent

第35篇:看板工作通道——分工流水線

Hermes 功能詳解第35篇:Kanban Worker Lanes。看板裡的分工機制。

這篇講的是 Hermes Agent 裡的「看板工作通道」(Worker Lane)——你可以把它想像成一條工廠流水線,每個工位(通道)負責一類活兒,看板系統負責把任務派給合適的工位,並盯著每項任務從「待辦」走到「完成」。

hermes-feature-35-kanban-worker-lanes

先理解三個角色

  • 看板(Kanban):總調度台,記錄每張任務卡片的真實狀態(待辦→進行中→阻塞/完成/歸檔)。
  • 工作通道(Worker Lane):一個「工種」,比如「寫程式的」「做研究的」「審程式的」。它只負責幹活,不擁有狀態——幹完必須向看板匯報。
  • 審查員(Reviewer):真人(或代理),負責把關「程式改完了」和「任務真完成了」之間的那道門。

第1步:給任務分配「工種」

每個任務卡片上有個 assignee 欄位,相當於「派給誰」。看板調度器看到這個欄位,就會去找對應的通道。

  • 如果 assigneeHermes 設定檔的名字(比如 coderresearcher),調度器會自動啟動 hermes -p coder chat -q <提示詞> 來幹活。
  • 如果 assignee外部工具(比如 Codex CLI),目前需要外掛程式來註冊,還不是一條鋪好的路,需要自己寫整合程式碼。

任務找不到對應通道時,不會被亂執行,而是留在「待辦」狀態並打上 skipped_nonspawnable 標記,等管理員來修。

第2步:工位怎麼「開工」?

調度器會在任務的專屬工作目錄裡啟動工人,並塞給它一堆環境變數,告訴它「你是誰、在哪個板、任務ID是多少」。比如:

HERMES_KANBAN_TASK=task_123
HERMES_KANBAN_BOARD=my_board
HERMES_KANBAN_WORKSPACE=/path/to/workspace
HERMES_PROFILE=coder

工人拿到這些資訊,就知道該幹什麼了。

第3步:幹完怎麼「交差」?

每個任務必須且只能有一個結局,三選一:

結局 呼叫工具 狀態變成
成功 kanban_complete(summary="...") done
需要人工介入 kanban_block(reason="...") blocked
進程退出但沒匯報 (無) crashed / gave_up / timed_out

最關鍵的約定:如果任務是「改程式」這類需要人審的,工人應該kanban_block 而不是 kanban_complete,並且在 reason 前面加上 review-required: 前綴。這樣看板介面就會把這行標成「待審查」。

審查員看完後,如果通過就執行 kanban_unblock,任務會重新派給工人做後續;如果要求修改,就留個評論,下一輪工人會看到。

第4步:看日誌和稽核

每項任務的所有輸出都存在 <board根目錄>/logs/<任務ID>.log 裡。想看歷史:

hermes kanban runs <task_id>      # 看所有嘗試記錄
hermes kanban tail <task_id>      # 即時跟蹤日誌

第5步:調度器幫你兜底

  • 工人假死:超過15分鐘沒心跳且進程真的死了,任務會被回收重派。
  • 工人崩潰:連續失敗次數超限,任務自動進入「阻塞」狀態等人處理。
  • 逾時:超過最大運行時間,自動標記 timed_out

這些你都不用自己寫,調度器全包了。

小總結

工作通道 = 一個身份(assignee)+ 一個啟動方式(spawn)+ 一個結束約定(terminator)。你只需要定義好設定檔,剩下的調度、重試、稽核,看板系統都幫你管好了。

下篇預告:第36篇——看板審查流程:如何讓「人工把關」變得高效又省心。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features/kanban