亞信科技研發(fā)智能化實踐之路
作者:亞信科技高級研發(fā)經(jīng)理史偉星
亞信科技是一家專注于 To B 業(yè)務(wù)的公司。公司 1993 年成立,于 2000 年成為納斯達(dá)克首批上市的高科技企業(yè)。2010 年,通過持續(xù)深耕,成為中國領(lǐng)先的通信軟件產(chǎn)品服務(wù)商。2014 年,完成私有化;2018 年,再次在香港主板上市。2022 年,收購了艾瑞咨詢,進(jìn)一步完善了數(shù)字咨詢業(yè)務(wù)的布局。目前,公司已構(gòu)建起數(shù)字云網(wǎng) IT 三大產(chǎn)品體系,成為領(lǐng)先的信息技術(shù)產(chǎn)品和服務(wù)提供商,以及全棧數(shù)據(jù)能力的領(lǐng)軍企業(yè)。

再看亞信的營收,保持了持續(xù)增長,并且朝著百億營收的目標(biāo)不斷努力。亞信的核心產(chǎn)品在通信行業(yè)業(yè)務(wù)支撐系統(tǒng)軟件領(lǐng)域占據(jù)約 50% 的市場份額,處于全面領(lǐng)先地位。亞信的產(chǎn)品服務(wù)著超過 10 億的用戶規(guī)模。本文介紹亞信進(jìn)行研發(fā)智能化實踐的四個部分,包括實施研發(fā)智能化的背景、選擇的智能編程助手工具、實踐過程及評估效果,以及對未來的一些思考和規(guī)劃。
亞信研發(fā)智能化的背景
當(dāng)前,公司面臨一定的壓力,比如經(jīng)營壓力。從亞信和我們服務(wù)客戶的財報中可以發(fā)現(xiàn),整個通信行業(yè)的增長正在放緩。因此,我們需要開發(fā)出能降低成本、提高效率的工具和產(chǎn)品;第二,我們面臨來自客戶方面的質(zhì)量壓力。我們的大量客戶實際上對安全和質(zhì)量的管理有持續(xù)強化的趨勢。因此,我們也是希望通過引入一些工具和產(chǎn)品,實現(xiàn)質(zhì)量的提升,減少生產(chǎn)故障,以及高危漏洞的出現(xiàn);第三,亞信是一家以技術(shù)人員為主的軟件公司,擁有約 15000 名員工。通過研發(fā)智能化,哪怕只是實現(xiàn) 10% 或 5% 的提升,從總體規(guī)模來看,也能帶來巨大的收益。因此,亞信在研發(fā)智能化方面有強烈的需求。

觀察整個行業(yè)趨勢,我們看到阿里、百度、微軟等國內(nèi)外大廠都推出了研發(fā)智能化產(chǎn)品。根據(jù)互聯(lián)網(wǎng)上的數(shù)據(jù),GitHub 的付費訂閱用戶已達(dá)到 180 萬。根據(jù) JetBrains 的開發(fā)者報告,超過 70% 的用戶使用了生成式 AI 服務(wù)。因此,從整體趨勢來看,研發(fā)智能化在技術(shù)上是可行的。同時,無論是國內(nèi)還是國外的大型企業(yè)或初創(chuàng)公司,目前主要集中在開發(fā)環(huán)節(jié)實現(xiàn)研發(fā)智能化。
因此,在亞信內(nèi)部,我們選擇在開發(fā)環(huán)節(jié)實踐研發(fā)智能化。既然我們已經(jīng)決定要進(jìn)行這項工作,接下來的問題就是如何選擇智能編程助手。

選擇通義靈碼的理由
我們設(shè)計了一套全面的工具選型評估模型,該模型考慮了商業(yè)支持、安全支持以及場景適應(yīng)能力等多個方面。在每個類別中,我們設(shè)定了詳細(xì)的評估指標(biāo),評分標(biāo)準(zhǔn)從 1 分到 5 分不等。
例如,在商業(yè)安全方面,如果一個工具是免費提供的,我們給予 5 分;價格越高,得分越低。對于代碼安全性工具,評分項可能包括是否支持私有化部署、安全管控能力,以及對常用開發(fā)語言的支持。
在場景能力方面,我們會考察代碼續(xù)寫、自然語言生成、代碼注釋和問答等功能,并設(shè)計了一套包含典型通用用例和業(yè)務(wù)開發(fā)過程中典型用例的測試用例。通過這套科學(xué)的評估模型,我們能夠選擇最適合的工具。

