<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 新聞縱覽 > 對話(huà)aiXcoder總裁劉德欣:智能化軟件開(kāi)發(fā)2.0時(shí)代,企業(yè)如何落地領(lǐng)域化大模型

對話(huà)aiXcoder總裁劉德欣:智能化軟件開(kāi)發(fā)2.0時(shí)代,企業(yè)如何落地領(lǐng)域化大模型

作者: 時(shí)間:2024-08-16 來(lái)源: 收藏

科技日新月異的今天,以大模型、Agent等為代表的人工智能技術(shù)正引領(lǐng)各行各業(yè)的深刻變革。軟件開(kāi)發(fā)領(lǐng)域,一場(chǎng)由AI驅動(dòng)的產(chǎn)業(yè)智能化升級快速演變,進(jìn)入智能化軟件開(kāi)發(fā)2.0時(shí)代。

本文引用地址:http://dyxdggzs.com/article/202408/462094.htm

近日,我們采訪(fǎng)了硅心科技(以下簡(jiǎn)稱(chēng):aiXcoder)總裁劉德欣,主要圍繞企業(yè)如何落地領(lǐng)域化大模型,如何更好地擁抱智能化軟件開(kāi)發(fā)2.0時(shí)代等話(huà)題進(jìn)行深入探討。以下內容根據采訪(fǎng)實(shí)錄整理。

請劉總簡(jiǎn)單介紹下智能化軟件開(kāi)發(fā)1.0時(shí)代及其發(fā)展現狀?

智能化軟件開(kāi)發(fā)1.0時(shí)代可以說(shuō)是通過(guò)引入大模型技術(shù),集中實(shí)現了軟件開(kāi)發(fā)的一些初級自動(dòng)化場(chǎng)景,包括代碼生成、代碼補全、單元測試生成和缺陷檢測等。系統也支持簡(jiǎn)單的需求捕獲和拆分等任務(wù)。但是,這些功能通常是以獨立的方式執行,不能深入理解和應用企業(yè)特定的業(yè)務(wù)邏輯。

目前國內外的玩家主要有GitHub的Copilot、Amazon的CodeWhisperer、百度的comate 、阿里的通義靈碼、甚至包括我們aiXcoder的上一代產(chǎn)品等。各家產(chǎn)品在功能和能力上差異并不大,缺乏明顯的差異化。盡管產(chǎn)品在宣傳中,強調了具有更強的上下文理解能力和更大的參數量,甚至與GPT-3.5等模型進(jìn)行比較占據優(yōu)勢,但實(shí)際上并沒(méi)有真正解決大模型與企業(yè)領(lǐng)域知識融合這一核心問(wèn)題,使得它們無(wú)法滿(mǎn)足企業(yè)基于自身的業(yè)務(wù)落地大模型的需求,簡(jiǎn)單來(lái)講,覺(jué)得大模型學(xué)不會(huì )自己企業(yè)的領(lǐng)域知識,幻覺(jué)和生成結果不確定性嚴重;而這種孤立性和對業(yè)務(wù)邏輯的理解不足,也導致了其產(chǎn)品對軟件開(kāi)發(fā)復雜需求的處理浮于表面,實(shí)際上代碼輸出的準確性和實(shí)用性往往會(huì )大打折扣,限制了其在實(shí)際企業(yè)業(yè)務(wù)環(huán)境中的應用效果和用戶(hù)的信任度。

您認為智能化軟件開(kāi)發(fā)1.0時(shí)代具體存在的問(wèn)題有哪些?

智能化軟件開(kāi)發(fā)1.0存在的問(wèn)題主要問(wèn)題是不進(jìn)行有效個(gè)性化訓練而直接落地大模型,這會(huì )直接產(chǎn)生兩大缺陷:應用模式缺陷和技術(shù)缺陷。

首先,從應用模式來(lái)看,主要缺陷表現在兩個(gè)方面。

第一,在訓練層面,缺乏對業(yè)務(wù)原始需求與設計的考量。1.0時(shí)代的產(chǎn)品往往只關(guān)注代碼本身的語(yǔ)法和結構,忽略了代碼必須服務(wù)于具體的業(yè)務(wù)需求和邏輯,所以并沒(méi)有將需求分析和設計文檔等企業(yè)背景知識融合進(jìn)模型的訓練中,導致生成/補全的代碼往往缺乏業(yè)務(wù)邏輯,從而使產(chǎn)品的準確性和可用性不足。

