← 最新论文
💻 computer science

Large Language Models for Multilingual Code Intelligence: A Survey

本综述通过审视实现稳健多语言代码智能的方法、基准与挑战,特别是聚焦于跨语言代码生成与语义保持的翻译,来探讨大型语言模型当前对高资源编程语言的偏见。

原作者: Chao Jiang, Dugang Liu, Cheng Wen, Zhiwu Xu, Hua Zheng, Muhammad Sadiq, Jawwad Ahmed Shamsi, Shengchao Qin, Zhong Ming

发布于 2026-04-30
📖 1 分钟阅读☕ 轻松阅读

原作者: Chao Jiang, Dugang Liu, Cheng Wen, Zhiwu Xu, Hua Zheng, Muhammad Sadiq, Jawwad Ahmed Shamsi, Shengchao Qin, Zhong Ming

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

想象你有一位才华横溢、无所不知的厨师(即大型语言模型,或 LLM)。这位厨师以用英语(例如 Python 代码)烹饪出令人惊叹的菜肴而闻名。他们能够遵循用英语写成的食谱,制作出完美的餐点。

然而,世界并不只讲英语。现实世界的软件就像一个巨大的国际百家宴,人们说着几十种不同的语言(Rust、Java、C++、OCaml 等)。问题在于,这位厨师有点势利:他们是英语大师,但当被要求用完全相同的菜肴做法来烹饪法语、德语或像"Rust"这样罕见的方言时,却会感到吃力。

本文是一份综述(一份大型成绩单),探讨我们如何教导这位厨师成为真正的多语言者——即能够用多种语言完美烹饪的人。

以下是使用简单类比对论文主要观点的分解:

1. 问题:“单语偏见”

目前,人工智能模型主要使用 Python 和 Java 等流行语言的数据进行训练。这就像厨师只读过英语食谱。

  • 结果:当你要求厨师烹饪一道"Rust"菜肴时,他们可能会放错香料、忘记安全规则,或者端出一份看起来正确但味道糟糕的餐点(即存在漏洞)。
  • 现实:真实的软件系统就像一把瑞士军刀。它的刀柄由一种材料制成(Java),刀片由另一种材料制成(C++),而螺丝刀则由第三种材料制成(Rust)。如果你的 AI 助手只会一种语言,它就无法帮助你构建或修复整个工具。

2. 两项主要工作

本文重点关注 AI 解决这种“瑞士军刀”问题的两种具体方式:

  • 工作 A:“翻译官”(代码生成)

    • 类比:你用简单的英语向厨师描述:“我需要一辆跑得快的车。”
    • 任务:厨师必须同时用三种不同的语言建造这辆车:一辆木车(Python)、一辆钢车(C++)和一辆玻璃车(Rust)。
    • 挑战:尽管木头、钢铁和玻璃的行为方式截然不同,但这三辆车必须以相同的方式行驶。AI 往往难以让“玻璃车”既安全又实用。
  • 工作 B:“翻新工”(代码翻译)

    • 类比:你有一栋老旧、吱吱作响的木屋(遗留的 C/C++ 代码),里面满是漏洞且不安全。你想让一家人搬进一栋现代、防火的钢屋(Rust)。
    • 任务:AI 必须将家具和家人(即逻辑)从老房子搬到新房子,不能丢失任何物品,也不能改变家人的生活方式。
    • 挑战:这不仅仅是搬箱子;而是要重建地基,使房子能在新世界中屹立不倒。如果 AI 遗漏了细节,这家人(即程序)可能会从地板上掉下去。

3. 我们如何教导这位厨师?(方法)

本文综述了研究人员试图改善厨师语言技能的四种主要方法:

  • “提示”技巧(提示工程)

    • 类比:你不需要重新培训厨师,只需在点餐单上给出一张非常具体、详细的便条。“请记住,在 Rust 中,你必须佩戴护目镜!”
    • 优缺点:这种方法既便宜又快速,但如果厨师本身不懂这门语言,一张便条也帮不上多大忙。
  • “学校”方法(预训练与微调)

    • 类比:你送厨师回烹饪学校,花几个月时间研读法语和德语的食谱。
    • 优缺点:这能让他们成为真正的专家,但代价昂贵且耗时漫长。此外,罕见语言的食谱非常少,所以他们可能仍然感到困惑。
  • “团队”方法(多智能体框架)

    • 类比:与其雇佣一位厨师,不如雇佣一个团队。一位厨师写食谱,第二位检查语法,第三位测试食物是否烧焦,第四位则负责修正错误。
    • 优缺点:这对于复杂的工作非常有效,因为他们能互相发现错误,但这需要更多的时间和协调。
  • “图书馆”方法(检索增强生成,RAG)

    • 类比:允许厨师在烹饪时走到图书馆,查阅关于"Rust 烹饪”的具体规则。
    • 优缺点:这能确保他们拥有最新、最准确的规则,但他们需要知道如何快速找到正确的书籍。

4. 我们如何给厨师打分?(评估)

测试编写代码的 AI 比测试写诗的 AI 更难。

  • “通过/失败”测试:在诗歌中,如果一首诗听起来不错,它就是好的。而在代码中,如果数学计算相差一个小数点,整个程序就会崩溃。
  • 问题:很难测试一辆"Rust"汽车是否与"Python"汽车行驶方式相同,因为它们运行在不同的引擎上。论文指出,我们需要更好的方法来检查含义是否保持不变,而不仅仅是看词语是否相似。
  • 趋势:我们正从测试单个句子(代码片段)转向测试整栋建筑(整个软件项目),这要困难得多。

5. 结论

论文总结道,虽然 AI 在掌握多种编程语言方面正在进步,但仍有漫长的路要走。

  • 目前它偏向于流行语言。
  • 它在切换语言时难以保持代码的“含义”安全。
  • 我们需要更好的测试,以确保 AI 不仅仅是在猜测。

简而言之:我们正试图将一位单语天才转变为一位真正的全球公民,能够安全、正确地用任何语言构建、翻译和修复软件。我们正在接近目标,但这把“瑞士军刀”仍然有点摇晃。

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

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

试用 Digest →