OpenAI 近期推出了一款基於雲端的軟體工程代理程式,名為 Codex。目前,這項服務已開放給 Pro、Enterprise 和 Team 用戶。Plus 和 EDU 用戶也將很快獲得支援。
Codex 價格方案
-
Plus 會員不支援 Codex。
-
Pro 會員月費為 200 美元。
-
Team 用戶按月支付,每位使用者每月 30 美元;按年支付,每位使用者每月 25 美元。至少需要兩位使用者才能開始使用。
為了真正體驗 Codex,每月 60 美元的 Team 方案比 200 美元的 Pro 方案更具成本效益。
啟用 Codex Team 方案
啟用 Team 方案後,Team 帳戶的左側會出現 Codex 選項。個人帳戶的 Free 版本則沒有 Codex 選項。
Codex 功能介紹
Codex 目前是研究預覽版,提供以下功能:
-
建構功能
-
解答程式碼庫的問題
-
執行測試
-
起草 PR (Pull Request)
所有這些功能都可以一步完成。這與官方提到的 Can work on many tasks in parallel(可以平行處理多項任務) 相符。
點擊「開始使用」後,系統會再次說明 Codex 的功能,例如執行 GitHub PR 請求、引導程式碼庫、執行 Lint 和測試,並且由新的程式碼模型驅動。這個模型指的是 Codex One。根據官方描述,Codex One 模型旨在適應軟體開發,並針對 O3 版本進行優化。它透過在各種環境中進行強化學習來訓練實際的程式碼任務,從而產生與人類風格和 PR 程式碼相關的程式碼。
在內部 SWE Bench 測試中,CodeX1 模型的準確性也高於 O3 模型。
連接 GitHub 帳戶
接下來,可以連接到 GitHub 帳戶。您可以選擇指定的儲存庫。
注意: 系統會提示為倉庫建立基本環境。但此環境不一定包含目前儲存庫所需的所有依賴項。如果缺少某些依賴項,您可以繼續設定。
Codex 任務類型
官方預設準備了三種類型的任務:
-
Ask (提問):詢問有關 Codex 程式碼庫的相關問題。
-
Code (程式碼):讓 Codex 編寫程式碼。
如果您使用過一些 AI 編輯器,例如 Cursor,則此處的 "Ask" 可以比作 Cursor 中的 "Chat",而 "Code" 可以比作 Cursor 中的 "Agent"。
任務範例
- 解釋程式碼庫 (Ask):向新手解釋當前的程式碼庫(已連接的 LandChain 儲存庫)的結構,以及需要了解的重要內容和重點。這對於新進公司的員工或查看開源專案程式碼非常有幫助。
- 檢查並修復錯誤 (Code):讓 Codex 檢查程式碼庫並修復一個重要的錯誤。
- 程式碼審查 (Code):讓 Codex 瀏覽整個程式碼庫,找出問題並提出修復錯誤、改進測試的任務。這更像是程式碼審查,需要開發人員檢查程式碼並識別需要改進的不同方面。
執行任務
值得注意的是,每個任務都會在獨立的環境中執行。此環境已預先安裝在您的程式碼庫中。Codex 可以在每個環境中讀取檔案和執行指令。每個任務需要大約 1 到 30 分鐘才能完成,這通常取決於任務的複雜程度。
任務結果範例
-
成功任務 1:解釋程式碼庫
-
任務耗時:2 分 50 秒
-
執行過程:
- 設定環境(Ubuntu 容器,預先安裝 Python、Node.js、Ruby、Rust、Go、Java 等)。
- 關閉網路連線。
- 尋找專案下的
Agents.md
檔案(類似於readme.md
,用於說明專案結構、技術棧和相關規定)。 - 讀取所有檔案和資料夾,並整理出專案的功能、日誌結構、檔案大小、初學者應注意的核心點,以及未來的探索方向。
-
-
成功任務 2:修復錯誤
-
任務耗時:2 分 47 秒
-
執行過程:
- 設定環境。
- 關閉網路連線。
- 根據輸入提示修復一個重要的錯誤。
- 找出並修復程式碼中的錯誤,避免不同強度的實體共享同一個列表。
- 準備進行測試,但因為缺少依賴項,且無法訪問外部網路,建議在環境中設定啟動腳本來安裝相應的依賴項。
- 修改後,可以透過 push 提交 PR。
-
Codex 的 PR 範例
Codex 提交的 PR 包含具體變更的摘要、測試部分和 commits,以及對特定檔案的變更。
總結
Codex 可以作為您的助手、員工或老師。有了它,無論是學習、編碼、修復錯誤、測試等,都會變得更容易。例如,您早上完成了一段程式碼,準備去吃午飯,您可以將程式碼審查任務交給 Codex。當您回來時,您會發現 Codex 已經完成了原本屬於您的工作。
由於 Codex 的任務基於原始的隔離環境操作,因此它也可以輕鬆地在移動端提交任務。
Codex 在雲端安全隔離容器中完全運行,為了安全起見,在任務執行期間會禁止訪問互聯網。這意味著代理程式無法訪問外部網站、API 或其他服務。