真·AI程式設計師來了,阿里雲「通義靈碼」全面進化,全流程開發僅用幾分鐘

机器之心發表於2024-09-20

5 分鐘就能完成真人程式設計師一天的工作量。

太輕鬆了。

在 AI 程式設計師的幫助下,一個幾乎沒有專業程式設計經驗的初中生,在人頭攢動的展臺上從零開始,兩分鐘就做出了一個倒數計時網頁。

圖片

他需要做的,只是輸入包含幾句話的提示詞。數秒鐘後,大模型就生成了程式碼,還列出了環境需求,複製完程式碼就可以使用了。

圖片

這不是程式設計師父親帶自家小孩做的網紅專案,而是人人都可以嘗試的事。在大模型的幫助下,程式碼正在成為低門檻的設計工具。

昨天,阿里雲完成了「可能是歷史上最大規模的模型開源釋出」,開源了通義千問 Qwen2.5 系列模型,又在雲棲大會的年度重磅釋出中實現了阿里雲通義大模型「全尺寸、全模態、多場景」的升級。

與此同時,阿里雲「通義靈碼」也完成了進化,給人們期待已久的 AI 程式設計師打了個樣。

通義靈碼的「AI 程式設計師」已經正式和大家見面。相比於以往 IDE 上的「AI 程式設計助手」,「AI 程式設計師」不需要你去啟動 IDE 軟體,直接在 web 端就可以完成需求分析、開發、測試等一系列工作,全面接手了複雜的開發任務。

AI 程式設計師,表現超出預料

還不到一歲的通義靈碼,在通義大模型的加持下,現在能夠自主執行任務拆解、程式碼編寫、缺陷修復、測試等開發全過程任務,而且生成的速度最快可達分鐘級,開發效率一下提升了數十倍。

阿里雲的定義中,「AI 程式設計師」是能獨立自主完成研發任務的 AI 智慧體,可承接人類指派的軟體研發生命週期中的各類任務。它目前預置了三個使用場景:缺陷修復、需求 0-1 實現、研發問答

我們可以合理地認為,這是三個針對不同任務配置了不同系統提示詞(system prompt)的通義大模型,因此,你也可以在自由形式的「研發問答」中透過合理構建提示詞來配置最適合自己的場景。

圖片

在雲棲大會現場,阿里雲演示了通義靈碼 AI 程式設計師自主進行缺陷分析、制定修復計劃等功能。開發者全程只需一鍵確認,即可快速完成缺陷修復程式碼和程式碼提交的全過程;針對從 0 到 1 的開發任務,使用者也只需輸入自然語言描述需求,即可自動完成理解需求、拆解開發任務、編碼、測試和修復等全鏈路開發過程。

大會的展臺上,一位 13 歲的中學生在通義靈碼上輸入了幾句話,AI 程式設計師在兩分鐘內就生成了一個 Python 語言編寫的倒數計時網頁。

機器之心的體驗來看,如果從研發問答到需求實現再到缺陷修復全流程地完成一個小應用的開發,用時不到 10 分鐘。而阿里雲表示,如果使用 AI 程式設計師來開發網頁,只需 5 分鐘就能完成從需求到程式設計到測試的結果的全過程;相對的,如果讓人類程式設計師來做同樣的事情,則通常需要一整天時間。

目前,AI 程式設計師支援整合兩個平臺:阿里雲一站式 DevOps 平臺雲效以及大家熟悉的程式碼託管平臺 GitHub。我們可以讓 AI 程式設計師直接克隆程式碼庫或讀取 issue,也能將 AI 程式設計師生成或修改過的程式碼直接提交到我們的專案程式碼庫。

圖片

案例:升級魂鬥羅遊戲

首先我們來看一個使用場景,缺陷修復。大會現場,有參與者體驗了一個非常有趣的案例:使用 AI 程式設計師修改經典街機遊戲《魂鬥羅》的程式碼,解決了手殘黨難以通關遊戲的難題。

簡單來說這個過程分為兩步。

第一步,明確需求。手殘黨玩《魂鬥羅》遊戲最大的問題是難以避免傷害,而在該遊戲中,角色只要一受到傷害就會死亡。

圖片

那麼,我們的需求就是讓遊戲角色在面對傷害時能更加堅挺。為此,我們可以採用的做法是修改《魂鬥羅》的傷害判定機制:從受傷即死改為傷害數值判定;同時提高角色的血量。另外,為了更好地幫助玩家判斷,也自然需要增加血量顯示。同時,為了讓玩家能輕鬆地制霸戰場,這裡也對角色的跳躍高度進行了調整。

