從寫代碼到寫Prompt,解鎖鴻蒙原生應用高效開發(fā)秘籍
當前,大模型技術正在重新定義軟件工程。一方面,大模型降低了軟件開發(fā)門檻。在過去,軟件開發(fā)者被劃分為全民開發(fā)者、應用開發(fā)者和專業(yè)開發(fā)者,隨著大模型技術的介入,軟件開發(fā)變得觸手可及,一些簡單的應用甚至能夠直接通過人工智能生成。另一方面,大模型技術顯著提升了開發(fā)效率。它能夠根據(jù)開發(fā)者的簡單描述快速生成大量的代碼片段,大幅度地縮短了編碼時間,為軟件開發(fā)領域帶來了革命性的變化。
本文引用地址:http://2s4d.com/article/202412/465671.htm在 2024 年 12 月 14 日 AICon 全球人工智能開發(fā)與應用大會《鴻蒙生態(tài)下的 AI 助力移動應用開發(fā)新范式》技術專場上,華為、百度、騰訊云、北京航空航天大學軟件學院的六位技術專家與學者從多視角出發(fā),深入探討在鴻蒙生態(tài)下,人工智能技術如何助力移動應用開發(fā)的新范式。
面向 AI 輔助開發(fā),鴻蒙在整個移動應用生態(tài)上的思考
隨著大模型在開發(fā)軟件和工程工具領域加速落地,傳統(tǒng)模式下的生產(chǎn)效率大幅提升,開發(fā)范式也在發(fā)生改變。調查數(shù)據(jù)顯示,70% 以上的開發(fā)者使用過或計劃使用 AI 輔助編程類工具;在生產(chǎn)環(huán)境運行的代碼中,有很大比例來自于自動生成,而非手寫代碼。
當前,無論是傳統(tǒng) IDE 廠商還是新型 IDE 廠商,都在朝下一代開發(fā)模型演進。比如,VS Code 在編輯上做了很多 AI 思考,很多社區(qū)大模型、智能輔助開發(fā)工具都可以接入到工具體系里面來;下一代 AI IDE 的雛形 Cursor 也在擺脫傳統(tǒng) IDE 方式,思考什么是 AI 內置的 IDE。
華為終端 BG 軟件部開發(fā)者平臺部首席架構師指出,在鴻蒙生態(tài)上開發(fā)應用并非簡單的復制,而是站在全新的出發(fā)點。鴻蒙生態(tài)面向未來的思考包括智能化和立體化的體驗,以及不同設備和屏幕的交互方式。這些變化預示著開發(fā)應用程序、操作系統(tǒng)和技術組件的方式可能會發(fā)生變化。
一方面,要提升傳統(tǒng)模式下的生產(chǎn)效率。在大模型時代,開發(fā)者工作習慣正在從“以代碼為中心”到“以 Prompt 為中心”。這也意味著,在未來,開發(fā)者可能會擺脫掉傳統(tǒng)的軟件開發(fā)流程,更加關注業(yè)務和目標。
另一方面,大模型在全新的操作系統(tǒng)、全新生態(tài)下,我們還需要有一種面向未來的范式變化。隨著 AI Agent 在軟件編程工程效率領域不斷受到關注,面向下一代鴻蒙原生應用開發(fā)的智能體,也將對移動應用開發(fā)進行范式上的變革。
HarmonyOS 開發(fā)套件 DevEco Studio 智能化新方向
DevEco Studio 作為鴻蒙原生應用開發(fā)的核心工具,為開發(fā)者提供了一站式的開發(fā)平臺,不僅具備基本的代碼開發(fā)、編譯構建及調測等功能,還具有高效智能代碼編輯、多端雙向實時預覽、多端設備模擬仿真以及性能調優(yōu)等特性。
盡管當前大模型技術持續(xù)火熱,但華為資深技術專家認為大模型并不等同于 AI,AI 也不等同于高效開發(fā)。在其看來,AI 是智能化的體現(xiàn),而智能化可以通過多種方式實現(xiàn),如程序分析、低代碼、減少交互步驟等。
DevEco Studio 在此維度上做了很多嘗試。例如探索用對話交互方式生成鴻蒙的特征,如元服務卡片,不需要安裝即可快速調起程序。此外,也能讓開發(fā)者無需編寫代碼即可快速開發(fā)出元服務。在問題定位方面,DevEco Studio 希望將這個過程變?yōu)橄驅?,指導開發(fā)者一步一步解決問題。進一步簡化編碼步驟,通過一鍵式生成簡化復雜邏輯,并將性能領域的問題固化到工具中,通過場景找到對應的問題,降低成本。
展望未來,華為資深技術專家認為,沉浸式 AI 編程是 IDE 智慧化的新方向。AI 能夠在報錯時提供智能體入口,幫助開發(fā)者快速找到對應答案,并在編寫代碼時自動補全 API 調用。此外,還能在性能出現(xiàn)問題時自動檢測并提示,幫助開發(fā)者找到對應代碼。再進一步,智慧化 IDE 將從 Copilot 向 Agent 方向演進,即通過 Agent 方式自動完成代碼生成、優(yōu)化和性能調優(yōu),從構建、問題定位、調試到調優(yōu),將 AI 融入到整個開發(fā)旅程中,旨在使開發(fā)過程更加智能化。
鴻蒙生態(tài)下的 AI 助力移動應用開發(fā)新范式
當前,大模型正在重新定義軟件工程,不僅促進了軟件開發(fā)的民主化,也推動了開發(fā)工具的智能化發(fā)展。華為終端 BG 軟件部開發(fā)者平臺部技術架構師表示,鴻蒙代碼編程 AI 助手 DevEco CodeGenie 主要聚焦在代碼生成補全、智能知識問答、萬能卡片生成三大方向,提升開發(fā)者的工作效率和代碼質量。
代碼生成補全方面,DevEco CodeGenie 能夠根據(jù)開發(fā)者的自然語言描述生成相應的代碼片段,開發(fā)者只需描述所需代碼的功能,插件即可生成代碼并允許開發(fā)者直接將其復制到編輯區(qū),從而在工程項目中使用。具體來說,DevEco CodeGenie 有三大能力:直接生成 ArkTS 界面代碼的能力,利用鴻蒙系統(tǒng)獨特 API 生成代碼的能力,以及將常用算法以 ArkTS 語言形式表達的能力。
智能知識問答方面,DevEco CodeGenie 采用了一種更新的模式,即基于大模型的生成式智能問答和搜索。這一模式主要依賴于大模型的理解能力和推理能力,以提供更精準的答案。與傳統(tǒng)的智能搜索相比,新模式無需依賴擴展塢或知識圖譜來理解用戶的提問,而是直接利用大模型的自動推理能力,為用戶提供與鴻蒙相關問題的準確答案。通過在大模型、搜索、數(shù)據(jù)和評測四個方面進行優(yōu)化,知識問答的準確率能夠達到 85% 以上,更有效地理解和回答開發(fā)者在鴻蒙原生應用開發(fā)過程中遇到的問題,從而提高開發(fā)效率和體驗。
萬能卡片生成方面,DevEco CodeGenie 具有三大特點:一是對話交互體驗,能夠精確識別用戶意圖,并通過自然語言多輪交互不斷調整以滿足用戶需求;二是智能化 UI 布局,通過學習方式優(yōu)化布局效果;三是工程級或項目級代碼的生成,一站式解決萬能卡片的所有問題。目前,DevEco CodeGenie 生成的端到端卡片準確率已超過 60%。
在未來,DevEco CodeGenie 不僅需要將現(xiàn)有的規(guī)則以 Agent 方式整合進去,以優(yōu)化整個軟件開發(fā)流程,還需要關注 AI 大模型生成代碼的準確性,并對此進行深入研究和解決。
大模型驅動的人機協(xié)同提效實踐
文心快碼是基于文心大模型的智能代碼助手,結合百度積累多年的編程現(xiàn)場大數(shù)據(jù)和外部優(yōu)秀開源數(shù)據(jù),可以生成更符合實際研發(fā)場景的優(yōu)質代碼。為進一步提升工程師研發(fā)效率,百度提出了人機協(xié)同結對編程的理念,并成立了 TIC 組織。
百度資深研發(fā)工程師 王初晴
百度資深研發(fā)工程師王初晴提到,文心快碼與 DevOps 全流程的結合實踐主要體現(xiàn)在兩大方面:
第一,研發(fā)能力的左移,即將測試能力、安全能力、部署能力等移動到編程現(xiàn)場,在文心快碼內部現(xiàn)場就可以方便調用這些能力。例如,測試能力和安全能力的左移,使得工程師可以在 IDE 里通過文心快碼進行一些測試和安全漏洞的修復。同時,部署領域也實現(xiàn)了左移,百度與營銷服務團隊合作的部署插件,將線下環(huán)境的部署過程左移到了文心快碼中,通過文心快碼調用部署插件,可以實現(xiàn)快速部署,單次部署耗時可以節(jié)省 10 秒以上,線下環(huán)境的 API 更新效率也提升了3倍,成效顯著。
第二,通過智能化能力賦能 DevOps 平臺,使得企業(yè)內部研發(fā)和工具鏈中可以非常方便地使用 AI 的能力。以百度為例,百度擁有多個研發(fā)平臺,如需求管理平臺、代碼托管平臺、應用部署平臺等,這些平臺都通過大模型能力進行了重構,使得在這些平臺中可以非常方便地使用 AI 能力,從而加速 DevOps 整個研發(fā)流程的推進。例如,在百度的需求管理平臺中,之前需要填寫表單進行結構化查詢,而現(xiàn)在可以通過自然語言直接查詢卡片,大大提升了查詢的便捷性。
展望未來,王初晴表示,整個研發(fā)過程將由機器和 AI 執(zhí)行,工程師只需聚焦在創(chuàng)意的產(chǎn)生和最終的確認上。
探索 IDE 下的智能研發(fā)和研發(fā)知識庫的建設
隨著人工智能技術的不斷發(fā)展,編碼智能體作為一種新興的技術概念,逐漸進入大眾視野。編碼智能體的愿景是自動化生成高質量的工程,降低開發(fā)者人數(shù)的同時保持開發(fā)質量不下降,通過 AI 引入“程序員”提升智能體的能力。騰訊云資深技術產(chǎn)品專家汪晟杰認為,要想實現(xiàn)這一愿景,需要在以下三個方面深耕:模型構建、場景聚焦和企業(yè)知識庫。
- 首先,模型是編碼智能體的核心,它決定了智能體的智能水平和解決問題的能力。
- 其次,聚焦特定場景是編碼智能體成功應用的關鍵。通過深入了解企業(yè)的實際需求和業(yè)務流程,可以為編碼智能體設計更符合實際的應用場景。
- 最后,深耕企業(yè)知識庫是提升編碼智能體應用效果的重要途徑。通過引入企業(yè)的私有知識庫,可以使編碼智能體更加智能地理解和處理企業(yè)的實際問題。
騰訊云資深技術產(chǎn)品專家 汪晟杰
知識庫建設對于編碼智能體的成功應用至關重要。從今年 6 月份開始,騰訊云已經(jīng)開始著手進行知識庫的建設工作。而 RAG 技術正是其中的關鍵。在騰訊云的知識庫 RAG 進階探索中,主要分為代碼文檔 RAG、多模態(tài) RAG 以及 Agentic RAG(智能體增強的 RAG)三大方向。
其中,Agentic RAG 結合了智能體的智能處理能力,能夠更好地理解和處理復雜的文檔和代碼信息。在解析圖片時,并不直接依賴大模型的感知能力,而是通過分析圖片元素、存放位置等信息,結合開源模型進行提取和擴寫,從而增強大模型的理解能力。這種方法可以減少大模型產(chǎn)生的幻覺問題,提高生成的準確性。
汪晟杰表示,在未來,人機協(xié)同到人智協(xié)作的過程將越來越重要。通過代碼需求生成和代碼合并的有機結合,可以完成多輪對話,開發(fā)出符合標準和質量要求的應用。
基于智能模型驅動的鴻蒙原生應用代碼自動生成
當前,智能軟件工廠已成為美國行業(yè)軟件創(chuàng)新發(fā)展的新模式,能夠將軟件開發(fā)周期從數(shù)年縮短到幾分鐘。那么,我們能否建立自己的軟件工廠,以解決應用軟件和大型軟件的開發(fā)問題,而不僅僅是函數(shù)級代碼編程?北京航空航天大學軟件學院長聘副教授楊溢龍在演講中表示,軟件開發(fā)的復雜度是實現(xiàn)這一目標的主要難點,具體體現(xiàn)在軟件目標領域的多樣性、眾多的利益相關者、目標平臺語言、運行平臺以及系統(tǒng)類型的復雜性。
在這一背景下,北航和華為聯(lián)合實驗室聯(lián)合啟動了鴻蒙原生應用及元服務高質與高效生成項目,該項目旨在提高鴻蒙原生應用開發(fā)的效率。研究團隊分析了鴻蒙原生應用開發(fā)的主要人群特征,并針對這一人群提出了一個DSL(領域特定語言),通過拖拽二維模型的方式,幫助他們能夠以低代碼的形式快速上手鴻蒙原生應用開發(fā)。
為了進一步提高模型構建效率,團隊還引入了智能化手段進行模型生成。通過采用大模型方法生成模型,并定義了一系列的交互模式來生成 DSL。通過外掛的簡單界面,用戶只需描述模型的訴求,系統(tǒng)即可自動生成整個頁面。這種方式可以進一步提高開發(fā)效率,向 10 倍目標邁進。
據(jù)楊溢龍介紹,在下一個版本中,研究團隊計劃將整個過程 AI 化,從需求獲取到設計、架構、編碼和元服務的實現(xiàn),都通過 AI 手段進行生成。采用模型驅動+生成式 AI 融合的方式進行生成,并補齊代碼測試生成和 IDE 的相關功能。同時,團隊也關注人機協(xié)同的問題,希望 IDE 能夠感知開發(fā)人員的水平,并提供相應的服務,實現(xiàn)情景動態(tài)感知、人機協(xié)同構建和人機協(xié)同演化。最終,將實現(xiàn)勞動密集型的人工編碼活動到自動化、再到全流程智慧化的過程,進一步提高軟件質量和效率。
結語
如今,我們正步入一個智能設備無處不在的時代。傳統(tǒng)的手機操作系統(tǒng)如 iOS、Android 更多面向的是智能手機,HarmonyOS 面向的則是多智能終端、全場景。在這一背景下,中國開發(fā)者需要一個全新的平臺,這個平臺不僅僅是一個單一的技術或產(chǎn)品,而是一個全面的生態(tài)系統(tǒng),涵蓋應用程序、操作系統(tǒng)以及各種硬件設備,能夠為用戶提供全方位的服務。
當前,鴻蒙生態(tài)正以蓬勃之勢重塑智能世界格局,鴻蒙誠摯地邀請各界參與到生態(tài)技術構建中來,無論是開發(fā)應用程序還是提出創(chuàng)新建議,都將對生態(tài)建設產(chǎn)生積極影響。鴻蒙也期望能有越來越多的應用程序廠商、開發(fā)人員及合作伙伴加入到“軟硬整合”合作中來,實現(xiàn)操作系統(tǒng)與應用程序的深度整合,共同為用戶打造優(yōu)質體驗。
評論