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

碼農狂喜!微軟提出CodePlan,跨168個代碼庫編碼任務,LLM自動化完成

人工智能
CodePlan構建了一個計劃圖,圖中的每個節點都標識 LLM需要履行的代碼編輯義務,而邊則表示目標節點需要在源節點之后履行。

對于大模型來說,擅長的是本地化編碼任務。

但如果任務跨越了多個相互依賴的文件,LLM卻無法解決。

對此,微軟研究人員設計了一個任務無關的神經網絡框架,名為CodePlan。

圖片圖片

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

論文中,CodePlan綜合了多步驟編輯鏈(chain-of-edits),是一種將程序分析、規劃和LLM結合在一起的新方法。

一起來具體看看,CodePlan是如何設計的?

CodePlan:大模型+規劃

軟件工程活動中,例如軟件包遷移、修復靜態分析或測試的錯誤報告,以及向代碼庫添加類型提示或其他規范,涉及到對整個代碼存儲庫的普遍編輯。

研究人員將這些活動規劃,為「存儲庫級別的編碼任務」。

隨著編碼工具如GitHub Copilot、Code Whisperer得到了大模型能力加持,已經為碼農在本地化編碼問題提供了解決方案。

然而,現實是,「存儲庫級別的編碼任務」更加復雜,不能直接通過LLM解決,因為存儲庫中的代碼是相互依賴的,整個存儲庫可能太大而無法納入提示。

這項研究中,微軟團隊將庫級編碼框架作為一個規劃問題,并提出了一個任務不可知的框架,稱為CodePlan。

CodePlan綜合了一個多步驟的編輯鏈(計劃) ,其中每一步都會調用代碼位置上的LLM。該代碼位置上的上下文來自整個存儲庫、以前的代碼更改和特定于任務的指令。

CodePlan是基于增量依賴分析、變更可能影響分析和自適應規劃算法的新型組合。

圖片圖片

如下圖,展示了復數庫API的變化,微軟研究人員的任務是根據這一變化遷移代碼庫。

圖片圖片

圖3左側顯示了代碼庫中使用復數庫的相關部分。

具體來說,Create.cs文件中的方法func,調用了庫中的create_complex方法,Process.cs文件中的方法Process.cs調用了func。

圖片圖片

研究人員將圖1中的任務描述和func主體傳遞給LLM,以生成修改后的func代碼,如圖3右側所示。

可以看到,LLM已經正確地編輯了對create_complex API的調用,以便它返回一個Complex類型的對象,而不是兩個浮點值的元組。

注意,這個編輯導致了方法func的簽名發生了變化——它現在返回了一個Complex類型的對象。

這就需要修改方法func的調用者,比如Process.cs中的process方法,如圖3左下角所示。如果不對process方法的主體進行適當的修改,代碼就不能構建!

圖3右下方顯示了對process方法的適當修改,它能使版本庫達到一致的狀態,從而在編譯時不會出錯。

對于研究人員來說,最主要的是構建一個「存儲庫級別的編碼系統」,能自動生成編輯所需的派生規范。

LLM驅動的庫級編碼任務定義如下:

圖片圖片

CodePlan整體框架中,輸入是一個存儲庫、一個通過自然語言指令或一組初始代碼編輯表達種子規范的任務,一個正確性oracle和一個 LLM。

CodePlan構建了一個計劃圖,圖中的每個節點都標識 LLM需要履行的代碼編輯義務,而邊則表示目標節點需要在源節點之后履行。

CodePlan監控代碼編輯,并自適應地擴展計劃圖。

一旦計劃中的所有步驟都已完成,存儲庫將由oracle進行分析。如果oracle驗證了資源庫,則任務完成。如果發現錯誤,錯誤報告將作為下一輪計劃生成和執行的種子規范。

圖片圖片

此外,CodePlan算法還維護了一個依賴關系圖,圖4說明了依賴關系圖的結構。

圖片圖片

刷新SOTA

研究人員評估了CodePlan在兩個存儲庫級任務上的有效性: 包遷移 (C#)和時態代碼編輯(Python)。

每個任務在多個代碼庫上進行評估,每個代碼庫都需要對多個文件(2-97個文件)進行相互依賴的更改。

圖片圖片

這種復雜程度的編碼任務,以前從未使用過LLM自動完成。

研究結果表明,與基線相比,CodePlan更符合基本事實,能夠讓5/6個存儲庫通過有效性檢查,比如,無差錯構建和正確的代碼編輯。

總之,CodePlan為自動化復雜的庫級編碼任務提供了一種有前途的方法,既提高了生產率,又提高了準確性。

它成功應對了許多挑戰,為高效可靠的軟件工程實踐開辟了新的可能性。

參考資料:https://twitter.com/adityakanade0/status/1706291449674039711

責任編輯:武曉燕 來源: 新智元
相關推薦

2023-05-15 12:26:08

AI編程

2018-01-15 10:30:00

AndroidPython 開發

2021-03-09 10:08:15

Linux 自動化操作系統

2022-01-27 13:23:15

Linux技巧命令

2022-07-25 11:25:42

Linux自動化技巧

2021-11-12 10:19:00

CIOIT自動化戰略

2024-06-12 12:36:48

CrontabPython

2024-11-07 08:03:10

2022-07-11 10:08:19

系統管理任務自動化

2020-12-31 11:55:56

PythonPlaywright微軟

2012-06-07 09:25:31

Visual Stud

2013-08-28 10:38:01

2024-08-14 14:42:00

2023-12-07 14:34:00

EDA數據集數據分析

2023-11-21 22:48:50

2021-12-01 10:17:49

智能自動化遠程工作CIO

2024-07-01 18:07:30

Python腳本自動化

2017-12-17 21:58:18

2022-11-30 14:57:39

產業互聯網

2019-09-20 09:19:55

開發者技能工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产a级毛片 | 美国一级黄色片 | 黄色一级片在线播放 | 欧美久久久久久 | 亚洲精品第一国产综合野 | 99久久精品国产麻豆演员表 | 极品粉嫩国产48尤物在线播放 | 国产精品永久免费 | 美女黄网| 国产精品成人久久久久 | 黑人久久久 | 欧美激情一区二区三区 | 啪啪毛片| 在线一区视频 | 一区二区视频 | 久久精品这里精品 | www.操com| 免费久久网 | 91午夜在线 | 久久精品免费 | 久久久久久亚洲精品 | 精品福利一区二区三区 | 狠狠操狠狠搞 | 日韩中文字幕 | 综合精品在线 | 日韩三级精品 | 亚洲精品综合 | 青青草这里只有精品 | 国产伦精品一区二区 | 亚洲乱码国产乱码精品精98午夜 | 亚洲精色 | 日韩成年人视频在线 | 国产999精品久久久 日本视频一区二区三区 | 国产精品我不卡 | 亚洲一区精品在线 | 色秀网站 | 四虎影院新网址 | 国产一区二区精 | www.狠狠干| 久久久久国产精品人 | 亚洲午夜精品视频 |