
譯者 | 布加迪
審校 | 重樓
“軟件工程正在發(fā)生變革;到 2025 年底,它將煥然一新。”Greg Brockman在OpenAI 發(fā)布會上的開場白為接下來的活動定下了基調(diào)。OpenAI隨后發(fā)布了Codex,這是一款旨在與開發(fā)者協(xié)同工作的云原生軟件智能體。
Codex 并非單一產(chǎn)品,而是一系列基于OpenAI的最新編程模型codex-1的智能體。Codex CLI于幾周前發(fā)布,是一款終端內(nèi)運(yùn)行的輕量級配套工具。如今,人們的注意力轉(zhuǎn)向更強(qiáng)大的遠(yuǎn)程智能體,它完全可在ChatGPT上使用。你可以啟動幾臺“微型計(jì)算機(jī)”,在喝咖啡的同時處理多項(xiàng)任務(wù)。本文將概述ChatGPT端的Codex,我們后續(xù)很快會發(fā)布這方面的一些文章。
從自動完成到氛圍編程
OpenAI早在2021年就開始致力于AI輔助編程,當(dāng)時最初的Codex模型發(fā)布,為GitHub Copilot等工具提供支持。那時候,它更像是為開發(fā)者提供自動完成支持。
從那以后,情況發(fā)生了很大變化。得益于強(qiáng)化學(xué)習(xí)領(lǐng)域的重大進(jìn)步,Codex的功能得到了顯著增強(qiáng)。
如今在氛圍編程司空見慣的環(huán)境下,你只需用母語描述想要實(shí)現(xiàn)的功能,Codex就會自行構(gòu)建。最新版本Codex-1基于OpenAI的o3架構(gòu)而建,使用真實(shí)的合并請求進(jìn)行了微調(diào)。它不僅僅可以生成代碼,還可以遵循諸如代碼檢查、編寫測試和保持一致的風(fēng)格等最佳實(shí)踐,使其在實(shí)際開發(fā)工作中真正發(fā)揮作用。
可用性和限制
Codex目前可供ChatGPT Pro、Enterprise和Team用戶使用。Plus和EDU用戶預(yù)計(jì)很快也能使用。在研究預(yù)覽期間,使用量會受到較大限制,但這些限制可能會根據(jù)需求而進(jìn)行調(diào)整。未來計(jì)劃包括推出面向Codex的API、集成到CI流水線,以及統(tǒng)一CLI版本和ChatGPT版本,以便在本地開發(fā)和云端開發(fā)之間無縫切換。
如何在ChatGPT界面中訪問Codex?
所需時間:5 分鐘
按照以下簡單步驟開始使用Codex:
1. 在ChatGPT中找到Codex
打開ChatGPT,進(jìn)入到左側(cè)導(dǎo)航欄中的“Codex”側(cè)邊欄,你將看到一個新的“Codex(beta)”圖標(biāo)。點(diǎn)擊它即可顯示智能體儀表板。

2. 多因子身份驗(yàn)證
點(diǎn)擊“設(shè)置 MFA以繼續(xù)”,使用你首選的身份驗(yàn)證應(yīng)用程序(比如Google Authenticator 或 Authy)掃描二維碼,然后輸入二維碼進(jìn)行驗(yàn)證。就這樣,你已設(shè)置完畢。

3. 連接GitHub(僅限首次使用)
點(diǎn)擊OAuth 即可授權(quán)Codex讀取/寫入你的代碼庫。你可以將其限制為特定組織或個人項(xiàng)目。

4. 選擇代碼庫和分支
選擇你希望Codex處理的項(xiàng)目。該智能體會將此分支克隆到其自己的沙盒中。
5. 配置環(huán)境(可選)
就像在CI作業(yè)中一樣添加環(huán)境變量、機(jī)密信息或設(shè)置命令。代碼檢查程序和格式化程序已預(yù)先安裝,但你可以根據(jù)需要覆蓋版本。
6. 選擇任務(wù)模板
詢問:“請解釋架構(gòu)。”
代碼:“查找并修復(fù)test_api.py 中的不穩(wěn)定測試。”
建議:讓Codex掃描代碼庫,并提議從事維護(hù)任務(wù)。
或者只需用自然語言輸入自定義指令即可。
7. 運(yùn)行和多任務(wù)處理
點(diǎn)擊“啟動”。每個作業(yè)都會啟動自己的微型虛擬機(jī);可以實(shí)現(xiàn)任務(wù)并行處理,并在 ChatGPT 中的其他地方繼續(xù)聊天。
8. 查看結(jié)果
綠色復(fù)選標(biāo)記表示測試已通過。點(diǎn)擊任務(wù)卡即可查看差異、模型的解釋和完整工作日志。
9. 合并或迭代
點(diǎn)擊“打開合并請求”即可將分支推送回到GitHub,或者在需要更改時回復(fù)任務(wù),附以后續(xù)操作說明。
OpenAI Codex 演示
下面將給出不同的示例,表明這款全新的軟件開發(fā)智能體如何幫助你簡化工作!
示例 1:加速開發(fā)
OpenAI工程師Nacho Soto展示了Codex如何通過設(shè)置項(xiàng)目腳手架(比如Swift軟件包)幫助他更快地啟動新任務(wù)。借助簡單的提示詞,他就能夠卸載設(shè)置工作,致力于構(gòu)建功能,而Codex會在后臺處理其余工作。

示例2:審核工作流程
Codex不僅支持代碼生成,還適用于審核工作流程,開發(fā)人員因此可以檢查AI生成的合并請求,發(fā)現(xiàn)格式問題之類的問題,并提示Codex進(jìn)行修復(fù)。

