LLM2D
TRANSAGENT:基于大型语言模型的多智能体代码翻译系统
TRANSAGENT: An LLM-Based Multi-Agent System for Code Translation
作者: Zhiqiang Yuan, Weitong Chen, Hanlin Wang, Kai Yu, Xin Peng, Yiling Lou
发布日期: 10/1/2024
arXiv ID: oai:arXiv.org:2409.19894v2

摘要

代码翻译将代码从一种编程语言转换为另一种语言,同时保持其原始功能,这对于软件迁移、系统重构和跨平台开发至关重要。传统的基于规则的方法依赖于人工编写的规则,这可能很耗时,而且往往会导致代码可读性较差。为了克服这一问题,人们开发了基于学习的方法,利用平行数据来训练模型进行自动代码翻译。最近,大型语言模型 (LLM) 的发展进一步推动了基于学习的代码翻译。尽管很有前景,但 LLM 翻译的程序仍然存在各种质量问题(例如,语法错误和语义错误)。特别是,当仅提供相应的错误信息时,LLM 可能难以自行调试这些错误。 在这项工作中,我们提出了一种新颖的基于 LLM 的多智能体系统 TRANSAGENT,它通过四个基于 LLM 的智能体的协同作用来增强基于 LLM 的代码翻译,包括初始代码翻译器、语法错误修复器、代码对齐器和语义错误修复器。TRANSAGENT 的主要见解是首先基于目标程序和源程序之间的执行对齐来定位目标程序中的错误代码块,这可以缩小修复空间,从而降低修复难度。为了评估 TRANSAGENT,我们首先从最近的编程任务中构建了一个新的基准,以减轻潜在的数据泄漏问题。在我们的基准测试中,TRANSAGENT 在翻译有效性和效率方面都优于最新的基于 LLM 的代码翻译技术 UniTrans;此外,我们对不同 LLM 的评估表明了 TRANSAGENT 的泛化性,我们的消融研究表明了每个智能体的贡献。