论文: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
问题
负责产生代码改进的搜索程序通常由人固定。它能否优化自己?
做法
- 初始改进器:一段简单程序。输入待改代码和效用函数,调用 LM 生成多个候选,按 utility 选出最好的返回。
- 改自己:把改进器自己的源码当作”待改代码”交给它。
- 评价新改进器:让新改进器去改进一组下游任务的程序,取平均效用作为它的得分。这一步需要完整运行改进过程。
- 递归迭代:得分更高的改进器再用来改进自己。
结果
使用 GPT-4,在带噪奇偶学习任务上迭代 4 轮后选定改进器,再迁移到新任务。Table 1 的“无噪声奇偶学习”要求算法根据样本学习若干二进制位的奇偶规则,并预测新样本的 0/1 结果:
- 初始改进器产出的算法,平均预测准确率:59.3%
- 改进后改进器产出的算法,平均预测准确率:81.7%
这里评价的是新旧改进器所生成算法的表现,不是给改进器本身做一道分类题。
适用范围
基础模型固定,任务是小规模算法问题,不能直接推断在真实代码仓库上的效果。
更新于 2026-11-09 · 研究方法