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