從混元到智譜,六大國產大模型,編程“手藝”到底怎么樣?
上周,我們用六個國產AI大模型研究了財報。
本周,我們來測試一個更加酷炫且硬核的話題:AI寫代碼。
人們總是說,AI一出來,程序員都要失業(yè)了,這說法是真是假?
為了搞清楚這個問題,這次我們設計了一場“AI程序員能力挑戰(zhàn)賽”。
別擔心看不懂,我們會把所有測試都比喻成你最熟悉的生活任務。
這一次,我們盡可能選擇了擅長編程的參賽選手:
深度求索:DeepSeek-R1
騰訊:Hunyuan-TurboS
阿里:Qwen3-Coder
智譜:GLM-4.5
月之暗面:Kimi-K2
百度:ERNIE-X1-Turbo
老規(guī)矩,開啟深度思考,關閉聯(lián)網搜索。
這次的“AI程序員能力挑戰(zhàn)賽”,采用考駕照的方式。
我們將通過四個“科目”,從易到難,全方位考察參賽選手們的編程能力。
01
科目一:理論知識筆試(基礎知識問答)
在真正上路(編寫代碼)前,我們得先測試一下AI參賽選手們的基礎知識是否牢固。因此,我們選擇了一些編程行業(yè)的“常識題”。
測試題目1:“請用一個初中生能聽懂的比喻,解釋一下什么是‘面向對象編程’(OOP)?”
“面向對象編程”是程序員行業(yè)內的一個核心哲學。
專業(yè)化的表述“封裝、繼承、多態(tài)”,別說初中生了,不少大學生和研究生都得犯迷糊。
這道題考的不是AI“懂不懂”,而是會不會“教”。
測評結果:
各模型選擇了不同的生活場景,對面向對象編程中的經典概念進行講解:
其中,Qwen3-Coder和Kimi-K2的講解全面而生動,解釋質量、準確性和啟發(fā)性較高。
DeepSeek-R1、GLM-4.5和ERNIE-X1-Turbo對于關鍵的概念有所省略,但仍然能做到易于理解。
本輪評分:
測試題目2:“解釋一下‘遞歸’是什么,并說明使用它時需要注意什么?”
“遞歸”是編程領域中一種“自己調用自己”的奇特技巧,優(yōu)雅但危險。
用好了,程序的可讀性和性能都會得以提升;用不好,程序很容易陷入無限循環(huán),直到內存耗盡而崩潰。
測評結果:
各模型異曲同工地都選擇了俄羅斯套娃作為比喻之一。
同時,詳細地描述了使用遞歸時的限制條件。
所有模型都能對專業(yè)名詞進行正確解釋,且給出的比喻基本相同。
其中,Qwen3-Coder和GLM-4.5還提及了遞歸的應用場景,使回答更加充實;
而DeepSeek-R1、Hunyuan-TurboS和ERNIE-X1-Turbo在沒有提及其他概念的情況下,將遞歸與循環(huán)和迭代做了對比,也是亮點之一。
本輪評分:
測試題目3:“進程和線程有什么區(qū)別和聯(lián)系?舉個例子說明。”
這是程序員面試的基礎題目之一,涉及計算機如何同時處理多個任務的底層原理。
能講清楚這兩個概念,證明AI的計算機知識體系相當完備。
測評結果:
同樣地,各模型首先給出簡單的比喻,然后從多個方面對比二者的區(qū)別和聯(lián)系:
與上一題類似,各模型給出的比喻大致相同。
除Kimi-K2外,各模型均從多個角度對比了進程與線程之間的區(qū)別和聯(lián)系,內容充實。
其中GLM-4.5給出的答案篇幅較長,包含了簡單的比喻和專業(yè)的解釋,覆蓋用戶范圍更廣。
與之相反,Kimi-K2給出的回答卻十分簡短,雖然易于理解,但并未揭示二者的本質。
本輪評分:
科目一成績:
理論考試環(huán)節(jié),各模型都展現(xiàn)出了碾壓性的實力。
這些本身就是計算機領域頂尖水平的“考生”,知識儲備淵博,表達清晰,比喻也很精妙。
從評分來看,Qwen3-Coder和GLM-4.5,在理論方面略勝一籌。
如果光看筆試成績,這些AI恐怕已經可以勝任本科生的計算機“私人教師”。
不過,程序員的世界,終究還要靠代碼說話。
02
科目二:動手實踐課(入門級編程任務)
理論知識過完,就來到基礎操作環(huán)節(jié)。
這就像科目二中的“倒車入庫”等環(huán)節(jié),需要手眼協(xié)調,考驗基本功是否扎實。
測試題目1:“寫一個經典的‘FizzBuzz’問題:從1打印到100,如果是3的倍數(shù)就打印‘Fizz’,5的倍數(shù)就打印‘Buzz’,同時是3和5的倍數(shù)就打印‘FizzBuzz’,其他情況直接打印數(shù)字。”
從我們的角度看,這不過是一道小學生級別的數(shù)學題。
事實上,這類編程入門題能夠快速判斷AI的編程邏輯。
而我們作為“考官”,還要看看AI能不能給出我們一下子想不到的答案。
測評結果:
先說結論,AI生成的代碼均可正確運行,給出的答案共有兩種:
一是逆向邏輯:先判斷15的倍數(shù),再分別判斷3和5的倍數(shù);
二是字符串拼接:先判斷3的倍數(shù)后輸出字符串Fizz,再判斷5的倍數(shù)后直接拼接Buzz。
DeepSeek-R1、GLM-4.5、Kimi-K2和ERNIE-X1-Turbo都只給出了第一種答案。
Hunyuan-TurboS和Qwen3-Coder則成功給出了兩種答案,智能程度滿分。
本輪評分:
測試題目2:“寫一個函數(shù),用來判斷一個輸入的正整數(shù)是不是‘素數(shù)’(也叫質數(shù))。”
引入素數(shù)的概念,相比上一題稍難一些,人類可能難以一眼看出解法。
但細想一下,實際上核心思路很簡單:
判斷一個數(shù)是不是素數(shù),沒必要從2一直除到n-1。只需要除到它的“平方根”就行了。
這次,要考驗AI對數(shù)學概念的程序化轉換能力和淺層次的算法優(yōu)化意識。
測評結果:
所有模型都給出了正確的算法;
除Hunyuan-TurboS外,所有模型均給出了可運行的代碼;
除Hunyuan-TurboS和Kimi-K2外,其余模型均給出了時間復雜度。
值得關注的是,Hunyuan-TurboS和GLM-4.5均指出在數(shù)字較大時可以使用Miller-Rabin素性測試等更高效的算法。
而Qwen3-Coder不僅給出了正確的算法,還給出了適合批量判斷的埃拉托斯特尼篩選法,也給出了時間復雜度。
本輪評分:
測試題目3:“寫一個函數(shù),判斷一個字符串是不是‘回文’。”
這道題在一定程度上屬于“開放式”題目,實現(xiàn)辦法多種多樣,考驗AI處理字符串的能力。
由于解決方案較多,由人類來評判可能有失偏頗,我們請同行Gemini 2.5作為裁判進行評判。
測評結果:
“裁判”從方案廣度與深度、代碼質量與規(guī)范、解釋與教學性、獨特亮點和主要不足這五方面進行了客觀的評價:
DeepSeek-R1:
方案廣度與深度:高,提供了空間優(yōu)化
代碼質量與規(guī)范:高,代碼嚴謹
解釋與教學性:高,復雜度分析準確
獨特亮點:提供了最高效的空間解法
主要不足:方案種類較少
Hunyuan-TurboS:
方案廣度與深度:中,方案實用但缺少最優(yōu)解
代碼質量與規(guī)范:高,解法具備Python特色
解釋與教學性:極高,排版清晰,總結表格
獨特亮點:教學性和用戶體驗最佳
主要不足:缺乏空間復雜度的最優(yōu)解|
Qwen3-Coder:
方案廣度與深度:極高,四種方法,包含遞歸
代碼質量與規(guī)范:極高,組織良好,包含測試函數(shù)
解釋與教學性:高,對比清晰
獨特亮點:技術最全面,廣度與深度兼?zhèn)?/p>
主要不足:排版不夠生動
GLM-4.5:
方案廣度與深度:中,專注最優(yōu)解
代碼質量與規(guī)范:極高,包含使用類型提示
解釋與教學性:高,包含執(zhí)行流程示例
獨特亮點:對最優(yōu)解的解釋最形象
主要不足:方案單一,廣度不足
Kimi-K2:
方案廣度與深度:低,僅有一種方案
代碼質量與規(guī)范:高,使用了__name__(Python編程風格)
解釋與教學性:極高,語言最親切、口語化
獨特亮點:親和力第一,代碼結構規(guī)范
主要不足:技術深度最淺
ERNIE-X1-Turbo:
方案廣度與深度:中,專注于接口設計
代碼質量與規(guī)范:高,但有瑕疵
解釋與教學性:高,展示不同應用場景
獨特亮點:體現(xiàn)API設計思想,函數(shù)靈活可配置
主要不足:測試用例有邏輯錯誤
本輪評分:
科目二成績:
到了實踐環(huán)節(jié),“考生”們開始展現(xiàn)出區(qū)分度。
Qwen3-Coder在三道測試題中都給出了完美的回答,毫無疑問獲得滿分,排行第一;
DeepSeek-R1和GLM-4.5也給出了高分回答,保證答案正確的情況下各具特色;
Hunyuan-TurboS和ERNIE-X1-Turbo則都出現(xiàn)了細小的錯誤,令人遺憾。
科目二的測試題目難度大概和大一大二的普通計算機學生水平相當。
由此可見,AI完成計算機專業(yè)部分課程的期末考試已經不在話下。
03
科目三:生活應用題(解決實際問題)
由于科目一和科目二還局限于學術范圍,我們要再次升級難度。
科目三要測試的是AI能否解決我們生活和工作中的實際痛點。
這考驗的不僅是AI的編程技巧,還有對人類需求的理解和解決問題的能力。
測試題目1:“我桌面上有幾百個文件,有圖片、文檔和視頻,太亂了。你寫個程序幫我整理一下,把不同類型的文件放到各自的文件夾里。”
非常典型的“自動化辦公”需求。
每次看到一臺電腦的桌面上被堆滿應用圖標,強迫癥都難以呼吸。
因此,這道題目要求AI編寫一個與操作系統(tǒng)打交道的腳本。
需要完成文件的查找、分類、創(chuàng)建文件夾和移動文件等一系列操作。
測評結果:
所有模型都給出了可運行的代碼,并實現(xiàn)了文件分類的功能。
其中,GLM-4.5給出了令人驚喜的回答:
它生成的代碼提供了一個額外功能:模擬運行,即只顯示操作但并不實際移動文件。
這對于評測來說是不可多得的亮點之一。
表現(xiàn)相對較差的則是Kimi,僅給出了圖片、文檔和視頻三種分類方式。
本輪評分:
測試題目2:“我想知道現(xiàn)在外面空氣質量怎么樣,如果PM2.5指數(shù)很高,就提醒我戴口罩。幫我實現(xiàn)這個功能。”
難度進一步上升。
這道題的核心難點在于需求與“外部數(shù)據(jù)獲取”掛鉤,專業(yè)術語叫做“API調用”。
AI編寫的程序需要能夠訪問一個提供天氣或氣象相關數(shù)據(jù)的網站,并獲取PM2.5的數(shù)值。
而作為評判者,除了要關注數(shù)據(jù)的正確性,還要關注程序的自動化程度。
畢竟,很多網站的數(shù)據(jù)需要先注冊才能獲取,但“一鍵式”才是我們追求的目標。
測評結果:
對于這道難題,各模型給出的答案令人有些失望。
DeepSeek-R1沒能給出直接獲取數(shù)據(jù)的方法,給出的方案需要在tianqiapi.com注冊獲取密鑰,但提供的鏈接也無法直接訪問;同樣地,ERNIE-X1-Turbo給出的方案也需要在和風天氣注冊獲取密鑰,且程序只能發(fā)揮定時檢測作用而非查詢作用。
Hunyuan-TurboS提供了兩種方案,一種是使用OpenWeatherMap的API,同樣需要注冊并獲取密鑰;另一種是直接使用AQICN的公開數(shù)據(jù),實現(xiàn)了“一鍵式”獲取,雖然數(shù)據(jù)似乎有些不準確。
Qwen3-Coder生成的代碼功能較為齊全,能夠成功調用外部API實現(xiàn)“一鍵式”獲取,但可惜查詢存在錯誤,如輸入城市為北京,但輸出數(shù)據(jù)為上海,且程序運行一次后自動結束。
至于GLM-4.5和Kimi-K2提供的代碼則完全無法實現(xiàn)所需功能,也未給出可行方案。
本輪評分:
測試題目3:“幫我做一個簡易的密碼生成器。”
第三題的需求相對封閉,不涉及外部依賴,AI的表現(xiàn)肉眼可見的“好起來了”。
因此,我們需要關注AI生成代碼功能是否靈活、齊全。
測評結果:
所有模型都能編寫出可用的密碼生成器,但功能存在一定差別:
DeepSeek-R1非常貼心地在代碼中加入了“避免模糊字符”功能,解決了常見的大寫字母I和小寫字母l的辨認問題。
Hunyuan則另辟蹊徑,使用HTML形式編寫了可交互式的密碼生成器,且有密碼強度評分功能。
Qwen3-Coder在允許用戶自定義密碼生成規(guī)則的情況下,還允許用戶一次性生成多個密碼。
GLM-4.5、Kimi-K2生成的代碼只能在命令行中運行,操作比較麻煩;同時,Kimi-K2和ERNIE-X1-Turbo編寫的密碼生成器不允許用戶自定義密碼生成規(guī)則,靈活性較差。
本輪評分:
科目三成績:
這一次,輪到Hunyuan-TurboS領跑賽道,獨占榜首。
先前的測評中,我們已經知道,對模型來說獲取準確的外界信息是一項難度很大的任務。
因此,能夠跨越與外界聯(lián)系的“鴻溝”,獲取到氣象數(shù)據(jù),實屬不易。
DeepSeek-R1和Qwen3-Coder緊隨其后,在其他兩道測試題上的表現(xiàn)不錯,在封閉環(huán)境下發(fā)揮了可靠的能力。
其余三位考生則各有“短板”,發(fā)揮不佳,令人失望。
04
科目四:終極項目挑戰(zhàn)(高階綜合能力)
這是最終的壓力測試。
如果把前面的題目比作“零件”級別的任務,那科目四就像讓AI動手“組裝機器”。
下面的題目考驗AI的系統(tǒng)設計、代碼組織和綜合應用能力。
如果能順利通過科目四,證明AI已經是代碼領域內一名合格的“司機”。
測試題目1:“幫我寫一個網頁版的待辦事項列表(To-Do List)。”
入門級的前端項目。
它不只是一個后臺腳本,而是需要一個用戶能直接交互的“界面”。
這要求AI必須同時掌握三種“語言”:HTML、CSS和JavaScript。
測評結果:
所有模型都設計出了功能完備的待辦事項列表。
值得注意的是,在程序結構方面,只有Qwen3-Coder將HTML、CSS和JS分成了三個獨立的文件。而其他五個模型都選擇了將CSS和JavaScript直接嵌入HTML文件中的做法。
看起來,Qwen3-Coder的做法并不如其他模型的做法便捷,無法“開箱即用”;
但是,“分文件”的做法才是專業(yè)Web開發(fā)者的標準做法,具備較高的可維護性和可讀性。
這種方式有助于代碼復用、團隊協(xié)作和性能優(yōu)化,教授了一種專業(yè)、可持續(xù)的開發(fā)模式。
盡管對新手來說稍有門檻,不過Qwen3-Coder也備注了詳細的使用方法。
本輪評分:
測試題目2:“請編寫一個程序,充當一個簡單的網頁信息提取器。它的任務是訪問新浪財經的首頁,然后自動提取并打印出該網站首頁上‘要聞’區(qū)域的前5條新聞標題。”
AI應用的熱門領域之一——網絡爬蟲。
這道題類似于讓AI派出一個小機器人去自動瀏覽網頁,從海量信息中精確地抓取所需信息。
不過,難點并非數(shù)據(jù)的提取,而是復雜且多變的網頁結構該如何處理。
測評結果:
這道題也讓AI參賽選手們出現(xiàn)了明顯的“分化”。
很遺憾,DeepSeek-R1、GLM-4.5和ERNIE-X1-Turbo都無法獲取到指定內容。
相比之下,Hunyuan-TurboS和Kimi-K2的爬取能力明顯增強,能夠獲取到網頁信息,不過位置有錯誤。
只有Qwen3-Coder出色地完成了任務,爬取到了正確的新聞標題。
本輪評分:
測試題目3:“請用代碼模擬一個最簡單的圖書館借書系統(tǒng)。需要有‘書’和‘讀者’這兩個概念。”
最后一道測試題回歸到了純粹的“系統(tǒng)設計”,考察前面“面向對象”思想的實際應用。
事實上,這也是計算機專業(yè)學生幾乎必定經歷過的課程設計題目之一。
因此,我們將測評題目也設計為開放式,只告訴了AI最基本的需求。
除了完成系統(tǒng)的設計,我們還要著重觀察AI能否添加并完善系統(tǒng)的功能。
測評結果:
所有模型都給出了可運行的代碼,構建了復雜程度不同的圖書館系統(tǒng)。
對于借書、還書的邏輯,所有模型都能夠輕而易舉地正確復現(xiàn)。
但是,對于沒有直接提出的一些需求,則暴露出部分模型的短板。
DeepSeek-R1、Hunyuan-TurboS、Qwen3-Coder和GLM-4.5都很自覺地加入了查詢圖書館藏書清單和查詢用戶借閱清單的功能。
而Kimi-K2和ERNIE-X1-Turbo卻只實現(xiàn)了簡單的借書和還書邏輯。
另外,我們要求AI設計的是圖書館“系統(tǒng)”。
顧名思義,這個系統(tǒng)是要能夠與用戶進行交互的。
這里必須夸獎一波Qwen3-Coder,六個模型中唯一采用交互式而非測試用例的AI。
它生成的代碼提供了兩種運行模式,允許使用測試用例進行演示,也允許用戶上手操作:
同時,實現(xiàn)的功能也是所有AI中最為齊全的:
本輪評分:
科目四成績:
毫無疑問,在其他模型表現(xiàn)平庸的襯托下,Qwen3-Coder的編程能力一騎絕塵。
它不僅能夠正確理解人們的實際需求,還能夠根據(jù)概念來構建一個完善的微型系統(tǒng)。
設計清晰,邏輯嚴謹,功能強大,令人信服。
05
一點基本結論
這場駕照考試就到此為止。
通過各個科目的成績,可以看出,Qwen3-Coder輕松拿到了本次考試的榜首。
不論是在理論知識、基礎編程、生活應用還是項目挑戰(zhàn),它都能夠成為一個寫代碼的“好幫手”。
同時,在測評過程中,我們也注意到了一些其他的細節(jié):
生成代碼的長度和速度方面,Qwen3-Coder都體現(xiàn)出了明顯的優(yōu)勢。
在科目四的測試中,它生成的代碼比其他模型要長數(shù)十行,卻能夠比其他模型更快完成編寫。
反之,Kimi-K2的代碼風格極為簡潔,長度極短,因此也基本只能實現(xiàn)文字意義上的功能。
但總的來說,對于較為簡單的需求,現(xiàn)階段的AI水平已經足夠。
那么,回到我們先前討論的問題:AI能取代程序員了嗎?
答案是:目前還不能,但它已經在徹底改變“程序員”這個職業(yè)的定義。
與其說是取代程序員,不如說AI是在推動自己和程序員的“進化”。
不僅是程序員,對于有編程需要的學生和職場人來說,AI大模型已經成為必不可少的“外掛”。
以AI目前的能力,解決掉80%以上的重復枯燥的“體力活”(寫基礎代碼、查資料、寫注釋等)已經不在話下。
同時,它還能在幾分鐘內,搭建起一個項目的“毛坯房”,用戶無需在程序框架上絞盡腦汁,而是可以把精力投入到“室內精裝修”(核心業(yè)務邏輯、用戶體驗優(yōu)化、系統(tǒng)架構設計)。
更重要的是,它能極大地降低編程的入門門檻,那些有創(chuàng)意但不懂技術的人,已經不再需要把自己培養(yǎng)成程序員,就可以借助AI將想法變?yōu)楝F(xiàn)實。
說實話,在這次測評的過程中,看到AI在幾十秒內就生成了一個功能完整的程序時,作為一個幾年前畢業(yè)的計算機學生,我直接愣住了,甚至有點恍惚。
屏幕上自動滾動的代碼,結構清晰、注釋齊全,腦海里閃過的,不是AI生成的速度如此之快、質量如此之高,而是當年為一個類似的課程設計通宵達旦的場景。
以前,為了實現(xiàn)一個簡單的圖書館借閱系統(tǒng),我可能要一邊翻閱C++的“抽象圣經”,一邊因為一個數(shù)據(jù)庫的BUG在CSDN的帖子間反復橫跳;為了實現(xiàn)最簡單的一個UI界面,我可能要在使用文檔上花一個下午,因為找Bug找?guī)讉小時而懷疑人生。整個課程設計從開始到運行,幾周的時間并不算長。
而現(xiàn)在,AI完成這些的時間,只用了我喝一杯水的時間。
百感交集,有一種青春被“降維打擊”的失落感。以前熬夜攻克的“難題”,現(xiàn)在AI云淡風輕地一筆帶過。與此同時產生的,是一種難以言喻的惆悵和敬畏。
我們這一代程序員,已經是見證歷史的一代。我們曾用雙手砌墻,而未來的程序員將直接指揮機器人蓋起高樓大廈。
當然,這不是一個時代的落幕,而是一個新紀元的開啟。
程序員的價值,將不再是“砌墻”,而是設計大廈的“藍圖”,我們的目標,是思考它的結構、它的美感和它的價值。
當然,得帶著AI助手。
因此,沒有太多的焦慮,更多的是對未來AI時代的期待。
原文標題 : 從混元到智譜,六大國產大模型,編程“手藝”到底怎么樣?

請輸入評論內容...
請輸入評論/評論長度6~500個字