MaLiang-Harness如何让大模型学会"画完了再看一眼"
(来源:科技行者)
你有没有想过,让AI画一张图,到底是让它"生成像素",还是让它"写一段能画出图的代码"?
这两种方式听起来差别不大,但其实是两条完全不同的路。前一种是这几年大红大紫的扩散模型和生成对抗网络在做的事,它们直接学习海量图片的统计规律,然后凭空"猜"出一张符合描述的画。后一种呢,是让一个语言模型写一段可执行的程序,程序里明确写着"在坐标(512,288)画一个圆"、"给这片叶子加上脉络纹理",然后交给渲染器跑出结果。
第二条路听起来更"透明"、更可控,毕竟代码是你能读懂的,不像扩散模型那样是个黑箱。但这篇来自新加坡国立大学、复旦大学和腾讯团队的论文,MaLiang-Harness,一开篇就戳破了一个天真的想法:代码能跑通,不代表画出来的东西是对的。
这就是全文最核心的矛盾。一段程序语法正确、执行无误、成功吐出一张图片,但这张图片里,桌上的猫可能画在了地上,动画里说好八点亮灯,结果六点就亮了。程序本身没有任何错误,但它没有实现你想要的画面。论文把这个现象起了个名字,叫做程序到视觉的落差,英文缩写P2V Gap。
程序到视觉的落差(P2V Gap):指AI生成的代码能够正确执行,却在最终呈现的图像或视频里,没有满足用户提出的构图、外观或运动要求的现象。
这个概念一旦被点出来,你会突然意识到,过去很多"AI画图代码"类的展示,可能都在悄悄回避这个问题。大家只看"跑出来了没有",很少有人系统性地问"跑出来的东西,真的是你要的吗"。
**一件事跑通了,和一件事做对了,从来不是同一件事。**
这正是MaLiang-Harness想要解决的裂缝。
画完不代表结束,只是开始
想象你请一个装修工人按图纸装修房子。工人拿到图纸,动作利索,钉子敲得笔直,墙刷得均匀,工期还提前完工了。你兴冲冲跑去验收,结果发现,卧室窗户被砌死了,厨房水管接反了。工人一脸无辜地说,图纸上没写窗户不能砌死啊,我照做了。
这不是工人的技术问题,是流程出了问题:施工过程中没有人停下来核对"这符合最初的设计意图吗"。
如果装修行业没有验收这一环,会怎样?答案很简单,交房的时候才发现问题,返工成本高到无法承受。MaLiang-Harness做的事情,本质上就是给AI画图这件事,硬生生加上一个"边施工边验收"的机制,不是等程序全部跑完再看结果,而是让AI在每一步生成代码之后,主动去看渲染出来的画面,比对任务要求,发现问题立刻改。
这套机制围绕三个核心设计展开,分别叫做持久化可执行生成状态、可追溯生成过程、以及带修订意识的编辑与验证。听起来术语很绕,但拆开看,逻辑其实很朴素。
持久化可执行生成状态:为什么改图不能"从头再来"
先说第一个设计,持久化可执行生成状态,英文缩写PEG。
持久化可执行生成状态(PEG State):一种贯穿整个创作过程的"活档案",把当前的程序代码、用到的素材、任务要求、修订版本号全部打包保存起来,作为AI每一次修改的参照基准。
这个设计要解决的问题是:AI在反复修改一张图或一段视频的过程中,怎么保证它不会把之前改好的部分忘掉,也不会把用户最初提的要求丢了。
这里有一个细节值得展开讲。论文里定义了状态的演化规则:新的修订版本只能在旧要求基础上"追加"新要求,不能删除或削弱已有要求。除非用户明确提出了新指令,否则AI不能在改图过程中悄悄放松标准。
这就好比你请设计师改logo,设计师第一版颜色不对,你说改成蓝色。设计师改完发现字体也不太搭,顺手把字体也换了,理由是"顺便优化一下"。但你从没要求换字体,这种擅自调整,哪怕结果看起来更好看,也是对原始约束的破坏。持久化状态的规则就是把这种"顺手改动"的空间锁死,除非有明确指令,否则历史要求必须原样保留。
如果没有这套持久化机制会怎样?AI每次重新生成时都可能"失忆",之前反复调整对了的构图,可能因为下一轮生成又被推翻,用户永远在原地打转,永远无法收敛到一个稳定结果。
论文里还有个很直观的技术细节:每次程序渐进演化的时候,状态里会记录内容哈希值,用来确认文件和素材是不是真的没被篡改。这就跟你把重要文件签名盖章一样,任何改动都留痕,谁改了、改了什么、改到第几版,一目了然。
可追溯生成过程:让"画错在哪"不再是一个谜
第二个设计叫可追溯生成过程,英文缩写TGP。
可追溯生成过程(TGP):把每一次代码修改操作,连同它执行前后的画面证据,都记录下来,形成一条可以回放、可以对比的操作链条。
这个设计解决的问题很实际:当一张图看起来不对,AI怎么知道具体是哪一步代码引入的问题?
论文举了个例子。假设AI在给一幅水墨山水画添加动画效果时,某次修改了"树枝生长轨迹"的函数,导致画面出现异常。如果没有操作记录,AI只能盯着最终结果发懵,猜是哪里出了错。但有了TGP,AI可以直接翻出"改动树枝函数"那一步对应的渲染画面,跟改动前的画面并排比较,一眼看出问题出在哪个环节。
这套机制让我想起程序员写代码时用的版本控制工具。你改了一段代码,程序跑崩了,靠版本记录你能立刻定位到是哪次提交引入了bug,而不用把整个项目从头读一遍。如果没有这种版本追溯能力,调试的成本会指数级上升,越是复杂的项目,找bug越像大海捞针。
TGP的巧妙之处在于,它把"执行操作"和"渲染画面"分开记录,两者用不同的索引管理。这是因为有些操作只是调整计划、不涉及画面变化,比如仅仅是重新规划下一步该怎么改,这类操作不需要触发重新渲染。只有真正修改了代码或素材的操作,才会推进到新的修订版本。这个区分保证了记录的精细度,既不会因为频繁渲染浪费算力,也不会漏掉任何真正影响画面的改动。
带修订意识的编辑与验证:为什么"看一眼"必须重新看
第三个设计是带修订意识的编辑与验证,英文缩写REV。这是整套机制里最贴近"验收"这个环节的部分。
带修订意识的编辑与验证(REV):规定AI每完成一次代码提交,无论多小的改动,都必须重新核查所有强制要求是否依然满足,不能沿用之前版本的验证结果。
这里有个很反直觉的地方。你可能会觉得,如果这一版只是微调了灯光亮度,构图部分明明没动过,为什么还要重新检查构图?
原因是牵一发而动全身。论文特别强调,一次改动可能影响之前已经通过检查的其他要求。灯光变亮了,原本被暗部遮住的一个瑕疵可能一下子暴露出来;一个物体的位置调整了几个像素,可能导致原本满足的空间对齐要求突然不满足了。
这就好比你在改一篇论文,编辑说摘要里某个数据要更新。你只改了摘要里那一个数字,觉得正文没碰过应该没问题。结果读者发现,正文引用摘要数据的地方,跟新摘要不一致了。一个看似孤立的小改动,牵连到了看似无关的另一处。**如果不做全面重新核查,牵连出的错误就会永远藏在角落里,直到被读者发现的那一刻才爆出来。**
REV给出了一个严格的判定公式:一张图或一段视频要被判定为"可以交付",必须同时满足导出文件完整无误、所有强制检查点通过、以及每一条视觉或时序要求都在当前这一版本上被标记为"通过",证据不能来自旧版本。这个规则堵死了"拿旧结果糊弄新要求"的可能性。
论文中也很坦诚地承认了这套系统的局限:AI给出的验证结论,本质上是模型的自我评估,不是独立的、绝对客观的质量测量。这句话说得很实在,值得单独拎出来说,机制设计得再严密,判断质量的那个"裁判"依然是同一个AI,它可能自己判断失误。这不是缺陷的粉饰,而是真实存在的边界。
回到装修工人的比喻,如果这个工人不仅施工,还兼职当自己的验收员,那验收结果的可信度天然要打个问号。这也是为什么论文在实验部分格外强调,要拿真实的图像质量评审(用另一个更强的模型GPT-6-Sol来打分)去交叉验证,而不是完全相信AI自己给自己的判定。
三大机制拼起来是什么样子
把这三个设计放在一起看,会发现它们其实分别对应着创作流程里"记住什么、追溯什么、验证什么"三件事。
持久化状态负责记住,任务要求是什么、代码演化到了第几版;可追溯过程负责追溯,某个问题究竟是哪一步引入的;验证机制负责把关,每次改完必须重新审一遍,不能偷懒。
三者共享同一个"修订版本"这个坐标系,这一点很关键。论文原文里特别强调,是让程序演化历史、构建记录和验证结果"共享同一个修订参照"。这意味着任何一次讨论,问的都是"第k版满足要求了吗",而不是含糊地问"这张图行不行"。这种精确到版本号的对齐,才是整套框架真正的技术骨架。
用数据说话:GPT-6-Astra凭什么拿下满分
理论讲完了,实际效果怎么样?论文找来了11个闭源大模型跑图像生成测试集MaLiang-IBench(50个任务),4个模型跑视频生成测试集MaLiang-VBench(13个任务),结果差异大到有点意外。
先看最直观的数字。GPT-6-Astra在两个测试集上都做到了100%的生成成功率,也就是说,50个图像任务、13个视频任务,全部成功产出了可交付的结果。但生成成功只是第一关,真正的考验是有多少作品同时满足了提示词契合度、美观度和构图三项质量标准。GPT-6-Astra在图像上做到了96%,视频上做到了76.9%。
对比一下同门的GPT-5.6-Sol,生成成功率96%,但全部达标的比例只有86%。差距不算离谱,但已经能说明问题:同一个厂家的不同版本模型,在"跑通"这件事上表现相近,在"做对"这件事上却能拉开明显差距。
真正让人皱眉的是DeepSeek和Kimi系列的表现。DeepSeek-V4.1-Flash在50个图像任务里只成功了12%,也就是6张,DeepSeek-V4-Pro是18%。Kimi家族里最好的Kimi-K2.7-Code也只有40%的成功率。换算成具体场景,意味着这些模型每跑10次,有6到9次连"跑出一张能用的图"这个最低门槛都过不了,更谈不上讨论质量高低了。
论文特别提醒了一个容易被忽略的陷阱:小样本的均分容易骗人。比如Kimi-K3在提示词契合度上的均分高达4.56(满分5分),看起来很厉害,但这个分数只是基于9张成功图片算出来的,样本量太小,根本不能代表它在全部50个任务上的真实表现。这就像一个学生只考了两次小测验就宣称自己数学年级第一,样本不够,结论站不住。
视频生成的结果更能说明"及格线"和"高分线"之间的鸿沟。DeepSeek-V4.1-Flash在13个视频任务里一个都没成功完成,Kimi-K2.6完成了3个,但一个都没能同时满足全部四项质量标准(多了一个"运动连贯性"这一条,专门用来判断动画的动作是否合理连贯)。GPT-5.6-Sol完成7个,5个达标。GPT-6-Astra13个全部完成,10个达标。
运动连贯性:视频生成任务中新增的评价维度,用来判断画面中角色或物体的运动轨迹是否符合逻辑、是否流畅自然,而不只是画面本身好看。
失败原因里还有一个值得注意的细节:论文统计了因为"token预算耗尽"而导致的失败案例。DeepSeek的13次视频失败里有5次是因为把分配的token全部用完了都没跑完;GPT-5.6-Sol的6次失败里也有3次是同样原因。这说明有些模型陷入了某种"越想越复杂、越改越跑不完"的循环,论文管这种现象叫推理停滞和无限的智能体循环,说白了就是模型陷入了原地打转,既没有把问题解决,也没有及时止损。
通用能力强,不代表画图能力强
论文里有一组对比数据,说是全文最让人意外的发现也不为过。
研究团队把这11个模型在公开的Artificial Analysis智能指数(一个综合评估推理、编程、知识等能力的通用排行榜)上的分数,拿来跟MaLiang-IBench上的画图质量达标率做对比。
Artificial Analysis智能指数:一个第三方发布的综合性AI模型能力评分体系,聚合了知识问答、推理、编程、智能体任务等多方面的测试结果。
两者整体上确实有正相关,Spearman相关系数是0.65,说明通用能力强的模型,画图表现大体上也会更好。但这个相关性远远没有强到可以"预测"的程度。
最典型的例子是GPT-5.6-Luna和GPT-6-Luna,两者在通用能力榜上的展示分数都是37分,完全一样。但它们在画图任务上的达标率,一个是44%,一个是88%,整整相差44个百分点。这意味着两个"通用能力打平"的模型,画出符合要求的图的概率,一个几乎是另一个的两倍。
另一个反差案例是Kimi-K3,通用能力分数44分,在11个模型里排名居中偏上,但它在画图任务上的全指标达标率只有18%,是所有模型里最低的几个之一。分数高,表现却垫底。
这说明了什么?说明能写代码、能推理、能通过通用测试的模型,不一定擅长"把创意翻译成视觉语言,再判断这个视觉结果对不对"。这是一种专门的能力,跟解数学题、写API文档完全不是一码事。就像一个数学竞赛冠军,未必会画画,两者用的是大脑里不同的肌肉。
**通用榜单上的名次,说明不了一个模型能不能把你脑子里的画面变成真实的图片。**
这个发现对行业的提醒是,如果你想选一个模型专门做图像或视频生成任务,光看它在通用智能榜上排第几,可能会选错。
能不能画出照片级的真实感
论文还专门探索了一个问题:这套"写代码画画"的路子,能不能画出逼真的照片效果?毕竟代码画图听起来天然适合卡通、扁平插画,但要画出高级餐厅的美食大片,好像有点强人所难。
研究团队试了两条路。
第一条路是换一个更专业的渲染引擎。原来用的是网页里常见的Canvas画布工具,这次换成了支持光线追踪的渲染后端,能处理玻璃透光、材质反射、区域光照这些复杂的物理效果。GPT-6-Astra在这个新引擎上搭了一个早餐桌的场景,咖啡杯、饼干、勺子。它先用简单预览确认构图,再检查光追渲染出的细节,接着不断调整光照、材质、物体支撑高度,还把采样数从512提升到1024来降噪。
结果整体不错,杯子有反光、玻璃有透光、物体投下的接触阴影很自然。但过程中也暴露了一个有意思的现象:修改饼干的几何形状时,意外引入了新的表面重叠瑕疵,原本的圆形压痕看起来像是叠了一层诡异的小环。后续修订又想办法减少了这个问题,但表面细节依然没有完全恢复。这恰恰印证了前面说的REV机制的必要性,一个局部改动真的可能带来意想不到的新问题,必须重新检查才能发现。
第二条路是给一幅已经画好的水墨风格插画"加细节",试图让笔触更精细、更接近超写实绘画的质感。GPT-6-Astra修改了绘图代码,让草地、石头、水面的笔触变得更细密。
结果却不理想。整体构图保留住了,但细节反而丢失了,草地的覆盖感变弱,石头上原本有特色的纹理被削弱了。论文的结论说得很直白:更细的笔触不会自动带来照片级的真实感,因为真实感需要的是形状、光影、纹理协调一致的综合效果,光靠"画得更细"是凑不出来的。
这个失败案例其实很有价值。它说明了单纯的指令式修改,"让笔触更精细"这种笼统的要求,很容易在翻译成代码时丢失关键的视觉信息。就像你告诉一个厨师"这道菜再精致一点",厨师可能只是把食材切得更小块,但你真正想要的可能是摆盘、色彩搭配和口味层次的整体提升,光靠"切得更小"根本换不来那种精致感。
代码留下的痕迹,能说明什么
论文里还有一个特别有意思的案例,展示了这套框架相比传统生成式AI的一个隐藏优势:整个创作过程是可以被拆解检查的。
案例是生成一张学术论文用的六格研究图表。GPT-6-Astra需要在图里同时呈现架构图、柱状图、学习曲线,还有几张模拟机器人抓取操作的示意照片。架构图、数据图、表格这些都是靠代码直接从用户提供的数据画出来的,精确、可控。但那几张操作示意照片,涉及具体的物理场景,代码没法直接"画"出来,需要调用图像生成或者搜索功能去获取素材。
记录显示,AI为了那几张照片素材,一共尝试了四次不同的排版布局,试了2×5、2×5、3×3、2×4几种网格方式,最终选定了第三次尝试的结果,把它裁剪、缩放、贴到预留的格子里。
这个记录带来的价值在于:最终审查阶段,AI能够区分"哪些部分是靠精确数据画出来的"和"哪些部分是靠生成图像拼上去的"。结果是,数字图表和布局部分顺利通过验收,但那几张照片素材始终没能完全满足要求,最终这张图只能保留"草稿"状态,没有正式交付。
这个区分能力,恰恰是纯粹的端到端图像生成模型很难做到的事。如果你只拿到一张成品图,你根本无从判断这张图里哪部分数据准确、哪部分是凑出来的照片素材。但因为MaLiang-Harness把构建过程留了痕,用户和AI自己都能清楚知道,这张图里哪些地方值得信任,哪些地方还需要打个问号。
这就好比拿到一份财务报表,如果报表只给你最终数字,你没法判断这个数字是精确核算出来的,还是估算出来的。但如果报表附带了每一项数字的计算依据和数据来源,你就能立刻分辨出哪些结论可靠,哪些需要进一步核实。**留痕的价值不在于让结果变得更好看,而在于让人知道该在哪里保持警惕。**
停不下来的循环,什么时候该喊停
论文最后坦诚地讨论了这套系统仍然存在的三种失败模式:推理停滞,就是AI反复琢磨却提不出真正的改进方案;语义僵局,就是反复修改但核心要求始终没被满足;还有无限的智能体循环,规划和调用工具的动作不停重复,却始终没有走到终点。
这三种情况说白了都是同一个症状:机器在"忙",但没有在"进步"。前面提到的水墨画笔触精细化的例子,就是一个典型案例,进一步的检查没能找出真正有效的修正方案,直到token预算耗尽,任务只能强行终止。
论文对此给出的态度很务实:把终止和完成明确区分开。调用次数、工具使用次数、时间、token这些都设了硬性上限,一旦触发就必须停止执行,但只有真正通过全部验证的结果,才能被标记为"任务完成"。这意味着系统承认自己不能保证每次都成功修好问题,但至少不会在没有交付合格结果的情况下,让人误以为任务"完成"了。
这其实是一种诚实的设计哲学。很多自动化系统喜欢用"跑完了"来掩盖"没做好",但MaLiang-Harness把这两件事的界限画得很清楚,跑完了,不代表交付了;只有真正通过了验证的东西,才配叫完成。
写在后面
读完这篇论文,最触动我的不是那套三层机制的设计,虽然设计确实精巧,而是论文里反复出现的一句话:"模型的判定始终是自我评估,不是独立的质量测量"。
这句话看似只是个免责声明,但仔细想想,它揭示了一个很本质的困境:当你让一个AI负责生成,又让它负责验收,这个体系里根本没有一个真正意义上"独立"的裁判。哪怕验收流程设计得再严密,规则再细致,最终打分的那个大脑,跟画图的那个大脑,是同一个大脑。这跟人类社会里"自查自纠"的困境何其相似,不管流程多完善,缺了外部视角的监督,系统性的盲点依然可能存在。
另一个让我反复琢磨的细节是那张通用能力和画图质量的对比图。两个通用分数完全一样的模型,画图达标率能相差44个百分点。这个数字比我预期的差距大得多。它让我开始怀疑,我们平时用一个通用榜单去判断一个模型"聪不聪明",这个判断在多大程度上真的能推及到具体任务上?也许每一种具体的创作任务,写代码、画图、写文章,背后需要的能力组合都不完全相同,通用分数顶多是个参考,不是答案。
这篇论文没有解决的问题也很明显:那套自我验证机制的可靠性上限在哪里?如果一个模型的"审美判断"本身就有系统性偏差,它反复自我检查再多次,也检查不出真正的问题。这个问题恐怕短期内不会有答案,因为它触及的其实是"如何评价审美"这个更古老的哲学难题,AI只是把它重新摆到了台面上。
如果有一天,AI画图不再需要人类审核,那审核标准最初是从哪里来的?这个问题现在没人能给出确定的答案。
Q&A
Q1:MaLiang-Harness是什么?
A:MaLiang-Harness是一个让大模型通过写代码来生成图像和视频的统一框架,核心是让AI在生成后主动检查、发现问题并修改,而不是生成完就结束。
Q2:程序到视觉的落差具体指什么问题?
A:指AI生成的代码能正确执行、成功跑出图像或视频,但画面内容却没有满足构图、外观或运动方面的实际要求,比如物体位置错了或者动作时间不对。
Q3:为什么通用能力强的大模型不一定画图效果好?
A:论文发现两个通用能力评分完全相同的模型,在画图任务上的达标率能相差44个百分点,说明把创意转化为视觉代码并自我验证是一种独立的能力,跟通用推理编程能力不完全相关。