Maison >Périphériques technologiques >Industrie informatique >L'Université de Tianjin et l'Université de Beihang sont profondément impliquées dans le projet « Cangjie » de Huawei et ont lancé le premier cadre de programmation d'agents d'IA « Cangqiong » basé sur des langages de programmation nationaux.
Selon les informations de ce site du 22 juin, Huawei a présenté hier le langage de programmation auto-développé par Huawei, Cangjie, aux développeurs du monde entier. Il s'agit de la première apparition publique du langage de programmation Cangjie.
L'enquête de ce site a révélé que l'Université de Tianjin et l'Université d'aéronautique et d'astronautique de Pékin étaient profondément impliquées dans la recherche et le développement du « Cangjie » de Huawei.
L'équipe d'ingénierie logicielle du Département d'intelligence et d'informatique de l'Université de Tianjin s'est associée à l'équipe de Huawei Cangjie pour participer en profondeur à la recherche sur l'assurance qualité du compilateur de langage de programmation Cangjie.
Selon les rapports, Le compilateur Cangjie est le logiciel de base qui est en symbiose avec le langage de programmation Cangjie. Lors de la phase préparatoire du langage de programmation Cangjie, un compilateur de haute qualité qui lui correspond est devenu l'un des objectifs principaux. À mesure que le langage de programmation Cangjie évolue, le compilateur Cangjie est constamment mis à niveau et amélioré.
Au cours des cinq dernières années, Le professeur Chen Junjie, le professeur Wang Zan, le chercheur Jiang Jiajun de l'équipe de génie logiciel du Département d'intelligence et d'informatique de l'Université de Tianjin, ainsi que plus de dix étudiants diplômés, dont Zhao Yingquan, Fu Ruifeng, Guo Yile, Zheng Kai et Fan Xingyu ont mené des recherches approfondies sur les travaux de test du compilateur Cangjie et ont proposé un cadre de test systématique du compilateur Cangjie basé sur les données, couvrant la technologie de génération de programmes de test basée sur la synthèse de programmes, tester la technologie de construction d'Oracle basée sur la mutation du programme et le processus de test basé sur la représentation du code, la technologie d'accélération et de nombreuses autres technologies avancées. Les résultats ont été publiés dans de nombreux articles universitaires lors de conférences de premier plan dans le domaine du génie logiciel, telles que l'ICSE et l'ISSTA, et ont été déployés dans des tests réels du compilateur Cangjie, améliorant considérablement les résultats des tests du compilateur Cangjie.
Test de la technologie de génération de programmes basée sur la synthèse de programmes : Cette technologie décompose le code du programme en fragments de code à granularité fine, impliquant différentes fonctionnalités du langage, puis implémente les tests sous la direction de contraintes syntaxiques et sémantiques. Synthèse efficace des programmes . Il convient de noter que cette technologie peut utiliser les défauts historiques comme données de base, extraire des fragments de code liés aux défauts et les intégrer dans divers contextes de code pour stimuler sa capacité à déclencher davantage de défauts et à exécuter davantage de branches de code.
Technologie de construction de prédictions de tests basée sur la mutation de programme : Cette technologie conçoit une série d'opérateurs de mutation équivalents et d'opérateurs de mutation inégaux grâce à une analyse et une exploration approfondies de la syntaxe et de la sémantique du langage de programmation Cangjie. Le premier fournit des suppléments aux prédictions de tests, intègre des idées de tests métamorphiques et améliore les capacités de détection d'erreurs techniques, tandis que le second améliore encore la diversité des programmes de test et introduit davantage de fonctionnalités du langage Cangjie, d'appels de bibliothèque sous-jacents et d'autres informations pour parvenir à une compréhension plus complète de le test du compilateur Cangjie.
Technologie d'accélération du processus de test basée sur la représentation du code : Cette technologie vise à améliorer l'efficacité des tests du compilateur afin de détecter davantage de défauts du compilateur dans un délai plus court. Cette technologie fragmente le code du programme de test et introduit une stratégie d'apprentissage de la représentation du code pour le représenter dans l'espace de définition du langage. De plus, cette technologie utilise des extraits de code et génère des programmes de test dans une perspective de diversité, et utilise les résultats des tests comme retour d'information pour guider davantage le processus de test ultérieur, améliorant ainsi l'efficacité globale des tests.
École de logiciels de l'Université d'aéronautique et d'astronautique de PékinÉquipe du professeur Li LiParticipation approfondie au développement de CangChain, un cadre de programmation d'agents d'IA basé sur le langage de programmation Cangjie. C'est la première fois Un cadre de programmation d'agents IA basé sur des langages de programmation nationaux.
Selon les rapports, CangChain est né dans la communauté Cangjie et a reçu le support technique de l'équipe officielle du langage de programmation Cangjie. En tant que projet communautaire open source, Cangqiong adopte une conception et des fonctionnalités modulaires, visant à fournir aux ingénieurs logiciels des fonctions fiables pour les modèles d'intégration logicielle, un accès sécurisé aux données privées et l'interaction des données.
Basé sur le concept de conception modulaire, Cangqiong permet aux développeurs de sélectionner et de combiner différents modules en fonction de leurs propres besoins spécifiques. Dans le processus de réalisation de la tâche, Cangqiong peut décomposer la tâche en plusieurs sous-tâches, sélectionner et créer un agent (Agent) approprié pour chaque sous-tâche, permettre au modèle de langage d'interagir avec des API externes, appeler l'outil (Outil) qui atteint l'objectif. de la sous-tâche et utilise la chaîne de tâches (Chain) connecte chaque sous-tâche en série et obtient finalement la solution de la tâche.
L'équipe du professeur Li Li est principalement impliquée dans la conception, le développement et la mise en œuvre du framework ReAct et de la planification multi-agents Planner in the sky.
Dans l'application spécifique, l'équipe a conçu et mis en œuvre un système multi-agent, comprenant les quatre rôles clés suivants : Docwriter, CodeWriter, CodeTester et CodeReviewer. Ces agents travaillent en étroite collaboration sur la plateforme Cangqiong pour mener à bien les tâches de développement de jeux classiques tels que 2048.
Docwriter : Responsable de la rédaction des documents d'exigences détaillés et des spécifications de conception. Dès les premières étapes du développement du jeu, Docwriter communique avec les utilisateurs et d'autres agents pour comprendre et enregistrer en profondeur les exigences fonctionnelles et les idées de conception du jeu, fournissant ainsi un plan détaillé pour les étapes ultérieures.
CodeWriter : Responsable de l'écriture du code source conformément au document de conception. CodeWriter utilise des techniques de programmation et des algorithmes avancés pour transformer les exigences fournies par Docwriter en implémentations de code spécifiques. Le mode « raisonnement-action » de ReAct in the Sky Framework améliore efficacement l'efficacité et la précision de la programmation de CodeWriter.
CodeTester : Une fois le code source initialement écrit, CodeTester générera et exécutera automatiquement une série de cas de test pour garantir l'exactitude et la stabilité de la fonction du code. CodeTester utilise divers outils définis pour construire des scénarios de test et exécuter les scénarios de test correspondants afin de localiser et de fournir des commentaires sur les problèmes potentiels dans le code afin d'améliorer la qualité du code.
CodeReviewer : Responsable de mener un examen complet du code écrit par CodeWriter pour garantir que le code répond aux meilleures pratiques et aux normes de qualité. CodeReviewer vérifiera non seulement l'implémentation fonctionnelle du code, mais prêtera également attention à la lisibilité et à la maintenabilité du code et fera des suggestions d'optimisation.
Grâce à la conception modulaire de Cangqiong et à la planification intelligente multi-agents, ces agents de rôle peuvent diviser efficacement le travail, collaborer les uns avec les autres et en continu itérer Optimiser et enfin terminer les tâches de développement du jeu. Plus précisément, le mécanisme de chaîne de tâches (Chain) connecte efficacement diverses sous-tâches et l'interaction des informations entre les agents est connectée de manière transparente via la planification du planificateur, ce qui améliore l'efficacité du développement et la qualité du code. À l'avenir, l'équipe de la Beihang University Software School prévoit de continuer à élargir les domaines d'application de Qiong et de mener des recherches approfondies sur le potentiel d'application des systèmes multi-agents dans d'autres tâches complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!