论文:Self-Taught Optimizer (STOP): Recursively Self-Improving Code Generation

作者与团队: Eric Zelikman、Eliana Lorch、Lester Mackey、Adam Tauman Kalai;工作在 Microsoft Research New England 完成,论文署名涉及 斯坦福大学、Microsoft Research、OpenAI。COLM 2024;结果见 v3 PDF

问题

负责产生代码改进的搜索程序通常由人固定。它能否优化自己?

做法

  1. 初始改进器:一段简单程序。输入待改代码和效用函数,调用 LM 生成多个候选,按 utility 选出最好的返回。
  2. 改自己:把改进器自己的源码当作”待改代码”交给它。
  3. 评价新改进器:让新改进器去改进一组下游任务的程序,取平均效用作为它的得分。这一步需要完整运行改进过程。
  4. 递归迭代:得分更高的改进器再用来改进自己。

结果

使用 GPT-4,在带噪奇偶学习任务上迭代 4 轮后选定改进器,再迁移到新任务。Table 1 的“无噪声奇偶学习”要求算法根据样本学习若干二进制位的奇偶规则,并预测新样本的 0/1 结果:

  • 初始改进器产出的算法,平均预测准确率:59.3%
  • 改进后改进器产出的算法,平均预测准确率:81.7%

这里评价的是新旧改进器所生成算法的表现,不是给改进器本身做一道分类题。

适用范围

基础模型固定,任务是小规模算法问题,不能直接推断在真实代码仓库上的效果。

返回 RSI 专题 · 检索论文与资料

更新于 2026-11-09 · 研究方法