无码人妻丰满熟妇奶水区码,麻豆一区区三,亚洲日韩欧美精品综合,亚洲无码地址

大模型編程實(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ù)。

最近,騰訊混元大模型(以下簡稱騰訊混元)發(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ù)組?!?/em>

對(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è)字符串的輸出?!?/em>

騰訊混元的輸出如下:

大模型編程實(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)二叉樹的前、中、后序遍歷?!?/em>

這段測(cè)試用例雖然不長,但是仍然包含了很多細(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ù)理解與生成,合理簡潔

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

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

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

在這個(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ù)雜、跨語言代碼需求?(模型化編程)

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

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

包括了一個(gè)基本的 TodoList 頁面,用戶可以在輸入框中輸入任務(wù),點(diǎn)擊添加按鈕將任務(wù)添加到任務(wù)列表中。任務(wù)列表中的每個(gè)任務(wù)都有一個(gè)刪除按鈕,點(diǎn)擊刪除按鈕可以從列表中移除任務(wù),整個(gè)頁面使用了簡潔的設(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)推薦

  • WPS 小公司 辦公協(xié)同

    WPS 小公司辦公協(xié)同 在WPS小公司,辦公協(xié)同是一個(gè)非常重要的環(huán)節(jié)。它涉及到公司內(nèi)部文件的共享,協(xié)作和溝通,同時(shí)也是一個(gè)必須面對(duì)的問題。因此,在WPS小公司中,辦公協(xié)同的高效運(yùn)作…

    科研百科 2024年10月23日
    2
  • “四個(gè)在一線”推動(dòng)黨建引領(lǐng)基層治理見行見效(黨建引領(lǐng)基層治理四個(gè)引領(lǐng))

    今年以來,橋溝街道向陽社區(qū)黨總支緊緊圍繞“共建幸福家園、共治和諧小區(qū)、共享美好生活”的目標(biāo),積極推進(jìn)城市黨建引領(lǐng)基層社會(huì)治理,堅(jiān)持問題導(dǎo)向,聚焦治理難點(diǎn),凝聚治理合力,有效提升基層…

    科研百科 2024年7月5日
    34
  • 醫(yī)學(xué)生五大科研項(xiàng)目是什么

    醫(yī)學(xué)生五大科研項(xiàng)目是什么? 隨著醫(yī)學(xué)技術(shù)的發(fā)展,醫(yī)學(xué)生需要掌握更多的技能和知識(shí)。為了跟上時(shí)代的步伐,醫(yī)學(xué)生需要進(jìn)行各種科研項(xiàng)目。這些項(xiàng)目包括: 1. 基因組學(xué):研究人類基因組的結(jié)構(gòu)…

    科研百科 2025年5月2日
    2
  • 好用簡潔的項(xiàng)目管理軟件~存起來(簡單的項(xiàng)目管理軟件)

    TeamLab 它是一個(gè)在線商業(yè)協(xié)作和項(xiàng)目管理的平臺(tái),主要功能包括:項(xiàng)目管理、里程碑管理、任務(wù)、報(bào)表、事件、博客、論壇、書簽、Wiki、即時(shí)消息等。 TeamLab是專為中小型企業(yè)…

    科研百科 2024年2月17日
    110
  • 資產(chǎn)項(xiàng)目管理軟件

    資產(chǎn)項(xiàng)目管理軟件 資產(chǎn)項(xiàng)目管理軟件是一種用于管理資產(chǎn)項(xiàng)目的計(jì)算機(jī)軟件,可以幫助項(xiàng)目管理人員更好地跟蹤和協(xié)調(diào)資產(chǎn)項(xiàng)目的活動(dòng)。本文將介紹資產(chǎn)項(xiàng)目管理軟件的功能和優(yōu)點(diǎn)。 資產(chǎn)項(xiàng)目管理軟件…

    科研百科 2024年7月28日
    3
  • 低代碼會(huì)淘汰國企內(nèi)的程序員嗎

    低代碼會(huì)淘汰國企內(nèi)的程序員嗎? 隨著科技的不斷進(jìn)步和發(fā)展,低代碼開發(fā)平臺(tái)逐漸成為企業(yè)數(shù)字化轉(zhuǎn)型的熱門選擇。低代碼開發(fā)平臺(tái)以其簡化開發(fā)流程、提高開發(fā)效率的特點(diǎn),受到了越來越多企業(yè)的青…

    科研百科 2024年2月29日
    97
  • wincc打開項(xiàng)目在哪

    wincc打開項(xiàng)目在哪wincc打開項(xiàng)目在哪年就比較好,加上大英雄不在乎,在生活中就顯得很友善,那我們就來聊一下,今天這節(jié)課怎么準(zhǔn)備,希望對(duì)你有所幫助。1. Everyone sh…

    科研百科 2024年11月19日
    4
  • 開源前端框架

    開源前端框架: 構(gòu)建現(xiàn)代Web應(yīng)用程序 隨著Web應(yīng)用程序的不斷發(fā)展,前端開發(fā)變得越來越重要。為了加快開發(fā)速度,提高應(yīng)用程序的性能和可維護(hù)性,我們需要使用一些優(yōu)秀的開源前端框架。在…

    科研百科 2024年11月9日
    11
  • ktv管理軟件哪個(gè)好(ktv管理軟件)

    KTV管理軟件:輕松管理KTV,讓您更盈利 隨著現(xiàn)代商業(yè)的不斷發(fā)展,KTV行業(yè)也越來越普及。作為KTV行業(yè)的管理者,如何管理一家KTV至關(guān)重要?,F(xiàn)在,我們提供了一款KTV管理軟件,…

    科研百科 2024年6月2日
    36
  • 宜興市黨建考核指標(biāo)分析會(huì)召開(宜興黨建基地)

    5月9日,宜興市黨建考核指標(biāo)分析會(huì)召開,分析無錫對(duì)宜興市2022年度黨建考核各項(xiàng)指標(biāo)完成情況,研究部署下階段工作,進(jìn)一步落實(shí)落細(xì)措施、補(bǔ)齊短板弱項(xiàng)。市委副書記沈曉紅,市委常委、組織…

    科研百科 2023年9月13日
    237