← 最新论文
💻 computer science

Self-Evolving Code-with-Image Reasoning

本文介绍了“Code-with-Image”,这是一个无需训练的自我进化框架,其中多模态模型通过代码实现视觉算法来解决复杂的像素级任务,并利用可执行的反思循环来迭代优化其推理能力,从而在 CwI-Bench 上实现了显著的性能提升。

原作者: Tianze Yang, Liang Wu, Ruitong Sun, Yucheng Shi, Yanqiao Wang, Mayank Darbari, Ninghao Liu, Jin Sun, Liangjie Hong

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

原作者: Tianze Yang, Liang Wu, Ruitong Sun, Yucheng Shi, Yanqiao Wang, Mayank Darbari, Ninghao Liu, Jin Sun, Liangjie Hong

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

侦探的困境:当“看见”并不足够

想象你是一名正在试图破解谜题的侦探,但你不是在寻找线索,而是在盯着一张高分辨率的照片。在人工智能的世界里,这就是“多模态模型”所做的事情:它们观察图像并尝试回答关于图像的问题。长期以来,这些 AI 侦探通过学习使用“工具”变得越来越出色。如果一个线索太小看不清,它们会学习如何放大;如果一段文字很模糊,它们会学习如何调亮图像。这被称为“用图像思考”。这就像是给侦探一把放大镜和一把手电筒。

然而,这里有一个陷阱。有些谜题并不能仅靠“看”得更仔细来解决。想象一个谜题,你必须精确计算特定图案中有多少个像素,或者弄清楚一个隐藏的圆环旋转了多少精确角度。无论你如何放大或调亮,都无法用眼睛“看到”答案。你必须进行“计算”。这就是旧的思维方式撞墙的地方。AI 可以用语言描述解决谜题的步骤,但语言无法对图像进行数学运算。这篇论文进入了这个空白地带,提出了一个简单但深刻的问题:如果 AI 不仅仅是描述解决方案,而是实际编写一个运行该解决方案的计算机程序,会怎样?

论文的核心思想:将编程作为思考

这篇论文介绍了一种让 AI 解决视觉谜题的新方法,称为 Code-with-Image(代码即图像)。与其要求 AI 仅仅“看”一张图像并猜测答案,或者使用一组预设的工具(如“裁剪”或“旋转”),研究人员给了 AI 一块空白画布和一个 Python 解释器(一个运行计算机代码的工具)。AI 的任务是编写一个程序,直接操纵图像的像素来找到答案。

可以这样理解:在旧的方法中,如果你问 AI,“这张图片里有多少个红点?”,它可能会尝试描述这些点,或者使用一个工具来高亮显示它们。在 Code-with-Image 中,AI 必须编写一个脚本,内容是:“遍历每一个像素,检查它是否为红色,计数,然后打印总数。”这个程序就是推理过程。如果代码正确,答案就正确;如果代码错误,答案就错误。这把挑战从“看见”答案转向了“构建”答案。

问题所在:AI 能描述,但不能执行

研究人员发现,即使是最聪明的 AI 模型也会在这个问题上挣扎。他们测试了一个名为 CwI-Bench(Code-with-Image Bench)的大规模基准测试,其中包含 30 种不同类型的视觉谜题。这些谜题的设计初衷是让你无法仅靠“看”来获得答案;你必须对像素进行多步计算。

当 AI 尝试仅使用语言(即使开启了其“思考”模式)来解决这些谜题时,表现得非常糟糕。例如,顶尖模型 GPT-5.6-luna 的正确率不到 30%。它可以完美地描述步骤(“我需要旋转图像并统计像素”),但它无法实际进行数学运算。它就像一位能完美描述食谱细节,却根本不会做饭的厨师。

然而,当研究人员给 AI 一个 Python 解释器并告诉它通过编写代码来解决问题时,得分大幅上升。GPT-5.6-luna 的准确率提升到了 43%。开源模型 Qwen3.5-27B 从 12.6% 跃升至 32.6%。代码让 AI 能够真正处理图像数据,将一场猜谜游戏变成了一场计算。

秘诀:自我学习调试

但关键在于:即使拥有编写代码的能力,AI 仍然会犯错。它会写出一个看起来正确的程序,但其中包含一个微小的、肉眼不可见的错误——比如多算了一个像素,或者使用了错误的旋转数值。AI 会运行代码,得到错误答案,然后往往只是尝试编写一个新的程序,并且经常重复同样的错误。

为了解决这个问题,作者创建了一个名为“基于可执行推理的自我反思”(Self-Reflection over Executable Reasoning)的“自我进化”循环。这是故事中最有趣的部分。想象一下 AI 正在参加考试,当它答错题时,它不只是跳过,而是被迫执行以下操作:

  1. 查看失败的测试: 阅读它编写的代码以及得到的错误答案。
  2. 运行模拟: 在一个安全的“沙盒”中重新运行代码,以观察究竟在哪里出错了。
  3. 修复 Bug: 编辑代码以纠正错误。
  4. 保存经验: 如果修复成功,将纠正后的代码作为一项“技能”(一段文本)保存到库中。

这一切都是在不需要 AI 进行重新训练或重构其“大脑”的情况下完成的。它只是从自己的失败中学习。论文表明,这种“自我教学”循环极其强大。

  • 对于 GPT-5.6-luna 模型,使用这些自我进化的技能将其准确率从 43% 提升到了 67%
  • 对于 Qwen3.5-27B 模型,它从 32.6% 跳升到了 55.9%

为什么这很重要:可以复制粘贴的技能

最酷的发现之一是,这些“技能”仅仅是纯文本。它们并不锁定在 AI 的大脑内部。研究人员展示了他们可以将一个庞大、强大的模型(如 270 亿参数的模型)学到的技能,直接“粘贴”到一个更小、更弱的模型(90 亿参数的模型)中。

这个原本无法独立解决问题的较小模型,仅仅通过阅读由大模型编写的“参考指南”,就突然变得出色起来。

  • 9B 模型仅通过使用由 27B 模型进化的技能,其准确率就从 11.1% 提升到了 34.5%
  • 更令人惊讶的是,这些技能在不同类型的 AI 模型之间是通用的。一个模型家族学到的技能可以帮助完全不同的另一个模型家族获得提升。

本论文排除了什么

论文非常明确地指出了哪些方法是行不通的。它认为,对于这类特定类型的问题,仅仅给 AI 提供一系列工具(如“缩放”、“裁剪”或“搜索”)是不够的。AI 需要从头开始编写自己的算法。它还表明,仅仅通过语言进行更深入的“思考”并无帮助;瓶颈不在于缺乏想法,而在于缺乏执行力。AI 可以描述算法,但如果不运行代码,它就无法解决谜题。

总结

这篇论文表明,对于需要精确计算的视觉问题,AI 思考的最佳方式是编写代码。但真正的突破在于,这些 AI 模型可以通过调试自己的错误来学会如何写好这些代码。它们不需要人类老师来修正代码;它们只需要一个可以运行代码的沙盒,一面能看到自己失败之处的镜子,以及一点尝试再试一次的耐心。

结果是客观且具体的:在 30 个任务族型的基准测试中,自我进化的技能将顶尖模型的性能从 40% 出头的水平提升到了 60% 以上的高位。虽然论文并未声称这解决了所有视觉问题,但它证明了对于那些答案存在于像素数学逻辑而非肉眼观察的任务中,编程是关键,而自我反思则是掌握关键的钥匙。

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

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

试用 Digest →