Seeing is Fixing: Cross-Modal Reasoning with Multimodal LLMs for Visual Software Issue Fixing
该论文介绍了 GUIRepair,这是一个通过集成 Image2Code 和 Code2Image 组件将视觉 GUI 症状转化为可执行上下文,并通过视觉反馈验证修复结果的跨模态推理框架,从而增强了多模态自动化程序修复,并在 SWE-bench M 基准测试上实现了最先进的性能。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你是一位正在修理一个非常特定且棘手的汽车问题的顶级技师。通常情况下,车主会打电话给你说:“我的引擎发出奇怪的声音,”然后你根据这个描述进行修理。这就是目前大多数 AI“程序修复”工具的工作方式:它们阅读文本描述的漏洞(bug),并查看代码来进行修复。
但如果问题是视觉上的呢?如果车主说:“仪表盘指示灯闪烁的颜色不对,”并给你发了一张照片呢?大多数目前的 AI 技师都会感到困惑。它们能读懂文字,但无法真正“看到”照片,也无法理解这张图片如何与引擎部件联系起来。它们很难仅通过观察一张快照就搞清楚该拧紧哪颗螺栓。
这篇论文介绍了一种全新的 AI 技师,名叫 GUIRepair。它是专门为处理这些“视觉型”软件漏洞(例如网站上一个损坏的按钮或 App 中一个出错的地图)而设计的。
以下是 GUIRepair 的工作原理,分为两个主要超能力:
1. “照片到蓝图”的翻译器 (Image2Code)
当人类开发者看到照片中的漏洞时,他们不仅仅是在盯着像素看;他们在思考:“啊,那是 Calendar 组件因为 Dialog 对话框的设置方式而出了问题。”他们在脑海中将图片转化回了代码逻辑。
AI 通常无法很好地做到这一点。GUIRبair 通过扮演一个构建微缩模型来破解问题的侦探来解决这个问题。
- 过程: 它查看漏洞报告(照片和文本),并搜索项目的说明书(文档)以理解规则。
- 魔力: 然后它编写一段微小的、临时的代码,来重现照片中完全相同的场景。这就像 AI 为了亲眼看到那盏闪烁的灯而构建了一个“试驾版”汽车。
- 为什么有效: 现在,与其猜测照片的含义,AI 有了一个可以运行的模型。它可以观察到:“噢,我完全看出来了,是哪行代码导致了那个灯在闪烁。”这有助于它找到修复漏洞的正确位置。
2. “修复并检查”的镜子 (Code2Image)
一旦 AI 认为自己找到了修复方案,它需要知道是否真的奏效了。在普通的基于文本的编码中,你会运行一个测试,显示“通过”或“失败”。但对于视觉漏洞,仅靠文本测试是不够的。你需要看到灯是否现在变成了正确的颜色。
GUIRepair 拥有第二个超能力来处理这个问题:
- 过程: 它将刚刚编写的修复方案应用到之前构建的“微缩模型”中。
- 魔力: 它运行代码并截取结果的新截图。然后,它将这张新图片与原始的“损坏”图片进行对比。
- 为什么有效: AI 将两张图片并排观察,然后说:“好吧,在第一张图片中,日历悬浮在错误的位置。而在这一张新图片中,它在正确的位置。修复成功了!”这给了 AI 一种“看到”其修复是否成功的方法,而不是仅仅靠猜测。
结果:一位更优秀的技师
研究人员在包含大量涉及视觉问题的真实世界软件漏洞(称为 SWE-bench M)的列表上测试了这位新技师。
- 竞争对手: 他们将 GUIRepair 与现有的最佳 AI 系统(包括免费和付费的商业系统)进行了对比。
- 得分:
- 使用标准的强大 AI 模型,GUIRepair 修复了 157 个问题,大幅领先于排名第二的开源工具。
- 当他们使用更智能的“推理型”AI 模型(称为 o4-mini)时,GUIRepair 修复了 175 个问题,比顶尖的商业系统多修复了 22 个问题。
核心结论
论文声称,通过教 AI 将图片转化为代码(以理解问题)以及将代码转回图片(以检查方案),它能比现有方法更好地解决视觉软件漏洞。这就像是给技师戴上了一副眼镜,让他们终于能“看到”他们试图修理的问题。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。