國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼

机器之心發表於2024-04-03
你肯定聽過一句話:學計算機要從娃娃抓起。

在過去的很多年,學習程式設計都曾經是一件時髦的事,但隨著生成式 AI 技術的發展,科技圈對此的態度似乎有些轉向。

英偉達 CEO 黃仁勳就表示:「未來程式設計交給 AI 就行了,以後人人都是軟體工程師。」不久之後,全球首個 AI 軟體工程師 Devin 給開發者們帶來了億點點震撼,真正引發了人們對程式設計師這個職業未來前景的熱議。難不成,碼農的飯碗真要被 AI 端走了?其實不然,現在 AI 還只是程式設計師的工作助手。

實際上,國內有一位 AI 程式設計師,已經在某網際網路大廠上崗一段時間了。

它就是阿里雲數萬名工程師最近頻繁打交道的新同事 ——「通義靈碼」,專屬工號「AI001」。

圖片

通義靈碼在正式入職之前,先是在阿里雲內部和外部「實習」了幾個月。大家的評價都很不錯,真實好評率超 80%。

在傳統的開發模式下,程式設計師每天需要耗費大量精力編寫重複性程式碼、除錯最佳化、編寫程式碼註釋,大幅擠壓了核心業務程式碼編寫的時間。但自從通義靈碼入職,它在阿里雲內部各個開發環節擔任起了「程式碼助理」角色,包括在寫程式碼、讀程式碼、查 BUG、最佳化程式碼的全流程中輔助工程師們。

而且,通義靈碼的工作節奏比 996 還要極致:7x24 小時隨叫隨到……

幾個月實習期結束後,通義靈碼攢下了不少「工作成果」。以 API 開發測試工作為例,通義靈碼可將數分鐘甚至十幾分鐘的人工編寫測試耗時縮短到秒級,節省了人類程式設計師 70% 以上的測試程式碼工作量。

阿里雲今天也再次宣佈,通義靈碼在通義千問 APP 上線, 免費向全民開放,所有人可以隨時隨地在手機上寫程式碼、讀程式碼、學習程式設計技能。

圖片

AI 程式設計師技能拉滿,主打一個全能輔助

如果通義靈碼有簡歷,那一定是滿滿的閃光點。

圖片

先說「背景」,通義靈碼由阿里雲和通義實驗室聯合開發,目前下載量超過 200 萬,每天都有數百萬行程式碼被人類程式設計師採納。

圖片

再說「專業」,通義靈碼具有紮實的程式設計基礎,深入學習過萬億量級的程式碼資料,目前能夠熟練使用 200 多種程式語言,精通其中 16 種語言,包括 Java、Python、Go、JavaScript、TypeScript、C/C++、C# 等主流語言。

在去年雲棲大會初次釋出時,通義靈碼的很多技能點就讓人印象深刻,比如行級 / 函式級實時續寫、自然語言生成程式碼、單元測試生成、程式碼最佳化、註釋生成、程式碼解釋等功能。

給它一段專案程式碼,讓它根據上下文續寫程式碼:

圖片

連單元測試也可以迅速寫出來:

圖片

如果你對寫程式碼註釋這件事感到疲憊,可以讓它代勞:

圖片

同時,通義靈碼還具備研發智慧問答、異常報錯排查等能力,減少了原本排查工作的繁雜程度:

圖片

此次,正式入職阿里雲的通義靈碼新增了「程式碼最佳化」功能,升級後的問答模型也更加準確,同時增強了跨檔案補全、函式補全等能力,說句「脫胎換骨」不為過。

得益於通義靈碼的助力,無論是前端、後端還是運維等多個技術崗位的員工的工作效率都大大提升,尤其是在編碼單元測試、構建指令碼生成和理解、跨語言程式碼轉換等任務上。

通義靈碼還有一點優勢在於支援企業級程式碼庫專項訓練,能夠更好理解企業的程式碼和文件資料,並支援國產化適配。未來,阿里雲還將在內部 JetBrains IDEs、Visual Studio Code 等開發工具中全面配置通義靈碼外掛,供所有員工使用。

Talk is cheap,Show me the code

