首页news 正文
目录

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

news2024-10-25 08:02317370
IT之家今日消息,华为日前向全球开发者推介了华为自家研发的编程语言——仓颉(Cangjie)。这是仓颉编程语言首次公开露面。IT之家了解到,天津大学和北京航空航天大学在华为“仓颉”项目中发挥了重要作用。天津大学:仓颉编程语言编译器天津大学智能与计算学部软件工程团队与华为仓颉团队合作,深度参与了仓颉编程语言编译器的质量保障研究。根据介绍,仓颉编译器是仓颉编程语...

IT之家今日消息,华为日前向全球开发者推介了华为自家研发的编程语言——仓颉(Cangjie)。这是仓颉编程语言首次公开露面。

IT之家了解到,天津大学和北京航空航天大学在华为“仓颉”项目中发挥了重要作用。

天津大学:仓颉编程语言编译器

天津大学智能与计算学部软件工程团队与华为仓颉团队合作,深度参与了仓颉编程语言编译器的质量保障研究。

根据介绍,仓颉编译器是仓颉编程语言基础软件之一。在仓颉编程语言开发初期,高质量编译器是其中关键目标之一。随着仓颉编程语言的发展,仓颉编译器也在不断升级和改进。

在过去五年中,天津大学智能与计算学部软件工程团队包括教授陈俊洁、王赞、研究员姜佳君,以及研究生赵英全、付瑞丰、郭以勒、郑开、樊兴宇等十余人,深入研究了仓颉编译器的测试工作,提出了数据驱动的仓颉编译器系统化测试框架,覆盖了基于程序综合的测试程序生成技术、基于程序变异的测试预言构造技术、基于代码表示的测试过程加速技术等先进技术。这些成果已在软件工程领域的顶级会议ICSE和ISSTA等处发表多篇学术论文,并在仓颉编译器的实际测试中得到应用,显著提升了仓颉编译器的测试效果。

  • 基于程序综合的测试程序生成技术:这项技术将程序代码细分成不同的代码片段,通过语法语义约束的指导有效合成测试程序。特别值得一提的是,该技术能够以历史缺陷为依据提取相关代码片段,将其融合至多样的代码上下文中,以增加触发更多缺陷和执行更多代码分支的潜力。

  • 基于程序变异的测试预言构造技术:该技术通过对仓颉编程语言语法语义的深入分析和挖掘,设计了一系列等价和不等价变异算子。前者以测试预言为主,借鉴蜕变测试思想提高检错能力,而后者则增强了测试程序的多样性,引入更多仓颉语言特性和底层库调用等信息,全面测试仓颉编译器。

  • 基于代码表示的测试过程加速技术:该技术旨在提高编译器测试效率,更快检测到更多的编译器缺陷。该技术对测试程序代码进行片段化处理,并采用代码表示学习策略在语言定义空间中进行表征。通过多样性地利用代码片段、生成测试程序,并将测试结果反馈作为指导后续测试过程,以提高整体测试效率。

北航:苍穹 AI 智能体编程框架

北京航空航天大学软件学院黎立老师团队深度参与基于仓颉编程语言的 AI 智能体编程框架——苍穹(CangChain)的开发,这是首个基于国产编程语言的 AI 智能体编程框架。

▲ 苍穹(CangChain)框架图

苍穹起源于仓颉社区,并得到了仓颉编程语言官方团队的技术支持。作为一个社区开源项目,苍穹采用了模块化设计和功能,旨在为软件工程师提供可靠的软件集成模型、安全访问私密数据以及数据交互功能。

通过模块化设计理念,开发者可以根据自身需求选择和组合不同的模块。在任务执行过程中,苍穹将任务分解为多个子任务,并为每个子任务选择合适的代理(Agent)以允许语言模型与外部API进行交互,调用匹配子任务目标的工具(Tool),并通过任务链(Chain)连接每个子任务,最终完成任务解决方案。

黎立老师团队主要参与了苍穹中ReAct框架和多智能体Planner调度的设计和开发

在实际应用中,该团队设计并实现了一个多智能体系统,涵盖四个核心角色:Docwriter、CodeWriter、CodeTester和CodeReviewer。这些智能体在苍穹平台上密切协作,共同完成了2048等经典游戏的开发任务。

  • Docwriter:负责书写详细的需求文档和设计规范。在游戏开发早期阶段,Docwriter通过与用户和其他智能体的交流,深入了解并记录游戏功能需求和设计思路,为后续步骤提供详细的蓝图。

  • CodeWriter:根据设计文档编写源代码。CodeWriter利用先进的编程技巧和算法,将Docwriter提供的需求转化为具体的代码实现。苍穹框架中ReAct的“推理-行动”模式有效提高了CodeWriter的编程效率和准确性。

  • CodeTester:在初步编写源代码后,CodeTester会生成并运行一系列测试用例,确保代码功能正确和稳定。CodeTester使用各种工具构建测试用例以定位并反馈潜在问题,提高代码质量。

  • CodeReviewer:负责全面审查CodeWriter编写的代码,确保符合最佳实践和质量标准。CodeReviewer不仅检查功能实现,还注重代码可读性和可维护性,提出优化建议。

▲ 基于苍穹开发的多智能体系统应用示例

通过苍穹的模块化设计和多智能体智能调度,这些智能体能够高效分工、相互合作,不断改进,最终完成游戏开发任务。具体而言,任务链(Chain)机制对子任务进行了有效串联,智能体之间通过Planner调度进行信息交互,提高了开发效率和代码质量。

未来,北京航空航天大学软件学院团队将继续拓展苍穹的应用领域,深入研究多智能体系统在其他复杂任务中的潜在应用价值。

相关阅读:

华为 HDC 2024 开发者大会专题

广告声明:本文包含对外跳转链接等内容,仅供信息分享,结果仅供参考。

标签精读

扫描二维码推送至手机访问。

本文转载自互联网,如有侵权,联系删除。

本文链接:https://xiezilouchuzuwang.cn/news/4093.html

您暂未设置收款码

请在主题配置——文章设置里上传

扫描二维码手机访问

文章目录