第二,在測試層面,無(wú)法形成需求到測試的閉環(huán)。測試自動(dòng)化在1.0時(shí)代通常只基于現有代碼進(jìn)行,忽略了測試的本質(zhì)是驗證需求的完整性和正確性,沒(méi)能深入到需求層面,而是僅依賴(lài)于代碼級的表面生成,沒(méi)有實(shí)現對原始需求的全面交互和驗證。

其次,從技術(shù)缺陷來(lái)看,主要表現在三個(gè)方面。

一是環(huán)境依賴(lài)信息的缺失,現在的大模型訓練主要是在開(kāi)源代碼及企業(yè)代碼上的訓練,這種脫離企業(yè)背景知識,僅對代碼訓練的方式,依然缺乏足夠的項目上下文支持,這導致生成的代碼雖然在語(yǔ)法上正確,但經(jīng)常與項目的實(shí)際業(yè)務(wù)需求不符。雖然各大模型廠(chǎng)商都在上下文長(cháng)度上努力,但并不會(huì )從根源上解決這一技術(shù)缺陷。

二是當前的智能化開(kāi)發(fā)輔助主要依賴(lài)于大模型的語(yǔ)言能力,通過(guò)模式匹配和簡(jiǎn)單的Prompt指令生成代碼。然而,這種方法僅停留在表層語(yǔ)言模型的使用上,無(wú)法深入理解復雜的業(yè)務(wù)邏輯和編程規范,導致大模型在實(shí)際應用中的表現不盡如人意,影響了結果的有效性和可靠性,尤其是生成內容的可靠性仍然存在較大問(wèn)題。

三是微調方法的局限性,盡管在1.0時(shí)代我們采用了全參微調(Fine Tuning)、以及LoRa、Adapter、Prompt等PEFT高效參數微調(部分參數微調)方式,甚至嘗試使用RAG和MoE等方法讓大模型學(xué)習特定領(lǐng)域知識,但這些常規微調技術(shù)和方法仍存在局限性。盡管它們在某些特定任務(wù)中表現出一定的效果,但由于沒(méi)有充分訓練企業(yè)領(lǐng)域的專(zhuān)有數據和背景知識,這些方法在真實(shí)業(yè)務(wù)應用中的表現往往難以達到預期,無(wú)法完全滿(mǎn)足實(shí)際業(yè)務(wù)的需求。

從客戶(hù)角度來(lái)看,我們發(fā)現很多大模型在通用的場(chǎng)景或者主流的測評集上表現都不錯,聲稱(chēng)也能達到30%到50%的準確率。但是一旦拿到企業(yè)中去應用,通常發(fā)現準確率下降到了10%以下。即使用各種方式做微調,效果也不盡如人意。對于企業(yè)而言,技術(shù)團隊和商務(wù)團隊盡力引入并上線(xiàn)了智能軟件開(kāi)發(fā)產(chǎn)品,也進(jìn)行了相應的微調,但如果最終結果無(wú)法達到預期,可能會(huì )引發(fā)內部大量用戶(hù)和軟件開(kāi)發(fā)人員的投訴,帶來(lái)巨大的風(fēng)險。綜合來(lái)看,真實(shí)企業(yè)軟件開(kāi)發(fā)場(chǎng)景是非常復雜的,具有很強的業(yè)務(wù)邏輯、擁有明確的編碼規范和獨特的代碼風(fēng)格,在多階段的復雜開(kāi)發(fā)流程中更是涉及多角色、多工具、多團隊的共同協(xié)作參與。盡管智能化軟件開(kāi)發(fā)1.0時(shí)代提供了一定的軟件自動(dòng)化支持,但其并沒(méi)有真正解決企業(yè)領(lǐng)域知識問(wèn)題,也沒(méi)有充分考慮真實(shí)開(kāi)發(fā)場(chǎng)景的復雜需求。所以基于這樣一個(gè)背景,aiXcoder率先提出了軟件開(kāi)發(fā)2.0時(shí)代的概念,并已成功在多家大型企業(yè)中落地實(shí)施。通過(guò)這一模式,企業(yè)才能真正抓住并充分利用大模型所帶來(lái)的技術(shù)紅利。

