2024智能化軟件開發(fā)落地實踐指南_第1頁
2024智能化軟件開發(fā)落地實踐指南_第2頁
2024智能化軟件開發(fā)落地實踐指南_第3頁
2024智能化軟件開發(fā)落地實踐指南_第4頁
2024智能化軟件開發(fā)落地實踐指南_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

中國信息通信研究院人工智能研究所華為云計算技術有限公司2024年9月版權聲明本報告版權屬于中國信息通信研究院、華為云計算技術有限公司,并受法律保護。轉載、摘編或利用其它方式使用本報告文字或者觀點的,應注明“來源:中國信息通信研究院、華為云計算技術有限公司”。違反上述聲明者,編者將追究其相關法律責任。2024年《政府工作報告》首次提出“人工智能+”戰(zhàn)略行動,旨在推動人工智能賦能各行各業(yè)。以大模型為代表的新一代人工智能技術迅猛發(fā)展,已成為軟件工程領域智能化轉型的關鍵驅動力,為軟件開發(fā)、測試等環(huán)節(jié)注入新智力。智能化軟件開發(fā)工具憑借其強大的代碼理解和生成能力,有效降低了開發(fā)人員的技術門檻,并提然而,在軟件開發(fā)的智能化能力建設和應用過程中,仍面臨諸多挑戰(zhàn),如代碼大模型選擇困難、開發(fā)工具的工程化建設復雜、智能化能力建設無參考、開發(fā)場景選擇和落地難,以及與現(xiàn)有開發(fā)工具或流水線的集成難等問題。為此,本指南旨在為正在進行軟件開發(fā)智能化轉型的企業(yè)提供一份實用指南,為企業(yè)制定落地策略、建設智能開發(fā)能力體系提供有力參考。本指南系統(tǒng)梳理了智能化軟件提出了具體的落地方向、路徑和框架,詳細闡述了落地所需的核心能力和使能能力,并對多個行業(yè)的落地案例進行了深入剖析,最后由于大模型等人工智能技術產業(yè)仍處于快速發(fā)展階段,智能開發(fā)相關的技術產品、服務和應用也在不斷演變,我們的認識將隨著 1(二)智能開發(fā)發(fā)展現(xiàn)狀 5(三)智能開發(fā)價值顯現(xiàn) 7(四)智能開發(fā)落地挑戰(zhàn) 9 (一)智能開發(fā)落地原則 (二)智能開發(fā)落地步驟 12(三)智能開發(fā)落地框架 15 (一)代碼生成與補全 17(二)單元測試用例生成 19(三)代碼轉換與優(yōu)化 21(四)代碼解釋與注釋 22(五)代碼檢查與修復 23(六)研發(fā)問答 24 (一)代碼數據處理能力 26(二)代碼大模型優(yōu)化能力 28(三)智能開發(fā)能力評估 30(四)智能開發(fā)安全能力 32(五)其他工程化能力 36 (一)云服務行業(yè)案例 41(二)軟件服務業(yè)案例 42 44(四)金融行業(yè)案例 46(五)制造行業(yè)案例 47 3 23 39 1一、智能開發(fā)發(fā)展概述軟件工程領域正迎來前所未有的變革,軟件開發(fā)的流程和模式正被重新定義,智能化進程顯著加速。本章將簡要回顧軟件工程的發(fā)展歷程,重點介紹軟件工程3.0的發(fā)展特點,以及智能化軟件開發(fā)(以下簡稱:智能開發(fā))領域發(fā)展現(xiàn)狀,并深入探討智能化能力為軟件開發(fā)帶來的價值提升,最后梳理落地挑戰(zhàn)。(一)軟件工程步入3.0時代1.軟件工程發(fā)展歷程軟件工程自1968年誕生以來,其發(fā)展歷程括軟件工程1.0、軟件工程2.0和軟件工程軟件工程1.0,即第一代軟件工程,亦稱為“傳統(tǒng)軟件工程”。本階段的發(fā)展起點可追溯至上個世紀六十年代,隨著大容量、高速度復雜程度越來越高,可靠性問題更加突出。為解決該類軟件危機,21968年北大西洋公約組織(NATO)在國際會議上首次提出“軟件工程”概念,期望將軟件開發(fā)帶出混亂的局面,走向有紀律、有流程的規(guī)范化之路。軟件工程1.0推崇結構化方法,重視流程和文檔規(guī)范化等工程實踐,對提升軟件產品交付成功率和質量有重大意義。但在軟件工程1.0時期,由于軟件被當作傳統(tǒng)的工業(yè)制造產品進行交軟件工程2.0,亦稱“敏捷軟件工程”。本階段的發(fā)展自2001年“敏捷軟件開發(fā)宣言1”發(fā)布起,通過踐行敏捷開發(fā)最佳實踐,實現(xiàn)持續(xù)集成(CI)、持續(xù)交付(CD)和快速迭代以更好地滿足日益變化而服務的性能、效率、可靠性、可持續(xù)性也更加重要,這推動人們將軟件開發(fā)和運維融合起來,DevOps模式應運而生,使得軟件交付技術門檻和研發(fā)成本居高不下,對技術人員的依賴性非常高,雖然陸續(xù)有自動化技術的出現(xiàn)和落地,對效能提升方面未有顯著成效,“軟件工程沒有銀彈2”這一觀點仍然有效。軟件工程3.0,亦稱“智能化軟件工程”。2022年底以來,隨著ChatGPT等大模型相繼發(fā)布,軟件工程迎來新一輪變革。大模型憑借其強大的理解和生成能力,通過代碼生成、代碼續(xù)寫、測試用例生成、智能問答等能力,為軟件工程帶來了智能化能力升級,為提1https://agilemanifes3升軟件質量和效率帶來了新動力,全新的軟件開發(fā)范式正在誕生。2.軟件工程3.0發(fā)展特點使用大模型為核心的AI技術驅動軟件全生命周期能力升級(如圖2所示)。本階段以構建支持軟件開發(fā)、測試或運維等環(huán)節(jié)的AI模型為基礎,將智能化技術逐步運用至軟件工程各階段,促進軟件研發(fā)和運營效率的提升、質量的躍進、成本的降低。本階段的發(fā)展特性較為明顯,核心特點包括智能化、數據驅動性、交互性、自適應和調取和應用,以實現(xiàn)工具自身能力的提高,為智能化軟件工程打下堅實基礎。例如,將大模型與測試平臺對接,提供測試用例生成、測試結果分析等能力,提高測試平臺效能;將大模型與用戶界面4(UI)測試工具對接,提供界面要素和組件等識別能力,提高UI測數據驅動性,高質量數據是大模型成功的關鍵,“GarbageIn,規(guī)范類文檔數據集、測試用例數據集、日志數據集等,均將應用于大模型的訓練、調優(yōu)和推理過程,其質量高低直接影響推理結果,從而影響軟件工程智能化能力帶來的效果。例如,使用了精調代碼數據集訓練后的模型,相比基座模型在MultiPL-E上的評測結果絕對值提升了8.2%,而使用了未精調的普通的代碼加注釋的數據集訓交互性,包括兩個方面,一是大模型與人之間的人機交互,二是大模型與工具間的交互。人機交互將不斷相互啟發(fā)、相互促進,大模型可學習特定項目的上下文和研發(fā)人員的偏好,并根據更優(yōu)的提示詞,激發(fā)出更符合期望的推理結果,提高協(xié)作效率;大模型與工具間交互,將通過智能體(AIAgent)、編排等方式,實現(xiàn)大模型對各工具的調取和執(zhí)行,以解決更加復雜的工程級問題,推動全生命周期智能化能力的提升。例如,2024年3月Cognition公司發(fā)布的全球首個AI程序員Devin,以及8月Cosine公司發(fā)布的全球最自適應性,根據對工程級代碼的更優(yōu)理解能力,以及檢索增強4Magicoder:EmpoweringCodeGenerationwithOSS-INSTRUCT5生成(RAG)等技術的輔助能力,大模型的自學習能力越發(fā)強大,這使得智能化軟件工程對場景化的業(yè)務和數據具備更好的理解和適應能力,從而實現(xiàn)自主提升其推理性能和準確性。例如,代碼大模型可在不同角色設定下展現(xiàn)良好的自適應性,MetaGPT為大模型賦予了多個人設(產品經理、架構師、開發(fā)工程師等)后,其HumanEval評測結果為85.9%,相比未設定人設的大模型評測結果(二)智能開發(fā)發(fā)展現(xiàn)狀開發(fā)是軟件工程全生命周期中的核心環(huán)節(jié),開發(fā)人員大約有三分之二的工作時間與開發(fā)代碼直接相關7,應用大模型助力軟件開發(fā)具有得天獨厚的優(yōu)勢。一方面開發(fā)人員對新技術的接納度較高,能夠更快地適應開發(fā)新范式;另一方面各類編程語言對業(yè)務的依賴度不是非常高,使得代碼生成能力的普適性較強。因此軟件開發(fā)是大5MetaGPT:MetaProgrammingforAMulti-AgentCollabo7https://thenewstack.io/how-much-time-do-developers-spend-actually-writing-code/6智能開發(fā)工具市場迅速發(fā)展,國內外百花齊放。國外,截止2024年4月微軟的GitHubCopilot擁有180萬付費訂閱用戶,近有率達到64.5%10。亞馬遜的CodeWhisperer、谷歌的ProjectI產品雖難以并肩,但依靠其強大的用戶規(guī)?;A,仍具備較強競爭百度等提供的智能開發(fā)工具產品,其核心功能較為同質化,但工具智能開發(fā)工具能力持續(xù)提升,應用行業(yè)更加多元化。智能開發(fā)工具重點聚焦于代碼生成、代碼補全、代碼注釋、代碼檢查、智能單測等能力。一方面代碼大模型能力的持續(xù)提升為工具提供了更強的AI底座,根據智源大模型排行榜顯示,榜首大模型在HumanE81.1%13;另一方面通過RAG、自學習、輔助的下一代開發(fā)工具,為工程級代碼提供了更優(yōu)的理解和生成能力。隨著能力的持續(xù)提升,智能開發(fā)工具被越來越多行業(yè)所接受和應用,包括如互聯(lián)網等科技行業(yè)的成熟落地,金融、電信、軟件服9/features/copilot11/favorites/ai-programming-tool13/#/leaderboard/nlp-capability?kind=CH7務等行業(yè)的逐步落地,能源、零售、教育、制造、物流等領域的試點試行,未來智能開發(fā)工具將為各行各業(yè)的軟件研發(fā)提供強有力支應用需求快速增長,編碼階段提效顯著。無論個人還是企業(yè)開發(fā)者,使用智能開發(fā)工具的人數和頻次越來越多。根據StackOverflow2024年的全球開發(fā)者調研顯示,76%的受訪者正在或計劃使用AI工具進行軟件開發(fā),使用AI工具的開發(fā)者數量占比從去年44%提升至62%14。根據CSDN2024年的調查顯示,48.6%開發(fā)構正在探索或已經實施了智能開發(fā)工具以加速創(chuàng)新。智能開發(fā)工具的使用助力開發(fā)人員編碼效率提升明顯。根據GitHub報告顯示,使用GitHubCopilot的開發(fā)者編碼速度提升55%,編寫代碼量增加46%16。根據中國信通院2024年初調研問卷數據顯示,受訪者在開(三)智能開發(fā)價值顯現(xiàn)在大模型應用浪潮中,軟件開發(fā)的智能化轉型正成為企業(yè)提升軟件產品競爭力的關鍵因素,通過智能化能力的注入,為軟件開發(fā)提升開發(fā)效率,降低項目風險。通過代碼生成、代碼補全和問答等能力,開發(fā)人員能夠更迅速地編寫高質量代碼,顯著減少手動16TheeconomicimpactoftheAI-powereddeveloperlifecycleandles8調試和錯誤修復時間。同時可降低項目對開發(fā)人員的依賴,通過智能開發(fā)工具的學習和記憶能力,一方面可輔助新的開發(fā)人員快速開發(fā)出符合項目需求和規(guī)范的代碼,另一方面可幫助開發(fā)人員快速學習新的編程語言,從而減少人員流動帶來的項目風險。根據BIS年度經濟報告顯示,智能開發(fā)工具對程序員的生產力提升超過50%,且其中僅有小部分來自于代碼的直接生成,而更多是通過與機器交改善代碼質量,提高產品穩(wěn)定性。通過代碼質量檢查和智能單測等能力,開發(fā)人員能夠快速進行代碼驗證和測試,及時發(fā)現(xiàn)并修復潛在的問題和漏洞,如代碼缺陷、代碼異常、代碼風險等,從而幫助開發(fā)人員編寫出更高質量的代碼,降低軟件發(fā)布后的故障率,提升軟件的穩(wěn)定性和性能。例如,GitHubCopilot可幫助開發(fā)人員在加速產品創(chuàng)新迭代,增強企業(yè)競爭力。通過提升開發(fā)效率和改善產品質量,企業(yè)能夠更快地推出創(chuàng)新產品,搶占市場先機,從而在激烈的市場競爭中脫穎而出。一方面,智能化的軟件開發(fā)流程使開發(fā)周期縮短,企業(yè)能夠更靈活地適應市場變化,加快產品迭代速率;另一方面,智能開發(fā)工具的輔助使得開發(fā)人員能夠從重復性的繁瑣的低端編碼工作中釋放出來,從而擁有更多時間投入創(chuàng)新相關工作,提升企業(yè)創(chuàng)新能力。例如,2023年5月GitHub首席執(zhí)行官18/software-integrity/resources/analyst-reports/open-sourcanalysis.html#UXexecuti9在全球網絡峰會(WebSummit)上,演示GitHubCopilotX實現(xiàn)簡單的貪吃蛇小游戲用時為18分鐘,而2024年8月通過真實操作,(四)智能開發(fā)落地挑戰(zhàn)隨著智能化技術在軟件開發(fā)領域的廣泛應用,其帶來的質效提升日益顯著。然而,企業(yè)在推進軟件開發(fā)的智能化能力建設和落地時,仍面臨諸多挑戰(zhàn),涵蓋組織、技術、應用落地及安全等多個層組織變革和轉型的挑戰(zhàn)。軟件開發(fā)的智能化轉型首先帶來的是組織變革,一是組織文化的重塑,其落地要求組織具備開放合作、持續(xù)學習和創(chuàng)新的文化氛圍,促進跨部門溝通與協(xié)作,打破信息孤島;二是全員認知水平的提升,自頂向下每位員工都應深刻理解智能化的潛力與挑戰(zhàn),客觀且正確地了解大模型等人工智能技術及其作用;三是人才結構的調整與補充,由于數據治理及模型訓練調優(yōu)模型技術迭代及與工具融合的挑戰(zhàn)。當前智能開發(fā)能力建設的核心技術是大模型,因此圍繞大模型面臨著技術迭代的挑戰(zhàn)。一是大模型的技術能力仍以較快速度迭代更新,企業(yè)需配備良好的維護如何與現(xiàn)有軟件研發(fā)工具集有效融合或改造,從而提升軟件工程全產品選型與應用場景落地的挑戰(zhàn)。企業(yè)需根據自身行業(yè)特點、和方案。然而,一方面現(xiàn)有代碼大模型和智能開發(fā)工具數量繁多,如何建設或選擇出一款合適的模型或工具,如何評價模型或工具的能力,均是落地時考慮的重點;另一方面不同業(yè)務場景的編程語言可能不盡相同,或代碼數據集或規(guī)范不一致,如何選擇最優(yōu)場景試代碼數據、模型和工具的安全性挑戰(zhàn)。生成式代碼可能會帶來更多不可控的風險,因此企業(yè)應從數據、模型和工具多維度構筑風險防線,以應對安全挑戰(zhàn)。第一道數據防線,面向模型訓練和調優(yōu)階段所需的代碼數據集,可能面臨敏感代碼數據的泄露、未經許可代碼的訓練、非法代碼的推理等問題;第二道模型防線,面向代碼大模型在推理和管理階段,可能面臨暴力攻擊、非法套取、非法提問、敏感內容推理、被惡意使用生成惡意軟件代碼或攻擊腳本等問并關注關聯(lián)代碼庫、第三方軟件開發(fā)工具的數據傳輸和集成安全,二、智能開發(fā)落地策略隨著代碼大模型和智能開發(fā)工具如雨后春筍般出現(xiàn),各行業(yè)陸續(xù)規(guī)劃和試點將智能化能力有效地落地應用于開發(fā)環(huán)節(jié)。本章將首先總結智能開發(fā)落地遵守的主要原則,其次就落地關鍵步驟進行深(一)智能開發(fā)落地原則智能化軟件開發(fā)落地是指應用方企業(yè)通過采購或自研等方式,構建智能化能力,包括代碼大模型能力和智能開發(fā)工具能力,并將其應用落地于軟件開發(fā)過程。作為大模型應用的重要場景,根據中國信息通信研究院對金融、軟件、電信等行業(yè)關于智能開發(fā)落地實目標導向原則,以企業(yè)戰(zhàn)略定位為首要目標,落地策略和方案因地制宜原則,從企業(yè)實際情況出發(fā),清晰了解已有AI基礎及成本預算,從而制定合適的策略。如企業(yè)自身的科技實力、人才儲應用優(yōu)先原則,從業(yè)務實際需求出發(fā),明確亟需解決的問題,標準化原則,參考行業(yè)標準開展能力構建,以保證數據質量、模型性能及工具可塑性。如代碼數據如何處理如何配比,模型如何調優(yōu),工程化能力如何建設,推理準確性應達到何等水平,均可以安全性原則,圍繞能力建設全過程構建安全保障機制,降低新工具引入的風險,提升安全治理能力。如代碼大模型推理安全、數持續(xù)改進原則,構建持續(xù)反饋機制和數據驅動流程,通過效能指標數據推動工具和流程的持續(xù)改進。如面臨模型退化、新項目新代碼數據等情況,應通過持續(xù)改進從而保證代碼大模型的能力穩(wěn)定(二)智能開發(fā)落地步驟落地智能化能力是一個全面且系統(tǒng)化的過程,尤其面向已成體系的軟件開發(fā)過程,構建清晰明確的落地步驟,將為有效落地提供良好指引。智能開發(fā)落地過程可劃分為自我診斷、方案設計、部署開展多維度自我診斷,科學客觀定位自身能力。診斷維度上,通過應用場景診斷,明確智能開發(fā)能力在企業(yè)內部的落地場景,幫助梳理當前需求和未來規(guī)劃的需求;通過技術能力診斷,明晰企業(yè)在人工智能領域的優(yōu)勢和不足,明確是否具備足夠技術儲備開發(fā)或維護代碼大模型或智能開發(fā)工具的能力;通過基礎設施診斷,深入了解企業(yè)現(xiàn)有算力資源、存儲資源、數據資源等,幫助企業(yè)做好基礎性準備;通過安全可信診斷,明確企業(yè)自身對安全可信的要求,從而便于制定安全保障機制。能力定位上,企業(yè)根據戰(zhàn)略規(guī)劃、基礎設施、數據資產、人才儲備、經費預算等方面的能力現(xiàn)狀,并結合安全可信要求,綜合研判自身已有智能化能力等級,可劃分五個根據自我診斷及能力定位結果,選擇合適的實施方案。L1企業(yè)L2企業(yè)可采購軟硬件集成的智能開發(fā)工具(如智能編碼一體機),以實現(xiàn)智能開發(fā)能力的本地化部署,形成一體化解決方案;L3企業(yè)可采購包含代碼大模型的智能開發(fā)工具進行私有化部署,保障企業(yè)級代碼資產的安全,并通過采購模型調優(yōu)和升級等服務,保證大模型能力的穩(wěn)定;L4企業(yè)可采購解耦的代碼大模型和智能開發(fā)工具,或者選用高性能大模型訓練微調成自有代碼大模型,構建定制化的智能開發(fā)能力;L5企業(yè)依托豐富的算力、數據、人才等基礎,可考慮自主研發(fā)代碼大模型,并依此構建軟件工程領域的工程化能力,根據實施方案按計劃部署和實施。一是明確資源配置、任務分工等,并制定風險管理計劃開展必要的軟硬件采購與資源配置,確保相關落地要求;三是開展代碼大模型和智能開發(fā)工試,確保其準確性、穩(wěn)定性、安全性和可靠性行培訓并提供技術支持,選定試點項目或團隊根據實施效果持續(xù)優(yōu)化和改進。建立有效的指標體系和監(jiān)控機制,一方面持續(xù)地自動化監(jiān)測大模型推理效果和應用成效,如推理準確率、代碼采納率、代碼修復率、代碼生成占比等指標;另一方面定期收集用戶反饋,根據數據分析結果明確問題和優(yōu)化方向。構建大模型維護更新機制,通過獲取和生成高質量代碼數據集,開展(三)智能開發(fā)落地框架本層建設目標是在基座大模型的基礎上訓練調優(yōu)生發(fā)問答大模型。代碼補全大模型的任務是代碼生成與是應對更為復雜的代碼解釋、代碼檢查和研發(fā)問答等服務層依托AI底座能力,運用更多技術手段增強或調度大模型能力。通過模型調度,針對工具層不同的操作精確匹配調度相應模型,確保模型資源的合理分配與高效利用;通過提示詞封裝,對用戶常用功能設計提示詞模板,豐富用戶問題的表述,使模型能夠更全面、準確地理解用戶意圖,提供更精確的推理結果;通過RAG將通過AIAgent輔助,以感知和記憶能力將復雜研發(fā)問題進行拆解,應用層以用戶為核心提供各類智能開發(fā)功能,主要包括智能編碼和開發(fā)者輔助兩大類功能,并將其集成于IDE(集成開發(fā)環(huán)境)等工具中為用戶提供直接服務。應用層能力一方面基于服務層對大模型能力進行了加強,如對工程級別的代碼理解和生成能力更強,能夠智能識別IDE當前打開的多文件內容,并將其作為大模型輸入的上下文,提升跨文件感知能力;另一方面應用層為工具打造了更優(yōu)異的用戶體驗,如兼容適配主流IDE、操作系統(tǒng)以及常見自然語言等,建設自定義配置相關功能,優(yōu)化輸入輸出性能,建立用戶反三、智能開發(fā)核心能力建設在軟件開發(fā)過程中,無論是企業(yè)開發(fā)者還是個人開發(fā)者,都面從而導致編碼效率低下或存在質量隱患。因此,在智能開發(fā)能力建設過程中,可優(yōu)先構建核心能力,如代碼生成與補全、單元測試用例生成、代碼轉換與優(yōu)化等能力可提升編碼效率,代碼解釋與注釋生成等能力可增強代碼可讀性,代碼檢查與修復等能力可提高代碼(一)代碼生成與補全代碼生成與補全是指根據自然語言描述或代碼上下文,自動生成或補全代碼的能力。通過代碼生成與補全,可幫助開發(fā)人員提高1.關鍵能力l代碼生成能力:基于自然語言描述,生成有效的片段級或文l代碼補全能力:根據代碼上下文,補全有效的引用、類/方法/l多維兼容能力:支持多種主流(或所需)編程語言和開發(fā)框l代碼質量能力:生成和補全的代碼滿足基本的質量規(guī)范要求2.擴充能力l根據多模態(tài)輸入生成代碼能力;l知識庫接入能力,可提供更符合企業(yè)內部業(yè)務邏輯或規(guī)范的l第三方工具對接能力,如與版本管理工具的對接,支持代碼3.重點和難點l推理效率提升:代碼生成與補全是使用頻率較高的功能,且流式生成對推理速度有較高要求,因此優(yōu)化模型推理效率是本能力l高質量數據集構建:在代碼大模型訓練或調優(yōu)過程中,高質l提示詞工程優(yōu)化:基于意圖識別對提示詞模板進行調優(yōu),輔l上下文理解能力:準確理解代碼上下文,如變量的作用域、函數的調用關系、跨文件間代碼邏輯等,對提升推理準確度有明顯l模型持續(xù)改進:通過代碼采納與拒絕等歷史數據構建數據飛采用三“碼”合一方案(將訓練態(tài)SFT代碼語料、檢索態(tài)RAG代碼語料、推理態(tài)補充代碼語料組裝)優(yōu)化Prompt模板,形成統(tǒng)一的Prompt模板,構建成一個一致的訓練和推理邏輯,通過將訓練階段與推理階段的格式保持一致,可明顯提升代碼模型在垂直領域上的適應性和魯棒性,使其在不同場景下保持較(二)單元測試用例生成單元測試用例生成是指根據輸入的代碼,自動生成用于測試該代碼的單元測試用例。通過單元測試用例生成,可幫助開發(fā)人員減少編寫單元測試用例的時間,并提高單元測試覆蓋率,提升代碼質1.關鍵能力l用例生成能力:根據函數級或文件級代碼,生成單元測試用l用例質量能力:生成的用例滿足基本的質量規(guī)范要求,且具2.擴充能力l生成的單元測試用例可自動對部分外部依賴進行打樁,且打3.重點和難點l結合傳統(tǒng)代碼分析技術:加強大模型對代碼結構和邏輯的理解,如對函數、類和模塊級的接口,以及各類控制流和數據流進行l(wèi)結合多樣性測試技術:支持隨機測試、符號執(zhí)行、模糊測試l單元測試用例生成能力的評估:通過編譯正確性、覆蓋充分性、錯誤檢出率等指標對推理結果進行綜合評價,是本能力建設難采用大模型與傳統(tǒng)軟件分析等技術相組合的方式提升單元測試用例生成效果,傳統(tǒng)分析工具通過整體分析被測工程,獲取被測函數的依賴、測試場景等,生成用例初始化部分,而大模型生成用例的函數部分可結合軟件分析的后處理算法,大幅度提高生成用例的編譯(三)代碼轉換與優(yōu)化代碼轉換與優(yōu)化是指在保持代碼邏輯和功能不變的基礎上,對輸入的代碼進行不同語言或不同框架之間的轉換,或特定方向的優(yōu)化。通過代碼轉換可幫助快速理解代碼,通過代碼優(yōu)化可幫助解決1.關鍵能力l代碼轉換能力:根據給定的代碼,轉換成不同編程語言、不l代碼優(yōu)化能力:根據給定的代碼,提供規(guī)范性、性能和復雜l轉換和優(yōu)化質量能力:轉換和優(yōu)化后的代碼滿足基本的質量2.擴充能力l知識庫的接入能力:使轉換和優(yōu)化后的代碼更符合企業(yè)內部3.重點和難點l集成優(yōu)化算法:集成各種優(yōu)化算法,如循環(huán)優(yōu)化、內存訪問(四)代碼解釋與注釋代碼解釋與注釋是指對輸入的代碼進行解釋或注釋的生成。通過代碼解釋,可幫助開發(fā)人員快速理解大量代碼或不熟悉的代碼,通過代碼注釋,可提高代碼的可讀性和可維護性,幫助開發(fā)人員生1.關鍵能力2.擴充能力l知識庫的接入能力:使代碼的解釋和注釋內容更符合企業(yè)內3.重點和難點l語義理解及關鍵詞識別:準確理解代碼語法、語義,并識別領域知識(如設計文檔、開發(fā)規(guī)范等)、工程上下文調用信息等,并根據開發(fā)者實時行為,精確檢索上下文,提高代碼解釋與注釋的(五)代碼檢查與修復代碼檢查與修復是指對代碼進行相關問題的檢查,并根據檢查出的問題進行自動修復。通過代碼檢查,可幫助開發(fā)人員發(fā)現(xiàn)代碼1.關鍵能力l代碼檢查能力:根據給定的代碼,進行代碼規(guī)范性問題、代碼異味、代碼語法錯誤、代碼邏輯錯誤、代碼安全漏洞等問題的檢l代碼修復能力:根據檢查出的問題,提供代碼修復建議及修l檢查和修復的質量能力:代碼檢查的錯誤檢出率和誤報率達到要求,修復后的代碼需滿足基本的質量規(guī)范要求,且保留了原代2.擴充能力l對多文件的工程級代碼進行問題檢查和修復;l代碼檢查規(guī)則的自定義能力;l對污點類問題進行檢查,可跟蹤和分析污點數據(或輸入)3.重點和難點l提示詞優(yōu)化:制定代碼檢查與修復提示詞模板,支持檢查風格類問題、質量類問題、安全漏洞、性能缺陷、邏輯缺陷、行業(yè)規(guī)l降低誤報率:傳統(tǒng)漏洞掃描工具誤報率較高,基于大模型的(六)研發(fā)問答研發(fā)問答是指利用自然語言處理、信息檢索等技術進行研發(fā)相關問題的解答,幫助開發(fā)人員提供問答輔助能力,提高研發(fā)和創(chuàng)新1.關鍵能力l代碼搜索能力:根據關鍵詞分析或語義理解等,快速、準確l多輪對話能力:可通過多輪對話,不斷優(yōu)化答案以更加準確2.擴充能力l可追溯能力:可明確推理答案的參考來源;3.重點和難點l多輪對話感知:理解和保存用戶多輪問答交互結果,作為下l交互式反饋機制:提供答案反饋機制,以便不斷優(yōu)化答案的四、智能開發(fā)使能能力建設構建代碼數據集、調優(yōu)代碼大模型、評估代具等使能能力同樣重要。本章將圍繞數據、(一)代碼數據處理能力代碼大模型所需的代碼數據集包括純代碼數據,以及代碼和文本的混合數據。通過有效地管理和處理代碼數據集,將其處理成可直接被用于模型訓練調優(yōu)的高質量代碼數據集,為代碼大模型提供數據清洗數據清洗用于過濾低質代碼數據,提升數據質量。代碼數據清洗主要包括數據過濾、數據去重、敏感數據處理、許可協(xié)議(License)過濾等環(huán)節(jié)。不同數據可采用不同處理方式,開源代碼數據可進行所有方式的清洗,私有代碼數據可進行數據過濾、數據數據過濾是篩選、排除或提取數據集中特定部分,過濾方法主要包含三種。基于規(guī)則過濾是采用基于正則表達式、專家規(guī)則、點贊數量等規(guī)則的過濾器,識別并刪除空白文件、自動生成的代碼數據、有效信息過少的數據等;基于程序分析過濾是采用語法解析器和抽象語法樹過濾存在語法錯誤的代碼數據,采用規(guī)范檢查規(guī)則或工具過濾掉不符合規(guī)范和不安全的代碼數據;基于模型過濾是采用標注的高質量和低質量數據,訓練質量模型分類器,對代碼數據質數據去重是從數據集中消除冗余的重復記錄,僅保留具有唯一性的數據條目,提升數據質量和存儲效率。去重方式包含精確去重和近似去重,去重策略包含代碼的文件級去重和倉庫級去重,有效敏感信息處理是指識別并移除或替換數據中的敏感信息,包含可采用正則表達式、深度學習與機器學習、人工審查等技術實現(xiàn)敏License過濾是檢驗并去除開源代碼中不允許使用的數據。開源代碼License包含允許使用、不允許使用和無規(guī)定,為保證開源數據使用的合規(guī)性,可使用ScanCode-Toolkit等許可檢測工具,過濾掉非法數據,將允許使用和無規(guī)定的開源數據數據增強數據增強是通過對現(xiàn)有代碼數據執(zhí)行有意義的變換和擴充,生成新代碼樣本,增加數據集的多樣性和豐富度,提高模型泛化能力和魯棒性。注釋增強是通過人工或自動化方式在代碼的方法定義、循環(huán)、條件語句等位置新增注釋,增強代碼可讀性,例如開源代碼果;上下文增強是在準備微調數據時,將代碼數據擴充增加相關聯(lián)的上下文、依賴、外部對象和方法等信息;數量及多樣性增強用于提升代碼數據覆蓋度減少過擬合,常用方法如Self-Instruct、Evol-數據檢查數據集的質量決定了大模型的性能,代碼數據集在處理過程中應滿足一定要求。數據集質量方面,應滿足語法正確、編碼規(guī)范、數據場景覆蓋方面,應選擇高質量代碼,只包含代碼文件,無需其他配置文件,同時只包含核心代碼,棄用邊(二)代碼大模型優(yōu)化能力對代碼大模型進行優(yōu)化的目標是維持或增強其推理能力,主要包括模型調優(yōu)及調優(yōu)后模型部署,應用于企業(yè)使用專有數據集對代模型調優(yōu)模型調優(yōu)是在特定任務或領域上進一步訓練或調優(yōu)模型,以優(yōu)化其對這一任務或領域的理解和推理能力。代碼大模型調優(yōu)通常采有監(jiān)督微調亦稱指令微調,是指通過構建指令格式的實例,以有監(jiān)督方式對大模型進行微調。指令微調可輔助代碼大模型提升推理能力,從而展現(xiàn)出泛化到未見過的任務的卓越能力。指令微調的前提是構建問答對數據集,同時根據實際任務(如代碼生成、代碼解釋等任務)配置數據配比不斷完善數據質量。有監(jiān)督微調包含全量參數指令微調和高效微調,當算力充足且數據集較多的情況下,通常采用全量參數指令微調的方式,從而達到更好微調效果,但算力不足時,可采用更高效的微調方法,如LoRa、Adapter、Prefix-強化學習的目標是強化代碼大模型在某些準確率不高的任務下的能力,可通過人類反饋對推理質量進行評估和排序,并依據其反饋結果開展學習優(yōu)化,從而持續(xù)提升推理生成的質量。強化學習通常選擇基于人類反饋的強化學習算法框架,并利用近端策略優(yōu)化算一方面可以使用大模型生成或人工構建數據對,針對不同開發(fā)場景進行增強,從而提升模型的通用研發(fā)能力,如針對某類代碼框架或前端開發(fā)、后端開發(fā)等不同場景構建正負數據對;另一方面則需要結合測試反饋或用戶反饋來針對模型能力較弱的場景進行增強,如在服務運行階段,通過后臺監(jiān)控白名單用戶行為,如點贊點踩、代碼采納情況等,收集好回答示例和壞回答示例進行數據構造,從而模型部署模型部署是指將調優(yōu)好的模型部署至服務器上供用戶使用的過程。模型部署時普遍考慮三點,一方面開展模型轉換,根據部署資源將模型轉換成所需形態(tài),另一方面通過優(yōu)化算法提升大模型推理速度和吞吐量,提高計算資源的利用率,最后根據需求、使用場景但在代碼大模型部署時,還應特別考慮前后處理工作,當用戶提交請求時,需對用戶所在項目工程進行軟件分析,并將分析信息和用戶輸入一并輸入給代碼大模型;當代碼大模型推理完成后,需對推理結果進行后處理,如在函數結束位置提前停止、復讀檢測、(三)智能開發(fā)能力評估為驗證代碼大模型及智能開發(fā)工具是否滿足需求,通過構建評估數據集和指標對其開展全面評估,應用于企業(yè)在采購、建設及維評估對象智能開發(fā)能力評估包括代碼大模型能力評估和智能開發(fā)工具能力評估。代碼大模型能力評估聚焦于大模型的理解和推理能力,通過采用專業(yè)評估數據集對代碼生成的準確性、單元測試的覆蓋度、代碼檢查的錯誤檢出率等指標進行評估。智能開發(fā)工具能力評估聚焦于平臺能力、功能豐富度和專項化能力等多個維度,綜合衡量呈評估內容代碼大模型評估旨在衡量準確性和可接受度,智能開發(fā)工具評估旨在衡量準確性和可接受度,以及工具的功能豐富度、工程化能力以及體驗度。準確性評估是通過預設的關鍵指標對工具在特定場景下的輸出進行客觀分析(如表1所示),考察輸出的準確性和邏輯合理性;可接受度評估是通過專家評審等主觀分析,考察輸出是否達到行業(yè)標準,主要包括輸出代碼的符合性、可讀性、規(guī)范性、完整性、合規(guī)性和安全性等;工具專項評估是通過對工具的功能和性能的評估,考察其應用層面的靈活性、可擴展性、兼容性、安全評估方法智能化開發(fā)能力的評估方法涉及多種方法。一是自動化評估方使用數據集開展相關客觀指標的評估;二是裁判模型評估方法,面向可接受度評估,通過選取具有高精度和相關領域知識的大模型作為“裁判”,設置好詳細的提示詞,對輸出進行評估;三是領域專家評估方法,面向可接受度和工具專項評估,通過行業(yè)專家對照預期實際評估過程中,通常采用多種方法可形成互補的評估機制,同時考慮評估效率和準確性,從而為持續(xù)提升智能開發(fā)能力提供有(四)智能開發(fā)安全能力1.數據安全治理保證用于代碼大模型訓練和調優(yōu)的代碼數據確保從可信代碼倉庫獲取源數據,防止版權風險;過清洗與過濾等技術,精準剔除敏感代碼,并對代與標注,便于后續(xù)的差異化管理和使用;數量門禁,對擬入庫并共享發(fā)布的代碼數據集進行審段可通過存儲層加密等手段確保代碼數據存儲安全訪問控制等手段確保代碼數據可追溯,并通過定期據健康狀況監(jiān)控,及時處理安全風險。同時,承載等全過程的工具鏈,需具備任務隔離和嚴格的訪問2.模型安全治理模型安全治理應考慮代碼大模型在開發(fā)、管理及運行階段安全可控。開發(fā)階段,即代碼大模型調優(yōu)階段,首先應保證數據和基礎模型的來源可信,同時對模型進行安全標識和分類分級;其次通過相關數據集對代碼大模型開展安全可信評估,確保模型推理結果滿管理階段,應對代碼大模型進行安全性存儲和加密傳輸,并加強模型版本管理實現(xiàn)模型溯源,確保合理的權限約束。同時,對于承載代碼大模型開發(fā)全過程的工具鏈,需具備任務隔離和嚴格的訪問控制機制,確保其自身的安全,保證代碼大模型開發(fā)過程的安全通過通信加密協(xié)議、安全訪問機制等方式,防止未授權訪問及API濫用等情況;二是確保提示詞數據安全(如提示詞不被篡改等)、知識庫數據安全,并對RAG檢索的知識附帶來源,降低運行時推理風險;三是對推理資源做合理分配,防止推理資源的過度消耗;四是確保運行環(huán)境安全,防止模型泄露或被篡改,通過實施沙箱隔離及強化訪問控制等措施,確保只有經過認證的用戶和應用程序才能3.應用安全治理二是強化敏感信息檢測機制,對用戶輸入及模型輸出內容實施敏感信息檢測和內容安全防控,以防范敏感信息及關鍵資產的泄露,并保障內容合法性和適宜性;三是保證用戶數據隱私安全,用戶數據應嚴格按照授權內容存儲,或者不存儲,確保私有數據安全;四是可考慮模型領域隔離,僅限定于研發(fā)領域的應用,不提供其他無關領域的內容生成等功能;五是健全安全審計機制,通過系統(tǒng)請求和操作等審計日志的管理,確保智能開發(fā)工具使用(五)其他工程化能力為進一步提升代碼大模型及智能開發(fā)工具對問題的理解能力,以及對企業(yè)私有化知識的習得能力,提示詞、RAG、Agent等各工程化能力扮演著重要角色,可在不改變代碼大模型的前提下達到更1.提示工程能力提示工程是用戶與代碼大模型交互的主要橋梁,通過設計和使用提示詞可優(yōu)化代碼大模型能力,對提升模型性能、增強模型可控性、擴展模型能力等方面具有直接作用。面向智能開發(fā)領域,提示工程主要被用于兩個階段,一是代碼大模型訓練調優(yōu)階段,使用提示詞構造訓練樣本,通過預訓練、指令微調、反饋對齊等方式訓練大模型,從而提高其對特定指令的遵從和理解能力,或者賦予模型連續(xù)對話、工具調用等能力;二是代碼大模型推理階段,通過提示詞為大模型提供解決問題所需的必要信息,包括但不限于任務背景知識、必要的上下文信息、期望輸出格式等,從而提升大模型正確生成答案的概率。提示工程的典型應用包括可感知上下文的代碼補全、圍繞代碼倉的問答、智能解決問題單等場景,需通過提示詞將待生成代碼中可能用到或可能參考的代碼片段、相關文檔、項目結(1)提示詞要素提示詞內容通??砂韵略?。系統(tǒng)設定,涵蓋人設/角色、基本原則、安全邊界等重要內容;任務提示,明確指出大模型需要完成的具體任務或目標、輸入格式、輸出要求等;用戶指令,包括當前要回答的具體問題的背景、描述、詳細要求等;示例樣本,提供若干具體的輸入-輸出示例;上下文輸入,提供當前任務所需要的隱式上下文。除此之外,還可以根據具體場景附加其他元素,如檢索增強內容、可調用工具列表、行動與反思指令等。業(yè)內使用的提(2)提示詞構造方法提示詞構造是一個復雜且多維的過程,不僅涉及設計和編寫提示詞本身,還可借助其他工程化方式動態(tài)構造和組裝提示詞。手動編寫提示詞是一種基本且直接的提示詞構造方法,由用戶或代碼大模型服務提供方,根據各自的需求和任務背景直接手動編寫,本方法簡單直接但不夠靈活且效率較低,適用于簡單場景;動態(tài)組裝提示詞是指在運行時基于模板生成提示詞的構造方法,可通過軟件分析、自然語言處理、大模型推理等技術進行動態(tài)填充,如代碼生成(3)提示詞實例參考在代碼補全任務中,提示詞通常如表2所示。通過該提示詞,系統(tǒng)將首先設定代碼大模型扮演一個編程專家角色,激發(fā)其在編程領域的特定知識;其次通過任務提示告知代碼大模型需根據光標處的上下文進行補全;最后要求代碼大模型根據示例樣本,按照用戶指令進行代碼插入,并不可生成重復代碼。通過該提示詞可提升代在代碼解釋任務中,提示詞通常如表3所示。通過該提示詞,系統(tǒng)將首先設定代碼大模型扮演一個編程教練角色,激發(fā)其在教學領域的特定知識;其次通過任務提示告知代碼大模型在解釋時所需要使用的語言以及輸出格式;最后根據用戶指令明確需要解釋的代碼片段及其所在文件,并獲取上下文信息進行代碼解釋,通過該提2.RAG能力檢索增強生成(RAG)是指通過語義相似性計算從外部知識庫中檢索相關文檔塊,以增強代碼大模型能力,減少幻覺并提高對專生成的代碼需符合內部開發(fā)規(guī)范、生成內部開發(fā)文檔等情況,RAGRAG落地過程中,通常包括數據索引服務、向量化模型服務、數據索引服務是指將知識進行向量化并存儲于數據庫的過程,其中采用不同索引構建方式處理文本和代碼數據是核心要點,文本的拆分處理可選擇固定字符數分塊、遞歸分塊、語義分塊和特定格式分塊等方式,代碼拆分處理時,對于常規(guī)長度的函數體可選擇整體向量化而不做拆分,對于少數超大超長函數體既可采取自動截斷也可按行進行切分;向量化模型服務可選擇BGE(Bi-EncoderforGeneralEmbeddings)Embeddings)等模型,通過部署容器化并對外暴露端口,提供向量化服務;數據庫服務使用向量數據庫存儲向量化之后的數據,可選擇開源數據庫如Milvus,F(xiàn)aiss,Weaviate,Qd量大小、縮小搜索范圍等方式提高數據庫檢索效率;搜索服務是向量化模型服務和數據庫服務的橋梁,一方面用于將查詢請求轉換為向量表示,并在向量數據庫中搜索相似項,另一方面對于搜索結果需根據不同使用場景設置不同的相似度閾值,確保將高質量結果反五、智能開發(fā)落地案例分析各行業(yè)積極探索智能開發(fā)落地之道,并在部分行業(yè)的應用成效顯著。本章將對智能化軟件開發(fā)在云服務、軟件服務業(yè)、電力、金(一)云服務行業(yè)案例某大型云服務企業(yè)云服務研發(fā)過程遵循DevOps最佳實踐,一方面該企業(yè)產品需要基于業(yè)界前沿方法和技術不斷提升研發(fā)效率和產品發(fā)布速度,以響應激烈的市場競爭并保持領先;另一方面作為公司研發(fā)工程能力的排頭兵,需要優(yōu)先驗證和試點業(yè)界領先的智能化軟件開發(fā)能力,為公司其他產品線更大規(guī)模的探索和應用打好前1)建立全新的智能化研發(fā)工程體系:面向全新的智能化研發(fā)范式,在流程、組織、工具等方面需要盡快通過試點探索形成新的工2)保持研發(fā)生產能力先進性:面對激烈市場競爭,如何通過AI技術升級傳統(tǒng)研發(fā)體系,保障軟件研發(fā)生產力持3)軟件研發(fā)流程中仍存在高能耗業(yè)務場景:問題包括如研發(fā)人員難以全盤掌握和快速精準獲取海量知識;單元測試及接口測試腳本人工輸出工作量大,效率低難以匹配業(yè)務代碼的增長訴求;對高1.解決方案該企業(yè)圍繞“設計-開發(fā)-測試-協(xié)同”四個核心研發(fā)階段,基于“高數據成熟度、技術成熟度)”兩個方面共5個維度,識別出各研發(fā)階段中AI實踐價值場景。而“開發(fā)”場景為價值最高,因此優(yōu)先落地覆2.價值和收益AI代碼生成220+萬行,單測生成300+萬行,研發(fā)問答46+萬次。其中單測全量覆蓋率達到57%(提升89%),增量覆蓋率達到78%),(二)軟件服務業(yè)案例某軟件服務企業(yè)為國內眾多行業(yè)提供軟件研發(fā)服務,包括需求設計、開發(fā)、測試、運維等,但服務過程中面臨的痛點問題長期存1)業(yè)務系統(tǒng)溝通效率低:在被服務的企業(yè)中,業(yè)務需求復雜且多變,但需求人員少而開發(fā)人員多,造成溝通瓶頸,使得項目的2)代碼開發(fā)質量待改進:開發(fā)過程中缺乏高效的代碼審查機制,導致潛在缺陷和技術債務未能及時被發(fā)現(xiàn)和解決,另外自動化3)信創(chuàng)體系帶來的遷移困難:由于歷史原因部分企業(yè)存在不少1.解決方案針對上述一系列問題,該企業(yè)自研了AISE一體化平臺,助力1)通過將項目知識資產(需求文檔、設計文檔、業(yè)務需求等)進行處理,利用大模型智能分析問題和歸納總結能力,為每個項目2)提供代碼自動生成、自動審查、自動修復、單元測試用例自動生成、代碼翻譯和轉換等功能,并將上述功能完全集成在現(xiàn)有開3)引入多級外部知識庫和大模型集成,支持Github、Gitlab、網站、異構數據源等多種格式知識庫的導入,同時無縫連接企業(yè)內部系統(tǒng),提供效率查詢、單點登錄、業(yè)務系統(tǒng)數據聯(lián)通等多種接口2.價值和收益該企業(yè)的AISE一體化平臺落地后,Cobal代碼遷移效率提升(三)電力行業(yè)案例某國網數字化建設支撐單位,專注于電力行業(yè)多個專業(yè)數字化系統(tǒng)的研發(fā)與推廣,致力于推動電力行業(yè)實現(xiàn)數字化轉型,但在軟3)代碼規(guī)范性差、維護困難:缺乏嚴格的代碼審查流程,導致代碼質量參差不齊,為后續(xù)的軟件維護和升級工作帶來了極大的困1.解決方案針對上述問題,該單位基于人工智能大模型技術,研發(fā)了智能編碼工具,實現(xiàn)了代碼自動生成、優(yōu)化、測試、規(guī)范性檢查與修復1)以代碼大模型作為基座模型,運用LoRa進行私有代碼的定制化微調,從而更好地服務于電力行業(yè)的特定需求,并適應不同部2)提供基于AI的查詢和問答系統(tǒng),針對公司公共組件庫和統(tǒng)一數據模型進行檢索,幫助開發(fā)者快速定位和理解組件功能,促進3)開發(fā)自動化檢測和修正工具,可根據公司的代碼規(guī)范要求對代碼進行實時掃描,自動識別不規(guī)范代碼片段,并提供修正建議或2.價值和收益通過智能編碼工具的使用,代碼生成和優(yōu)化速度與準確率得到了顯著提升,代碼質量評分提高至90%以上,開發(fā)效率提升超過(四)金融行業(yè)案例某國有銀行在企業(yè)數字化轉型過程中,面臨軟件應用膨脹、代碼量激增和架構復雜化的挑戰(zhàn)。為抓住金融科技創(chuàng)新機遇,該銀行決定引入大模型技術提升軟件應用的開發(fā)效率,保障代碼質量,并1)老舊應用重構及遷移困難:該行有很多海外應用使用了Flex編程語言進行開發(fā),代碼量大且技術過時,而新人對Flex不熟悉,性設計約束多,日常開發(fā)過度依賴開發(fā)文檔,需降低開發(fā)門檻,提耗時長,期望從代碼層面保障開發(fā)質量,強化單元測

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論