成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ChatGPT代碼生成飆升10%!北大華人一作:細化prompt,大幅改進大模型代碼能力

人工智能 新聞
來自北大實驗室的研究團隊提出了,通過與LLM聊天來細化需求的方法——ChatCoder。

在大模型時代,高質量的代碼生成已經強大到,讓人驚嘆。

從通過HumEval中67%測試的GPT-4,到近來各種開源大模型,比如CodeLlama,有望成為碼農編碼利器。

然而,現實中,程序員們不會精煉表達需求,因此誤導、限制了LLM生成優秀代碼的能力。

說白了,大模型代碼能力行不行,取決于你的提示妙不妙。

對此,來自北大實驗室的研究團隊提出了,通過與LLM聊天來細化需求的方法——ChatCoder。

論文地址:https://arxiv.org/pdf/2311.00272.pdf

具體來說,他們設計了一種聊天方案,大模型引導用戶細化需求表達,進而比以前更精確、更完整,同時提高了大模型的性能。

大模型是「碼農」,你就是「產品經理」

這里先舉個例子,如下圖,用戶提出了需求:

數據集#MBPP/443,要求ChatGPT編寫一個python函數從給定的列表中找到「最大的負數」。

基于原始需求,ChatGPT生成一個程序,該程序可以正確提取實際值最大的負數。

然而,sanitized-MBPP的作者認為「最大負數」應該是指「絕對值最大的數」。

因此由于「最大」這個表達不明確,導致LLM生成了錯誤的代碼。

而這里,可以通過需求細化(requirements refinement)來解決這個問題。

需求細化就是揭示需求中的隱含依賴和隱藏結構的過程。通過提供更多細節,在需求細化的過程中可以補充不完整的信息,消除模糊不清的地方。

在前面舉的例子中,我們可以簡單地向大語言模型說明「最大的」在這里特指「絕對值最大的」,揭示了「最大」這個詞的隱藏結構。

有了這一改進后的需求,大模型就可以生成符合MBPP作者期望的代碼。

不得不提的是,需求細化,需要人類用戶和大模型的協作。

一般來說,在需求工程的背景下,需求細化是通過軟件供應商(編碼人員)和軟件客戶(用戶)之間的一系列交互來執行的。

軟件供應商分析客戶需求的初始表達,并提出細化點。軟件客戶則需要根據這些點來作出響應,供應商才能完成一輪需求細化。

無論是軟件客戶還是軟件供應商,任何一方都不具備單獨進行需求細化的資格。

這樣的劣勢在于,客戶通常不夠了解軟件設計和開發過程,無法撰寫可用的需求說明;而供應商通常也不夠了解客戶的問題和業務領域,無法為滿意的系統制定需求。

而現在,在大模型時代,人類用戶是客戶,LLM是「供應商」。

為了通過需求細化讓大模型生成更好地滿足用戶需求的代碼,就需要研發人類和LLM協作的方法。

ChatCoder:聊天細化,生成代碼

北大提出了ChatCoder,這是通過聊天進行需求細化的大模型代碼生成的新方法。

整體框架如下圖,非常簡潔,通過聊天來輔助LLM和人類在需求細化方面的協作。

關鍵是,如何與大型語言模型聊天。

ChatCoder便提供了一個全新的聊天模式,其設計靈感來自IEEE SRS。

接下來,我們具體看下ChatCoder這個框架。

其整體結構是一個兩輪的對話。

第一階段:Paraphrase和Exend

由于人類用戶表達需求可能語意模糊、不完整,ChatCoder使用提示要求LLM從幾個角度解釋用戶的原始需求,即完整的需求規范必須清晰。

對于需要改進的遺漏或有野心的論點,ChatCoder讓大語言模型基于它從訓練數據中獲得的假設來擴展它們。

人類用戶需要查看細化的規范并糾正其中的錯誤。

第二階段:Going-deep和Loop-back

在這一輪中,ChatCoder要求LLM詢問人類用戶,關于第一輪Paraphrase和Exend中信息損失,以及需要進一步改進的規范方面的困惑。

人類用戶需要回答這些問題,并回環糾正細化后的規范。

經過兩輪細化后,得到細化后的需求,然后發送給大型語言模型,得到用戶想要的程序。

