← 最新论文
💻 computer science

LegacyTranslate: LLM-based Multi-Agent Method for Legacy Code Translation

本文提出了名为 LegacyTranslate 的多智能体框架,通过结合初始翻译、API 对齐和基于编译器反馈的迭代优化三个专用智能体,显著提升了将 250 万行 PL/SQL 遗留代码迁移至 Java 时的编译通过率与测试准确性。

原作者: Zahra Moti, Heydar Soudani, Jonck van der Kogel

发布于 2026-03-17
📖 1 分钟阅读☕ 轻松阅读

原作者: Zahra Moti, Heydar Soudani, Jonck van der Kogel

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文讲述了一个关于**“如何把老旧的电脑程序代码翻译成现代语言”**的故事。

想象一下,你是一家大银行的 IT 部门主管。你们银行有一个用了 30 年的老系统,就像一座巨大的、用古老砖石(PL/SQL 语言)建成的城堡。这座城堡里藏着银行最核心的业务逻辑(比如怎么算利息、怎么转账)。

现在,银行决定把这座城堡搬进一座现代化的玻璃摩天大楼(Java 语言)里。但是,这座新大楼有非常严格的内部装修规则专用管道系统(API 接口)。如果新搬进去的房间不符合这些规则,整个大楼的电路就会短路,系统就会崩溃。

问题出在哪里?

以前,人们尝试直接用**“超级翻译机器人”(大语言模型 LLM)**来干这件事。
这就好比你让一个只会说外语的翻译官,直接看着老城堡的图纸,凭感觉画新大楼的图纸。

  • 结果: 翻译官画出来的图纸,语法上看起来是对的(句子通顺),但根本没法施工(代码无法编译)。
  • 原因: 翻译官不知道新大楼里有哪些特殊的“管道”(API),也不懂银行内部的“装修规矩”。他画出来的房间,要么没有门,要么水管接错了地方。

解决方案:LegacyTranslate(遗产翻译器)

为了解决这个问题,作者团队设计了一个**“三人专家小组”**,他们分工合作,像流水线一样工作,把老代码翻译成能真正运行的新代码。

1. 第一关:初稿翻译员 (Initial Translation Agent)

  • 角色: 一个勤奋的学徒
  • 工作: 他手里拿着一本“老代码 vs 新代码”的参考书(检索到的相似案例)。当遇到一段老代码时,他会翻书,看看以前别人是怎么翻译类似情况的,然后模仿着写出一份初稿
  • 比喻: 就像你学做菜,先看别人怎么做“红烧肉”,然后照着步骤做一份出来。虽然味道可能不对,但至少形状像个菜。
  • 成果: 这一步能写出大概 45% 能编译通过的代码,但还不够完美。

2. 第二关:管道专家 (API Grounding Agent)

  • 角色: 一个严格的建筑监理
  • 工作: 他手里有一本**“新大楼管道手册”**(API 知识库)。他检查学徒的初稿,发现:“嘿!你这里用的水管型号不对,新大楼只允许用这种型号!”或者“你这里少了一个必须安装的阀门!”
  • 比喻: 就像装修师傅发现学徒把插座装在了承重墙上,他立刻指出:“不行,这里必须用我们银行专用的插座,不能随便用通用的。”
  • 成果: 这一步把代码的“合规性”大大提升,让代码能在新大楼的框架下“站得住脚”。

3. 第三关:精修大师 (Refinement Agent)

  • 角色: 一个死磕细节的质检员
  • 工作: 他把前两步生成的代码拿去“试运行”(编译和测试)。如果报错(比如“这里缺个零件”),他就把错误信息、管道手册和当前的代码一起交给大模型,说:“看,这里错了,用那个专用零件修一下。”然后让它反复修改,直到代码能完美运行且通过所有测试。
  • 比喻: 就像你试穿了一件衣服,发现袖子太短了。质检员说:“不行,去把袖子接长,再试一次。”直到衣服穿上既合身又舒服为止。

最终效果如何?

  • 单打独斗(只用翻译机器人): 写出来的代码**0%**能在新大楼里运行。全是“看起来像那么回事,但一用就崩”的废品。
  • 三人小组合作(LegacyTranslate):
    • 编译通过率: 从 0% 提升到了 52.9%。也就是说,超过一半的代码直接就能在新系统里跑起来了!
    • 测试通过率:33.8% 的代码不仅跑起来了,而且功能完全正确,通过了所有考试。

核心启示(用大白话总结)

  1. 光会翻译没用,得懂规矩: 如果不懂新系统的“内部规矩”(API),翻译出来的代码就是废纸。必须有人专门去查“管道手册”。
  2. 好钢要用在刀刃上: 这个系统里,“管道专家”(API Grounding Agent)是最关键的。没有他,代码连门都进不去。
  3. 模型越大,脑子越灵: 实验发现,只有足够强大的“翻译大脑”(大模型),才能处理这种复杂的、充满约束的翻译任务。小模型根本搞不定。

一句话总结:
这篇论文告诉我们,要把几百万行老代码搬到新系统,不能只靠一个 AI 瞎猜。我们需要一个**“参考书 + 监理 + 质检员”**的三人团队,分工合作,才能让老古董顺利变身,在现代大楼里安居乐业。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →