設置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

天津大學、北航深度參與華為“倉頡”,推出首個基于國產(chǎn)編程語言的 AI 智能體編程框架“蒼穹”

2024/6/22 17:47:32 來源:IT之家 作者:汪淼 責編:汪淼

IT之家 6 月 22 日消息,華為昨日面向全球開發(fā)者介紹華為自研編程語言 —— 倉頡(Cangjie)。這是倉頡編程語言的首次公開亮相。

IT之家查詢獲悉,天津大學、北京航空航天大學深度參與了華為“倉頡”的研發(fā)。

天津大學:倉頡編程語言編譯器

天津大學智能與計算學部軟件工程團隊攜手華為倉頡團隊,深度參與倉頡編程語言編譯器的質量保障研究。

據(jù)介紹,倉頡編譯器是與倉頡編程語言共生的基礎軟件。在倉頡編程語言的籌備階段,與之相配的高質量編譯器成為核心目標之一。隨著倉頡編程語言的演化,倉頡編譯器也在不斷地升級、改進。

圖片

五年來,天津大學智能與計算學部軟件工程團隊陳俊潔教授、王贊教授、姜佳君研究員,以及趙英全、付瑞豐、郭以勒、鄭開、樊興宇等十余名研究生,圍繞著倉頡編譯器測試工作開展深入研究,提出數(shù)據(jù)驅動的倉頡編譯器系統(tǒng)化測試框架,涵蓋基于程序綜合的測試程序生成技術、基于程序變異的測試預言構造技術、基于代碼表示的測試過程加速技術等多項先進技術。成果在軟件工程領域頂會 ICSE、ISSTA 等發(fā)表多篇學術論文,并已部署至倉頡編譯器的實際測試中,顯著提升倉頡編譯器測試效果。

  • 基于程序綜合的測試程序生成技術:該項技術將程序代碼拆解成細粒度代碼片段,彼此之間涉及不同的語言特征,進而在語法語義約束的指導下,實現(xiàn)測試程序的高效合成。值得注意的是,該項技術能夠以歷史缺陷作為基礎數(shù)據(jù),提取與缺陷相關的代碼片段,并將其融合至多樣的代碼上下文中,以激發(fā)其觸發(fā)更多缺陷、執(zhí)行更多代碼分支的能力。

  • 基于程序變異的測試預言構造技術:該項技術通過對倉頡編程語言語法語義進行深入分析與挖掘,設計一系列等價變異算子與不等價變異算子。前者在測試預言上提供補充,融合蛻變測試思想,提升技術揭錯能力,而后者則進一步增強測試程序多樣性,引入更多倉頡語言特性、底層庫調用等信息,實現(xiàn)對倉頡編譯器的更充分測試。

  • 基于代碼表示的測試過程加速技術:該項技術旨在提升編譯器測試效率,以在更短的時間內檢測到更多的編譯器缺陷。該項技術將測試程序代碼進行片段化,并引入代碼表示學習策略將其在語言定義空間中進行表征。進而,該項技術從多樣性角度進行代碼片段的利用、測試程序的生成,并將測試結果作為反饋,進一步指導后續(xù)測試過程,從而提升測試整體效率。

北航:蒼穹 AI 智能體編程框架

北京航空航天大學軟件學院黎立老師團隊深度參與基于倉頡編程語言的 AI 智能體編程框架 —— 蒼穹(CangChain)開發(fā),這是首個基于國產(chǎn)編程語言的 AI 智能體編程框架。

蒼穹(CangChain)框架圖

▲ 蒼穹(CangChain)框架圖

據(jù)介紹,蒼穹誕生于倉頡社區(qū),得到倉頡編程語言官方團隊的技術支持。作為一個社區(qū)開源項目,蒼穹采用模塊化設計和功能,旨在為軟件工程人員提供軟件集成模型、安全訪問私有數(shù)據(jù)并進行數(shù)據(jù)交互的可靠功能。

基于模塊化的設計理念,蒼穹使得開發(fā)者可根據(jù)自身特定需求,選擇和組合不同的模塊。在實現(xiàn)任務的過程中,蒼穹可將任務分解成多個子任務,針對每個子任務選擇構建合適的代理(Agent)允許語言模型與外部 API 交互,調用滿足子任務目標實現(xiàn)的工具(Tool),利用任務鏈(Chain)串聯(lián)起每個子任務,最終得到任務求解。

黎立老師團隊主要參與了蒼穹中 ReAct 框架和多智能體 Planner 調度的設計開發(fā)實現(xiàn)。

在具體應用中,團隊設計并實現(xiàn)了一個多智能體(Multi-Agent)的系統(tǒng),包含以下四個關鍵角色:Docwriter、CodeWriter、CodeTester 和 CodeReviewer。這些智能體在蒼穹平臺上緊密協(xié)作,共同完成 2048 等經(jīng)典游戲的開發(fā)任務。

  • Docwriter:負責編寫詳細的需求文檔和設計規(guī)范。在游戲開發(fā)的初期,Docwriter 通過與用戶以及其他智能體的交流,深入了解并記錄游戲的功能需求和設計思路,為后續(xù)步驟提供詳細的藍圖。

  • CodeWriter:負責根據(jù)設計文檔編寫源代碼。CodeWriter 運用先進的編程技巧和算法,將 Docwriter 提供的需求轉化為具體的代碼實現(xiàn)。蒼穹框架中 ReAct 的“推理-行動”模式有效提升了 CodeWriter 的編程效率和準確性。

  • CodeTester:在源代碼完成初步編寫后,CodeTester 會自動生成并運行一系列測試用例,確保代碼功能的正確性和穩(wěn)定性。CodeTester 利用定義好的各種工具構造測試用例,并執(zhí)行相應的測試用例,定位并反饋代碼中的潛在問題,提高代碼質量。

  • CodeReviewer:負責對 CodeWriter 編寫的代碼進行全面審查,確保代碼符合最佳實踐和質量標準。CodeReviewer 不僅會檢查代碼的功能實現(xiàn),還會關注代碼的可讀性和可維護性,提出優(yōu)化建議。

基于蒼穹開發(fā)的多智能體系統(tǒng)應用示例

▲ 基于蒼穹開發(fā)的多智能體系統(tǒng)應用示例

通過蒼穹的模塊化設計和多智能體的智能調度,這些角色智能體能夠高效分工、互相協(xié)作,不斷迭代優(yōu)化,最終完成游戲開發(fā)任務。具體來說,任務鏈(Chain)機制將各個子任務有效串聯(lián),智能體間的信息交互則通過 Planner 調度實現(xiàn)無縫連接,提升了開發(fā)效率和代碼質量。

未來,北京航空航天大學軟件學院團隊將計劃繼續(xù)拓展蒼穹的應用領域,深入研究多智能體系統(tǒng)在其他復雜任務中的應用潛力。

相關閱讀:

華為 HDC 2024 開發(fā)者大會專題

廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應用 魔方 最會買 要知