大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

出品 | CSDN(ID:CSDNnews)

AI 大模型正在深入千行百業(yè),在 CSDN 舉辦的 2023 年 1024 程序員節(jié)上,CSDN 創(chuàng)始人蔣濤分享中提到,大模型將掀起一場(chǎng)生態(tài)革命,帶來生產(chǎn)力的極大提升,重構(gòu)所有軟件和應(yīng)用,數(shù)字經(jīng)濟(jì)將發(fā)生徹底改變。這是開發(fā)者的黃金時(shí)刻,也是全世界程序員的一次機(jī)會(huì),大模型將技術(shù)的潛力推向了全新的高度,重新定義了開發(fā)者的角色以及數(shù)字經(jīng)濟(jì)的前景。其中,與程序員關(guān)系最緊密的,是AI大模型對(duì)開發(fā)范式的影響和改變,未來可能每一位程序員都要與AI一同完成開發(fā)任務(wù)。

最近,騰訊混元大模型(以下簡(jiǎn)稱騰訊混元)發(fā)布了新版本升級(jí),這次升級(jí)重點(diǎn)加強(qiáng)了文生圖和代碼生成兩個(gè)方面的能力。本文就將以騰訊混元大模型為例,分享 AI 大模型在代碼生成能力上的最新表現(xiàn),分析其背后的技術(shù)探索,并展望未來的應(yīng)用前景,希望為開發(fā)者提供參考與研發(fā)工作新思路。

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

語義理解,實(shí)現(xiàn)細(xì)節(jié)描述需求

相比此前版本,新版騰訊混元在代碼生成任務(wù)上的最大進(jìn)步,就是提升語義理解能力,根據(jù)更加細(xì)致的需求描述,生成出語義更加準(zhǔn)確的代碼。為了評(píng)測(cè)語義理解,我們給騰訊混元下達(dá)一些包含細(xì)節(jié)編程任務(wù)的描述,測(cè)試它返回的代碼效果。

測(cè)試編程如下:

“請(qǐng)用Python語言編寫一個(gè)函數(shù),實(shí)現(xiàn)對(duì)一個(gè)整數(shù)數(shù)組進(jìn)行排序。要求采用冒泡排序算法對(duì)數(shù)組從小到大排序,并返回排序后的數(shù)組。”

對(duì)此需求,騰訊混元的回答是:

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

在這個(gè)測(cè)試用例中,我們包含了如下細(xì)節(jié):

  • 使用 Python

  • 輸入輸出均為整數(shù)數(shù)組

  • 冒泡排序

  • 從小到大

從騰訊混元回答中可以看到,它首先給出了編碼風(fēng)格良好的 bubble_sort 函數(shù),代碼不僅正確,在解釋器中也可以直接運(yùn)行,而且同時(shí)代碼的解析。完美實(shí)現(xiàn)了筆者的細(xì)節(jié)要求,展現(xiàn)出精準(zhǔn)捕捉需求描述和轉(zhuǎn)換實(shí)現(xiàn)編程語義的能力。

我們還可以進(jìn)行更復(fù)雜的測(cè)試,加入更多的細(xì)節(jié)要求,比如要求引用內(nèi)置函數(shù),輸出格式,代碼風(fēng)格等。

測(cè)試用例如下:

“請(qǐng)編寫一個(gè)Python函數(shù),輸入一個(gè)字符串?dāng)?shù)組,然后按照數(shù)組元素的字母表順序?qū)?shù)組進(jìn)行排序后輸出,并用 * 間隔每個(gè)字符串的輸出。”

騰訊混元的輸出如下:

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

這段代碼實(shí)現(xiàn)了測(cè)試用例中的每個(gè)細(xì)節(jié)要求,如輸入字符串,調(diào)用內(nèi)置函數(shù) sorted 進(jìn)行排序,使用*間隔輸出。同樣的,這段代碼可以在解釋器中正確的被執(zhí)行。

通過這些測(cè)試可以看出,新版騰訊混元在理解描述中的編程需求和生成對(duì)應(yīng)代碼的能力上,確實(shí)有了明顯的進(jìn)步。它可以識(shí)別出不同的數(shù)據(jù)類型,如整數(shù)數(shù)組和字符串?dāng)?shù)組,并根據(jù)所述需求選擇合適的排序算法進(jìn)行實(shí)現(xiàn)。同時(shí)對(duì)于語義細(xì)節(jié),也有很好的理解和實(shí)現(xiàn)。

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

