Video thumbnail for Codex 來了,2025年 coding 有啥不一樣!  手刻 code?

2025年程式開發大變革!Codex全新AI編碼工具實測:告別手刻程式碼?

Summary

Language:

Quick Abstract

軟件工程的未來已來臨!OpenAI推出Codeex,一個革新性的遠程軟件代理,預計將在2025年底徹底改變軟件開發。這個基於雲端的系統能平行處理多項任務,讓開發者能更有效率地工作。立即了解這項突破性技術如何提升你的開發流程。

Quick Takeaways:

  • Codeex是在OpenAI運算環境中運行的遠程代理,可同時處理多項任務。

  • Codeex由最新的Codeex One模型驅動,優化程式碼品質與風格。

  • Codeex能主動探索程式碼庫,提出改進建議,甚至自行修正錯誤。

  • 此系統已開放給ChatGPT企業版、團隊版與Pro用戶,未來將擴展至Plus與教育版用戶。

  • Codeex CLI 是本地代理,與雲端代理結合將提供更流暢的開發體驗。

  • Codeex 的目標是加速有用程式碼的開發,提升全球軟件工程的生產力。 了解Codeex如何如同協作夥伴、實習生、導師等多重角色,全方位協助你的開發工作,體驗前所未有的AI驅動程式設計。

軟體工程的未來展望

軟體工程正在不斷變化,到 2025 年底,它將呈現出截然不同的面貌。2021 年,我們推出了名為 Codeex 的首款模型,這是我們首次展示所謂的「Vibe 編碼」。幾週前,我們發布了 Codeex CLI,這是一個在您的筆記本電腦終端上運行的本地代理,您可以與其同步配對和交互。

新系統 Codeex 的發布

今天,我們向軟體工程的未來邁出了一步,發布了一個新系統——一個可以並行運行多項任務的遠程軟體代理,我們遵循 OpenAI 的命名傳統,將其命名為 Codeex。Codeex 的令人興奮之處在於它在 OpenAI 計算環境中運行您的存儲庫和環境,您可以運行許多副本,從而能夠並行執行多項任務,隨時啟動,稍後再回來處理,這也是我們今天要向您展示的內容。

面向不同用戶的推出計劃

我們從今天開始向 ChatGPT 的專業版、企業版和團隊用戶推出此功能,未來還將向 Plus 和 Edu 用戶推出。

強大的背後:Codeex One 模型

Codeex 由名為 Codeex One 的新模型提供支持,這是我們迄今為止最好的編碼模型。我們基於 03 模型進行優化,不僅針對基準測試,更針對人們真正想要合併到其代碼庫中的代碼類型,考慮到註釋、無關更改和風格等因素,以真正加速人們的工作。

Codeex 團隊成員介紹

為了向您展示這個我們非常興奮與您分享的系統,Codeex 團隊的許多成員在場。他們是:

  • Hansen:Codex 研究團隊成員之一。

  • Josh:Codex 團隊的工程師。

  • Tibo:負責構建代碼代理和基礎設施以支持它們。

Codeex 功能演示

連接存儲庫與任務選擇

通常您需要連接您的 GitHub 帳戶,演示者已經完成了這一步。在這裡,演示者選擇了一個開源存儲庫——preparedness 存儲庫,其中包含一些由優秀的 preparedness 團隊製作的前沿評估。演示者接收到三個適合在任何存儲庫上開始的任務: 1. Ask 任務:要求 Codeex 向新手解釋代碼庫的一般結構。 2. Code 任務:要求在存儲庫中找到並修復一個錯誤。 3. Proactive 任務:要求 Codeex 瀏覽代碼庫,不僅探索代碼庫,還主動提出可以自行執行的任務建議。

任務執行與結果

演示者同時啟動了這三個任務,三個 Codeex 代理在後台並行工作。此外,演示者還添加了一個任務,即盡可能多地查找並修復錯字和語法錯誤。之前,演示者還向 Codeex 代理提出了一個有趣的問題,即關於代碼庫的目標是可維護性和無錯誤,Codeex 代理瀏覽了代碼庫並提出了多項任務建議,例如修復可變默認參數、更正變量拼寫以及統一超時設置等。

Codeex 運行原理

基礎設施

