設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色
雷军回武汉大学发了 100 万奖学金    DeepSeek V3“小版本升级”

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

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

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

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

天津大學(xué):倉頡編程語言編譯器

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

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

圖片

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

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

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

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

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

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

蒼穹(CangChain)框架圖

▲ 蒼穹(CangChain)框架圖

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)閱讀:

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

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

相關(guān)文章

  • 日榜
  • 周榜
  • 月榜

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

軟媒旗下軟件: 軟媒手機APP應(yīng)用 魔方 最會買 要知