跨語言代碼生成,hold 住不同語言編碼風(fēng)格

大模型需要能夠理解不同編程語言的語法和語義,以便生成正確的代碼。這需要模型具有強(qiáng)大的語言建模能力。在評(píng)測(cè)點(diǎn)一中,我們主要是讓騰訊混元使用 Python 進(jìn)行代碼輸出,那么其它編程語言的代碼生成能力如何呢。

我們給出的測(cè)試用例如下:

“用golang來實(shí)現(xiàn)二叉樹的前、中、后序遍歷。”

這段測(cè)試用例雖然不長(zhǎng),但是仍然包含了很多細(xì)節(jié)。如二叉樹的定義、前序、中序、后序遍歷的函數(shù),輸入輸出等。讓我們來看一下騰訊混元的回答:

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

甚至還給出了測(cè)試代碼和輸出結(jié)果:

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

騰訊混元展現(xiàn)出了驚人的知識(shí)量,不僅理解了測(cè)試用例,正確定義了二叉樹,還給出了三個(gè)排序函數(shù),給出了測(cè)試結(jié)果,說明騰訊混元很強(qiáng)的語義理解能力,能夠理解非常抽象的需求。Python 寫的好,Golang 同樣寫的非常優(yōu)秀,符合 Golang 的編碼風(fēng)格和習(xí)慣,對(duì)于 Golang 特有的結(jié)構(gòu)也是輸出的非常流暢和正確。這表明,騰訊混元也能調(diào)用恰當(dāng)?shù)?API 編寫出符合要求的代碼,支持不同的編程語言,生成的代碼符合不同編程語言的習(xí)慣。

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

復(fù)雜抽象、專業(yè)業(yè)務(wù)理解與生成,合理簡(jiǎn)潔

在前面兩點(diǎn)中,主要考察了騰訊混元對(duì)于語義細(xì)節(jié)以及代碼生成的廣度上,實(shí)際工作中,需求是非常抽象和專業(yè)的。

我們來測(cè)試一下騰訊混元對(duì)于專業(yè)領(lǐng)域的代碼生成能力,給出測(cè)試用例如下:

“使用Rust編寫一個(gè)內(nèi)存管理接口模塊,用于對(duì)錯(cuò)誤內(nèi)存頁面的隔離和重新分配。”

在這個(gè)測(cè)試用例中,我們切換了新的編程語言,同時(shí)引入了操作系統(tǒng)底層的專業(yè)領(lǐng)域知識(shí),騰訊混元的回答如下:

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

從思路到實(shí)現(xiàn),騰訊混元的回答質(zhì)量很高,從專業(yè)的角度看,設(shè)計(jì)的也是非常合理的。不僅給出了示例代碼,還解釋了關(guān)鍵邏輯,如分配、釋放內(nèi)存,檢查內(nèi)存頁面是否有效,分配新頁面。可以說是理解了這個(gè)業(yè)務(wù)需求的每個(gè)細(xì)節(jié),同時(shí)還留下了業(yè)務(wù)需要額外關(guān)注的地方,如性能、碎片等。在這個(gè)場(chǎng)景中非常貼合專業(yè)領(lǐng)域的編碼習(xí)慣了,即先給出大致的邏輯,然后不斷進(jìn)行細(xì)節(jié)優(yōu)化。

讓我們?cè)儆靡粋€(gè)復(fù)雜且抽象的測(cè)試騰訊混元的生成能力。

“使用基本的html,js,css完成一個(gè)美觀實(shí)用的Todolist頁面”

在這個(gè)測(cè)試用例中,Todolist 是抽象的,隱含了用戶的輸入輸出,任務(wù)的刪減。任務(wù)的定義,樣式的定義等。讓我們來看一下騰訊混元的實(shí)現(xiàn):

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

代碼比較長(zhǎng),這里直接按它說的,將代碼復(fù)制到一個(gè) html 文件中,然后通過瀏覽器打開直接看效果:

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

