Flock
Perch 的實驗性多代理模式。它為困難任務規劃專屬工作者團隊,分階段執行,並讓檢查工作者在你看到結果前驗證結果。
Flock 是 Perch 的多代理模式。一般的一輪由一個模型完成任務,而一次 flock 是一個團隊:Perch 會為眼前的特定任務規劃一組專注的工作者,讓它們一起執行,並在結果交給你之前,讓檢查工作者審查。
它為困難、多部分的工作而設計,也就是單次處理還不夠的工作:審查分支是否有迴歸問題、稽核付款資料夾、梳理大型儲存庫並指出風險。對於小型、單一步驟的任務,一般的一輪較快,Flock 會在開始任何工作前拒絕這類任務。
實驗性功能
開始執行
在 Perch Terminal 中,以 /flock 開始任何任務,後面接上你要完成的工作:
/flock review this branch for regressions and verify the testsPerch 會規劃團隊,再串流顯示每個工作者的執行過程。你可以觀看 flock 組成、工作與完成,並看到清楚的工具呼叫次數。在桌面應用程式中按 Esc,或在 CLI 中按 Ctrl-C,隨時都能取消。
如何規劃 flock
Perch 會根據你的任務設計團隊,而不是套用固定範本。
- 規劃者讀取任務,傳回由二到十個工作者組成的團隊,每個都有特定角色(「迴歸問題獵人」、「修補工作者」、「引用檢查者」)、範圍明確的目標、一組允許使用的工具,以及在執行流程中的位置。計畫是為你的任務建立,而不是從選單選出。
- 確定性的備援機制會在規劃者無法執行時接手,例如你已登出或離線,或規劃者傳回無效內容時。它會從固定的十三種成熟角色中組成團隊。結果是一個安全、但較不客製化的 flock,而不是失敗的 flock。
兩種情況下,都不會直接信任原始計畫。在任何工作執行前,Perch 都會驗證工作者數量、寫入權限、工具存取權與所有其他數值,並將它們限制在允許範圍內。
團隊如何執行
工作者分階段執行;同一階段中,只要工作允許,就會平行執行:
探查。 工作者先閱讀並梳理資料,讓團隊其餘成員能根據實際存在的內容行動。
工作。 工作者執行核心任務,包括修補程式碼、撰寫區段或執行分析,每個都有自己專注的上下文與範圍有限的目標。
驗證。 檢查工作者審查團隊產出的內容。
彙整。 將結果整理成一份回答。
每個工作者都分配到範圍明確的一部分,並擁有自己的上下文,因此一個步驟不會干擾另一個步驟,大型任務也會分段進行,而不是塞進一個超載的要求。工作者會等待它所依賴的輸出;如果依賴項無法取得,就會略過該工作者,而不是交給它空白上下文。
工作如何自我檢查
驗證是 Flock 值得花額外時間的原因。檢查工作者會審查團隊的輸出,其發現絕不會被悄悄放過:
- 如果檢查者發現沒有依據的陳述、缺少引用、矛盾或缺漏,草稿會經過一次範圍明確的修訂,再由同一個檢查者重新檢查一次。
- 發現、重新檢查的判定與清楚的下一步會隨最終回答一併交付,讓你看到哪些內容受到質疑,以及是否已解決。
- 部分結果會標示為部分結果。Flock 不會把未完成的執行包裝成已完成。
引用來源的草稿工作必須遵守來源依據規範:陳述會附上行內 [n] 標記,指回探查工作者實際找到的內容;任何沒有依據的內容都會標記為需要驗證,而不是任由它保留。
角色與呼號
每個工作者都有兩個名稱。它的角色(「迴歸問題獵人」)是模型工作時扮演的身分。它的呼號(「Eagle」、「Shawarma」、「Bell」)只用於呈現,方便你在串流顯示執行過程時,一眼分辨工作者。呼號絕不會出現在工作者的指示內,因此無法影響工作。在 CLI 中,一列會顯示為:
Regression Hunter · Eagle · running上限與防護措施
Flock 在硬性上限內執行,這些上限由 Perch 強制執行,而不是要求模型遵守:
| 防護措施 | 上限 |
|---|---|
| 每個 flock 的工作者數量 | 2 到 10 |
| 可以寫入檔案的工作者數量 | 2(當你明確接手時,最多 4) |
| 實際經過時間 | 預設 8 分鐘,硬性最高 10 分鐘 |
| 整次執行的工具呼叫總數 | 160 |
| 每個工作者的迭代次數 | 10 |
無論計畫如何,都遵守兩項規則:
- 不允許遞迴。 flock 工作者不能啟動自己的 flock,也不能委派給更多代理。每個工作者都會移除協調工具。
- 如實回報結果。 無法使用的模型會回報,不會假裝使用;未讀取的檔案會回報為未讀取;預算用完的執行會根據已蒐集的證據完成,並說明此情況。
Flock 不是什麼
- 它無法在網頁聊天中使用。它需要只有 Perch Terminal 才有的本機檔案存取權。
- 它不是即時的。如果你需要快速回答,請使用一般的一輪。
- 它不是黑箱。每個工作者的角色、狀態與成本,在執行時都看得見。