說了這麼多,通義靈碼究竟能不能媲美人類程式設計師?還是要看實戰效果。

在開發階段,先看看新增的「程式碼最佳化」能力:國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼還有行 / 函式程式碼的實時續寫: 國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼在「測試」環節,通義靈碼在生成測試框架、測試用例都非常高效,人類程式設計師需要幾分鐘甚至十幾分鐘的工作,對於它而言只是幾秒鐘的事。國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼 測試框架生成 國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼
生成測試用例
此外,通義靈碼編寫運維指令碼的效率也遠遠高於人類,還可隨時協助查詢運維問題的解決方案:國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼過程中,開發者有任何問題都可以提問,比如「我想用資料庫來儲存照片,怎麼做」: 國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼又比如「如何透過 Spring-Boot 編寫一個照片上傳下載的 Web 程式」: 國內首個AI程式設計師入職阿里雲:專屬工號AI001,KPI是一人寫完公司20%程式碼
用一個流行詞彙來形容,通義靈碼是個「全能型員工」。無論是開發、測試還是運維場景,都能展現出很強的實力。

AI 越來越強,搶走飯碗 or 利好碼農?

當然我們也好奇,為什麼通義靈碼的水平這麼高?

阿里雲內部的小夥伴給我們透露了幾點:本質上,通義靈碼能從一個程式設計助手變成一個全能助理,離不開通義大模型的深厚實力。

首先是「基於上下文感知的自適應生成粒度決策」。通義靈碼具備根據語言型別和上下文場景生成正確的程式碼內容(詞級 / 行級 / 塊級 / 函式級 / 類級等)的能力,既能為開發者生成長程式碼、提高編碼效率,又能適時生成短程式碼、減少打擾。

其次是「基於庫內跨檔案自動感知的程式碼生成」。為了解決幻覺問題,通義靈碼透過先進的端側實時程式碼語義分析技術,實時分析當前正在編寫的程式碼,並基於程式碼語義分析、程式碼引用鏈路跟蹤、動態語言型別推導、相似程式碼分析等先進的技術方法獲取所需的相關程式碼引用、相似的程式碼片段等語義資訊,彌補單純關注當前程式碼檔案所需的不足。

與此同時,通義靈碼能夠「基於檢索增強進行程式碼生成及問答」。具體來說,它透過檢索增強技術實時獲取檢索引擎中的私域知識,讓智慧編碼助手根據企業知識生成程式碼或回答問題,企業可以即時更新及生效私域知識,使其始終基於最新的私域知識生成或回答問題。

讓我們感慨的是,從微軟此前推出的程式設計助手 Copilot 到 AI 程式設計師 Devin,AI 給程式設計師們帶來了一波又一波衝擊。這種革命性的進展,只花了兩年多的時間。

而通義靈碼在阿里雲正式上崗,標誌著程式設計率先成為大模型技術落地的領域之一。程式語言的邊界從此被打破,Java 程式設計師也能輕鬆完成 Python、C 等不同程式語言的程式碼編寫。問題是,會不會有更多的程式設計師被 AI 端走飯碗?

或許不用太悲觀:正如汽車的出現讓一部分馬車伕沒有了工作,但卻產生了司機這個新的職業。人類程式設計師和 AI 程式設計師的關係,應該是相互促進、共同學習。正如軟體開發方法學的泰山北斗 Kent Beck 所說,有了 AI 工具未來我們 10% 的技能會被 1000 倍的提升。

就比如接下來,迅速融入團隊的通義靈碼會承擔起更艱鉅的任務,對阿里雲的工程師來說絕對是好訊息:

「公司未來 20% 的程式碼將由通義靈碼編寫,但程式設計師仍然是研發的核心,他們將有更多時間專注於系統設計以及核心業務開發工作。」

對於普通人來說,未來也無需下載專業軟體,使用通義千問就能寫程式碼和學程式碼。針對沒有程式碼基礎的學生,通義千問可以提供學習建議,例如它可以從理論和實操層面幫助使用者制定一套完整學習 Python 的計劃。

對於 AI 程式設計師,你有哪些想法?

相關文章