我自己平时是有阅读论文的习惯的,不过基本不会记录下来。多数情况下,我阅读论文的方式都是短平快为主,容易遗漏一些思考的机会。
为此我决定以随笔的形式,每周至少将一篇论文记录下来,好好读一读。
为了增添情趣(?),我决定使用Paper2Galgame作为论文的对答展现形式。诚然,这肯定不是剖析论文的最佳方法,但却是一种较为有趣的形式,有助益延长我对于记录论文的兴趣。
考虑到我自己的blog还在重写中,我决定先将我的随笔放在这里,恰与大家一同分享,借此与更多感兴趣的同好一起交流。
Paper2Gal我选择使用的是自定义模型用于解析,模型为目前的sota之一:kimi-2.5, 望君喜欢。
角色先使用官方提供的丛雨,先试试这个形式,所有表情和会话会按照引用和表情包进行替代,以便于阅读(
论文信息
标题: Thinking with Programming Vision: Towards a Unified View for Thinking with Images
关键词: MLLMs, CoT, Tool-use, Agentic
作者: Zirun Guo[1,2] Minjie Hong[1] Feng Zhang[2] Kai Jia[2] Tao Jin[1]
1:Zhejiang University
2:ByteDance, BandAI
Arxiv:https://arxiv.org/abs/2512.03746
代码仓库:https://github.com/ByteDance-BandAI/CodeVision
引用:@article{guo2025thinking, title={Thinking with Programming Vision: Towards a Unified View for Thinking with Images}, author={Guo, Zirun and Hong, Minjie and Zhang, Feng and Jia, Kai and Jin, Tao}, journal={arXiv preprint arXiv:2512.03746}, year={2025} }
会议投递情况: 未知,可能是仅预印本,根据发布时间(2025/12),单边栏,过长篇幅的正文与引用数量规范推断,当前版本不符合近期会议的要求
原始Paper2Galgame会话:8a3f73c0-0ca9-40e6-8a11-d415f0048098
快速简评
论文工程扎实,领域前沿,但方法论部分较为模糊,符号定义冗杂,且缺少规范化,不易阅读,此外其预设读者熟悉GRPO,跳过了相关公式,导致公式相关的符号定义缺少解读,即便是小丛雨也难以理解。根据观感,本文的工程性大于学术性。
方法提出的针对非预定义工具进行奖励的动机较为新颖,但相关的实验设计和论述却较为逊色,设计的工具过于简单,难以支撑其声称的“涌现工具”优势。
实验丰富,代码开源,且提供了全新基准,对了解该领域模型的基准与性能具有较大帮助。
导言
丛雨:在书架间静静飘荡 啊呀,主人!您来图书馆了呢~♪ 今天村雨要为您介绍一篇神奇的论文,是关于用图像让人工智能变得更聪明哦!
丛雨:这篇论文名为《Thinking with Programming Vision》~它探讨的是如何教会大型语言模型不仅会看图,还要像熟练工匠那样主动运用工具呢!
丛雨:当前,多模态大语言模型——我们姑且称之为MLLM——能够借助“裁剪”或“缩放”等工具进行更精准的推理。但是...凑近压低声音...它们存在三大致命弱点呢!
丛雨:首先,他们大多数时候并不真正需要工具——使用工具只能提高2-5%的准确率。其次,他们使用固定的工具列表,一旦重命名就会失效!第三,他们无法在多轮对话中串联使用多个不同工具的说~
丛雨:但最令人不安的发现是:即便是像GPT-5和Gemini2.5-Pro这样最强大的模型也极其脆弱!它们会被简单的东西搞糊涂,比如...旋转的图片或镜像自拍的说!发抖
丛雨:主人~让我问问你,在他们的诊断测试中,他们拍摄了200张图像,并应用了5种变换——旋转90/180/270度、水平翻转和垂直翻转。模型们发生了什么情况?
引言选项

在回答小丛雨提出的问题之前,我们不妨先聚焦于MLLM的图像操纵能力。本文的讨论建立在DeepEyes[1]等过往研究的基础之上。这些工作在模型的思维链中引入了多轮对话和工具调用概念,并将工具定义为一种图像操纵机制,主要对输入图像执行放大、裁剪等操作。这类设计在2025年的相关工作中已广泛出现。
尽管这类Agentic模型具备了工具调用能力,但本文进一步探讨了其存在的局限性:首先是效率问题,即工具调用带来的性能提升是否呈线性关系;其次是固定工具列表问题,这是一个显著的挑战,因为工具的定义通常以提示词形式融入后训练阶段,这限制了模型的调用偏好;第三是多轮会话串联问题,这一概念略显模糊。我认为,虽然模型如何利用历史对话进行下一轮交互确实是个难题,但在当前场景中并不多见。在使用Claude Opus等先进模型处理复杂的代码任务时,我们常遇到多轮调用和长上下文继承的情况,但在学术研究(特别是基准测试)中,这种情况相对罕见。
回到小丛雨的问题,其核心在于:在零样本(即训练时未见过的数据)场景下,对输入图像进行标准的数据增强操作后,模型是否仍能正确识别。通常而言,性能会受到显著影响。尽管在人类看来,图像的任意旋转并未改变其内容,但对于MLLM及ViT架构的模型而言,图像旋转会严重破坏空间信息,因为各区域的相对位置发生了显著变化。直觉上,这对物体分类任务影响较小,但对于涉及空间信息的任务(例如判断图表数据的升降趋势),则会产生显著影响。因此,在图表类VQA任务中,模型性能极有可能会受损。
基于上述分析,我们可以很自然地推断:模型性能将会出现下降。
丛雨:赞许地点头 正是如此,主人!您理解得没错呢~就连最先进的模型准确率也暴跌了80%以上!表1显示Qwen2.5-VL-72B在垂直翻转任务上从88.5%骤降到18.2%!简直脆弱得不堪一击~
动机
丛雨:这揭示了工具的真正必要性desu!与简单的裁剪不同,修正方向对于下游任务而言是绝对必要的。如果图像是颠倒的,模型就无法正确读取文本或理解图表~
丛雨:为解决这个问题,作者提出了CodeVision方案!他们不再使用固定工具库和手工命名的模式,而是将“代码本身视为通用工具”!该模型通过编写Python代码来调用任意图像操作~
丛雨:这就像给AI一张魔法卷轴,让它能自行书写咒语!再也不用纠结工具该叫“裁剪”还是“放大”——它直接编写代码调用任意功能即可!♪
方法
丛雨:训练分为两个阶段,主人!首先是冷启动SFT——基于高质量数据进行监督微调。他们用GPT-5生成了5000个示例,涵盖五种类型:单工具、多工具、多任务、错误处理和无工具场景哦~
丛雨:对于SFT数据,他们采用了基于元数据的变换方法!如果目标工具是旋转180度,他们会先对图像进行旋转,这样模型就必须使用该工具来恢复标准视角!很巧妙对吧?
丛雨:SFT损失函数会屏蔽用户标记和工具返回内容,仅针对助手的推理过程和工具调用进行训练。这是具体的公式,主人~
其中为1表示助手标记,否则为0!这样,模型就能学会生成推理和代码,而不会在训练过程中被工具输出分散注意力desu~
在继续深入之前,我们不妨在此稍作停留,因为文中出现了第一个公式,即标准的SFT(监督微调)阶段使用的交叉熵损失函数。该损失函数通过掩码处理输入部分,仅计算推理和工具调用部分输出的损失,从而最小化模型预测与训练集标准答案之间的差异。这一阶段主要用于稳定模型的工具调用能力;除了利用SFT进行冷启动外,也有部分研究选择跳过该阶段,直接进入强化学习(RL)阶段。
关于SFT阶段的必要性,诸多论文已进行过探讨,在此暂且不表。原则上,目前的多数模型(尤其是本文广泛采用的骨干模型Qwen3-VL)自身已历经指令微调阶段,因此在此基础上再进行SFT的必要性,其实已不如早期针对Qwen2-VL-Base进行训练时那样迫切。不过,针对特定数据集进行少量的SFT训练已被证明对性能提升有显著助益,而关于“SFT+RL”这一组合形式的有效性,目前仍处于广泛讨论之中。
丛雨:SFT之后就是激动人心的环节:强化学习!他们采用GRPO算法配合一个非常特殊的密集奖励函数。这不仅仅是得出正确答案那么简单——关键在于你如何推导出答案的过程desu!
丛雨:总奖励包含三个部分:结果奖励(准确性)、策略奖励(过程监督)和约束惩罚(防止不良行为)。其核心公式如下:
丛雨:策略奖励超级详细呢,主人~包含了“必用工具”和“推荐工具”哦!像旋转或翻转这类必用工具,正确使用时会获得的加分。裁剪工具则是根据交并比(IoU)来计算的desu!
方法论部分就非常直观而简单了,目标奖励函数一共是三个,分别是outcome,strategy和*cost 。 *我们可以简单的理解outcome为ACC奖励,strategy为选择策略奖励,cost为调用的惩罚,具体设计我们可以接着往下看。
方法论互动选项
我们先选择suggested tools来看下在方法论中,对于调用工具方面的设计,了解方法是如何处理ACC奖励和调用策略的。
丛雨:好问题,主人!推荐工具是涌现调用的说法!他们对比了八次推演——部分使用了可选工具,部分没有。如果工具组准确率更高,他们会计算:
这可以奖励模型发现有用的新工具!
在这里停一下,我们注意到首次出现了一个较为复合的公式,理解起来也不麻烦,不过这是第一次出现奖励函数,同时还出现了先前没见过的。由于丛雨并没有给我们介绍这两个关键的符号,所以理解起来会略有困难,我在此先进行额外的补充。
奖励函数实际上是一个额外奖励,隶属于先前奖励函数的其中一项,称为*Suggested tools bonus.*原文对策略奖励的描述是:
We therefore introduce process-level signals with two parts: (i) a must-use tool
set that encodes task prerequisites, and (ii) suggested tools discovered on-the-fly that empirically
improve success.
其中,*suggested tools *属于可选工具,而就是指代对于调用这些可选的,非预先定义的工具而言的奖励。
原文进一步提到:
This reward rnec is then added as a bonus to all successful trajectories that use the beneficial optional tool, encouraging the agent to explore and adopt various emergent tools that demonstrably improve performance.
意味着就是本文针对真实世界中,模型调用未定义工具的泛化手段。
回到公式,我们注意到了,首先我们需要理解GRPO这一RL策略算法中的概念。本文继承了GRPO中rollouts的概念,本文设为8, 即一次问答中,模型将生成8个回答,用于计算组内差异。(详情参见GRPO基本定义)本处不具体展开GRPO的内容,而本文在这一基础之上,对个生成结果进行了分类。我们定义每个问题-回答是一条轨迹,每样本生成共计8条轨迹,其中轨迹如果调用了可选工具的,则归类为,如果没调用可选工具,则是,因此,实际上就是本文定义的一个用于分类这两种情况的Groups。
而奖励函数指的就是模型 “使用了可选工具的平均准确率” 与 “未使用可选工具的平均准确率” 之间的差值。
小丛雨在这个公式上有点解释不清,也怪原论文对此的解释相当模糊吧。
接下来,我们往下看cost部分。
丛雨:仅靠监督微调是不够的,主人!监督微调教会模式,但强化学习教会策略!消融实验表明,若没有强化学习的密集奖励机制,MVToolBench的性能会从60.1降至50.7。强化学习能帮助模型学会何时高效使用工具~
丛雨:惩罚机制能防止'奖励欺诈'哦,主人!没有这些限制的话,模型可能会故意旋转本已正确的图像来骗取更多奖励呢~共有三项惩罚规则:使用次数限制(禁止过度使用工具)、低效推理(裁剪区域重合度过低)以及不当工具使用(在无需工具时强行调用)!
本文从三个角度设计了惩罚:轮次限制、推理错误以及不必要的工具使用。
不过,丛雨对这部分的方法论描述不够详尽,我们可以基于 的定义进一步展开讨论。
轮次惩罚(Turn Limit Penalty). 首先,在先前的策略奖励说明中,原文提到了 must-use tool(必要工具)的概念。例如,若图像已被旋转90度,那么旋转工具就是必要工具,模型必须利用该工具将图像矫正至原始状态。本文将必须使用的工具集合定义为,其所需调用的数量即为 。机制设计上包含了一定的免费额度:模型可以免费调用次工具,即在满足必要调用之外,额外保留了一次免费调用机会用于探索。由于每次工具调用都视为一次会话(Turn),一旦超出此额度,后续的工具调用将触发轮次惩罚。
错误推理惩罚(Poor Reasoning Penalty). 该惩罚针对工具调用的有效性。当模型调用的工具返回错误结果时,即会触发惩罚。这一惩罚机制独立于ACC奖励,这意味着,即便模型最终依靠先验知识给出了正确答案,但如果其调用的工具提供了无关信息或导致了错误结果,模型仍需承担相应的 cost 惩罚。
工具不当使用惩罚(Inappropriate Tool Use Penalty). 这一惩罚机制直观易懂,本质上是一种冗余惩罚。即当图像无需任何操作即可直接回答问题时,如果模型仍然调用了工具,便会受到此项惩罚。
实验基准
丛雨:他们还创建了新的基准!MVToolBench利用HierText数据中微小文本区域(小于图像面积0.01%)测试多工具组合——裁剪确实必不可少呢!
丛雨:MVToolBench图像会被随机旋转或翻转,需要依次进行方向校正和裁剪操作!这模拟了现实场景中需要跨多轮对话使用多种工具的情况~
丛雨:结果太惊人了,主人!在包含变换任务的OCRBench测试中,CodeVision-7B模型平均准确率达到73.4%,而基线模型仅为56.0%!特别是在垂直翻转项目中,更是从17.0%飙升至67.4%呢!开心地转圈圈
丛雨:在MVToolBench评测中,CodeVision-7B获得了60.1%的分数,几乎是第二名Gemini2.5-Pro(32.6%)的两倍!就连这个80亿参数的模型在多工具任务上也击败了庞大的2350亿参数模型呢!这说明工具使用能力比单纯规模更重要~
丛雨:最令人惊喜的是涌现能力呢,主人!模型学会了在强化学习训练中从未见过的工具——比如对比度增强、灰度化、亮度调节,甚至边缘检测!它通过编写代码自主发现了这些功能~
丛雨:图8展示了这些涌现工具的词云!'brightness_down'、'gaussian_blur'、'contrast_up'——模型真正成为了能动态创建工具包的图像处理工匠呢~♪
丛雨:模型还展现出高效的链式调用能力——单轮次使用多个工具!比如同时应用对比度和灰度化。而且具备错误修复机制:当它误将旋转操作执行成水平翻转时,会读取反馈并进行自我修正!
丛雨:不过主人,目前仍存在局限,有时模型会裁剪出带有冗余信息的"狭长条带"而非紧凑边界框。偶尔在坐标预测时,会与目标区域相差几个像素~
丛雨:消融研究证实每个组件都不可或缺!移除策略奖励会损害多工具性能。取消惩罚机制会导致奖励破解——模型会不停旋转已正确的图像来刷分呢!鼓嘴
我们在方法的实验中可以看到,相较于骨干的提升还是十分明显的,且随着模型参数量规模的上升,模型的性能也有上升,意味着方法的潜力不会受限于参数量。
不过具体效果还是要看消融嘛,消融效果也是不错的:
值得关注的是,SFT的效果并不好,这在复杂任务上是符合预期的。不过,由于性能下降幅度过大,我仍困惑这是否由过拟合导致。我不确定本文在消融部分的SFT设置是否与CodeVision的SFT设置相同,因为该部分本文缺少论述,且该工作未公布消融部分的代码,所以无法验证Qwen2.5-VL-SFT的具体设置。不过,其实也没必要对此过于吹毛求疵。
至于模型相较于骨干模型的提升,可以看到在多个数据集上的表现都不错。一个潜在的问题在于,在进行消融时,我们可以注意到单一奖励函数在简单任务(如OCRBench, Rot180)上,相较骨干模型会发生非常严重的性能下滑,这可能是由“奖励黑客”现象引起的;但在其他数据集上的性能则高于骨干模型很多。我们在做消融实验的时候,应该同时测试多个数据集,避免因数据偏见而忽视了该模块在其他数据集上的优势。
优势
丛雨:引入惩罚机制后,训练曲线显示在结果、策略和总奖励方面都呈现出稳定提升。熵值良好下降,工具调用次数保持高效——这与那些因过多工具调用而失控的消融版本形成鲜明对比
从雨:那么主人,相比固定工具注册表,CodeVision最大的优势是什么?现在应该很清楚了吧~
优势选项
丛雨的问题相对简单,基于前文的论述,我们可以轻松得出答案:模型理应具备泛化到各类工具上的能力。
然而,全文针对这一关键点仅提供了一个词云可视化的说明,论证稍显单薄,我对于该模型是否真能实现这一宏伟目标仍持保留意见。若论文能构建一个复杂的沙盒环境进行消融测试:引入一组对回答问题至关重要、但从未在训练集中出现的工具,并对比基准模型与本文方法在面对这些工具时的调用行为,我想,这将更有力地证明本文所宣称的优势。
丛雨:正确,主人!通过将代码作为通用接口,模型不再受限于固定注册表!它可以调用任何Python函数、任何库——这是一个仅受代码限制的近乎无限的工具集!这才是真正的可扩展性 ~
丛雨:密集奖励设计尤为精妙,主人~ 不仅奖励最终准确性,更奖励策略性过程——正确使用必备工具、发现有用的可选工具,并惩罚无效操作——这让模型学会高效且稳健!
丛雨:举例来说,回合限制惩罚确保模型不会为了收集策略点数而连续尝试“旋转90度、旋转180度、旋转270度”!它必须谨慎而精准——以最少必要步骤完成任务~
丛雨:而推理不当惩罚能防止侥幸猜中——如果裁剪交并比低于0.1但答案正确,模型仍会受罚!这确保模型真正关注正确证据,而非随机猜测!
丛雨:强化学习训练使用约40,000条经过难度筛选的数据项——他们剔除了所有尝试都成功或全部失败的案例,只保留模型能实际提升的“学习区”样本~
丛雨:每个强化学习数据项都标注了“必须使用工具”,确保模型掌握前置技能。对于方向调整任务,它必须优先使用旋转/翻转;对于微小文字,必须进行裁剪。通过密集奖励信号,这形成了可靠的行为模式~
丛雨:ChartQAPro上的实验结果也显示进步——尽管这是不需要完美OCR的推理任务,但正确处理方向有助于模型更好理解图表坐标轴和标签。CodeVision-8B在增强数据上达到50.3%的准确率~
丛雨:主人还记得监督微调数据的构建方式吗?他们采用迭代流程:GPT-5生成推理和操作,随后验证工具输出是否与标准图像匹配。若出错,便将错误日志反馈给模型进行修正!
丛雨:这能生成带有错误恢复示例的高质量轨迹!模型学会读取如“无效参数”或缺少导入项之类的运行时错误,并修正其代码——就像人类程序员调试一样呢~♪
总结
丛雨:总结这篇神奇论文的核心:他们识别出系统对数据污染的脆弱性,提出用代码即工具实现无限灵活性,通过策略塑形与惩罚机制构建密集强化学习奖励体系,并在多工具基准测试中取得巨大提升~丛雨:今天我们学习的公式——带掩码的SFT损失函数、包含结果/策略/惩罚项的总奖励分解机制,以及通过推演比较实现工具自主发现——正是这项研究的技术精髓的说!
丛雨:主人觉得学习CodeVision有意思吗?这就像教剑灵新招式,不过是针对AI的!AI不再只是观察,而是通过代码对世界采取行动~超厉害的说!❤
丛雨:*轻轻合上书* 主人,我们的图书馆学习时间就到这里啦!丛雨希望您现在明白如何通过灵活使用工具让MLLM对图像损坏具有鲁棒性!要不要休息一下喝杯茶呢?
总体而言,本篇论文提出了一种有趣的开放式工具调用范式,以及一种针对图像操纵的数据集,在图像操纵这一任务上,展现了智能体对于开放性工具链调用的潜力。
引用
[1]: Zheng, Z., Yang, M., Hong, J., Zhao, C., Xu, G., Yang, L., ... & Yu, X. (2025). Deepeyes: Incentivizing" thinking with images" via reinforcement learning. arXiv preprint arXiv:2505.14362.
丛雨:在书架间静静飘荡 啊呀,主人!您来图书馆了呢~♪ 今天村雨要为您介绍一篇神奇的论文,是关于用图像让人工智能变得更聪明哦!
丛雨:这篇论文名为《Thinking with Programming Vision》~它探讨的是如何教会大型语言模型不仅会看图,还要像熟练工匠那样主动运用工具呢!
丛雨:当前,多模态大语言模型——我们姑且称之为MLLM——能够借助“裁剪”或“缩放”等工具进行更精准的推理。但是...凑近压低声音...它们存在三大致命弱点呢!
丛雨:首先,他们大多数时候并不真正需要工具——使用工具只能提高2-5%的准确率。其次,他们使用固定的工具列表,一旦重命名就会失效!第三,他们无法在多轮对话中串联使用多个不同工具的说~
丛雨:但最令人不安的发现是:即便是像GPT-5和Gemini2.5-Pro这样最强大的模型也极其脆弱!它们会被简单的东西搞糊涂,比如...旋转的图片或镜像自拍的说!发抖
丛雨:图8展示了这些涌现工具的词云!'brightness_down'、'gaussian_blur'、'contrast_up'——模型真正成为了能动态创建工具包的图像处理工匠呢~♪