Agnostics: Learning to Code in Any Programming Language via Reinforcement with a Universal Learning Environment

本文提出了名为 Agnostics 的语言无关后训练管道,通过仅依据代码的外部可观测行为进行验证,利用强化学习无需针对每种语言重新构建数据集或基础设施,即可显著提升 Qwen、DeepSeek 等模型在 Lua、Fortran 等低资源编程语言上的代码生成能力并刷新多项基准测试记录。

Aleksander Boruch-Gruszecki, Yangtian Zi, Zixuan Wu, Tejas Oberoi, Carolyn Jane Anderson, Joydeep Biswas, Arjun Guha

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

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 Agnostics(不可知论者)的新方法,旨在解决大语言模型(LLM)在“冷门”编程语言上表现不佳的问题。

为了让你轻松理解,我们可以把这件事想象成教一个只会说英语的超级天才(大模型)去掌握各种冷门方言(如 Lua, Fortran, R 等)

1. 现在的困境:天才也有“偏科”

想象一下,你有一个超级聪明的学生(大模型),他读过海量的英语(Python/JavaScript)书籍,所以让他用英语写代码,他无所不能。但是,如果让他用古法语(Fortran)、**某种部落方言(Lua)或者科学专用语(R/Julia)**写代码,他就完全懵了。

为什么?

  • 书太少: 互联网上关于这些冷门语言的“教材”(训练数据)非常少。
  • 老师难找: 现有的教学方法(微调)需要针对每种语言专门请一位“语言老师”来出题、改卷、设计奖励机制。为每一种冷门语言都请一位老师,成本太高,几乎不可能。

2. Agnostics 的绝招:只看“结果”,不问“过程”

Agnostics 的核心思想非常巧妙:“我不在乎你是用什么语言写的,我只在乎你的程序跑出来对不对。”

这就好比盲测

  • 传统方法: 老师必须懂每种语言,拿着放大镜看代码语法对不对。
  • Agnostics 方法: 老师根本不看代码!老师只把题目(输入)交给学生,学生写个程序跑一下,老师只看输出结果(比如:输入 2,输出应该是 False;输入 10,输出应该是 True)。只要结果对,不管学生是用 Python 写的还是用古拉丁文写的,都算满分!

3. 具体是怎么做的?(三步走)

第一步:把“试卷”翻译成“通用语言”

以前的编程题通常是这样的:“写一个 Python 函数,输入是列表,输出是……"(这限制了只能用 Python)。
Agnostics 用大模型把这些题目全部“翻译”成通用格式

  • 输入: 给一串数字。
  • 输出: 给一串结果。
  • 规则: 只要你的程序能把输入变成正确的输出,就算你过。
    这样,同一套题目,Lua、Fortran、R 都能用,不需要为每种语言重新出题。

第二步:给每种语言配一个“万能翻译器”(配置文件)

这是 Agnostics 最省力的地方。以前需要写复杂的编译器,现在只需要写一个极短的“说明书”(YAML 配置文件),告诉系统:

  • “这个语言叫 Lua,安装命令是 apt-get install luajit。”
  • “运行命令是 luajit 文件名。”
  • “注意:R 语言读取输入要用 readLines,别用 print。”

这就好比你给一个万能翻译机贴个标签,它就知道怎么运行这个语言了。配置一个冷门语言,只需要1 小时

第三步:强化学习(RL)——“试错法”

系统让模型不断生成代码,然后扔进一个安全的沙箱(就像在隔离区里运行病毒,不会炸毁电脑)去跑。

  • 如果跑通了,结果对了 -> 给奖励(像给狗扔骨头)。
  • 如果报错了、死循环了、结果错了 -> 没奖励
    模型通过成千上万次的“试错”,自己摸索出怎么写代码才能拿到奖励。因为它只关心结果,所以它学会了用冷门语言写出正确的代码,哪怕它一开始完全不懂这个语言的语法。

4. 成果如何?

作者用这个方法,让一个只有 40 亿参数(相当于一个小个子)的模型(Qwen 3 4B),在 Lua、Julia、R、OCaml 和 Fortran 这五种冷门语言上,表现竟然能媲美甚至超过那些 160 亿到 700 亿参数 的超级大模型!

  • 以前: 小模型写 Fortran 几乎得 0 分。
  • 现在: 小模型写 Fortran 能拿 15% 的分数(这在以前是奇迹),而且比那些大模型还强。

5. 总结:为什么这很重要?

这就好比以前只有英语中文的翻译器很发达,其他语言没人会翻。
Agnostics 发明了一种**“只看结果”的翻译机制**。你只需要告诉它“怎么运行这个语言”,它就能自动学会。

  • 对科学家: 那些还在用 Fortran 做气象模拟、用 R 做数据分析的人,终于可以用上 AI 助手了。
  • 对开发者: 以后想支持一种新语言,不需要请专家重新训练模型,只需要写几行配置文件,AI 就能自己学会。

一句话总结:
Agnostics 就像是一个**“结果导向”的万能教练**,它不关心学生用什么方言答题,只要答案对,它就给满分。这让 AI 能够轻松跨越语言障碍,掌握那些被遗忘的“冷门”编程语言。

在收件箱中获取类似论文

根据您的兴趣定制的每日或每周摘要。Gist或技术摘要,使用您的语言。

试用 Digest →