aiXcoder如何定義智能化軟件開(kāi)發(fā)2.0時(shí)代的?

智能化軟件開(kāi)發(fā)2.0時(shí)代:首先通過(guò)嚴格的數據治理和鏈式管理,對企業(yè)的特定領(lǐng)域知識進(jìn)行全面的結構化處理,確保從需求定義、設計、編碼到最終代碼提交的每個(gè)環(huán)節都得到精準記錄和系統關(guān)聯(lián)。在此基礎上,進(jìn)行低成本、高度個(gè)性化的模型訓練,構建基于領(lǐng)域的軟件工程大模型。通過(guò)多智能體協(xié)同自動(dòng)化、傳統軟件開(kāi)發(fā)方法和最佳實(shí)踐的有機結合,全面保障了開(kāi)發(fā)流程的高效性與結果的準確性,使大模型從單一的代碼生成工具轉變?yōu)榕c企業(yè)開(kāi)發(fā)過(guò)程深度協(xié)同的智能體集合,顯著(zhù)提升了開(kāi)發(fā)效率和產(chǎn)品質(zhì)量。

我們所定義的智能化軟件開(kāi)發(fā)2.0時(shí)代,其核心概念并不復雜??梢杂靡粋€(gè)公式來(lái)概括:智能化軟件開(kāi)發(fā)2.0 = 專(zhuān)業(yè)軟工領(lǐng)域大模型 + 多Agent協(xié)同 + 傳統軟件工程方法。


image.png


首先,本階段的智能軟件開(kāi)發(fā)強調對軟件研發(fā)流程的高度數據治理。整個(gè)開(kāi)發(fā)全過(guò)程,從需求分析、概要設計、詳細設計、編碼實(shí)現、測試,直到最終產(chǎn)品上線(xiàn),每一個(gè)環(huán)節都通過(guò)結構化的數據治理和全面的數據鏈管理進(jìn)行鏈式數據追蹤,確保軟件開(kāi)發(fā)的原始需求被精確記錄并與系統緊密關(guān)聯(lián)。這種全鏈條的協(xié)同工作方式,不僅使得大模型能夠最大程度地理解企業(yè)特定的業(yè)務(wù)邏輯,還能夠在開(kāi)發(fā)的每一個(gè)階段中準確反映這些邏輯。同時(shí),基于經(jīng)過(guò)治理的領(lǐng)域化數據集,對模型進(jìn)行個(gè)性化訓練,使大模型能夠深入學(xué)習并應用企業(yè)的領(lǐng)域知識,從而構建一個(gè)低成本、高度個(gè)性化的企業(yè)領(lǐng)域化大模型,這將是最關(guān)鍵的一步。此外,在實(shí)現領(lǐng)域個(gè)性化的基礎上,通過(guò)多Agent方式處理軟件開(kāi)發(fā)流程中的各類(lèi)任務(wù),并結合傳統的軟件開(kāi)發(fā)方法、工具和最佳實(shí)踐,確保了領(lǐng)域大模型輸出的準確性和可靠性。

這種結合了專(zhuān)業(yè)軟工領(lǐng)域大模型、多Agent協(xié)同,以及傳統軟件工程方法、工具與最佳實(shí)踐的協(xié)同自動(dòng)化方式,正是我們所定義的智能化軟件開(kāi)發(fā)2.0時(shí)代。

根據智能化軟件開(kāi)發(fā)2.0時(shí)代的定義和特性,劉總,您認為企業(yè)在邁入2.0時(shí)代時(shí),應該重點(diǎn)關(guān)注哪些關(guān)鍵行動(dòng)或策略?有哪些具體的準備工作是企業(yè)需要優(yōu)先考慮的?

結合多年來(lái)我們團隊對軟件工程領(lǐng)域的深刻理解,以及aiXcoder在企業(yè)領(lǐng)域化大模型落地方面的豐富經(jīng)驗。我們總結了以下4個(gè)核心策略,幫助企業(yè)更好的擁抱智能軟件開(kāi)2.0時(shí)代。

