首頁  >  文章  >  科技週邊  >  天津大學、北航深度參與華為“倉頡”,推出首個基於國產程式語言的 AI 智能體程式框架“蒼穹”

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

WBOY
WBOY原創
2024-06-23 08:37:59964瀏覽

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

本站查詢獲悉,天津大學、北京航空航天大學深度參與了華為「倉頡」的研發。

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

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

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

天津大学、北航深度参与华为“仓颉”,推出首个基于国产编程语言的 AI 智能体编程框架“苍穹”

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

  • 基於程式綜合的測試程式產生技術:該項技術將程式碼拆解成細粒度程式碼片段,彼此之間涉及不同的語言特徵,進而在語法語意限制的指導下,實現測試程序的高效合成。值得注意的是,該項技術能夠以歷史缺陷作為基礎數據,提取與缺陷相關的程式碼片段,並將其整合至多樣的程式碼上下文中,以激發其觸發更多缺陷、執行更多程式碼分支的能力。

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

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

北航:蒼穹AI 智能體程式設計框架

北京航空航天大學軟體學院黎立老師團隊深度參與基於倉頡程式語言的AI 智能體程式框架- 穹頂(CangChain)開發,這是首蒼個基於國產程式語言的AI 智能體程式框架。

天津大学、北航深度参与华为“仓颉”,推出首个基于国产编程语言的 AI 智能体编程框架“苍穹”
▲ 蒼穹(CangChain)框架圖

據介紹,蒼穹誕生於倉頡社區,得到倉頡程式語言官方團隊的技術支援。作為一個社群開源項目,蒼穹採用模組化設計和功能,旨在為軟體工程人員提供軟體整合模型、安全存取私有資料並進行資料互動的可靠功能。

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

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

在具體應用中,團隊設計並實作了一個多智能體(Multi-Agent)的系統,包含以下四個關鍵角色:Docwriter、CodeWriter、CodeTester 和 CodeReviewer。這些智能體在蒼穹平台上緊密協作,共同完成 2048 等經典遊戲的開發任務。

  • Docwriter:負責撰寫詳細的需求文件和設計規格。在遊戲開發的初期,Docwriter 透過與使用者以及其他智慧體的交流,深入了解並記錄遊戲的功能需求和設計思路,​​為後續步驟提供詳細的藍圖。

  • CodeWriter:負責根據設計文件編寫原始程式碼。 CodeWriter 運用先進的程式設計技巧和演算法,將 Docwriter 提供的需求轉化為具體的程式碼實作。蒼穹框架中 ReAct 的「推理-行動」模式有效提升了 CodeWriter 的程式設計效率和準確性。

  • CodeTester:在原始程式碼完成初步編寫後,CodeTester 會自動產生並執行一系列測試案例,確保程式碼功能的正確性和穩定性。 CodeTester 利用定義好的各種工具來建構測試案例,並執行對應的測試案例,定位並回饋程式碼中的潛在問題,提高程式碼品質。

  • CodeReviewer:負責對 CodeWriter 編寫的程式碼進行全面審查,確保程式碼符合最佳實務和品質標準。 CodeReviewer 不僅會檢查程式碼的功能實現,還會專注於程式碼的可讀性和可維護性,提出最佳化建議。

天津大学、北航深度参与华为“仓颉”,推出首个基于国产编程语言的 AI 智能体编程框架“苍穹”
▲ 基於蒼穹開發的多智能體系統應用範例

透過蒼穹的模組化設計和多智能體的智慧調度,這些角色智能體能夠分工、協同作用,不斷迭代優化,最終完成遊戲開發任務。具體來說,任務鏈(Chain)機制將各個子任務有效串聯,智慧體間的資訊互動則透過 Planner 調度實現無縫連接,提升了開發效率和程式碼品質。

未來,北京航空航天大學軟體學院團隊將計畫繼續拓展蒼穹的應用領域,深入研究多智能體系統在其他複雜任務中的應用潛力。

以上是天津大學、北航深度參與華為“倉頡”,推出首個基於國產程式語言的 AI 智能體程式框架“蒼穹”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn