OpenAI發(fā)布代碼Agent:開啟自動(dòng)化編程時(shí)代,超強(qiáng)智能體!
OpenAI在官網(wǎng)發(fā)布了一個(gè)全新基于云端的代碼Agent——Codex。
Codex可以為開發(fā)人員自動(dòng)執(zhí)行多種任務(wù),例如,編寫功能代碼、回答有關(guān)代碼庫的問題、修復(fù)錯(cuò)誤以及提出拉取請(qǐng)求審查等;每個(gè)任務(wù)都在自己的云端沙盒環(huán)境中運(yùn)行,同時(shí)能預(yù)加載用戶的代碼庫。
據(jù)悉,Codex由Codex-1模型提供支持,這是OpenAI-o3的一個(gè)微調(diào)版本,專門針對(duì)軟件工程進(jìn)行了優(yōu)化。通過強(qiáng)化學(xué)習(xí)在多種環(huán)境中對(duì)真實(shí)世界的編碼任務(wù)進(jìn)行訓(xùn)練,生成的代碼能夠貼合程序員的代碼風(fēng)格和拉取請(qǐng)求偏好,并嚴(yán)格遵循指令。
Codex工作原理
目前,OpenAI已經(jīng)向ChatGPTPro、Enterprise和Team用戶開放了Codex功能??梢酝ㄟ^ChatGPT的側(cè)邊欄訪問Codex,并通過輸入提示詞并點(diǎn)擊“Code”來為其分配新的編碼任務(wù)。如果你想向Codex詢問有關(guān)代碼庫的問題,點(diǎn)擊“Ask”即可。
每個(gè)任務(wù)都在一個(gè)獨(dú)立的隔離環(huán)境中獨(dú)立處理,并預(yù)加載了用戶的代碼庫。Codex可以讀取和編輯文件,以及運(yùn)行包括測(cè)試框架、代碼檢查工具和類型檢查器在內(nèi)的命令。
通常完成任務(wù)需要1—30分鐘,具體取決于任務(wù)的復(fù)雜性,并可以實(shí)時(shí)監(jiān)控Codex的工作進(jìn)度。
一旦Codex完成任務(wù),會(huì)在其環(huán)境中提交更改。Codex通過引用終端日志和測(cè)試輸出來提供其操作的可驗(yàn)證證據(jù),從而讓用戶能夠追溯任務(wù)完成過程中的每一步。
然后,可以讓用戶審查結(jié)果,請(qǐng)求進(jìn)一步修訂,打開GitHub拉取請(qǐng)求,或?qū)⒏闹苯蛹傻奖镜亻_發(fā)環(huán)境中。
用戶也可以在代碼庫中放置AGENTS.md文件來指導(dǎo)Codex。這是一種類似于README.md的文本文件,可以告訴Codex如何導(dǎo)航你的代碼庫、運(yùn)行哪些命令進(jìn)行測(cè)試,以及如何最好地遵循你的項(xiàng)目的標(biāo)準(zhǔn)實(shí)踐等。就像和人類程序員交談一樣,告訴他你想執(zhí)行的一切就行。
根據(jù)OpenAI公布的測(cè)試數(shù)據(jù)顯示,在沒有AGENTS.md文件或自定義腳手架的情況下,codex-1在編碼評(píng)估和內(nèi)部基準(zhǔn)測(cè)試中表現(xiàn)出色,其能力已經(jīng)超過了OpenAI最強(qiáng)模型之一o3-high。
符合人類偏好
在訓(xùn)練codex-1時(shí),OpenAI的主要目標(biāo)是使其輸出盡可能符合人類編碼偏好和標(biāo)準(zhǔn)。與OpenAIo3相比,Codex-1始終能夠生成更干凈的補(bǔ)丁,這些補(bǔ)丁可以立即進(jìn)行人類審查并集成到標(biāo)準(zhǔn)工作流程中。
隨著AI驅(qū)動(dòng)的軟件工程的惡意應(yīng)用變得越來越關(guān)鍵,同時(shí)確保保護(hù)措施不會(huì)不必要地阻礙涉及惡意軟件開發(fā)技術(shù)的合法和有益應(yīng)用也很重要。
為了平衡安全性和實(shí)用性,Codex被訓(xùn)練成能夠識(shí)別并明確拒絕旨在開發(fā)惡意軟件的請(qǐng)求,同時(shí)清晰地區(qū)分并支持合法任務(wù)。OpenAI還增強(qiáng)了政策框架并納入了嚴(yán)格的安全評(píng)估,以有效加強(qiáng)這些邊界。
Codex完全在云端的安全隔離容器中運(yùn)行。在任務(wù)執(zhí)行過程中,互聯(lián)網(wǎng)訪問被禁用,將智能體的交互限制為僅限于通過GitHub代碼庫明確提供的代碼和用戶通過設(shè)置腳本配置的預(yù)安裝依賴項(xiàng)。智能體無法訪問外部網(wǎng)站、API或其他服務(wù)。
Codex應(yīng)用案例
目前,Codex已經(jīng)成為OpenAI內(nèi)部開發(fā)的高效率開發(fā)助手。OpenAI工程師最常使用Codex來執(zhí)行重復(fù)、繁瑣、范圍明確的任務(wù),例如,重構(gòu)、重命名和編寫測(cè)試等。也適用于搭建新功能、連接組件、修復(fù)錯(cuò)誤和起草文檔。
OpenAI正在圍繞Codex建立新的開發(fā)習(xí)慣:處理日常編碼問題、在一天開始時(shí)規(guī)劃任務(wù)以及監(jiān)控最新的開發(fā)任務(wù)等。通過減少上下文切換和提醒被遺忘的待辦事項(xiàng),Codex能幫助工程師更快地交付產(chǎn)品,并專注于最重要的事情。
此外,OpenAI還與一些知名企業(yè)進(jìn)行合作,對(duì)Codex進(jìn)行了實(shí)際開發(fā)場(chǎng)景化測(cè)試。
Temporal正使用Codex加速功能開發(fā)、調(diào)試問題、編寫和執(zhí)行測(cè)試以及重構(gòu)大型代碼庫。還可以通過在后臺(tái)運(yùn)行復(fù)雜任務(wù)來幫助他們保持專注——讓工程師保持流暢的工作狀態(tài),同時(shí)加快迭代速度。
Superhuman使用 Codex 加速小但重復(fù)的編程任務(wù),例如,提高測(cè)試覆蓋率和修復(fù)集成失敗。還可以通過讓產(chǎn)品經(jīng)理在不使用工程師的情況下貢獻(xiàn)輕量級(jí)代碼更改,來幫助他們更快地交付產(chǎn)品。
Kodiak正在使用 Codex 幫助編寫調(diào)試工具、提高測(cè)試覆蓋率和重構(gòu)代碼——加速其 Kodiak Driver自動(dòng)駕駛技術(shù)的開發(fā)。Codex還成為了一個(gè)有價(jià)值的參考工具,通過提供相關(guān)上下文和過去的更改,幫助工程師理解不熟悉的代碼堆棧。
更新開源Codex CLI
OpenAI還對(duì)其開源的輕量級(jí)、終端代碼智能體Codex CLI進(jìn)行了更新,發(fā)布了Codex-1 的較小版本。
這是一個(gè)專門為 Codex CLI設(shè)計(jì)的 o4-mini 版本。這個(gè)新模型支持 CLI 中的快速工作流程,并針對(duì)低延遲代碼問答和編輯進(jìn)行了優(yōu)化,同時(shí)保留了相同的指令遵循和風(fēng)格優(yōu)勢(shì)。
現(xiàn)在作為 Codex CLI 中的默認(rèn)模型提供,并在API中作為codex-mini-latest 提供。底層快照將隨著不斷改進(jìn) Codex-mini 模型而定期更新。
還能將開發(fā)人員賬戶連接到 Codex CLI 變得更加容易。用戶無需手動(dòng)生成和配置 API token,現(xiàn)在可以使用你的 ChatGPT 賬戶登錄,并選擇你想要使用的 API 組織。OpenAI將為你自動(dòng)生成和配置 API 密鑰。