Community寫作與編輯github.com

hibeekaey/agent-sync

同步您的 AI 編碼代理記憶,讓您能在一個代理中停止,並在另一個代理中繼續。

agent-sync 是什麼?

此技能提供一個協調多個 AI 編碼代理工作的協定,可解決在不同代理之間無縫切換工作階段的問題。它定義了一個協作者-工作者(coordinator-worker)模型:協作者擁有任務定義、審查所有交付成果,並決定後續步驟;工作者則接收規範、產出工件後停止。此機制基於檔案(`task.md` 和 `result.md`)來進行媒介與協調,無需跨供應商訊息匯流排。此技能支援 Claude Code、Codex CLI 和 Gemini CLI 等平台,並提供兩種共享模式:同一目錄加鎖(透過 `mkdir .agent-lock` 實現原子性鎖定)或 Git 工作樹(`git worktree`),以避免兩個代理同時變更同一工作樹。它還包含嚴格的規則,例如工作者不得擁有憑證、部署權限或存取真實受眾的權限,且協作者必須親自審查所有交付成果。

相容平台✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add hibeekaey/agent-sync

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

跨編碼代理的工作協調

您是協作者:您擁有任務定義、審查每個交付成果,並決定後續步驟。每個其他代理都是工作者:它接收規範、產出工件並停止。沒有跨供應商的訊息匯流排,因此協調是以回合制且基於檔案的方式進行:

您寫下 task.md -> 工作者無頭執行 -> 工作者寫下 result.md ->
您閱讀、驗證、決定下一回合

如果已安裝 agent-sync,請在委派之前執行 agent sync,以便每個工作者都從您擁有的相同綜合化記憶開始。

1. 編寫任務目錄

task/
  task.md      # 規範(請參閱下方合約)
  ...inputs... # 工作者所需的一切;工作者不接收其他上下文
  result.md    # 工作者寫下此檔案;其存在表示完成

task.md 是一份承包商簡報,必須包含:

  • 目標,一個段落即可;
  • 確切的交付成果(一個命名檔案);
  • 可檢查的完成定義;
  • 完成交付成果後停止的指示;
  • 當工作者將編輯共享樹時,第 2 節中的鎖定或工作樹規則。

2. 在呼叫任何人之前選擇共享模式

第零條規則:兩個代理絕不能同時變更同一個工作樹。

情境模式
工作者僅讀取(審查、分析、第二意見)同一目錄,無鎖定
在一個樹上交替編輯同一目錄 + mkdir 鎖定
平行嘗試或平行觸摸檔案的子任務每個工作者一個 git 工作樹
兩個代理同時編輯一個樹永不;請重構

同一目錄鎖定(mkdir 是原子操作;請也將這些指令放入 task.md 中):

until mkdir .agent-lock 2>/dev/null; do sleep 1; done   # 取得鎖定
echo "$(whoami):$$" > .agent-lock/owner
# ... 工作 ...
rm -rf .agent-lock                                       # 釋放鎖定

切勿根據時間自動使鎖定過期:緩慢的工作者看起來與已死亡的工作者相同。在清除陳舊鎖定之前,請先驗證工作者進程已死亡。

工作樹模式:為每個工作者執行 git worktree add ../task-<worker> -b agent/<worker>,工作者永不推送且永不觸碰彼此的工作樹,主檢出保持唯讀,而您(協作者)執行所有合併作為唯一的序列化步驟。

3. 無頭執行工作者

工作者命令
Claude Codeclaude -p "Read task.md in this directory and complete it."
Codex CLIcodex exec --skip-git-repo-check --sandbox workspace-write "Read task.md in this directory and complete it." </dev/null
Gemini CLIgemini -p "Read task.md in this directory and complete it."

從艱苦教訓中學到的規則:

  • 從任務目錄內部執行工作者,並將其寫入權限限制在該目錄內。
  • 對任何後台工作者關閉標準輸入(</dev/null),否則它可能會掛起等待輸入。
  • 沒有 --skip-git-repo-check 時,Codex 會拒絕不受信任的非 git 目錄。

4. 驗證,然後決定

  • 工作者的話不是交付成果。閱讀 result.md 並根據完成定義進行檢查;對於程式碼,請自行執行測試。
  • 缺失或錯誤的交付成果會得到一個包含更明確規範的新回合,而不是重複相同的回合。
  • 您對您接受的內容負全部責任:像審查人類承包商的 PR 一樣審查工作者的差異(diff)。

界限

  • 絕不給予工作者憑證、部署權限或存取真實受眾的權限;工作者產出工件,協作者(與使用者一起)部署它們。
  • 如果沒有鎖定或工作樹,切勿執行此協定來平行編輯一個樹內部的內容,即使是為了「快速」任務。
  • 使用者決定哪個代理扮演協作者;不要將協調工作移交給工作者。

相關技能