完整的代理框架。用在你的程式碼庫。

Shell、搜尋、檔案編輯、背景作業與隔離沙箱,加上四種多代理模式,以及分得清可逆與不可逆操作的權限。Perch 原本是為需要接受稽核的工作而打造。結果發現,程式碼庫需要的正是同一件事。

Perch Terminal
Perch Terminal 在 Perch-Demo-AP 資料夾中執行任務到一半:Saffron 說明它將撰寫 scripts/find-duplicates.ts 來讀取應付帳款登記簿,接著是一張語法醒目提示的 diff 卡片,新增 73 行 TypeScript,把 CSV 解析成 Invoice 介面。輸入框顯示目前範圍內的資料夾、模型、Take the Wheel 權限,以及即時的上下文用量表。
一項任務的中途:Perch 讀取帳本,撰寫檢查用的腳本並執行。同一個工作階段、同一個資料夾、同一個代理。

認真的代理框架該有的工具,桌面版和 CLI 都有。

Shell 與搜尋

真正的 bash、grep 和 glob。找出每個呼叫位置,就是真的找出每一個,而不是靠語意猜出大部分。

檔案編輯

讀取、寫入、就地編輯、移動、複製、刪除。每次呼叫都會依你工作區核准的根目錄進行驗證。

背景作業

在背景啟動建置或測試套件,之後可以查看、等待或終止它,Perch 同時繼續處理其他事情。

隔離沙箱

程式碼在 macOS seatbelt 設定檔下停用網路執行,每次執行都會記錄下來,讓每個結果都能追溯到產生它的過程。

規劃模式

Perch 會檢視儲存庫並草擬計畫,期間會封鎖會修改內容的工具。你閱讀計畫時,不會寫入任何東西。

待辦與提問

長時間執行時有一份看得見的待辦清單;需要由你決定時,它會真的開口問你,而不是替你猜。

大多數代理框架只有一種。這些是本質上不同的工作型態,所以 Perch 把它們分開,而不是假裝一種模式能適用所有情況。

Workers

在一個回合中產生,並在該回合內執行。它們完成時,回合才結束。

Flock

規劃一個團隊、平行執行,再綜合出一個答案。適合可拆分的大型工作。

Delegate

分離執行。它會自行運作、提出檔案變更,並在寫入任何內容前等候你的核准。

Background shell

由你輪詢狀態的作業系統層級作業。對話繼續進行時,建置也持續執行。

lib/settlement.ts由 Delegate 提出
export async function settle(batch: Batch) {
const total = batch.lines.reduce(sum, 0);
const total = await computeTotal(batch.lines);
assertReconciled(total, batch.expected);
return post(total);
}
等待你的核准

背景代理會提出變更。在你同意之前,什麼都不會寫入。

Perch 處理的是整個儲存庫,不只是裡面的檔案。讀取歷史紀錄可以自由進行;更動別人看得到的內容則不行。

讀取歷史紀錄

狀態、diff 與 commit 歷史,讓審查從實際變更的內容開始,而不是從對變更的描述開始。

審查 commit 與 PR

逐步檢視 pull request,追查迴歸問題是由哪個 commit 引入,並附上支撐該陳述的檔案回報給你。

除錯失敗的檢查

讀取失敗的 CI 檢查,在本機重現並修好它,而不是告訴你該去看哪份紀錄檔。

發布前設關卡

commit、push 和開啟 pull request 都是不可逆且對外可見的操作,因此必須通過明確的權限關卡。

寫出它的模型,不該替它打分數。

Perch 不綁定特定模型,所以它產生的輔助代理不必和主要工作使用同一個模型。讓它們改用另一個模型,你就能得到真正的第二意見,而不是讓模型審查自己的產出,再覺得自己做得非常好。

這之所以可行,是因為你沒有被綁在單一廠商。模型清單中的每個模型都能使用,依公開費率計費、不加價;而且我們公開了九個模型的基準測試,而不是空口宣稱結果。

專案檔只是基本配備。Perch 執行三套記憶系統,每一段上下文都附有紀錄,說明它為何會出現。

專案檔案

PERCH.md、記憶筆記與規則以純 Markdown 存放在你的資料夾中,歸你所有,並在每個回合讀取。

長期記憶

帳號層級的記憶卡片,透過語意與關鍵字的混合搜尋取得,以倒數排名融合(reciprocal rank fusion)合併,再依信心度與新近程度加權。

從修正中學習

修正 Perch 一次,這次修正就能成為永久記憶。你不必再另外把它寫下來。

記憶如何運作,包括通道與 token 預算如何決定每個回合哪些內容會送到模型。

程式碼之外的工作,也由同一個代理完成。

程式開發代理止步於儲存庫。Perch 是為法律、財務與文件工作而打造,在這些領域,一個自信卻錯誤的答案會帶來後果;當你打開程式碼庫時,這套機制也不會關閉。修好對帳 bug 的同一個工作階段,也能稽核被它算錯的付款、對照原始文件核對數字,並草擬說明備忘錄,每項陳述都附上引用。

一個代理、一個工作區、一份記憶。你不必把程式開發工具和文件工具硬湊在一起,還祈禱它們意見一致。

交給它一個儲存庫。

Perch Code 可在桌面版和 CLI 中執行。兩者都從你的本機資料夾工作,而且所有方案都包含。