在本次工具選型評估中,我們有四款產(chǎn)品入圍。其中包括國外的 Bito,其底層技術(shù)基于 OpenAI 的能力,以及擁有最大代碼庫的 GitHub Copilot。同時,國內(nèi)的兩款產(chǎn)品——阿里云的通義靈碼和百度的 Comate 插件也成功入選。
針對這些產(chǎn)品,我們設(shè)定了各項能力的權(quán)重。我們結(jié)合內(nèi)部的產(chǎn)品研發(fā)、項目交付、運維等相關(guān)工作,篩選出每一項能力的權(quán)重。
例如,在亞信服務(wù) TO B 企業(yè)的過程中,代碼安全性具有最高的優(yōu)先級。經(jīng)過信息的收集和評估以及用例執(zhí)行,我們發(fā)現(xiàn)阿里云通義靈碼在綜合評價中表現(xiàn)最佳。 技術(shù)能力、工具能力不僅是一方面,對亞信多種場景的使用需求的支撐度也是非常重要的組成部分。

亞信并非僅適用于單一使用場景。經(jīng)過內(nèi)部總結(jié),我們識別出三種主要使用場景。
首先是自用型場景,即在亞信內(nèi)部使用,服務(wù)于公司內(nèi)部產(chǎn)品研發(fā)。 這類場景的特點是參與人員的技能水平較高,團(tuán)隊規(guī)模數(shù)千人,按照季度或年度的時間節(jié)奏進(jìn)行持續(xù)研發(fā)。整個使用環(huán)境是在公司內(nèi)部。
第二種是協(xié)作型使用需求,即在客戶服務(wù)現(xiàn)場使用我們的工具產(chǎn)品。 這涉及到與亞信以及其他多個廠商共同使用該產(chǎn)品,涵蓋了設(shè)計、開發(fā)、運維、運營等多個角色。整個團(tuán)隊將按月度、季度、年度持續(xù)長期使用。工具的使用環(huán)境為內(nèi)部網(wǎng)絡(luò),并且對使用過程進(jìn)行嚴(yán)格管控,包括對產(chǎn)生的代碼資產(chǎn)和文檔資產(chǎn)的完全管控。
第三種需求是項目協(xié)作型,這種需求同樣適用于客戶內(nèi)部,但其目標(biāo)是單一項目的交付。 因此,我們會根據(jù)這一場景合理配置高級、中級和初級開發(fā)人員。此場景的特點在于其持續(xù)時間相對較短,通常為 2 到 3 個月。此外,針對資產(chǎn)的管控也非常嚴(yán)格。

針對上述三種需求,通義靈碼提出了兩種解決方案:通義靈碼專屬版方案和通義靈碼私有化版方案。
針對自用型需求,通義靈碼推出專屬版。該版本將在阿里云上劃分 VPC 專屬網(wǎng)絡(luò),并在其中部署通義靈碼專屬版供亞信單獨使用。通過 VPN 和亞信內(nèi)網(wǎng)的連接,開發(fā)者實際上可以訪問一個內(nèi)網(wǎng)服務(wù)。
通義靈碼的專屬版具有顯著優(yōu)勢。這意味著整個產(chǎn)品部署,包括底層模型的計算和通信資源,都由阿里云提供。并且,通義靈碼后續(xù)產(chǎn)品的升級和模型迭代也由阿里云負(fù)責(zé)。在成本方面,這同樣顯示出強大的競爭力。
第二種是協(xié)作型需求和項目型需求。通義靈碼支持私有化部****署方案,即使用方需準(zhǔn)備部署資源,包括產(chǎn)品和模型升級的運維角色。其最大優(yōu)點在于,系統(tǒng)在安全管控方面與互聯(lián)網(wǎng)完全隔離,有效保護(hù)了整個過程中的資產(chǎn)。盡管成本相對較高,但綜合來看,無論是技術(shù)產(chǎn)品能力,還是其對亞信場景化需求的支持度,通義靈碼都是最佳選擇。
實踐過程及效果評估
通義靈碼在亞信的實踐流程
我們設(shè)計了一個完整的實踐流程,分為三個階段。首先,我們選擇了不同類型的實踐團(tuán)隊,包括數(shù)據(jù)研發(fā)團(tuán)隊、A 省交付團(tuán)隊和 B 省域外拓展團(tuán)隊。其次,我們規(guī)劃了時間節(jié)奏,設(shè)置了三個實踐階段,每個階段持續(xù) 2 到 3 周。在過程中,我們發(fā)現(xiàn)的缺陷問題會得到阿里通義靈碼產(chǎn)研團(tuán)隊的快速支持。

