沙盒與工作樹:我的安全智慧體AI設定
作者分享了自2021年使用AI工具以來的經驗,重點介紹了利用Claude Code和OpenAI Codex等智慧體工具、透過Sandvault實現沙盒化安全執行、以及藉助Git工作樹並行處理多個任務的個人工作流程。該設定顯著提升了生產力,併成為Homebrew專案在AI時代仍保持合併率增長的關鍵因素。
自2021年初受邀測試GitHub Copilot內部Alpha版以來,作者一直使用AI工具。作為Homebrew的長期維護者,他如今已達到“AI編寫90%程式碼”的狀態。本文詳細介紹了其當前的工作設定。
智慧體 作者認為,如果仍只使用程式碼補全模式或僅依賴GitHub Copilot,會錯過更多。2025年中後期,Claude Code和OpenAI Codex等智慧體工具變得足夠優秀,提示比手動編輯更快。OpenAI Codex通常第一次就能正確完成任務,而Claude Code預設較“愚蠢”,但可透過激進的鉤子、工具和提示來改善。作者日常首選OpenAI Codex,但令牌限制使其也能接受Claude。他建議保持CLAUDE.md/AGENTS.md檔案儘可能簡潔,因為模型間效能差異巨大。
沙盒(Sandvault)
智慧體的一大問題是需要不斷確認操作。作者選擇使用沙盒環境而非停用許可權。Sandvault是一個利用macOS沙盒的工具,能建立一個非管理員使用者賬戶,讓智慧體在其中自由執行,大幅降低風險,如誤刪檔案、濫用令牌或洩露敏感資料。安裝後,透過sv codex或sv claude啟動智慧體,也可進入沙盒shell。作者還將點檔案放在共享目錄下,以便在沙盒使用者間同步。
共享程式碼
為了在普通使用者和沙盒使用者間方便共享程式碼,作者將倉庫克隆到/Users/Shared/sv-mike/repositories,並建立了工作樹目錄。同時需要修改Git配置以忽略組可寫許可權帶來的警告。
工作樹(Worktrees)
當擁有更多令牌時,單智慧體執行成為瓶頸。Git工作樹允許在同一倉庫的不同目錄同時檢出多個分支。作者使用Superset工具來管理工作樹和智慧體命令。他將智慧體命令配置為沙盒版本(如sv claude --),並新增了多個專案。透過建立基於提示的沙盒工作樹,可以同時啟動多個智慧體處理不同任務,甚至並行嘗試多種解決方案。
提示與審查 作者始終本地審查AI生成的程式碼,方法包括閱讀輸出、手動編輯、提供反饋、執行測試、讓另一個AI審查以及利用CI失敗資訊。審查程度取決於對程式碼的熟悉度和關鍵性。在Homebrew專案中,他們設立了嚴格的AI生成PR政策,如要求披露、限制數量、拆分大型PR等。
CTPO助理 作為CTPO,作者利用Superset建立一個“ctpo”專案,存入會議記錄、目標、待辦事項等,並能詢問它來準備會議、確定優先順序。透過內部文件和作者的個人資料訓練,這個AI助理能提供準確的記憶輔助。
結論 GitHub發現Homebrew是AI時代少數合併量未降反升的專案之一,作者認為其設定功不可沒。沙盒與工作樹的結合讓他能投入更多令牌解決更多問題,獲得前所未有的效率和條理。他鼓勵讀者分享自己的經驗,並期待一年後這套方法會變得過時。