Skip to content

代理主機協定為 AI 代理程式階段提供同步的多用戶端狀態

一個可攜式、獨立的伺服器協定,透過不可變狀態、純 reducer 與預寫入協調,讓多個用戶端共享 AI 代理程式階段的同步檢視。

運作方式

一個代理程式工作階段,任何用戶端皆可使用。

AHP 將代理程式工作階段轉變為一個共享、同步的資源,讓任意數量的用戶端都能同時連結。以下是從問題到線路的完整旅程。

01 問題

代理程式工作階段受困於它起始的位置。

對話、回合、待處理的工具核准 — 全都綁定在單一應用程式或控制框架上。一旦切換到其他用戶端、裝置或自動化流程,就無法接續同一個即時工作階段。AHP 將工作階段變成一個共享資源,讓它只需存在一次,就能從任何地方驅動。

代理程式工作階段

受困於單一應用程式

一個即時工作階段,跨用戶端共享

02 架構

一個主機居中,連接多個用戶端與多個代理程式。

承襲 LSP 與 DAP 的血統,主機持有權威的工作階段狀態。用戶端使用 AHP 溝通;代理程式後端則直接整合。任何用戶端都能驅動任何代理程式 — 而且每個用戶端都保持同步。

03 線路傳輸

每次變更都是一個信封,且完全排序。

主機為每次變動蓋上單調遞增的序號,並廣播給每個已訂閱的用戶端。這條單一有序的串流,就是讓每個視窗保持同步的關鍵。

主機 廣播到每個用戶端
41chat/turnStarted"為 API 用戶端加入重試邏輯"
42chat/delta"好的 — 我會包裝 fetch 呼叫…"
43chat/toolCallStart編輯檔案 · src/api.ts
46chat/toolCallCompleteok · 1 個檔案變更
47chat/turnComplete回合 t_8c1 完成
04 協調

樂觀套用,待回應傳回時再協調。

用戶端會立即在本地套用自己的操作,再將伺服器的回應 — 蓋有 origin 戳記 — 與其樂觀副本比對。來自其他用戶端的並行編輯,會折疊進同一條有序串流中。

用戶端
樂觀dispatch(turnStarted)clientSeq 7 · 已在本機套用
主機
已確認serverSeq 41origin { ide, 7 } · 已協調

以 MIT 授權發布。