包括了一個(gè)基本的 TodoList 頁面,用戶可以在輸入框中輸入任務(wù),點(diǎn)擊添加按鈕將任務(wù)添加到任務(wù)列表中。任務(wù)列表中的每個(gè)任務(wù)都有一個(gè)刪除按鈕,點(diǎn)擊刪除按鈕可以從列表中移除任務(wù),整個(gè)頁面使用了簡(jiǎn)潔的設(shè)計(jì)和易于使用的元素。

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

數(shù)據(jù)、prompt 和建模技術(shù)探索

大模型代碼生成能力得到大幅提升的背后,需要依托多方面的技術(shù)探索與突破。以騰訊混元大模型為例,我們從騰訊混元大模型的更新日志中了解到,騰訊混元團(tuán)隊(duì)收集了大規(guī)模的編程語料,通過不同語言、不同應(yīng)用領(lǐng)域代碼的學(xué)習(xí),不斷完善模型對(duì)編程語義的理解。此外,設(shè)計(jì)高質(zhì)量的代碼生成 prompt 也是關(guān)鍵,指導(dǎo)模型準(zhǔn)確捕捉語法、風(fēng)格等方面的語言特征。具體來說:

第一是在提高編程語料數(shù)據(jù)質(zhì)量。相比通用語言數(shù)據(jù),高質(zhì)量的代碼語料對(duì)模型訓(xùn)練更為關(guān)鍵,騰訊混元團(tuán)隊(duì)持續(xù)積累各類編程語言的代碼樣本,擴(kuò)充模型對(duì)編程語義的理解。

第二是持續(xù)進(jìn)行 prompt 優(yōu)化,不斷優(yōu)化代碼生成的提示詞表述,引導(dǎo)模型更好地捕捉編程語言的語法、風(fēng)格和語義等方面特征。

第三是嘗試多任務(wù)統(tǒng)一建模,在模型結(jié)構(gòu)上,將代碼生成任務(wù)與理解自然語言描述的任務(wù)統(tǒng)一建模,使模型在兩個(gè)方向的表示能力得以相互促進(jìn)。

除了這三方面技術(shù)探索,模型在程序語言理解上的大幅進(jìn)步還有賴于持續(xù)的工程化積累。另外,騰訊混元大模型由騰訊自研的 Angel 機(jī)器學(xué)習(xí)平臺(tái)提供支撐。AngelPTM 訓(xùn)練速度較主流開源框架提升 1 倍,可以縮短模型研發(fā)迭代周期,也是確保騰訊混元大模型快速迭代的重要的保證。

大模型編程實(shí)測(cè):如何hold住復(fù)雜、跨語言代碼需求?(模型化編程)

應(yīng)用前景:代碼提示、代碼規(guī)范檢測(cè)與代碼生成,助力開發(fā)提效

通過實(shí)測(cè),能看到騰訊混元大模型代碼生成能力已經(jīng)有效提升。而更好的生成能力,可以幫助大模型在軟件開發(fā)輔助等領(lǐng)域開啟更多應(yīng)用場(chǎng)景。目前代碼編程方面可以預(yù)見有三大應(yīng)用方向:

1. 代碼提示:基于自然語言描述自動(dòng)提示代碼段,可輔助開發(fā)者更快實(shí)現(xiàn)編程需求。

2. 代碼規(guī)范檢測(cè):檢查代碼是否符合指定的代碼規(guī)范要求,如命名規(guī)范等。

3. 代碼生成根據(jù)復(fù)雜需求描述自動(dòng)生成完整代碼,輔助快速實(shí)現(xiàn)編程功能。

以騰訊混元大模型為例,在代碼提示上,騰訊混元可用于各種編程語言的 IDE 中,根據(jù)開發(fā)者的注釋或需求說明,提示可能的代碼實(shí)現(xiàn)。針對(duì)一些重復(fù)性比較強(qiáng)的編碼工作,如果能根據(jù)注釋自動(dòng)提示代碼,將大大提升開發(fā)效率。開發(fā)者只需關(guān)注業(yè)務(wù)要求,無須反復(fù)鍵入重復(fù)的代碼片段,就能高效實(shí)現(xiàn)功能。

在代碼規(guī)范檢測(cè)上,可基于公司或項(xiàng)目的代碼規(guī)范要求,自動(dòng)檢查代碼的命名、格式等是否符合規(guī)范。騰訊混元可以幫開發(fā)團(tuán)隊(duì)節(jié)省開發(fā)時(shí)間,避免手動(dòng) review 檢查出的問題,自動(dòng)化檢測(cè)可一次性直觀地反饋所有規(guī)范問題。