第一是面向領(lǐng)域的開(kāi)發(fā)數據治理,這一點(diǎn)非常關(guān)鍵。簡(jiǎn)而言之,企業(yè)需要對最原始的需求文檔進(jìn)行深入治理,將自然語(yǔ)言表達的“大白話(huà)”需求逐步轉化為精確的開(kāi)發(fā)語(yǔ)言描述,從需求分析、設計,到開(kāi)發(fā)、測試及運維等環(huán)節的數據、知識都進(jìn)行整合并進(jìn)行全鏈條數據治理,并確保數據質(zhì)量、規模與多樣性,以服務(wù)于領(lǐng)域大模型的構建與優(yōu)化。值得一提的是,這種數據管理框架和方法能夠高效復用,日后大模型產(chǎn)生的海量數據都是基于該框架治理,從而可持續用于訓練,這有助于提高企業(yè)在應對市場(chǎng)變化時(shí)的靈活性和響應速度。

第二是基于領(lǐng)域數據的個(gè)性化模型構建。通過(guò)利用治理好的領(lǐng)域知識數據集,并充分考慮企業(yè)算力資源、代碼量等因素,對大模型進(jìn)行靈活的個(gè)性化訓練及參數調優(yōu),確保大模型能夠精準捕捉并反映企業(yè)業(yè)務(wù)需求,使其逐步掌握企業(yè)特定的業(yè)務(wù)流程與邏輯、專(zhuān)業(yè)術(shù)語(yǔ)和編碼規范。進(jìn)一步地,通過(guò)應用PEFT、MoE、RAG和AI Agent等技術(shù)和方法,確保個(gè)性化訓練能夠根據企業(yè)具體業(yè)務(wù)需求進(jìn)行靈活調整和優(yōu)化。這樣的策略不僅增強了模型的業(yè)務(wù)適應性,還提升了模型訓練效率和輸出的準確性。

第三點(diǎn)是將大模型的先進(jìn)能力與傳統軟件工程的方法和工具相結合。許多企業(yè)在引入大模型后,往往傾向于完全依賴(lài)大模型,忽視了原本效果優(yōu)異的軟件開(kāi)發(fā)工具。這種做法實(shí)際上并不合理,因為大模型雖然具有強大的能力,但其生成結果并非總是精準無(wú)誤。為了確保大模型輸出結果的準確性與可靠性,企業(yè)應繼續結合和利用傳統的軟件工程工具與方法,使其與大模型協(xié)同工作,從而保障開(kāi)發(fā)流程的時(shí)效性和結果的高質(zhì)量。

最后一點(diǎn)是面向各場(chǎng)景的智能協(xié)同。通過(guò)引入Agent技術(shù),將其與企業(yè)特有的軟件開(kāi)發(fā)流程和現有的軟件開(kāi)發(fā)工具相結合,以提升開(kāi)發(fā)流程的透明度和效率。同時(shí),確保所有自動(dòng)化過(guò)程的合規性和可追蹤性,實(shí)現需求分析、設計、編碼、測試和部署等各個(gè)開(kāi)發(fā)場(chǎng)景的深度協(xié)同。通過(guò)系統化的數據共享和流程整合,開(kāi)發(fā)團隊能夠在各個(gè)階段實(shí)現無(wú)縫銜接,從而更加高效地應對復雜的項目需求和快速變化的市場(chǎng)環(huán)境。

aiXcoder如何幫助企業(yè)落地智能軟件開(kāi)發(fā)2.0時(shí)代?

在與很多大型企業(yè)交流的過(guò)程中,我們發(fā)現目前企業(yè)普遍面臨著(zhù)搞不懂、訓不轉、學(xué)不會(huì )三大挑戰,展開(kāi)來(lái)講,就是企業(yè)缺乏優(yōu)秀人才,現有的技術(shù)人員搞不懂模型應該如何訓練。有些企業(yè)技術(shù)積累較好,試圖通過(guò)開(kāi)源模型+各種微調的方式,嘗試讓大模型的能力更貼近企業(yè)的真實(shí)開(kāi)發(fā)環(huán)境要求,最終還是發(fā)現大模型學(xué)不會(huì )企業(yè)的領(lǐng)域知識,效果不盡如人意。