第二步,就是讓 AI 程式設計師完成這些需求。可以看到,接入雲效平臺之後,只需一個定義了需求的連結,AI 程式設計師就可以立馬開始工作,拉取程式碼庫之後,AI 對需求內容進行了分析。使用者開發者檢查無誤之後,點選「確認」。之後,AI 程式設計師生成相應程式碼檔案。

一路「確認」下去,AI 程式設計師最終完成了整個專案,並且 AI 程式設計師的執行效率非常高,速度非常快,幾分鐘內就完成了對 9 個程式碼檔案 2000 多行程式碼的分析和修改。真·AI程式設計師來了,阿里雲「通義靈碼」全面進化,全流程開發僅用幾分鐘

這樣一來,遊戲就修改成功了,下面來試玩一下。

圖片

可以看到,現在的遊戲角色在撞到人類士兵時不會再立即死亡了,但撞到坦克單位還是會死亡;同時,也能看到跳躍高度變高了,生命值也提升了。《魂鬥羅》遊戲手殘黨的核心難題被 AI 程式設計師成功解決。

實現需求、邊聊邊研發

在需求實現場景中,目前 AI 程式設計師預置了 3 種服務:用於快速搭建微服務的 SpringBoot、輕量級 Python 框架 Flask、用於構建使用者解碼的高效且靈活的 JavaScript 庫(沒錯,就是最受程式設計師歡迎的 Java、Python 和 JavaScript)。

當然,使用者也可以新增自己的已有程式碼庫,在自己的框架上進行開發工作,這樣就可以支援所有常用的程式語言。

首先我們來考驗一下 AI 程式設計師的基本功:生成一個 Python 程式,可以翻轉使用者輸入的字串的順序。

圖片

可以看到,AI 程式設計師毫無壓力地完成了這個任務,輸出的程式碼實測有效。

接下來上一點難度:基於輕量級 Python 框架 Flask 開發一個猜數字小遊戲;遊戲規則是「系統隨機生成一個 1 到 100 之間的數字(包括 1 和 100),玩家有 10 次機會猜測該數字。」

要開發這樣一個遊戲,不管是人類開發者還是 AI 程式設計師,首先必須熟悉 Python 和 Flask 框架,同時還需要理解我們使用自然語言表達的開發需求,並將其準確地轉譯成程式碼。

下面來看 AI 程式設計師將如何完成這一開發任務。

為此,首先我們定義一個目標:開發一個猜數字小遊戲。

目標很簡單,但要讓 AI 程式設計師準確理解我們的需求,我們需要給出詳細的描述。但我們很懶,這件事就放在 AI 程式設計師的研發問答場景中解決吧。

圖片

AI 程式設計師生成的完整需求較長,此處並未完整展示。

當然,你也可以與 AI 程式設計師進行討論,逐步調整具體需求的細節,比如我們可讓 AI 程式設計師細化前端需求,以便後續生成更符合我們審美的遊戲介面。

圖片

接下來,就讓 AI 程式設計師幫助我們實現這個小遊戲吧。以下動圖展示了機器之心測試員與 AI 程式設計師的完整互動過程。

圖片

可以看到,AI 程式設計師一開始生成了基本上完整可用的程式碼,但略有瑕疵。經過測試員簡單反饋了報錯資訊後,AI 程式設計師很快便執行了修正。我們也得到了功能完備的 Python 小遊戲:

圖片

另外,我們在需求實現場景中還可以拉取已有的程式碼庫來進行迭代升級,比如這裡我們拉取了最近比較熱門的一個開源專案 g1—— 據稱可極大提升 LLM 的推理能力。

圖片

我們讓 AI 程式設計師簡單地分析了這個專案並提出了改進意見。點選「確定」,AI 程式設計師就能替我們完成程式碼改進。

圖片

機器之心的試用過程中,AI 程式設計師基本可以正確理解測試員用並不嚴謹的自然語言表達的開發需求或修改意見,並且能夠基於自己的理解準確地完成開發或修復任務。同時,由於 AI 程式設計師可整合阿里雲 DevOps 平臺雲效及 GitHub,因此我們可以很方便地更新我們的專案程式碼庫,推進開發進度。

總結下來,我們發現通義靈碼的 AI 程式設計師和以前的 AI 編碼助手有著明顯不同的定位:

  • AI 編碼助手的核心場景是輔助開發者完成程式碼智慧生成和研發智慧問答,幫助程式設計師寫程式碼、補程式碼、寫註釋、寫單測、寫程式碼最佳化和排查問題,其是在 IDE 工具中作為 Copilot 提供輔助。

  • AI 程式設計師的自主程度更高,可以實現自動缺陷修復和自動需求實現,還能與開發者進行開放式的問答。因此,比起作為 Copilot 的 AI 編碼助手,AI 程式設計師更像是一個可以在使用者指揮下自主工作的開發者。使用者本身只需要檢查 AI 程式設計師的生成結果並點選「確認」或提出修改意見即可,並且這一切都可以僅透過自然語言實現