而代碼生成更是直接輔助編程,根據(jù)需求描述快速輸出代碼雛形,騰訊混元可直接輸出初始版本代碼,開發(fā)者只需在此基礎(chǔ)上進(jìn)行適當(dāng)優(yōu)化與補(bǔ)充,輔助開發(fā)者快速實(shí)現(xiàn)所需功能。

從這次版本升級(jí)能看到,騰訊混元的代碼生成能力正在持續(xù)快速進(jìn)步。相信通過不斷的實(shí)踐與積累,其在程序語言理解方面的能力還將達(dá)到新的高度。而對(duì)于開發(fā)者來說,趁手的開發(fā)工具是高質(zhì)高效完成開發(fā)任務(wù)的前提,從騰訊混元大模型評(píng)測(cè)能看出 AI 大模型的實(shí)力已經(jīng)不容小覷,如何利用大模型加速抽象復(fù)雜、甚至跨語言的項(xiàng)目研發(fā),提升研發(fā)效率,值得每位開發(fā)者重視。CSDN 將持續(xù)報(bào)道 AI 與大模型最新技術(shù)與落地實(shí)踐,歡迎關(guān)注。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年1月13日 上午10:49
下一篇 2024年1月13日 上午11:05

相關(guān)推薦

  • 教學(xué)項(xiàng)目管理系統(tǒng)

    教學(xué)項(xiàng)目管理系統(tǒng) 教學(xué)項(xiàng)目管理系統(tǒng)是一種用于管理和組織教學(xué)項(xiàng)目的軟件系統(tǒng),可以幫助教師和學(xué)生更好地規(guī)劃和實(shí)施教學(xué)任務(wù),提高教學(xué)質(zhì)量和效率。本文將介紹教學(xué)項(xiàng)目管理系統(tǒng)的功能和優(yōu)點(diǎn)。 …

    科研百科 2025年8月24日
    1
  • 二航局項(xiàng)目管理系統(tǒng)

    二航局項(xiàng)目管理系統(tǒng) 二航局項(xiàng)目管理系統(tǒng)是一款功能強(qiáng)大的軟件,用于幫助二航局組織和管理項(xiàng)目。該系統(tǒng)提供了各種工具,幫助項(xiàng)目經(jīng)理更好地管理項(xiàng)目,提高項(xiàng)目的效率和質(zhì)量。本文將介紹二航局項(xiàng)…

    科研百科 2024年12月25日
    4
  • 社會(huì)工作相關(guān)科研項(xiàng)目

    社會(huì)工作相關(guān)科研項(xiàng)目: \”家庭發(fā)展 in the community\” 該項(xiàng)目旨在研究在社區(qū)中,如何促進(jìn)家庭發(fā)展,提高家庭成員的生活質(zhì)量。該項(xiàng)目將探討如…

    科研百科 2025年4月12日
    2
  • 打造“紅種子?3+N黨建之家” 共筑校家社黨教融合共同體

    4月10日,龍門浩隆平小學(xué)校一天門校區(qū)黨支部與龍門浩街道一天門社區(qū)黨委共創(chuàng)的“紅種子·3 N黨建之家”特色黨建項(xiàng)目正式啟動(dòng)。 授牌儀式。龍門浩街道供圖 活動(dòng)中,重慶市南岸區(qū)委教育工…

    科研百科 2024年7月18日
    16
  • 科研項(xiàng)目計(jì)劃書范文模板大全集科研項(xiàng)目計(jì)劃書范文模板大全集

    科研項(xiàng)目計(jì)劃書范文模板大全集 科研項(xiàng)目計(jì)劃書是科研項(xiàng)目發(fā)展過程中至關(guān)重要的一環(huán),它記錄了科研項(xiàng)目的基本信息,包括研究背景、研究目的、研究方法、研究進(jìn)度、研究預(yù)算等內(nèi)容。一份好的科研…

    科研百科 2024年9月9日
    11
  • 工程項(xiàng)目and設(shè)計(jì)管理

    工程項(xiàng)目和設(shè)計(jì)管理是項(xiàng)目管理中至關(guān)重要的兩個(gè)方面。工程項(xiàng)目是指為完成特定的任務(wù)或項(xiàng)目而進(jìn)行的一系列活動(dòng),這些活動(dòng)可能涉及不同的領(lǐng)域,如建筑、機(jī)械、電氣、軟件開發(fā)等。設(shè)計(jì)管理則是指在…

    科研百科 2025年7月26日
    1
  • 2018cis科研項(xiàng)目

    2018cis科研項(xiàng)目: 探索人工智能在醫(yī)療保健領(lǐng)域的應(yīng)用 隨著人工智能技術(shù)的不斷發(fā)展,它在各個(gè)領(lǐng)域的應(yīng)用也越來越廣泛。在醫(yī)療保健領(lǐng)域,人工智能技術(shù)已經(jīng)取得了長(zhǎng)足的進(jìn)步,并且正在為…

    科研百科 2025年3月19日
    1
  • 云南大學(xué)校級(jí)科研項(xiàng)目

    云南大學(xué)校級(jí)科研項(xiàng)目 云南大學(xué)一直秉持著“厚德博學(xué),求是創(chuàng)新”的校訓(xùn),致力于推動(dòng)學(xué)術(shù)研究和社會(huì)進(jìn)步。近年來,學(xué)校在科研領(lǐng)域取得了長(zhǎng)足的進(jìn)步,并吸引了眾多國(guó)內(nèi)外學(xué)者和研究人員的關(guān)注。…

    科研百科 2025年4月30日
    3
  • 科研項(xiàng)目管理系統(tǒng)中關(guān)鍵詞的聚焦、提煉和分組

    在檢索初期,科研項(xiàng)目管理系統(tǒng)中關(guān)鍵詞的聚焦、提煉和分組,由于時(shí)間有限,你不應(yīng)將過多時(shí)間浪費(fèi)在篩選大量參考資料上,所以要更加精準(zhǔn)地聚焦你的要求,以便盡可能剔除不相關(guān)的信息。請(qǐng)回顧上一…

    2022年4月23日
    0
  • 科研項(xiàng)目有哪些類型(科研項(xiàng)目主要優(yōu)勢(shì)分哪幾方面)

    科研項(xiàng)目主要優(yōu)勢(shì)分哪幾方面 科研項(xiàng)目的主要優(yōu)勢(shì)包括: 1. 推動(dòng)科學(xué)技術(shù)發(fā)展:科研項(xiàng)目是推動(dòng)科學(xué)技術(shù)發(fā)展的重要手段。通過科研項(xiàng)目,科學(xué)家可以深入研究問題,開發(fā)新技術(shù),推動(dòng)社會(huì)的進(jìn)步…

    科研百科 2024年4月10日
    110