Codeex 運行在 OpenAI 的計算基礎設施上,與我們用於強化學習的基礎設施相同,這意味著它在大規模訓練運行中已經過實戰檢驗,並且在訓練期間和生產後期的代理行為保持一致。每個任務都在自己的微虛擬機沙箱中運行,擁有自己的文件系統、CPU、內存和網絡策略,代理在其中擁有完全的自主權。

環境配置

每個任務都在一個環境中運行,這個環境基本上是一個存儲庫,但配置了環境變量、機密和設置腳本,以便您可以自定義運行時,充分釋放代理的能力。早期的 Alpha 測試者發現,安裝一個簡單的代碼檢查器或格式化程序就能獲得很大的收益,現在我們默認安裝了很多這樣的工具。對於 OpenAI 的內部環境,我們甚至設置了預提交鉤子,代理編碼時會提交代碼,查看提交鉤子的反饋,就像在真實的開發環境中一樣。

解決複雜問題的演示

用戶 bug 報告

演示者展示了 Codeex CLI 的一個用例,即解決用戶報告的一個 bug。當文件名包含特殊字符時,CLI 中的 diff 命令會顯示錯誤消息。

代理的處理過程

我們訓練的代理不僅能解決這些問題,還引入了代理的 MD 文件概念。代理首先會查看存儲庫中的代理 MD 文件,其中提供了存儲庫布局的一些說明,以及一些特殊指令,例如在終端打印一些內容。代理不僅會編寫代碼,還知道如何導航代碼庫並重現問題。它編寫了一個腳本來重現問題,並執行代碼以驗證問題是否可以重現。

訓練方法

我們使用端到端強化學習來訓練代理,以驗證它是否完成了從編寫代碼到運行測試的整個周期,並確保它能夠完成任務,滿足風格檢查和程序檢查等多項要求。在 Sweetbench 等評估中,這種方法取得了最優的性能。

最終結果

代理找到了問題並編寫了一個測試來驗證其工作,還運行了代碼檢查器以確保代碼符合風格要求。最終,代理準備提交文件並生成了一個拉取請求(PR)。

模型訓練與代碼審核

模型訓練的考量

我們在訓練模型時考慮了對齊性,以確保模型生成的代碼符合我們的期望。在代碼審核方面,我們關注代碼的質量和風格,以及解釋性和可驗證的輸出。

代碼審核演示

演示者展示了 Tibo 啟動的一個任務的結果。在右側,我們看到模型生成的實際代碼輸出,需要確保代碼有合理的更改,符合 PR 描述,並且沒有額外的更改。在左側,模型生成了對其操作的摘要,包括添加的導入、操作的原因以及引用的代碼。在測試部分,模型實際運行了代理 MD 文件中要求的測試,並報告了測試結果。

未通過測試的情況

演示者還展示了一個在 preparedness 存儲庫中完成的任務,模型生成的代碼最初看似通過,但從測試輸出中發現測試未通過,可能是環境中缺少依賴項。這表明在 AI 編寫代碼的世界中,可驗證性非常重要。

內部使用體驗與未來計劃

內部使用情況

許多 OpenAI 的同事都在使用 Codeex,並以不同的方式獲得了神奇的體驗。在產品發布前的準備階段,演示者通過 Codeex 完成了一些代碼更改和重構任務,有時是簡單的字符串更改,有時是更大的功能需求。當這些任務成功完成時,感覺非常神奇。

未來計劃

我們將繼續改進 Codeex,使其集成到更多系統中,例如問題跟蹤器,並發布 API 以自動集成到 CI 中。我們還將繼續開發 Codeex CLI,今天發布了一個迷你模型,並將推出使用 ChatGPT 登錄的功能,使其更容易上手。

兩種形式的結合

我們認為未來將是本地同步和遠程異步兩種系統的結合,就像一個可以在雲端運行自己的計算機,又能在您身邊提供幫助的遠程同事。Codeex 可以是一個您可以委派任務的實習生、一個導師、一個協同編程者,同時扮演多種角色。

總結

我們的目標是幫助加速有用的工作,增加世界上的軟體工程師數量,推動更多有用的編程工作,從而推動世界前進。我們非常期待看到您如何使用 Codeex。

Was this summary helpful?