《張玉明-通義靈碼AI程序員解密:AI Agent在軟件研發領域的落地實踐.pdf》由會員分享,可在線閱讀,更多相關《張玉明-通義靈碼AI程序員解密:AI Agent在軟件研發領域的落地實踐.pdf(37頁珍藏版)》請在三個皮匠報告上搜索。
1、ML-SummitML-Summitwww.cpp-www.ml-summit.orgwww.gosim.orgwww.pm-summit.orgML-SummitML-SummitML-SummitML-SummitML-SummitML-Summit張張玉玉明明 阿阿里里巴巴巴巴高高級級技技術術專專家家專注于研發效能領域,在開發者工具打造、企業研發協作平臺架構及落地方面有超過10+年的實踐經驗。在阿里先后主導了自研代碼托管平臺0-1建設并實現對外商業化、帶領團隊在代碼智能化及Cloud IDE領域進行探索、推動云效5.0全平臺公專一體化架構的改造及落地,同時也是阿里巴巴P3C開源代碼規約檢
2、測工具的發起者和推動者。當前主要致力于探索AI Agent在通義靈碼產品的有效落地實踐,進一步提升開發者智能編碼體驗。演演講講主主題題:通通義義靈靈碼碼A AI I程程序序員員解解密密:A AI I A Ag ge en nt t在在軟軟件件研研發發領領域域的的落落地地實實踐踐ML-SummitML-Summit2 20 02 25 5 全球機器學習技術大會通義靈碼 AI 程序員解密:AI Agent 在軟件研發領域的落地實踐張玉明ML-SummitML-Summit目目錄錄1.回顧云效智能代碼平臺演進歷史2.AI 編碼工具的發展情況3.大語言模型下的軟件研發新范式4.通義靈碼 AI 程序員核
3、心技術能力構建5.AI 程序員典型應用場景6.下一步展望:持續構建智能編程的未來ML-SummitML-Summit回顧云效智能代碼平臺演進歷史2020-2022 代碼智能化探索代碼智能補全代碼編寫代碼文檔搜索推薦敏感信息檢測代碼檢測依賴包漏洞檢測源碼漏洞檢測代碼補丁推薦開發者畫像代碼調用鏈路代碼圖譜代碼變更鏈路代碼語法樹云效 CodeupCloud Toolkit評審耗時預估代碼評審評審人推薦語法跳轉引用ML-SummitML-Summit回顧云效智能代碼平臺演進歷史-智能代碼補全智能編碼本地服務端本地服務端更新觸發代碼補全觸發代碼搜索IDE插件Java語法服務NodeJS語法服務Pytho
4、n語法服務本地語法服務遠端模型ABTest遠程服務端補全結果后處理深度學習模型語義模型本地個性化模型規則引擎多模型融合數據預處理ML-SummitML-Summit回顧云效智能代碼平臺演進歷史-智能評審評審者計算耗時預估計算合適評審人代碼改動大小代碼復雜度項目歷史行為歷史開發者提交代碼評審代碼Diff語言特性掃描工具歷史評審機器人評審意見+人工評審意見 重復度檢測 P3C檢測 缺陷智能預測 敏感信息檢測ML-SummitML-Summit代碼缺陷檢測與補丁推薦-PRECFIXPatch Recommendation by Empirically Clustering(PRECFIX)背景:P3
5、C、FindBugs等傳統工具基于規則匹配,泛化能力不強;且無法定位業務相關缺陷PRECFIX目標:毫秒級檢測;能修復部分偏業務缺陷;包括不限于代碼邏輯(NPE、邊界溢出等)、代碼重構、API錯誤調用等類型的缺陷1.修復行為2.評審變更行為數據mit message2.代碼文本代碼數據1.評審操作數據2.線上異常日志日志數據數據及算法技術聚類算法深度學習特征提取代碼建模推薦算法ML-SummitML-Summit軟件工程智能化發展情況2020202120232024代碼理解代碼生成代碼補全CodeQwenGPT-4QwenCode LlamaQwen 2.5DeepSeek CoderDeep
6、Seek V3GPT-o3Claude 3.7 SonetQWQ單元測試生成倉庫級代碼生成注釋生成端到端軟件演化端到端軟件開發需求理解程序修復故障定位測試生成需求規劃文檔生成軟件開發軟件設計多任務能力20252022年11月30日 ChatGPT發布AI 1.0判別式 AIAI 2.0生成式 AIML-SummitML-Summit近一年智能編碼工具的發展情況AI 輔助編程工具爆發式增長,呈百家爭鳴態GitHub CopilotCursorAmazon QWindsurfTabnineCody AITONGYI LingmaComateDevinMarsCodeCodeGeexGenieRac
7、coonBable應用場景在擴大,產品邊界在延伸任務的復雜度環境信息復雜度低高高研發問答代碼補全編碼任務需求實現SDLCML-SummitML-Summit通義靈碼的演進路徑自自主主編編程程人類AI人:創意、需求澄清、結果驗收需需求求協協同同編編程程人:任務澄清、干預、結果審查任任務務人類AI輔輔助助編編碼碼人類AI人:技術設計、提示和確認代代碼碼通義靈碼 1.0ML-SummitML-Summit大語言模型下的軟件研發新范式影響整個軟件研發過程,多Agent互相協作完成復雜工作不改變軟件工程專業分工,增強領域專業技術,AI研發工具輔助人完成任務單一職能專家,能夠自主使用工具完成預定任務LLM
8、+AgentLLM+Multi-AgentsLLM+Copilot輔助完成任務自主完成任務協同處理復雜任務Large Language ModelTab 補全提示轉向了 Agent 對話模式,IDE 的智能輔助已逐步演變為自主決策規劃型協作者,環境感知+自主決策將成為后續智能編碼工具的標配。ML-SummitML-Summit大語言模型下的軟件研發新范式-何為對話式編程迭代 1 自然語言描述AI Coding 工具 2 生成 代碼開發者驗證 3機器語言匯編語言高級語言自然語言 編 程 語 言 演 變 ML-SummitML-Summit對話式編程為什么要基于 Agent 去做?在選擇使用 Ag
9、ent 的場景時,來自 Anthropic 的 Barry 給出了一個非常實用的標準:代理最適合的場景是那些既復雜又有價值,但失敗后的風險較低或監控成本不高的任務。編碼領域完全符合上述特征ML-SummitML-SummitAI Agent 如何更好的支持對話式編程AI編編碼碼能能力力從從片片段段級級到到多多文文件件級級代碼助手的能力已經從單文件簡單的片段級別注釋生成、單測生成、代碼優化等,進化到多文件級別的編碼任務,例如需求實現、批量測試用例生成、多文件代碼評審、批量代碼重構、三方依賴升級等。編編碼碼智智能能體體端端到到端端的的完完成成一一個個完完整整編編碼碼任任務務開發者只需要輸入準確的需
10、求和上下文,AI可自主完成從需求理解、任務規劃、代碼生成、DIFF生成全過程。開發者無需從零開始編碼,而是基于AI生成結果完成任務。更更多多的的復復雜雜步步驟驟實實現現自自動動化化AI可以進一步實現上下文自動感知、編程工具自動使用、自動功能驗證、自我反思迭代等自動化能力,進一步釋放開發者的生產力。成成為為可可以以信信任任的的編編程程伙伙伴伴隨著模型能力、Agent能力的成熟,開發者可以更加信任AI,并傾向于盡可能多的編碼任務交給AI完成。我們稱之為信任拐點,此時已經到來。AI更加擬人,從一個輔助生成功能,變成了可以交流溝通的編程伙伴。ML-SummitML-Summit通義靈碼 AI 程序員核
11、心技術能力構建1.優秀的架構設計2.全面完整的工程感知能力3.準確高效的代碼生成能力ML-SummitML-Summit通義靈碼 AI 程序員系統流程設計提示詞輸入提示詞組裝會話歷史上下文選擇智能體引擎Agent 編排記憶管理Agent 管理意圖識別與分發工具調用文件操作編譯器和命令行工程檢索編碼方案生成代碼 Diff 生成本地工程文件改寫代碼審查與采納ML-SummitML-Summit通義靈碼 AI 程序員 Agent 框架GraphMemoryToolChatModelCoreAgent 抽象多 Agent 模式工具擴展LLM 擴展ExtensionExecutor會話管理工具/Prom
12、pt 管理Agent 管理ManagerLingma Agent Framework監控ML-SummitML-Summit全全面面完完整整的的工工程程感感知知能能力力-為為模模型型輸輸入入準準確確上上下下文文本地服務代碼分析會話管理上下文感知代碼后處理向量檢索執行引擎服務端提示詞工程模型路由檢索增強知識管理擴展管理安全審計模型代碼補全模型專項任務模型研發問答模型IDE 客戶端智能問答上下文代碼補全上下文檢索服務向量檢索(稠密)向量檢索(稀疏)代碼全文檢索代碼圖譜檢索用戶原始提問當前代碼上下文工程信息本 地 工 程變 更 隊 列代碼變更.變更監聽索引服務向量索引全文索引代碼圖譜構建相 似 代
13、碼相 關 代 碼檢索結果聚合去重聚合結果Rerank排序篩選Top-K排序篩選檢 索 結 果ML-SummitML-Summit全全面面完完整整的的工工程程感感知知能能力力-為為模模型型輸輸入入準準確確上上下下文文用戶IDELingma AgentLLM上下文管理器向量檢索引擎全文檢索引擎代碼圖譜引擎1.輸入需求2.調用 lingma3.決策是否補充上下文4.工具使用:請求代碼上下文5.相似代碼檢索6.返回相似代碼7.關鍵字檢索8.返回相關代碼9.引用關系檢索10.返回相關代碼11.合并/去重/排序12.返回最相關的上下文13.生成代碼14.返回代碼15.編輯源文件16.呈現編輯結果模型會先思
14、考如何收集上下文再一步步調用檢索服務ML-SummitML-Summit準準確確高高效效的的代代碼碼生生成成能能力力-工工程程級級多多文文件件變變更更發起對話任務獲取上下文代碼編輯方案生成代碼變更應用代碼變更記錄文件變更代碼編輯方案使用雙階段架構進行解耦規劃與執行:采用大模型規劃(生成代碼編輯方案)+小模型執行(代碼 Diff Apply)的架構基礎大模型Diff Apply 微調模型源文件平均輸出速度 500 tokens/s,性能提升 10 倍ML-SummitML-Summit準準確確高高效效的的代代碼碼生生成成能能力力-工工程程級級多多文文件件變變更更準確高效超大文件源文件+代碼編輯方
15、案-修改后全文減少模型生成符符號號、數數字字時可能的幻覺針對代碼編輯方案、代碼變更結果進行檢查重試通過更精準的提示詞和重試解決模型指指令令遵遵循循效效果果可能不佳的情況源文件-代碼編輯方案-修改后全文第一階段,代碼編輯方案只輸出變變更更部部分分代代碼碼,顯著減少輸出 token第二階段,通過 N-gram 投投機機解解碼碼加加速速,顯著提升生成修改后全文的速度平均輸出速度 500 token/s,性能提升10 倍源文件-代碼編輯方案-修改片段 -修改后全文/片段針對大文件場景,增加生成修修改改片片段段階階段段,結合工程能力生成修改后全文,進一步減少輸出的 Token針對大文件場景,根據模型輸入
16、長度限制拆分源文件和代碼編輯方案,分段生成修改后的片段,解決模模型型輸輸入入長長度度有有限限的問題支持的文件長度 64k token大文件場景下應用代碼變更階段,換算后的平均輸出速度 1000 token/sML-SummitML-Summit面向軟件工程的數據合成和模型訓練從 到 https:/ 通義靈碼 SWE-GPT:從 靜態代碼建模 邁向 軟件開發過程長鏈推理ML-SummitML-SummitUnitTest Agent 全自動單測生成優化策略生成數量控制規范性風格統一單元測試框架支持運行/編譯失敗信息收集執行編譯和運行自主學習工程檢索能力微調訓練優化UnitTest Agent生成
17、單元測試編譯構建和運行搜索工程信息自主修復報告生成用例采納放入工程隱藏目錄內收集編譯或運行信息收集編譯運行失敗相關源碼定義模型推理嘗試多輪修復提供編譯運行覆蓋率等信息根據報告結果手動/自動采納研發流程中觸發編碼助手中觸發代碼評審階段持續集成階段代碼編寫階段ML-SummitML-Summit通義靈碼 AI 程序員 ML-SummitML-SummitAI 程序員典型使用場景典型場景 ML-SummitML-SummitAI 程序員典型使用場景新功能開發基于自定義的應用框架,結合任務描述,快速完成工程文件初始化;基于已有工程進行功能迭代,進行批量代碼修改,幫助開發者快速完成研發任務跨語言編程單元
18、測試編寫錯誤排查及修復ML-SummitML-SummitAI 程序員典型使用場景跨語言編程讓開發者跨越編程語言的邊界,擁有全棧能力,如 Java 開發者也可以與 AI 程序員協同,進行前端開發,或使用 Python、JavaScript 等多種語言,快速編寫小工具、小游戲新功能開發單元測試編寫錯誤排查及修復ML-SummitML-SummitAI 程序員典型使用場景單元測試編寫結合被測函數和文件,幫助開發者批量生成單元測試,并完成編譯和運行,比如針對每天完成的新增代碼,進行單元測試覆蓋,大幅提效新功能開發錯誤排查及修復跨語言編程ML-SummitML-SummitAI 程序員典型使用場景錯誤
19、排查及修復當開發者遇到編譯、調試錯誤,可以在 IDE 中選擇錯誤信息,或者直接提交報錯信息截圖,靈碼可自動進行分析,給出解決方案和代碼修改建議,幫助開發者快速進行問題排查修復新功能開發跨語言編程單元測試編寫ML-SummitML-Summit下下一一步步展展望望ML-SummitML-Summit持續構建智能編程的未來IDE 深深度度融融合合加入更多 IDE 原生工具能力,如Lint工具、Debug工具等,使其與 Agent 無縫結合,進一步提升編碼效率和質量。通通用用研研發發智智能能體體工工具具生生態態擴擴展展通過 MCP 工具市場接入豐富的三方工具,不斷擴展Agent能力邊界。主主動動學學
20、習習根據用戶行為偏好總結用戶畫像、將成功經驗自動沉淀以應用于未來相似的任務,進而形成智能體長期記憶,使編程智能體越來越聰明、越來越懂開發者。自自定定義義 Agent通過自定義規則及工具配置支持用戶定制符合個性化研發場景的智能體。打造下一階段通用研發智能體的核心原則:簡簡單單、智智能能、主主動動學學習習ML-SummitML-SummitDevOps 全鏈路工具將面臨重塑AI 智能平臺層(意圖識別、用戶習慣、提示詞工程、用戶鑒權)模型流量調度模型推理服務模型微調 SFT檢索增強 RAG企業級數據管理AI 程序員企業研發數據及數字資產管理設計需求/缺陷代碼托管CI/CD知識庫可觀測IDE開發者研發門戶MCPTools設計編碼檢查構建測試發布智能體將全面集成傳統研發工具在 IDE 環境中的智能體可以基于MCP協議集成大量傳統研發工具,替代過去繁瑣的基于Web界面的人工操作,完成從設計編碼測試發布的全過程。企業級研發場景垂直化與模塊化未來將更多地針對特定行業或場景進行模型微調、知識庫沉淀,同時通過可插拔的模塊化設計,企業可以靈活地在基礎大模型上集成自有數據和功能,滿足個性化需求。ML-SummitML-SummitThank youML-SummitML-Summit