在线观看视频中文字幕| 国产爆乳无码一区二区麻豆| a毛看片免费观看视频| 好男人资源视频在线播放 | 欧美aaaaaaaaaa| 亚洲欧美日韩中文在线| 欧美性猛交xxx猛交| 亚洲欧美一区二区三区孕妇| 欧美日韩一区二区三区四区| 国产一卡2卡3卡四卡高清 | 日韩视频免费一区二区三区| 亚洲av无码片区一区二区三区| 日韩高清特级特黄毛片| 久久青草免费91线频观看站街| 日本中文字幕一区二区有码在线| 久久国产精品无码一区二区三区| 成年男女免费视频网站| 中文字幕免费在线观看 | 性xxxx18免费观看视频| 一区二区三区高清在线 | 免费又黄又爽又猛的毛片| 波多野结衣四虎| 亚洲福利视频网址| 最近高清中文在线国语字幕| 二区久久国产乱子伦免费精品 | 又硬又粗进去好爽免费| 玩乡下小处雏女免费视频| 亚洲黄色在线视频| 欧美乱妇高清无乱码在线观看| 亚洲乱妇老熟女爽到高潮的片| 日本男人操女人| 久久久久久久亚洲AV无码 | 看一级特黄a大一片| 亚洲高清美女一区二区三区| 欧美成人精品福利网站| 亚洲一级片在线播放| 日本www在线播放| 久久91精品国产91| 天堂网在线观看在线观看精品| 99精品久久久中文字幕| 国产福利一区二区三区在线观看|