ChatGPT代碼能力10%

實驗設置

數據集:Sanitized-MBPP、HumanEval。

基準:gpt-3.5-turbo、gpt-4。

研究問題

為了評估ChatCoder,研究人員提出并測試了以下研究問題:

1)與現有代碼生成模型相比,ChatCoder的表現如何?

2)ChatCoder是LLM和人類用戶交流以進行需求細化的有效方法嗎?

3)人類參與ChatCoder帶來了多少改進?

ChatCoder性能表現

首先我們來看第一個問題,主要是為了評估ChatCoder與基線相比的整體代碼生成性能。

如表1所示,ChatCoder通過大幅細化的需求,成功幫助LLM提高了其生成程序的執行精度。

例如,對于gpt-3.5-turbo,其在Saniticed-MBPP上的pass@1從57.04%提高到71.25%,提升了14%。

橫向比較,對于gpt-3.5-turbo和gpt-4,Saniticed-MBPP上的性能改進比HumEval上的更突出。

溝通效率的表現

第二個問題是,評估ChatCoder是否是大模型和人類進行需求細化交流的有效方式。

根據表2,所有3種與LLM進行需求細化的通信方法都有助于LLM改進其代碼生成結果。

這一發現指出,任何形式的需求細化在應用LLM生成代碼時都是有用和重要的。

與ChatCoder相比,Free Paraphrase和Free QA不會指示LLM執行某些類型的細化,從而導致較低的改進。

人工干預評估

如下評估了人工干預對ChatCoder的重要性,結果見表3。

由于ChatCoder利用需求細化來提高大語言模型的代碼生成性能,因此人工干預是必要的,也是不可忽視的。

ChatCoder的過程是從給定的角度揭示需求的內部結構,這些角度沒有明確表達,即使有歧義。解決歧義的答案只有人類用戶知道。

案例研究

如下,作者提出了幾個真實的測試用例,說明ChatCoder如何幫助LLM生成具有細化需求的代碼。

由于頁面限制,研究人員從MBPP中選擇了3個案例,涵蓋了關于輸入、輸出和目的的細化,因為它們直接影響功能需求。

責任編輯:張燕妮 來源: 新智元
相關推薦

2023-10-26 15:38:03

混元大模型騰訊

2021-11-19 10:13:01

模型人工智能計算

2023-10-07 08:28:06

語言模型代碼技術

2023-10-16 12:31:17

人工智能數據

2024-11-27 14:30:00

模型訓練

2023-06-09 13:29:58

2024-08-20 13:30:17

2023-04-27 13:46:08

語言模型ChatGPT人工智能

2023-09-10 10:51:22

算法結構

2021-12-09 09:45:44

AI 數據神經網絡

2024-03-04 08:15:00

2023-09-18 11:25:00

2024-09-29 13:40:00

2023-04-11 07:56:54

2025-02-18 10:25:10

2024-01-08 13:37:00

人工智能技術

2025-02-12 13:34:40

2023-06-30 13:01:26

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日人人| 福利电影在线 | 玖玖视频 | 伊人二区 | 欧美日本在线观看 | 亚洲精品视频二区 | 欧美国产日韩一区二区三区 | 国产夜恋视频在线观看 | 亚洲国产高清高潮精品美女 | 热99精品视频 | 欧美在线免费 | 麻豆av在线免费观看 | 久久精品亚洲欧美日韩久久 | 国产在线a | 99久久久久久 | 欧美v日韩| 国产激情免费视频 | 观看av| 国产色黄 | 久久久久国产一区二区三区 | 午夜在线精品偷拍 | 国产精品99久久久久久久久久久久 | 亚洲精品久久久久久久不卡四虎 | 伊人春色成人网 | 亚洲一区日韩 | 亚洲不卡视频 | 一区二区三区国产 | 成人精品视频在线观看 | 精品亚洲视频在线 | 中文字字幕一区二区三区四区五区 | 亚洲高清视频一区二区 | a级片在线观看 | 日韩国产在线 | a视频在线播放 | 久久久久久高潮国产精品视 | 亚洲精品在线视频 | aaaaaaa片毛片免费观看 | 久久久免费在线观看 | 日韩高清黄色 | 麻豆av在线免费观看 | xxxxx免费视频|