另外不得不提的是,通義靈碼 AI 程式設計師無需任何 IDE 工具,web 端就支援全部功能。沒錯,也就是說,你可以在任何可使用瀏覽器的裝置上進行專案開發!

圖片

在手機瀏覽器上也能流暢地使用 AI 程式設計師。

背靠通義大模型,能力全面升級

大模型爆發以來,能「自動寫程式碼」的 AI 輔助程式設計便不斷成為人們的話題。最近一段時間裡,AI 程式設計師正逐漸走向實用化。其中,通義靈碼又是最吸引關注的工具之一。

今年 4 月,阿里雲就放出訊息稱,公司正在內部全面推行 AI 程式設計,使用通義靈碼輔助程式設計師寫程式碼、讀程式碼、查 BUG、最佳化程式碼等。通義靈碼還被專門分配了一個工號——AI001,順利「入職」了阿里雲

圖片

過去一年中,通義靈碼憑藉強大的輔助程式設計能力收穫了不少使用者:其 IDE 外掛下載量超 500 萬,並已入職中華財險、哈囉集團、長安汽車等公司,累計生成程式碼超 10 億行,每日輔助開發者生成程式碼超 3000 萬次,客戶行業包括金融、製造、網際網路、交通、汽車、能源等,是國內最受歡迎的輔助程式設計工具。

具體能力上,通義靈碼 AI 編碼助手立足通義大模型,採用了阿里雲首創的程式碼倉庫知識圖結構,支援 64K 上下文,具備跨檔案感知、檢索增強式生成(RAG)和自適應生成能力,研發問答準確率超過 90%。據統計,通義靈碼為已有使用者貢獻的程式碼比例已經接近 30%。

與此同時,隨著通義大模型在語義理解、程式碼生成、開發工作流等方面全面進化,通義靈碼的能力也在全面提升。較之通義靈碼 AI 編碼助手,最新升級的 AI 程式設計師同時具備了架構師、開發工程師、測試工程師等多種崗位技能。

這樣的應用體驗,離不開基礎大模型能力的提升。在阿里雲昨天上午釋出的通義千問 Qwen 2.5 系列模型中,就包括一個針對程式設計任務微調的模型 Qwen2.5-Coder(目前有 1.5B 和 7B 版,即將推出 32B 版),其在多項評估基準上都取得了卓越表現。

圖片

通義靈碼 AI 程式設計師正是基於通義大模型構建的多智慧體應用,並且由於其引數量(千億級)必定遠高於開源版通義大模型,因此其表現也必定要優秀得多。

再往底層看,阿里雲還有堅實的基礎設施。進入 AI 時代之後,雲端計算正在向 MaaS(模型即服務)演進。阿里雲正在全面投入 AI 大基建的升級過程,已構建了全棧的技術儲備。其中包括圍繞 AI 應用自研開發的磐久伺服器系列,其具備由多種晶片支援的異構算力,可支援 AI 不同側面的計算需求。

周靖人表示,透過技術的最佳化,模型快速迭代、推理架構和系統的最佳化,阿里雲希望能把計算的紅利帶給更多人。不過,今天大模型的應用與創新還處於早期階段。

結語

正如阿里 CEO 吳泳銘在雲棲大會上說的:隨著技術的進步,未來統一通用的語言或許會是 Token,新的產業革命就在眼前。

AI 程式設計師的加入,正在顛覆科技公司的工作方式。它不僅能顯著縮短工程師們的日常開發時間,提高效率,最佳化工程資源的分配,使人們能夠專注於更具戰略性的創新任務。

對於那些鮮少接觸程式設計的普通人來說,AI 程式設計師也將很快使複雜的開發流程變得觸手可及。無需深入的程式設計知識或繁瑣的環境配置,只需依靠 AI 的力量,人們便能輕鬆完成從規劃、開發到部署和最佳化的全流程操作,一站式構建新應用,實現以前無法想象的創新。

展望未來,我們或許可以見證黃仁勳的預言,技術正在進入正反饋的迴圈,用 AI 自動寫 AI 的方式,我們將會以「摩爾定律平方」的速度前進。

以 AI 程式設計師為起點,技術發展的速度只會愈加驚人。我們正站在一個前所未有的拐點上,科技的進步不再僅僅依賴於人類的智慧,而是透過 AI 的賦能,實現新的技術進化與革新。

相關文章