設(shè)計效能、效益評估模型
同時,我們對使用過程中的成果進(jìn)行分析,我們設(shè)計了效能評估模型和效益評估模型來科學(xué)地評估工具“阿里通義靈碼”的適用性。這部分評估模型包括兩部分:左側(cè)是效能評估模型,我們對接每一項能力的使用情況和采納情況,通過專家評估法設(shè)定采納后節(jié)約的時間,計算單項能力的總體節(jié)約時間,并計算代碼續(xù)寫、注釋生成、單元測試生成、開發(fā)知識問答等所有能力的節(jié)約時間的匯總。最終,按照程序員每周工作 40 小時的標(biāo)準(zhǔn),我們計算出該工具帶來的團(tuán)隊人均編程效率提升。

右側(cè)展示了我們的效益評估模型,該模型分為兩個部分:一是從需求端到端的交付率;二是產(chǎn)品缺陷的逃逸率。在使用工具前,我們會收集相關(guān)指標(biāo)。在使用工具后的第一個月、第二個月,我們會持續(xù)跟蹤這些指標(biāo),以觀察需求交付效率是否呈現(xiàn)持續(xù)增長趨勢,以及產(chǎn)品缺陷逃逸率是否呈現(xiàn)持續(xù)下降趨勢。
評估指標(biāo)可視化及使用運營分析
針對評估模型,我們內(nèi)部開發(fā)了一個指標(biāo)可視化看板。該看板顯示了各個團(tuán)隊的使用情況以及各項能力的使用情況。我們發(fā)現(xiàn),代碼續(xù)寫功能的使用頻率最高,而在不同團(tuán)隊間的采納率存在明顯差異。知識問答功能的使用頻率次于代碼續(xù)寫,但采納率相對較低。

在指標(biāo)可視化看板中,第二塊是效能評估看板。它展示了各項能力匯總的數(shù)據(jù)以及專家評估的節(jié)時數(shù)值。通過匯總這些節(jié)時并運用我們的計算規(guī)則,研發(fā)團(tuán)隊能夠?qū)崿F(xiàn) 10% 的編碼效率提升。 然而,對于交付團(tuán)隊來說,這種提升相對有限。

這是我們?nèi)齻€團(tuán)隊的關(guān)鍵指標(biāo)。數(shù)智研發(fā)團(tuán)隊的代碼補全采納率達(dá)到了 36%,知識問答能力為 6.4%,整體編程效率提升超過 10%。A 省交付團(tuán)隊的代碼補全能力為 22.7%,知識問答能力為 4.1%,編碼效率提升僅為 1% ,需求交付效率下降了 1% ,但缺陷逃逸率顯著降低了 71%。B 省的域外拓展團(tuán)隊的代碼補全能力達(dá)到了 25.9%,知識問答采納率也是 6.4%,編碼效率提升為 1.2%,需求交付效率提升了 18.4%,缺陷逃逸率降低了 69%。

通過對關(guān)鍵指標(biāo)的分析,我們可以得出一些結(jié)論。通義靈碼在代碼補全方面的表現(xiàn)優(yōu)秀,準(zhǔn)確率在 20% 到 30% 之間。然而,它的知識問答采納率僅有個位數(shù),這表明有較大的提升空間。在編程效率提升方面,我們觀察到不同團(tuán)隊之間存在顯著差異。對于需求交付效率,各團(tuán)隊的表現(xiàn)也大相徑庭,既有下降也有提升。
深入分析后,我們發(fā)現(xiàn)智能編程助手僅是軟件開發(fā)流程中的一個環(huán)節(jié),要實現(xiàn)整體團(tuán)隊效能的提升,必須結(jié)合 DevOps 的全套體系。通過識別團(tuán)隊中的瓶頸環(huán)節(jié)和產(chǎn)出有限的關(guān)鍵角色,結(jié)合智能編程工具,可以實現(xiàn)整體提升。

