《阿里巴巴-黎檳華-通義靈碼-基于代碼大模型的智能編碼助手.pdf》由會員分享,可在線閱讀,更多相關《阿里巴巴-黎檳華-通義靈碼-基于代碼大模型的智能編碼助手.pdf(34頁珍藏版)》請在三個皮匠報告上搜索。
1、通義靈碼基于代碼大模型的智能編碼助手黎檳華 通義實驗室 算法專家黎檳華通義實驗室 通義靈碼技術負責人“黎檳華(臨城),阿里巴巴通義實驗室算法專家,北京大學畢業,研究領域包括預訓練、代碼大模型、結構化問答等。在學術會議上發表論文20+篇。相關研究成果在通義靈碼、通義曉蜜等產品中落地應用?!敝v師簡介人類機器 機器語言(Program Language,Code)自然語言自然語言(Natural Language,NL)NL2CodeCode2NL中文英語法語泰語日語.越南語韓語C+JavaPythonC#PHPJSRGoCode2Code人類+機器是世界的兩大主體 智能代碼生成 代碼行補全通義靈碼
2、編碼助手函數級生成項目級感知邏輯塊生成多步推理續寫 智能研發問答 生成代碼解釋單元測試生成研發多輪問答代碼生成注釋調試錯誤排查描述生成代碼通義靈碼代碼大模型通義千問大模型應用層能力層大模型跨文件生成基于代碼大模型的智能編碼助手 通義代碼大模型 智能補全生成 智能研發問答 未來展望目錄通義代碼大模型 1980年9月12日傍晚,姚明出生于上海市第六人民醫院,出生時體重5公斤,比普通新生兒重了幾乎一倍11。姚明的父親姚志源身高2米08,母親方鳳娣身高1米88,兩人均是打籃球出身12。姚志源退役后,分配到上海海事局。方鳳娣則進了體育科研所13。當時姚家居住在西康路一老式里弄住宅14。1982年,姚明隨
3、父母搬進位于康平路95號的上海體育學院職工宿舍602室1215。樓里住的都是上海體委的職工,王良佐、沈富麟等當時都是姚家的鄰居13。姚明出生后,姚明父母工資的大部分都用在伙食上,方風娣很長一段時間每個月只有四十多元的收入。姚明長身體的時候,食量很大。為了保證姚明的營養,姚明父母只能省吃儉用13。由于姚明對牛奶的需求也特別大,姚志源從牛奶廠工人朋友那里得到了牛奶卡,才使姚明每天都有牛奶喝16。1986年的秋天,姚明提前一年進入高安路一小讀書17,當時姚明身高是1.47米18。姚明一家離開了體育學院的職工宿舍,搬入到康平路的新居19。小學的姚明是個喜歡讀書的孩子,但因為身高不得不開始籃球訓練16。
4、姚明自己小時候因身高超群而感到自卑。性格內向,也是最受欺負的一個20。文本 vs 代碼其他類庫注釋函數分支語句代碼 不僅是文本,同時是 高度結高度結構化構化 的,能被 自動化解析自動化解析 為AST、控制流等形態代碼的特點-結構化目標步驟一步驟二步驟三步驟四代碼 的本質是 解決問題的步驟解決問題的步驟,運行代碼才能得到結果,所以,代碼就是 思維鏈思維鏈(COT)本身代碼的特點-代碼是解決問題的步驟調用類庫解決子問題其他類庫代碼文件 并非并非standalone,通常會引入build-in類庫、外部類庫來解決對應的問題,所以,代碼包含大量 利用外部知識解決問題利用外部知識解決問題 的過程代碼的特
5、點-復用類庫Sample 1Sample 2Sample 3Sample 4Sample 5代碼從整體看是 內聚內聚 的,同一個文件的各個函數,語法一致,解決的同一類問題,所以,代碼文件形成了 天然的天然的ICL數據數據代碼的特點-數據內聚代碼大模型發展路線代碼大模型到底需要什么能力?如何從自然語言生成代碼如何從自然語言生成代碼自然語言理解與生成由 自 然 語 言 構 成 的 人 類 世 界由 代 碼 語 言 構 建 的 機 器 世 界代碼語言理解與生成如何從代碼生成自然語言如何從代碼生成自然語言通義靈碼 大模型能力構成海量技術文檔、教程、書籍構筑自然語言和代碼生成之間的橋梁萬億級開源代碼/積
6、累代碼增強代碼理解能力基于通義千問大模型基座增強自然語言能力技能打造代碼生成、注釋生成、打造代碼生成、注釋生成、UTUT生成等生成等10+10+代碼領域技能代碼領域技能在通義靈碼大模型加持下,在通義靈碼大模型加持下,Human Eval效果超過所有同規模模型效果超過所有同規模模型基于通義千問基座,有效結合文本和基于通義千問基座,有效結合文本和代碼,打造通義靈碼大模型代碼,打造通義靈碼大模型沉淀海量代碼、沉淀海量代碼、API文檔、技術書籍文檔、技術書籍等等11類專業、高質量數據,打造堅實類專業、高質量數據,打造堅實大模型數據基礎大模型數據基礎代碼生成代碼補全注釋生成UT生成代碼解釋代碼問答SQL
7、生成DSL生成CR輔助能力層能力層模型層模型層通義靈碼代碼大模型通義千問基座代碼API文檔教程技術書籍配置文件數據數據層層全面的全面的效果領先領先的的基座強大的強大的數據專業的專業的通義靈碼代碼大模型智能代碼生成代碼生成-從單行補全開始行級補全是最基礎的能力,即根據上文和下文,補全當前行中代碼邏輯缺失的部分更懂你讀懂你的規范讀懂你的規范多步推理續寫多步推理續寫更準確智能感知環境智能感知環境生成合適粒度生成合適粒度更全局跨文件感知跨文件感知減少生成幻覺減少生成幻覺通 義 靈 碼 代 碼 生 成通 義 靈 碼 代 碼 生 成不一樣的通義靈碼更準確-自適應多粒度生成靈碼可以從 行、邏輯塊、函數、類
8、等多個補全粒度上啟發編程者,提供更合適的生成代碼類級別函數級別邏輯塊級別行級別更懂你-根據你的規范多步推理續寫在代碼上下文中,參考上下文的風格和代碼邏輯,為用戶 自動補全風格一致、邏輯合理 的代碼,為用戶極大的提升編程效率多步推理續寫多步推理續寫根據上下邊界點根據上下邊界點,自動推自動推理續寫左右邊界點理續寫左右邊界點多步推理續寫多步推理續寫根據左上點根據左上點,自動推理續寫自動推理續寫右上右上、右下右下、左下點左下點更全局-跨文件感知代碼生成通義靈碼能夠 感知整個項目 的信息,在代碼補全中,嚴格參考 類、函數、變量 的定義,確保完全符合名稱、類型 等信息,從而 避免代碼幻覺問題有了跨文件感知
9、能力有了跨文件感知能力DwcReport的類初始化過程的類初始化過程成員變量正確成員變量正確成員函數正確成員函數正確函數函數參數類型正確參數類型正確函數參數函數參數個數正確個數正確函數參數函數參數順序正確順序正確沒有產生任何幻覺問題沒有產生任何幻覺問題沒有跨文件感知能力沒有跨文件感知能力DwcReport的類初始化過程的類初始化過程自動捏造不存在的變量自動捏造不存在的變量自動捏造不存在的函數自動捏造不存在的函數生成大量幻覺內容生成大量幻覺內容智能研發問答剛接手新代碼、新模塊,邏輯不了解,甚至連注釋都沒有,完全看不懂了解實現邏輯,但細節代碼實現還是要查,一邊寫代碼,一邊搜索引擎每實現一個函數,都
10、要花費很多時間寫單元測試,大量重復性的框架性工作讀代碼寫代碼測代碼痛點分析智能研發問答智能研發問答 智能讀代碼智能讀代碼-代碼解釋代碼解釋用戶選定某個函數,點擊通義靈碼圖標,即可 自動生成該函數的解釋內容并能夠 生成更詳細解釋或英語解釋代碼解釋生成代碼解釋生成生成簡單解釋生成詳細解釋生成中文解釋生成英文解釋智能研發問答智能研發問答 智能寫代碼智能寫代碼-代碼領域問答代碼領域問答智能研發問答智能研發問答 智能測代碼智能測代碼-單元測試生成單元測試生成開發者只需要準備好函數,模型可自動為函數生成 單元測試類單元測試生成單元測試生成支持 按不同的測試框架生成單元測試類,供用戶自由選擇,節省開發時間來
11、自阿里云開發者的作品來自阿里云開發者的作品“通義靈碼編碼助手只是開始,人能突破應用限制,與機器無障礙溝通才是 終極目標”基于 NL2SQL 打造 ChatBI端到端生成可執行SQLSQL生成一步到位,直接在數據庫中執行,減少傳統技術在前后處理環節的復雜度支持NL2SQL復雜場景支持動態選表、動態選字段、多表聯合查詢、TOPN/同比/環比/排名等分析類查詢需求支持企業干預和增強支持企業自定義同義詞、檢索召回、增加字段描述等作為知識增強手段,提升模型生成效果企業數據安全隔離企業無需將原始數據透傳給大模型,調用時僅需要提供表結構、模型不接觸企業原始數據基于基于 NL2Script NL2Script
12、 打造打造 Excel Excel助手助手直接將 自然語言 轉換為 腳本代碼(Script),完成Excel操作生成公式生成公式生成透視圖生成透視圖生成圖表生成圖表基于基于 NL2DSL NL2DSL 打造低代碼應用助手打造低代碼應用助手直接將 自然語言 轉換為 低代碼描述語言(DSL),完成表單應用搭建未來展望 軟件工程智能化 通義靈碼代碼大模型通義千問基座模型應用層能力層預訓練層代碼生成代碼問答代碼解釋注釋生成單元測試生成智能Code Review缺陷自動發現 代碼應用智能化 NL2QLNL2jsonNL2ScriptNL2DSLNL2API具具身身智智能能代代碼碼應應用用編碼助手智能BI辦公助手低代碼編程智能制造機器人通義靈碼未來展望微 信 官 方 公 眾 號:壹 佰 案 例微 信 官 方 公 眾 號:壹 佰 案 例關 注 查 看 更 多 年 度 實 踐 案 例關 注 查 看 更 多 年 度 實 踐 案 例