示例3:使用Codex修復(fù)Papercuts
工程師Max Johnson解釋了Codex如何在不影響其專注力的情況下幫助修復(fù)小錯誤和代碼質(zhì)量問題。他沒有切換上下文,而是將這些任務(wù)交給了Codex,稍后審核結(jié)果以改進(jìn)代碼庫。

示例4:通話期間查找代碼庫中的錯誤
Calvin分享了Codex如何在值班期間幫助處理緊急任務(wù)。通過向Codex發(fā)送堆棧跟蹤信息,他可以快速獲得診斷或修復(fù)方法。它還有助于微調(diào)警報(bào)并處理日常操作工作,從而減少手動工作。
OpenAI Codex與o3 對比
提示:“請修復(fù)matplotlib/matplotlib代碼庫中的以下問題。請?jiān)诋?dāng)前代碼執(zhí)行會話中編輯和測試代碼文件,解決以下問題。代碼庫已克隆到/testbed文件夾中。你必須完全解決問題,那樣你的解決辦法才被視為正確。”
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生成的修復(fù)比o3生成的修復(fù)更準(zhǔn)確、更完整。它正確地移除了 mlab._spectral_helper中窗口歸一化使用的不必要的np.abs() 函數(shù),這會導(dǎo)致像flattop這樣的負(fù)值窗口出現(xiàn)錯誤的結(jié)果。Codex用正確的數(shù)學(xué)表達(dá)式替換了錯誤的邏輯,使用(window2).sum() 而不是(np.abs(window)2).sum(),這與SciPy實(shí)現(xiàn)中的最佳實(shí)踐相符。它還包含一個單元測試來驗(yàn)證該行為,使修復(fù)既可驗(yàn)證又可靠。相比之下,o3輸出似乎不完整,沒有明確解決核心問題,這使得Codex成為更出色的選擇。
OpenAI Codex的工作原理
- Codex編寫代碼:模型先生成代碼來解決給定任務(wù)。
- 運(yùn)行代碼:輸出不僅僅加以評估以驗(yàn)證合理性,還會實(shí)際執(zhí)行。
- 檢查測試結(jié)果:Codex會觀察生成的代碼是否通過了相關(guān)的測試。
- 只有成功完成任務(wù)后,Codex才會獲得獎勵:不像傳統(tǒng)的LLM專注于下一個單詞預(yù)測,只有代碼端到端運(yùn)行良好,Codex才能獲得高分。
- 通過反饋進(jìn)行學(xué)習(xí):如果代碼失敗,Codex會重試:創(chuàng)建復(fù)現(xiàn)腳本、修復(fù)代碼檢查錯誤,并調(diào)整格式,直到符合標(biāo)準(zhǔn)。
- 像初級開發(fā)人員一樣不斷改進(jìn)完善:這種訓(xùn)練方法教會Codex的行為不再像文本生成器,而更像遵循實(shí)際編程實(shí)踐的深思熟慮的工程師。

Codex-1在標(biāo)準(zhǔn)化基準(zhǔn)測試和OpenAI內(nèi)部工作流程中的表現(xiàn)均優(yōu)于之前的模型。如下所示,它在SWE-Bench Verified基準(zhǔn)測試中在所有次嘗試都獲得了更高的準(zhǔn)確率,并在 OpenAI 內(nèi)部軟件工程任務(wù)中保持領(lǐng)先。這凸顯了Codex-1在實(shí)際應(yīng)用中的可靠性,尤其對于將其集成到日常工作流程中的開發(fā)人員而言。

Cloud Workshop一窺
每次你按下Codex側(cè)邊欄中的“運(yùn)行”按鈕,系統(tǒng)都會創(chuàng)建一個微型虛擬機(jī)沙盒:其自己的文件系統(tǒng)、CPU、RAM和鎖定的網(wǎng)絡(luò)策略。你的代碼庫會被克隆,環(huán)境變量被注入,常用的開發(fā)者工具(代碼檢查程序、格式化程序、測試運(yùn)行器)也會被預(yù)先安裝。這種隔離帶來了兩個直接的好處:
- 安全性和可重復(fù)性——惡意腳本無法觸及你的筆記本電腦或泄露機(jī)密信息;整個運(yùn)行過程可以稍后重放。
- 大規(guī)模并行——需要修復(fù)拼寫錯誤、協(xié)調(diào)超時并查找神秘錯誤?可以啟動三個任務(wù),并排查看結(jié)果。
可選的AGENTS.md文件就像面向機(jī)器人的自述文件:你可以描述項(xiàng)目布局、測試運(yùn)行方式、首選的提交樣式,甚至在步驟之間打印輸出ASCII貓的請求。指令越豐富,Codex的運(yùn)行就越流暢。
結(jié)論
將來編程將類似于高級編排:用戶表明意圖,智能體負(fù)責(zé)處理細(xì)節(jié)。Codex代表了開發(fā)者與代碼交互方式方面的轉(zhuǎn)變,從手動編寫所有內(nèi)容轉(zhuǎn)變?yōu)?/span>編排處理高級任務(wù)。工程師現(xiàn)在更加專注于意圖和驗(yàn)證,而Codex負(fù)責(zé)具體執(zhí)行。對許多人來說,這標(biāo)志著全新開發(fā)工作流程的開始,即人和智能體協(xié)作將成為一種常態(tài),而非例外。
原文標(biāo)題:How to Access and Use OpenAI Codex?,作者:Nitika Sharma


































