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

Ratchet:一個只能前進的AI交付迴圈

Praveen Vijayan 介紹了 Ratchet,一種旨在防止倒退的 AI 交付工作流程。它基於 GitHub 構建,限制編碼代理只能向前推進工作,最終合併始終由人工審批。Ratchet 是開源的,與代理無關,注重可審計性和安全性。

來源Hacker News AI作者: praveenvijayan

近年來,AI 編碼代理的能力不斷提升,但如何在生產環境中安全地應用它們,仍是一個挑戰。許多團隊發現,全自動方案要麼偏離預期,要麼在測試失敗時停滯不前,甚至直接合並未審查的程式碼。Praveen Vijayan 在金融行業的工作經歷讓他深刻意識到這些問題的嚴重性。為此,他建立了 Ratchet——一個強制單向交付的工作流系統。

Ratchet 的核心思想很簡單:只允許工作向前推進,絕不允許後退。它模擬了棘輪的工作原理,確保每次操作都向最終交付靠近。系統基於 GitHub 構建,利用 issue、分支、標籤、Actions 和 pull request 等原生功能,無需額外的資料庫或服務。任何一步都能在倉庫中直觀檢視。

工作流分為幾個階段:代理從佇列中選取任務,透過建立分支自動認領;接著進行小規模編碼,每次提交都遵循倉庫風格;隨後執行專案自身的測試和構建,兩次機會後仍未透過則退回佇列並附說明;成功透過則建立 pull request,由人工審查。合併後,系統自動更新任務狀態,並重新填充佇列。

與 Devin 或 Copilot 不同,Ratchet 不繫結特定代理。它支援任何能執行命令列和解析 markdown 檔案的代理。這意味著團隊可以自由選擇最適合的工具,而不必擔心被鎖定。此外,Ratchet 強調可審計性:所有動作都是真實的 GitHub 事件,帶有時間戳和操作者資訊,這在高合規性要求的環境中至關重要。

Ratchet 還包含一個記憶系統。專案知識儲存在倉庫中的兩個 markdown 檔案中:一個僅供代理讀取,另一個允許代理建議修改,但必須透過 pull request 審查。這樣,代理的“學習”過程完全透明,團隊可以稽核每一項變更。避免了黑盒式的記憶儲存,讓信任建立在可讀的程式碼之上。

目前 Ratchet 以 MIT 許可證開源,作為 GitHub 模板釋出。初始化只需執行 /ratchet-init,然後透過 /ratchet-plan 制定計劃、/ratchet-next 推進任務。它預設只在本地執行,使用開發者的現有 GitHub 賬號,不增加額外安全風險。團隊版正在開發中,當前版本主要針對單獨開發者設計。

總之,Ratchet 提供了一種安全、可控的 AI 交付方案。它讓代理承擔重複性的編碼和測試工作,而將關鍵決策保留給人類。這種設計不僅提高了效率,還降低了風險,特別適合對程式碼質量和安全性有嚴格要求的團隊。