讓我們的AI編程代理成為構建產品的唯一方式
AnyFrame公司創建了一個名為Gilfoyle的AI編程代理,它運行在沙盒環境中,能夠直接編寫代碼、提交PR並部署到生產環境。該代理基於Claude模型,通過Discord命令觸發,並具備截圖驗證能力。團隊計劃將所有開發工作通過Gilfoyle完成,形成自我強化的反饋循環。
AnyFrame公司最近迎來了一個特別的“實習生”——名為Gilfoyle的AI編程代理。這個代理不僅在一週內提交了比大多數人類團隊成員更多的生產代碼,還獨立完成了一個包含數據庫遷移的完整功能,並在沒有人工干預的情況下合併了PR。Gilfoyle甚至編寫了這篇文章的頁面。
Gilfoyle並非真人,而是一個運行在雲沙盒中的內部開發代理。它擁有完整的代碼庫和shell訪問權限,能夠像人類開發者一樣工作。AnyFrame為其構建了AnyFrame控制平面,用於管理沙盒AI代理,而Gilfoyle就運行在這個它自己參與構建的產品之上。
AnyFrame允許用户定義代理:指定倉庫、安裝命令、系統提示、技能(可複用的劇本)以及與Slack、Linear或GitHub等工具的連接。然後,代理會在隔離的雲沙盒中啓動,執行實際工作——不是生成建議,而是直接打開PR、運行測試和部署代碼。
接入Gilfoyle非常簡單:首先創建模板(包含倉庫、安裝命令、技能和系統提示),然後基於模板創建代理並選擇Claude運行時,最後將Discord集成指向該代理。之後,團隊成員只需在頻道中@提及Gilfoyle即可啓動工作。他會創建一個線程,啓動沙盒並克隆倉庫,然後流式輸出工作進度。如果沙盒被回收,下一個消息會自動從快照恢復,實現無縫銜接。
為了最大化效率,AnyFrame將多個倉庫整合為單個monorepo,讓Gilfoyle能夠一次性獲取所有代碼。同時,通過“工作量證明”技能,每次更改都會自動截圖或提供可訪問的實時URL,大大簡化了代碼審查流程。
當前,Gilfoyle承擔了從單行修復到完整功能的各種開發任務。例如,他修復了移動端換行問題,以及文檔中的錯誤TTL值。更大型的工作包括實現一個自主動作的會話調度功能,包括數據庫表、後台調度器、數據遷移和用户界面,全部由他獨立完成。
AnyFrame的最終目標是讓Gilfoyle成為開發AnyFrame的唯一方式——所有特性和修復都通過這個“實習生”完成。這迫使公司不斷優化產品,因為任何開發上的不便都會立刻暴露為缺陷。未來的改進方向包括:直接對接Linear工單系統、定時更新代碼庫、支持暫停後恢復運行中的進程,以及跨任務持久化記憶。
AnyFrame認為,一個能談論代碼的AI只是花招,但一個能成為唯一生產路徑的AI必須克服大量實際問題。Gilfoyle不僅是一個吉祥物,更是推動產品進化的力量。