亞信科技通過引入阿里雲靈碼推動研發智能化實踐,顯著提升代碼開發效率和品質,並探索全流程智能化工具集,以增強軟體開發的整體效能。
亞信科技是一家專註於 To B 業務的公司。公司 1993 年成立,於 2000 年成為納斯達克首批上市的高科技企業。2010 年,通過持續深耕,成為中國領先的通訊軟體產品服務商。2014 年,完成私人化;2018 年,再次在香港主板上市。2022 年,收購了艾瑞諮詢,進一步完善了數字諮詢業務的布局。目前,公司已構建起數字雲網 IT 三大產品體系,成為領先的資訊技術產品和服務提供者,以及全棧資料能力的領軍企業。
再看亞信的營收,保持了持續增長,並且朝著百億營收的目標不斷努力。亞信的核心產品在通訊行業業務支撐系統軟體領域佔據約 50% 的市場份額,處於全面領先地位。亞信的產品服務著超過 10 億的使用者規模。本文介紹亞信進行研發智能化實踐的四個部分,包括實施研發智能化的背景、選擇的智能編程助手工具、實踐過程及評估效果,以及對未來的一些思考和規劃。
01
亞信研發智能化的背景
當前,公司面臨一定的壓力,比如經營壓力。從亞信和我們服務客戶的財報中可以發現,整個通訊行業的增長正在放緩。因此,我們需要開發出能降低成本、提高效率的工具和產品;第二,我們面臨來自客戶方面的品質壓力。我們的大量客戶實際上對安全和品質的管理有持續強化的趨勢。因此,我們也是希望通過引入一些工具和產品,實現品質的提升,減少生產故障,以及高危漏洞的出現;第三,亞信是一家以技術人員為主的軟體公司,擁有約 15000 名員工。通過研發智能化,哪怕只是實現 10% 或 5% 的提升,從總體規模來看,也能帶來巨大的收益。因此,亞信在研發智能化方面有強烈的需求。
觀察整個行業趨勢,我們看到阿里、百度、微軟等大廠推出了研發智能化產品。根據互連網上的資料,GitHub 的付費訂閱使用者已達到 180 萬。根據 JetBrains 的開發人員報告,超過 70% 的使用者使用了產生式 AI 服務。因此,從整體趨勢來看,研發智能化在技術上是可行的。同時,無論是國內還是國外的大型企業或初創公司,目前主要集中在開發環節實現研發智能化。
因此,在亞信內部,我們選擇在開發環節實踐研發智能化。既然我們已經決定要進行這項工作,接下來的問題就是如何選擇智能編程助手。
02
選擇靈碼的理由
我們設計了一套全面的工具選型評估模型,該模型考慮了商業支援、安全支援以及情境適應能力等多個方面。在每個類別中,我們設定了詳細的評估指標,評分標準從 1 分到 5 分不等。
例如,在商業安全方面,如果一個工具是免費提供的,我們給予 5 分;價格越高,得分越低。對於代碼安全性工具,評分項可能包括是否支援私人化部署、安全管控能力,以及對常用開發語言的支援。
在情境能力方面,我們會考察代碼續寫、自然語言產生、代碼注釋和問答等功能,並設計了一套包含典型通用用例和業務開發過程中典型用例的測試案例。通過這套科學的評估模型,我們能夠選擇最適合的工具。
在本次工具選型評估中,我們有四款產品入圍。其中包括國外的 Bito,其底層技術基於 OpenAI 的能力,以及擁有最大程式碼程式庫的 GitHub Copilot。同時,國內的兩款產品——阿里雲的靈碼和百度的 Comate 外掛程式也成功入選。
針對這些產品,我們設定了各項能力的權重。我們結合內部的產品研發、專案交付、營運等相關工作,篩選出每一項能力的權重。
例如,在亞信服務 TO B 企業的過程中,代碼安全性具有最高的優先順序。經過資訊的收集和評估以及用例執行,我們發現阿里雲靈碼在綜合評價中表現最佳。技術能力、工具能力不僅是一方面,對亞信多種情境的使用需求的支撐度也是非常重要的組成部分。
亞信並非僅適用於單一使用情境。經過內部總結,我們識別出三種主要使用情境。
首先是自用型情境,即在亞信內部使用,服務於公司內部產品研發。這類情境的特點是參與人員的技能水平較高,團隊規模數千人,按照季度或年度的時間節奏進行持續研發。整個使用環境是在公司內部。
第二種是協作型使用需求,即在客戶服務現場使用我們的工具產品。這涉及到與亞信以及其他多個廠商共同使用該產品,涵蓋了設計、開發、營運、營運等多個角色。整個團隊將按月度、季度、年度持續長期使用。工具的使用環境為內部網路,並且對使用過程進行嚴格管控,包括對產生的代碼資產和文檔資產的完全管控。
第三種需求是專案協作型,這種需求同樣適用於客戶內部,但其目標是單一專案的交付。因此,我們會根據這一情境合理配置進階、中級和初級開發人員。此情境的特點在於其期間相對較短,通常為 2 到 3 個月。此外,針對資產的管控也非常嚴格。
針對上述三種需求,靈碼提出了兩種解決方案:靈碼專屬版方案和靈碼私人化版方案。
針對自用型需求,靈碼推出專屬版。該版本將在阿里雲上劃分 VPC 專屬網路,並在其中部署靈碼專屬版供亞信單獨使用。通過 VPN 和亞信內網的串連,開發人員實際上可以訪問一個內網服務。
靈碼的專屬版具有顯著優勢。這意味著整個產品部署,包括底層模型的計算和通訊資源,都由阿里雲提供。並且,靈碼後續產品的升級和模型迭代也由阿里雲負責。在成本方面,這同樣顯示出強大的競爭力。
第二種是協作型需求和專案型需求。靈碼支援私人化部署方案,即使用方需準備部署資源,包括產品和模型升級的營運角色。其最大優點在於,系統在安全管控方面與互連網完全隔離,有效保護了整個過程中的資產。儘管成本相對較高,但綜合來看,無論是技術產品能力,還是其對亞信情境化需求的支援度,靈碼都是最佳選擇。
03
實踐過程及效果評估
靈碼在亞信的實踐流程
我們設計了一個完整的實踐流程,分為三個階段。首先,我們選擇了不同類型的實踐團隊,包括資料研發團隊、A 省交付團隊和 B 省域外拓展團隊。其次,我們規划了時間節奏,設定了三個實踐階段,每個階段持續 2 到 3 周。在過程中,我們發現的缺陷問題會得到阿里靈碼產研團隊的快速支援。
設計效能、效益評估模型
同時,我們對使用過程中的成果進行分析,我們設計了效能評估模型和效益評估模型來科學地評估工具“阿里靈碼”的適用性。這部分評估模型包括兩部分:左側是效能評估模型,我們對接每一項能力的使用方式和採納情況,通過專家評估法設定採納後節約的時間,計算單項能力的總體節約時間,並計算代碼續寫、注釋產生、單元測試產生、開發知識問答等所有能力的節約時間的匯總。最終,按照程式員每周工作 40 小時的標準,我們計算出該工具帶來的團隊人均編程效率提升。
右側展示了我們的效益評估模型,該模型分為兩個部分:一是從需求端到端的交付率;二是產品缺陷的逃逸率。在使用工具前,我們會收集相關指標。在使用工具後的第一個月、第二個月,我們會持續跟蹤這些指標,以觀察需求交付效率是否呈現持續增長趨勢,以及產品缺陷逃逸率是否呈現持續下降趨勢。
評估指標可視化及使用營運分析
針對評估模型,我們內部開發了一個指標可視化看板。該看板顯示了各個團隊的使用方式以及各項能力的使用方式。我們發現,代碼續寫功能的使用頻率最高,而在不同團隊間的採納率存在明顯差異。知識問答功能的使用頻率次於代碼續寫,但採納率相對較低。
在指標可視化看板中,第二塊是效能評估看板。它展示了各項能力匯總的資料以及專家評估的節時數值。通過匯總這些節時並運用我們的計算規則,研發團隊能夠實現 10% 的編碼效率提升。然而,對於交付團隊來說,這種提升相對有限。
這是我們三個團隊的關鍵計量。數智研發團隊的代碼補全採納率達到了 36%,知識問答能力為 6.4%,整體編程效率提升超過 10%。A 省交付團隊的代碼補全能力為 22.7%,知識問答能力為 4.1%,編碼效率提升僅為 1% ,需求交付效率下降了 1% ,但缺陷逃逸率顯著降低了 71%。B 省的域外拓展團隊的代碼補全能力達到了 25.9%,知識問答採納率也是 6.4%,編碼效率提升為 1.2%,需求交付效率提升了 18.4%,缺陷逃逸率降低了 69%。
通過對關鍵計量的分析,我們可以得出一些結論。靈碼在代碼補全方面的表現優秀,準確率在 20% 到 30% 之間。然而,它的知識問答採納率僅有個位元,這表明有較大的提升空間。在編程效率提升方面,我們觀察到不同團隊之間存在顯著差異。對於需求交付效率,各團隊的表現也大相徑庭,既有下降也有提升。
深入分析後,我們發現智能編程助手僅是軟體開發流程中的一個環節,要實現整體團隊效能的提升,必須結合 DevOps 的全套體系。通過識別團隊中的瓶頸環節和產出有限的關鍵角色,結合智能編程工具,可以實現整體提升。
同時,我們也收集了實踐團隊提供的主觀反饋。從工具能力角度來看,超過 50% 的開發人員認為代碼續寫和知識問答功能是有用的,有 16% 的開發人員認為非常好,49% 的開發人員認為比較好。大多數開發人員認為靈碼能夠有效提升開發效率。
04
研發智能化未來思考
展望未來,我們不僅致力於在編碼階段實現智能化賦能,還保持更為積極樂觀的思考與規劃。例如,我們是否可以將賦能的範圍擴充至軟體開發的全流程,以解決初級和中級開發人員效率提升有限的問題。我們是否可以開發情境化的智慧型工具,以降低使用門檻。因此,我們計劃推出軟體開發的新工具集,旨在通過智能化工具集來提升效率。
我們利用阿里雲靈碼及其底層基座大模型能力,構建一個具有智能體的新工具。期望智能體能夠在設計階段理解需求並產生需求文檔,以及開發設計文檔。在開發階段,我們希望智能體能夠一鍵產生前端設計稿轉前端代碼。在後端開發過程中,我們希望通過智能體一鍵產生資料模型和後端構成代碼,以降低使用門檻。
在部署方面,我們是否可以利用以往成功的部署案例來產生本次專案的部署方案,並分析在構建和發布過程中出現的錯誤及其原因,提供解決方案?針對安全性問題,我們是否可以利用智能體技術主動識別高危漏洞並提前最佳化?在運行態方面,我們是否可以對接線上的一些 APM 監控工具以及我們的搜尋執行工具,針對高頻介面、慢介面、高頻 SQL 慢介面進行主動最佳化。接下來將介紹兩款典型的智能體工具。
首先是 ChatDoc,這是一款文檔智能編寫的工具。它主要用於產生設計文檔,包括專案應標文檔,可能包括以下能力:產生 Word 文檔,包括整個目錄、章節以及局部內容的改寫,甚至整個文檔中的結構圖、流程圖。
我們利用多模態大模型融合技術實現這一功能。第二是 PPT 文檔的產生能力,可以整體產生 PPT 的章節,產生每一頁 PPT 的內容,甚至可以基於 Word 文檔一鍵產生整個 PPT。此外,還包括其他文檔協作和共用能力。我們希望通過這個工具實現設計態的效率和品質提升。
第二塊是關於 D2C,這是一款能夠快速產生前端代碼的工具。以往在前端開發和設計人員之間,這是一個高頻互動的過程,需要溝通設計細節,甚至在某些專案中,前端設計稿頻繁變更時,這一過程尤為耗時費力。我們希望這款工具能夠解析 Figma 設計稿中的設計,並結合 DSL 模板化技術,一鍵產生前端代碼,從而大大減輕前端開發人員的工作負擔,讓他們只需專註於前端商務邏輯。
我們規劃使用多模態大模型來理解圖片設計稿,並一鍵產生前端代碼,以提高開發效率。通過這樣的工具,我們期望能夠顯著提升Team Dev的效率。這就是亞信在研發智能化方向的實踐。
總結起來,主要包括兩個方面:
一是我們利用阿里雲的靈碼在開發(coding)環節進行賦能,這一實踐在公司內部持續擴大應用範圍,目前正處於推廣階段。
二是面向未來,我們希望構建一套能夠賦能軟體開發全流程的智能體工具集。我們正在與阿里積極探討這一領域。我們希望利用阿里雲靈碼的能力,即底層大模型、基座大模型的能力,構建出一套賦能全流程的智慧型工具集,以顯著提升亞信各個團隊的研發效率和品質。
本文內容非阿里雲官方提供,如您發現本文檔存在侵權內容或其他問題,請提供相應證明材料並在本頁面內提交反饋資訊,阿里雲會協調或通知相關作者進行處理。