AI News HubLIVE
站内改写1 分鐘閱讀

HandoffKit:透過傳遞訊息協調代理,而非共享記憶體

DynG AI 開源了 HandoffKit,這是一個 OpenAI Codex 外掛,採用類似 Go 語言 goroutine 的訊息傳遞機制來協調編碼代理,而非傳統的共享黑板模式。HandoffKit 將每個代理視為獨立 actor,透過 mailbox、select、handoff 等原語實現無競態協調,內部使用已實現 10 倍編碼速度提升。它還與 PlatformPilot brain 互補,可獨立使用。

來源Hacker News AI作者: ricardo-larosa

HandoffKit 是 DynG AI 開源的 OpenAI Codex 外掛,旨在透過訊息傳遞而非共享記憶體來協調 LLM 代理。其設計靈感來源於 Go 語言的 goroutine 哲學:“不要透過共享記憶體來通訊,而要透過通訊來共享記憶體。”

該庫將每個編碼代理視為獨立的 actor,擁有私有狀態、可定址的 mailbox 和單所有者執行迴圈。核心原語包括:

  • Mailbox 和 Select:類似 Go 的 select,代理可以同時等待多個事件(如回覆、使用者中斷、預算耗盡、超時),集中處理原本分散在共享狀態中的協調邏輯。
  • Handoff:透過所有權轉移在代理間移動任務,傳送者在傳送後停止接觸任務,從結構上消除競態。
  • Join、Quorum 和 Broker:實現扇入屏障、k-of-n 和廣播模式。
  • Budget:作為可等待的值,代理可在單個 select 中等待“訊息或取消或預算耗盡”。
  • Corpus、Compactor、Nursery 和 Tracer:分別管理共享知識、有界 handoff、監督拓撲和完整訊息級跟蹤。

DynG AI 內部使用 HandoffKit 已實現 10 倍編碼速度提升。典型工作模式是:任務列表送入佇列 mailbox,多個代理從中拉取任務,每個工作代理在隔離的 git worktree 中執行編碼任務,結果透過測試套件(而非 LLM 評判)驗證後彙總。

與傳統共享黑板架構不同,HandoffKit 透過分離所有權和訊息傳遞避免了競態和重複工作。例如,在一次程式碼審查中,系統將倉庫劃分為三個不重疊的區域(執行時原語、LLM/示例整合、外掛/文件),分別交給三個獨立代理審查,結果自然分割槽,無需事後去重。

在並行修復場景中,HandoffKit 利用 git worktree 為每個工作代理建立獨立分支,確保每個檔案在某一時刻只被一個代理操作。修復完成後合併回主分支,實現無鎖並行。

HandoffKit 目前面臨的核心挑戰是“handoff 損失”的有界問題:雖然存在壓縮機制,但投影質量尚未解決。該專案已在 GitHub 上以 MIT 許可開放,並可作為 OpenAI Codex 外掛使用,提供語言無關的指南和 Go 腳手架工具。