為此,我們發(fā)布了一個(gè)大模型落地框架LLM Adoption Framework(LAF),旨在幫助企業(yè)了解如何將大模型與領(lǐng)域知識相結合,并利用我們的經(jīng)驗,幫助來(lái)自各個(gè)領(lǐng)域和行業(yè)的企業(yè)有效地部署和落地領(lǐng)域大模型。具體來(lái)說(shuō),該框架是一種咨詢(xún)的方法論,分為以下三個(gè)階段:第一個(gè)階段,評估階段。我們首先會(huì )根據企業(yè)的商業(yè)目標進(jìn)行全面評估,深入了解企業(yè)已開(kāi)展的工作,以及為何未能實(shí)現大模型落地的預定業(yè)績(jì)目標,并分析導致這些差距的原因。第二階段,模型構建及訓練階段?;谶@些差距企業(yè)應該怎么選擇模型,怎么準備和處理數據,如何訓練模型,可以通過(guò)哪些數據治理的方法來(lái)達到預期的狀態(tài)。此階段旨在精確構建并優(yōu)化大模型,確保模型深度融合并體現企業(yè)特有的領(lǐng)域知識。在這一階段,不僅進(jìn)行模型架構的設計與搭建,還包括針對企業(yè)獨特業(yè)務(wù)邏輯和領(lǐng)域特定數據的深入治理及訓練過(guò)程。第三階段,上線(xiàn)及產(chǎn)品化階段。這一階段主要涉及產(chǎn)品化的過(guò)程。我們將幫助企業(yè)將領(lǐng)域大模型與其內部多個(gè)平臺通過(guò)API進(jìn)行集成,并確保模型能力能夠有效輸出到業(yè)務(wù)端,所有這些都需要根據企業(yè)的實(shí)際需求進(jìn)行定制化實(shí)現。

總而言之,aiXcoder的LAF并非特定于任何一個(gè)開(kāi)源/閉源大模型提供商,而是大量利用aiXcoder提供的大模型訓練、領(lǐng)域經(jīng)驗和軟件工程最佳實(shí)踐為企業(yè)提供更具體的深度咨詢(xún)和指導。同時(shí),aiXcoder的LAF不僅限于aiXcoder模型使用,企業(yè)可以選擇任何閉源和開(kāi)源模型,它是完全可以通用的,并非aiXcoder“獨門(mén)秘籍”,可以根據企業(yè)“領(lǐng)域知識”量身定制大模型落地實(shí)施及行動(dòng)計劃。

最后,總結一下我們的觀(guān)點(diǎn):

● 無(wú)論是開(kāi)源還是閉源,選擇專(zhuān)業(yè)的軟件工程大模型,而不是通用大模型。

● 不關(guān)注大模型廠(chǎng)商宣傳支持了多少功能和HumanEval、MBPP、MultiPL-E等常規的“打榜”評測集評測結果,要關(guān)注大模型實(shí)際生成內容是否真的理解企業(yè)的業(yè)務(wù)。

● 務(wù)必要結合領(lǐng)域知識治理并訓練,再做進(jìn)一步微調。直接使用常規的全參微調、高效微調、RAG等方式幫助不大。

● 大模型落地要高度自治、解耦,企業(yè)業(yè)務(wù)的復雜程度和連續性,更不允許綁定某個(gè)大模型廠(chǎng)商。

● 一定要做個(gè)性化訓練,不能直接落地代碼大模型,同時(shí)培養自己的技術(shù)人員,有效規避直接部署模型的高風(fēng)險。

關(guān)于aiXcoder簡(jiǎn)介:aiXcoder孵化自北京大學(xué)軟件工程研究所,創(chuàng )始團隊均來(lái)自北京大學(xué),是全球最早將深度學(xué)習技術(shù)應用于代碼生成與代碼理解領(lǐng)域的團隊,也是最早將深度學(xué)習應用在編程產(chǎn)品的團隊。公司專(zhuān)注于A(yíng)IGC for Code領(lǐng)域,致力于將前沿人工智能技術(shù)應用于軟件工程,為企業(yè)提供完備的智能化軟件開(kāi)發(fā)解決方案,包括私有化部署、領(lǐng)域化大模型落地及定制化開(kāi)發(fā)等服務(wù),現已在金融、軍工、航空航天、通信、高科技等行業(yè)頭部企業(yè)部署實(shí)施。目前已服務(wù)智能編程社區版產(chǎn)品用戶(hù)80萬(wàn)+,獲得廣泛行業(yè)及眾多C端開(kāi)發(fā)者們的認可。





關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>