“軟體工程正在發生變化,到 2025 年底,軟體工程的面貌將發生根本性的改變。”Greg Brockman 在 OpenAI 釋出會上的開場白為接下來的活動定下了基調。OpenAI釋出了Codex,這是一個雲原生軟體代理,旨在與開發者一起工作。
Codex 並非單一產品,而是由 Codex-1 (OpenAI 的最新編碼模型)驅動的代理系列。幾周前,Codex CLI 作為在終端內執行的輕量級伴侶問世。今天,焦點轉向了它更大的遠端代理,它完全可以在 ChatGPT 上使用。你可以啟動多臺“迷你電腦”,在喝咖啡的時候處理多項任務。本文將概述 ChatGPT 上的 Codex,我們將很快釋出一些基於專案的相關文章。
從程式碼補全到Vibe編碼
OpenAI 早在 2021 年就開始致力於人工智慧輔助編碼,當時推出了最初的 Codex 模型,併為 GitHub Copilot 等工具提供支援。那時,它的功能更像是為開發人員提供自動完成支援。
從那時起,很多事情都發生了變化。得益於強化學習技術的重大進步,Codex 的功能已經大大增強。
現在,在 Vibe 編碼成為新常態的世界裡,你只需用母語描述你想要的東西,Codex 就會找出如何構建它。最新版本的 Codex-1 基於 OpenAI 的 o3 架構,並根據真實世界的拉取請求進行了微調。它不僅能生成程式碼,還能遵循最佳實踐,如內襯、編寫測試和保持一致的風格,使其真正適用於實際開發工作。
推薦閱讀:掌握 Vibe 編碼藝術指南
如何透過ChatGPT介面訪問Codex?
按照以下簡單步驟開始使用 Codex(所需時間 5 分鐘):
1. 在 ChatGPT 中找到 Codex
開啟 ChatGPT,進入左側導航欄的“Codex”側邊欄,您會看到一個新的“Codex (beta)”圖示。單擊它以顯示代理儀表板。
2. 多因子身份驗證
點選“Set up MFA to continue”,使用您喜歡的身份驗證應用程式(如 Google Authenticator 或 Authy)掃描二維碼,然後輸入驗證碼進行驗證。就這樣,一切就緒。
3. 連線 GitHub(僅限首次使用)
只需點選一下 OAuth,Codex 即可授權讀/寫您的版本庫。您可以將其限制在特定組織或個人專案中。
4. 選擇版本庫和分支
選擇你希望 Codex 負責的專案。代理會將該分支克隆到它自己的沙盒中。
5. 配置環境(可選)
新增環境變數、秘密或設定命令,就像在 CI 作業中一樣。Linters 和 formatters 已預裝,但你也可以根據需要更改版本。
6. 選擇任務模板
Ask:“解釋架構”。Code:”查詢並修復 test_api.py 中的錯誤測試。Suggest:讓 Codex 掃描軟體倉庫並提出維護建議,或直接用自然語言輸入自定義指令。
7. 執行與多工
按下“Launch”。每個任務都會啟動自己的微型虛擬機器;你可以並行排隊處理幾十個任務,然後繼續在 ChatGPT 的其他地方聊天。
8. 檢視結果
綠色複選標記表示測試透過。點選任務卡可以檢視差異、模型解釋和完整的工作日誌。
9. 合併或迭代
點選“Open PR”,將分支推送回 GitHub,或在需要修改時回覆任務並提供後續說明。
OpenAI Codex演示
在本節中,我將與大家分享不同的示例,演示這款全新的軟體開發代理如何為您的生活增添色彩!
示例 1:加速開發
OpenAI 工程師納喬-索托(Nacho Soto)展示了 Codex 如何透過設定專案腳手架(如 Swift 軟體包)幫助他更快地開始新任務。透過簡單的提示,他就能卸下設定工作,專注於構建功能,而 Codex 會在後臺處理其餘工作。
示例 2:審查工作流
Codex 不僅僅支援程式碼生成。它還適用於審查工作流,開發人員可在其中檢查人工智慧生成的拉取請求,發現格式問題等問題,並提示 Codex 進行修復。
示例 3:使用Codex修正程式碼
工程師 Max Johnson 解釋了 Codex 如何幫助他修復小錯誤和程式碼質量問題,而又不分散他的注意力。他沒有切換上下文,而是將這些任務交給 Codex,之後再檢視結果,以改進程式碼庫。
示例 4:通話時發現程式碼庫中的錯誤
Calvin 分享了 Codex 如何在值班時幫助處理緊急任務。透過向 Codex 傳送堆疊跟蹤,他可以快速獲得診斷或修復。它還有助於微調警報和處理日常運營工作,從而減少人工操作。
OpenAI Codex與o3
提示:“Please fix the following issue in the matplotlib/matplotlib repository. Please resolve the issue in the problem below by editing and testing code files in your current code execution session. The repository is cloned in the /testbed folder. You must fully solve the problem for your answer to be considered correct.”
Problem statement:[Bug]: Windows correction is not correct in `mlab._spectral_helper` ### Bug summary Windows correction is not correct in `mlab._spectral_helper`: https://github.com/matplotlib/matplotlib/blob/3418bada1c1f44da1f73916c5603e3ae79fe58c1/lib/matplotlib/mlab.py#L423-L430 The `np.abs` is not needed, and give wrong result for window with negative value, such as `flattop`. For reference, the implementation of scipy can be found here : https://github.com/scipy/scipy/blob/d9f75db82fdffef06187c9d8d2f0f5b36c7a791b/scipy/signal/_spectral_py.py#L1854-L1859 ### Code for reproduction ```python import numpy as np from scipy import signal window = signal.windows.flattop(512) print(np.abs(window).sum()**2-window.sum()**2) ``` ### Actual outcome 4372.942556173262 ### Expected outcome 0 ### Additional information _No response_ ### Operating system _No response_ ### Matplotlib Version latest ### Matplotlib Backend _No response_ ### Python version _No response_ ### Jupyter version _No response_ ### Installation None
輸出:
觀察結果:
Codex 生成的修正比 o3 生成的修正更準確、更完整。它正確地刪除了 mlab._spectral_helper 中視窗歸一化過程中不必要使用的 np.abs(),因為它曾導致帶有負值(如 flattop)的視窗出現不正確的結果。Codex 用正確的數學表示式替換了錯誤的邏輯,使用 (window2).sum() 代替了 (np.abs(window)2).sum(),這符合 SciPy 實現中的最佳實踐。它還包含一個單元測試來確認該行為,從而使修復既可驗證又可靠。相比之下,o3 的輸出似乎並不完整,也沒有明確解決核心問題,因此 Codex 是更有力的選擇。
OpenAI Codex的工作原理
- Codex 編寫程式碼:該模型首先生成程式碼,以解決給定任務。
- 它執行程式碼:不僅要評估輸出結果的可信度,還要實際執行。
- 檢查測試結果:Codex 觀察生成的程式碼是否透過了相關測試。
- 只有任務成功完成,它才能獲得獎勵:與專注於下一個單詞預測的傳統 LLM 不同,Codex 只有在程式碼端到端都能正常工作的情況下才能獲得高分。
- 它透過反饋來學習:如果程式碼失敗,Codex 會重試:建立重寫指令碼、修正校驗錯誤並調整格式,直到符合標準。
- 它像初級開發人員一樣發展:這種培訓方法能讓 Codex 的行為不像文字生成器,而更像一位深思熟慮的工程師,遵循真實世界的編碼實踐。
在標準化基準和 OpenAI 內部工作流程中,Codex-1 都優於之前的模型。如下圖所示,在 SWE-Bench Verified 基準測試中,Codex-1 在所有嘗試次數上都達到了更高的準確度,並在 OpenAI 的內部軟體工程任務中遙遙領先。這凸顯了 Codex-1 在現實世界中的可靠性,尤其是對於將其整合到日常工作流程中的開發人員而言。
Source: OpenAI
雲端計算工作室內部一瞥
每次按下 Codex 側邊欄中的“執行”按鈕,系統就會建立一個微型虛擬機器沙盒:擁有自己的檔案系統、CPU、記憶體和鎖定的網路策略。系統會克隆你的版本庫,注入環境變數,並預裝常用的開發工具(排版器、格式化器、測試執行器)。這種隔離帶來了兩個立竿見影的好處:
- 安全性和可重複性– 流氓指令碼無法觸碰你的筆記型電腦或洩露機密;整個執行過程可在稍後重放。
- 規模並行性– 需要修改錯別字、協調超時時間,以及查詢神秘的錯誤?啟動三個任務,並行檢視結果。
可選的 AGENTS.md 檔案就像機器人的 README:你可以描述專案佈局、如何執行測試、偏好的提交風格,甚至要求在步驟之間列印 ASCII 貓。說明越豐富,Codex 的執行就越流暢。
可用性、限制與下一步?
Codex 目前對 ChatGPT 專業版、企業版和團隊版使用者開放。免費層和 EDU 使用者有望很快獲得訪問許可權。在研究預覽期間,使用將受到嚴格的限制,但這些限制可能會根據需求而變化。未來的計劃包括為 Codex 提供 API、整合到 CI 管道以及統一 CLI 和 ChatGPT 版本,以便在本地和雲開發之間實現無縫切換。
推薦閱讀:
結論
我剛剛完成了一次多檔案重構,而且從未碰過我的筆記型電腦。
– OpenAI 工程師
這樣的故事預示著未來的編碼將類似於高階協調:你提供意圖,代理處理細節。Codex 代表著開發人員與程式碼互動方式的轉變,從手動編寫所有程式碼轉變為協調高階任務。工程師現在更關注意圖和驗證,而 Codex 則負責執行。對許多人來說,這預示著一種新的開發工作流程的開始,在這種流程中,人與代理的協作將成為標準而非例外。
您打算如何使用 Codex?請在下面的評論區告訴我!
評論留言