同時,我們也收集了實踐團(tuán)隊提供的主觀反饋。從工具能力角度來看,超過 50% 的開發(fā)者認(rèn)為代碼續(xù)寫和知識問答功能是有用的,有 16% 的開發(fā)者認(rèn)為非常好,49% 的開發(fā)者認(rèn)為比較好。大多數(shù)開發(fā)者認(rèn)為通義靈碼能夠有效提升開發(fā)效率。
研發(fā)智能化未來思考
展望未來,我們不僅致力于在編碼階段實現(xiàn)智能化賦能,還保持更為積極樂觀的思考與規(guī)劃。例如,我們是否可以將賦能的范圍擴(kuò)展至軟件開發(fā)的全流程,以解決初級和中級開發(fā)者效率提升有限的問題。我們是否可以開發(fā)場景化的智能工具,以降低使用門檻。因此,我們計劃推出軟件開發(fā)的新工具集,旨在通過智能化工具集來提升效率。

我們利用阿里云通義靈碼及其底層基座大模型能力,構(gòu)建一個具有智能體的新工具。期望智能體能夠在設(shè)計階段理解需求并生成需求文檔,以及開發(fā)設(shè)計文檔。在開發(fā)階段,我們希望智能體能夠一鍵生成前端設(shè)計稿轉(zhuǎn)前端代碼。在后端開發(fā)過程中,我們希望通過智能體一鍵生成數(shù)據(jù)模型和后端構(gòu)成代碼,以降低使用門檻。
在部署方面,我們是否可以利用以往成功的部署案例來生成本次項目的部署方案,并分析在構(gòu)建和發(fā)布過程中出現(xiàn)的錯誤及其原因,提供解決方案?針對安全性問題,我們是否可以利用智能體技術(shù)主動識別高危漏洞并提前優(yōu)化?在運行態(tài)方面,我們是否可以對接線上的一些 APM 監(jiān)控工具以及我們的搜索執(zhí)行工具,針對高頻接口、慢接口、高頻 SQL 慢接口進(jìn)行主動優(yōu)化。接下來將介紹兩款典型的智能體工具。

首先是 ChatDoc,這是一款文檔智能編寫的工具。它主要用于生成設(shè)計文檔,包括項目應(yīng)標(biāo)文檔,可能包括以下能力:生成 Word 文檔,包括整個目錄、章節(jié)以及局部內(nèi)容的改寫,甚至整個文檔中的結(jié)構(gòu)圖、流程圖。
我們利用多模態(tài)大模型融合技術(shù)實現(xiàn)這一功能。第二是 PPT 文檔的生成能力,可以整體生成 PPT 的章節(jié),生成每一頁 PPT 的內(nèi)容,甚至可以基于 Word 文檔一鍵生成整個 PPT。此外,還包括其他文檔協(xié)作和共享能力。我們希望通過這個工具實現(xiàn)設(shè)計態(tài)的效率和質(zhì)量提升。

第二塊是關(guān)于 D2C,這是一款能夠快速生成前端代碼的工具。以往在前端開發(fā)和設(shè)計人員之間,這是一個高頻交互的過程,需要溝通設(shè)計細(xì)節(jié),甚至在某些項目中,前端設(shè)計稿頻繁變更時,這一過程尤為耗時費力。我們希望這款工具能夠解析 Figma 設(shè)計稿中的設(shè)計,并結(jié)合 DSL 模板化技術(shù),一鍵生成前端代碼,從而大大減輕前端開發(fā)人員的工作負(fù)擔(dān),讓他們只需專注于前端業(yè)務(wù)邏輯。
我們規(guī)劃使用多模態(tài)大模型來理解圖片設(shè)計稿,并一鍵生成前端代碼,以提高開發(fā)效率。通過這樣的工具,我們期望能夠顯著提升開發(fā)團(tuán)隊的效率。這就是亞信在研發(fā)智能化方向的實踐。
總結(jié)起來,主要包括兩個方面:
一是我們利用阿里云的通義靈碼在開發(fā)(coding)環(huán)節(jié)進(jìn)行賦能,這一實踐在公司內(nèi)部持續(xù)擴(kuò)大應(yīng)用范圍,目前正處于推廣階段。
二是面向未來,我們希望構(gòu)建一套能夠賦能軟件開發(fā)全流程的智能體工具集。我們正在與阿里積極探討這一領(lǐng)域。我們希望利用阿里云通義靈碼的能力,即底層大模型、基座大模型的能力,構(gòu)建出一套賦能全流程的智能工具集,以顯著提升亞信各個團(tuán)隊的研發(fā)效率和質(zhì)量。

浙公網(wǎng)安備 33010602011771號