《4、編程現場和智能同儕-百度CloudIDE及智能化代碼開發實踐-李楊.pdf》由會員分享,可在線閱讀,更多相關《4、編程現場和智能同儕-百度CloudIDE及智能化代碼開發實踐-李楊.pdf(28頁珍藏版)》請在三個皮匠報告上搜索。
1、編程現場和智能同儕李楊2023 China DevOpsDays-8月12日 北京-百度CloudIDE及智能化代碼開發實踐李楊百度工程效能部資深研發工程師 百度資源研發工程師 云端開發平臺(iCoding)的技術負責人。主要負責云IDE的整體設計及開發工作 AI編程助手(Comate)落地主要負責人 百度一級專利發明人,名下國內外發明專利10余個,已獲授權 國家重點研發計劃基于人機結對編程與協同進化的智能敏捷開發云平臺技術骨干講師簡講師簡介介3摘要摘要現代化編程現場-CloudIDE背景介紹-CloudIDE如何助力效能提升-CloudIDE技術架構介紹-CloudIDE場景介紹大模型驅動的
2、智能助手-百度代碼生成工具介紹-Comate場景演示-百度的落地效果-未來的展望與思考開發環境搭建開發環境搭建比較耗時環境跟代碼庫或者跟應用沒有關聯,新項目難以接手同組中開發人員的環境不統一帶來問題難以查找問題發現較晚,修復問題成本高編碼規范檢查在準入階段發現,在打回修改,效率低單元測試不能在開發環境迅速驗證編碼規范不能自動格式化,手動改規范比較耗時編程現場數據難以收集,單兵效率數據難以衡量編碼現場數據具有瞬時性,數據量較大,本地開發的話難以收集。編程現場的數據是衡量單兵效率的重要指標,沒有數據支撐,團隊及個人不能了解效率損耗的具體因素平臺眾多切換成本高開發常用平臺10+,需要多個平臺反復切換
3、完成各項研發工作打斷開發思路帶來較大的效率損失背景介背景介紹紹-為為什么要做什么要做CloudIDECloudIDE?研發工程師工作每天一半以上的時間是在電腦前工作,而這一半的里平均每小時切換13次工作任務 通過調研,82%的工程師認為認為平臺間的切換影響了他們的工作效率工程師編碼同時還需要處理的工作需求代碼掃描文檔代碼評審單測測試編譯聯調修Bug溝通流水線搜索研發工作臺需求管理平臺缺陷檢查代碼倉庫代碼規范檢查單元測試平臺云編譯平臺代碼評審單元測試內存泄露掃描聯調服務代碼搜索服務代碼生成以以CloudIDECloudIDE為為中心中心統統一研一研發發入口入口Devops能力左移助力效能提升軟件
4、工程里講,在開發過程中問題越早被發現,修正成本越低,開發成本也越低,開發過程中就會減少大量的重復工作。所以測試能力的左移的終極狀態是:編程現場圖中橙色線條代表了傳統測試發現缺陷的時間。如果我們能把測試活動向左移動,那么就意味著修復成本大幅下降需求管理需求管理需求需求迭代管理迭代管理任務管理任務管理本地編碼規范本地編碼規范開發開發開源安全掃描開源安全掃描代碼準入代碼準入編碼規范編碼規范單元測試單元測試自動化回歸自動化回歸云端編譯云端編譯可維護性檢查可維護性檢查安全掃描安全掃描全量源碼掃描全量源碼掃描測試測試全量安全掃描全量安全掃描測試用例管理測試用例管理壓力測試壓力測試全量靜態掃描全量靜態掃描性
5、能測試性能測試DIFFDIFF測試測試異常測試異常測試包管理規范包管理規范上線驗證上線驗證需求管理需求管理需求需求任務管理任務管理開發開發編碼規范檢查編碼規范檢查代碼評審代碼評審云端編譯云端編譯單元測試單元測試可維護性檢查可維護性檢查開源安全掃描開源安全掃描代碼準入代碼準入安全掃描安全掃描容量測試容量測試全量源碼掃描全量源碼掃描測試測試全量安全掃描全量安全掃描測試用例管理測試用例管理壓力測試壓力測試全量靜態掃描全量靜態掃描性能測試性能測試DIFFDIFF測試測試異常測試異常測試包管理規范包管理規范上線驗證上線驗證容量測試容量測試7數字化度量效率分析團隊協作能力代碼質量開發協作次數結對編程時長參
6、與CR次數實時糾錯數據等研發數字化開發者基于開發者行為數據 分析編碼時長、研發被打斷次數等開發者基于在線化的云IDE內完成開發工作,在編程現場產生海量的編程現場數據,這些數據具有瞬時性特點,在單兵提效又扮演著至關重要的角色。所以建設成編程現場大數據基礎設施,形成完整的批量、流式數據采集能力也至關重要。構建自動采集效能數據的能力構建自動采集效能數據的能力設計效能度量指標體系設計效能度量指標體系建立效能度量分析模型建立效能度量分析模型設計和實現效能度量產品設計和實現效能度量產品以以編程現場數據留存-單兵提效提供數據支撐CloudIDECloudIDE控制臺控制臺應用層應用層CloudIDEClou
7、dIDE接入層接入層基礎層基礎層控制臺首頁控制臺首頁內核內核工具工具集成集成數據倉庫(數據倉庫(Hive/AFSHive/AFS)工作區管理工作區管理機器管理機器管理分享工作區分享工作區定制研發模板定制研發模板幫助中心幫助中心我的工作空間我的工作空間腳手架管理腳手架管理開發業務場景開發業務場景接入接入插件生態插件生態項目管理插件項目管理插件代碼評審插件代碼評審插件代碼規范插件代碼規范插件代碼推薦插件代碼推薦插件云端編譯云端編譯缺陷檢查插件缺陷檢查插件客戶端客戶端遠程連接遠程連接projeprojectorctor瘦客瘦客戶端戶端遠程接入遠程接入云端編碼云端編碼版本控制版本控制工作區切換工作區切
8、換拓展安裝拓展安裝使用技巧使用技巧擴平臺支持(支持擴平臺支持(支持MacOsMacOs,LinuxLinux,WindowsWindows)不同計算架構(不同計算架構(X86,ARMX86,ARM)瘦客戶端瘦客戶端高安全性高安全性遠程調試服務端遠程調試服務端云端編碼調試云端編碼調試支持客戶端支持客戶端輕量化研發場景輕量化研發場景接入接入自研插件市場集成自研插件市場集成設計文設計文檔檔項目管理項目管理代碼掃描代碼掃描代碼評審代碼評審應用管理應用管理調度平臺調度平臺容器基礎調度容器基礎調度自平衡集群資源自平衡集群資源自動移出異常自動移出異常實例實例報警觸發擴縮容報警觸發擴縮容基礎環境基礎環境/工程
9、模板工程模板工程工程模板模板系統包系統包JDK/MavJDK/Mavne/Gradne/Gradlele等包等包基礎鏡基礎鏡像維護像維護實時數據接入(實時數據接入(APIAPI)IDEIDE行為日志接入行為日志接入應用日志應用日志控制臺行為日志接入控制臺行為日志接入K8SK8S集群集群數據庫(數據庫(mysqlmysql)RedisRedisMongoDBMongoDBIDEIDE進程進程監控監控容器資源容器資源監控監控性能監控性能監控系統應用系統應用模塊模塊基礎服務基礎服務CloudIDE整體架構介整體架構介紹紹CloudIDE場場景介景介紹紹-雙翼雙翼計計劃劃IDE EverywhereI
10、DE EverythingCloudIDE場場景介景介紹紹-雙翼雙翼計計劃劃研發環境一直在發展,也必然會繼續發展1991純手寫編碼1991年程序員使用紙帶純文本編寫代碼效率底下、對程序員要求高、成本極高1991IDE1991 1996 年開發、編譯集成到一個環境中效率略有提升、對程序員要求高、成本高1996自動補全1996 2021 年基于語法樹、特定觸發符號提供部分補全效率明顯提升、對程序員要求低、成本低2021AI補全2021 2030 年基于AI大模型學習,支持多種形式補全觸發效率提升非常明顯、對程序員要求低、成本低2030自然語言2030 年 90%的代碼由AI產生效率提升非常明顯、對
11、程序員要求低、成本低百度百度Comate-工程師的AI編碼助手基于百度飛槳文心3.0領先的大模型產品100萬+Github代碼庫+iCode開源代碼庫深耕IDE使用體驗編碼:需求具象化測試業務分析:抽象需求編程編寫代碼搜索代碼片段歷史實現其他人的實現閱讀文檔查找代碼錯誤與人交流驗證假設快速生成測試代碼做人不愛做的事快速補齊代碼自然語言直接生成代碼查找代碼錯誤,提升代碼質量大語言模型(LLM)在內容生成領域上產生了新一次變革AI將助力編程提效10倍 Github 私域代碼原始數據 Star數 活躍度數據源清洗 片段長度 復雜度內容清洗 語言分布 知識覆蓋分布平衡 FIM結構轉換Comate-模型
12、模型預訓練預訓練數據分析 語法解析 函數調用關系分析 文件依賴關系分析 獨立函數提取數據生產 測試函數與被測函數 代碼片段與注釋 代碼片段與代碼解釋 代碼問答對數據清洗 高復雜度函數過濾 無效注釋過濾 測試框架過濾與分類(單測)代碼格式化Comate-多多場場景精景精調調什么時候生成 單行 VS 多行 規則 VS AI 環境匹配度用什么生成 上文代碼 下文代碼 相關文件怎么生成 Prompt調優 專項SFT生成后咋用 質量檢測 可信度 后文合并不滿意怎么辦 多條推薦 更大規模模型介入Comate-工程工程優優化化CC+Java PythonGoPHPPerlRustKotlin Ruby Sw
13、iftShellLuaHTML+JavaScript+CSSTypeScript30+種語言/框架,支持前后端,軟硬件主流IDE覆蓋主流開發語言、支持主流IDE僅是一些示例,能做的遠非如此!Comate-效果展示效果展示 Comate場場景演示景演示-一個一個業務業務接口開接口開發發 Comate場場景演示景演示-多條推薦多條推薦 Comate場場景演示景演示-相似代相似代碼碼推薦推薦Comate場場景演示景演示-算法算法 Comate場場景演示景演示-注注釋釋生成代生成代碼碼 Comate場場景演示景演示-代代碼碼生成注生成注釋釋Comate場場景演示景演示-代代碼碼解解釋釋Comate場場景演示景演示-自然自然語語言生成代言生成代碼碼知識:編程現場大數據AI:文心大模型x調研&技術設計代碼評審編碼開發智能搜索精準跳轉方案推薦代碼推薦&生成注釋理解&生成自動糾錯&修復評論推薦風險預測修復建議反饋驅動優化過程創造數據Comate-總結總結Thanks感 謝 聆 聽2023 China DevOpsDays-8月12日 北京-掃碼添加微信