0. 先看一只猫
这只猫是一个 LLM 画的。
准确地说,是"写"出来的。它的每一个像素都是一个字符,像这样:
.K............K.
KOK..........KOK
KPOK........KOPK
KPOOKKKKKKKKOOPK
KOOOOOOOOOOOOOOK
KOOoOOOooOOOoOOK
KOOOOOOOOOOOOOOK
KOOGGOOOOOOGGOOK ← 眼睛。眨眼那一帧,这两行换成两道 KK
KOOGBOOOOOOBGOOK
KWWOOOOPPOOOOWWK ← 粉色的鼻子
.KWWWOOKKOOWWWK.
..KWWWWWWWWWWK..
...KKKKKKKKKK...
头 13 行,身体 8 行,一共三百多个字符,再加几行摇尾巴的代码。月亮、星星、屋顶,都是它一个字一个字"说"出来的。
两三年前,让 LLM 画画还是个段子。GPT-4 用 TikZ 画的那只独角兽在 Sparks of AGI 里出现时,大家惊叹的是"它居然画出了点东西"1。Simon Willison 至今还在用"一只骑自行车的鹈鹕"测每一个新模型的 SVG 能力,那些鹈鹕长期以来是这个行业最好的 meme 之一2。
现在它们画得越来越好了。64×64 的像素画,几十帧的 GIF,带动画的 SVG,都不在话下。
于是一个问题变得越来越难回避:
如果 LLM 已经能画了,我们还需要视觉生成模型吗?
我的回答是:需要,而且比任何时候都需要。但理由不是大家通常说的"画质更好"。画质早晚会被追上,这不是护城河。
真正的理由是这句话:
视觉模型懂的东西,语言写不下来;语言模型能交流,是因为它和我们共用一种表示。视觉生成模型看得懂但说不出;LLM 说得出,而且正在学会看。
这篇文章想说清楚三件事:
- SVG 的尽头是像素。 当矢量图复杂到能逼近照片时,它就是一张用 XML 写的、更胖的位图。
- 逐像素生成能做,但不值得。 一旦你想让它值得,你就会重新发明一个视觉模型。
- 看得懂,是一切的前提。 LLM 学会"看"以后,人类画画、写代码、搭场景时那个"做一点、看一眼、再改"的闭环,第一次被机器补上了。代码和生成模型都是这只眼睛的手,但只有生成模型这只手的上限,会跟着眼睛一起长。
对了,上面那只猫里有一个错误。先不告诉你,第四节揭晓。
1. 一个很诱人的论证
先把对面的观点讲到最强。
Rich Sutton 的 The Bitter Lesson 告诉我们:长期来看,通用方法加算力,会赢过一切精心设计的领域结构3。今天最通用的方法是什么?一个足够大的自回归语言模型,把一切都变成 token。
那么图像呢?图像也可以是 token。
- 最温和的版本:让 LLM 写 SVG、TikZ、matplotlib、Three.js 代码。代码是语言,语言是 LLM 的母语。
- 最激进的版本:让 LLM 直接吐像素,就像开头那只猫。
而且代码画图有一堆真实的优点:可编辑,分辨率无关,结构清晰,最重要的是能用语言改。"把猫的耳朵改成粉色",对于 SVG 就是改一个 fill;对于一张扩散模型生成的图,这是一场赌博(第五节会看到赌输的样子)。
所以论证是这样的:
视觉生成只是代码生成的一个特例。等 LLM 足够强,专门的视觉生成模型就会像专门的机器翻译系统一样,被通用模型吞掉。
我认真想过这个论证,它有一半是对的。
对的那一半:语言是接口。 能不能被语言操纵,决定了一个模型对人有多大用处。这一点我后面会反复强调。
错的那一半:它默认"图"是一种低信息量的东西,好像世界本来就是由几何图形拼成的,只要把图形描述清楚就行。
世界不是这样拼起来的。
2. SVG 的尽头是像素
先说说 SVG 到底是什么。
SVG(Scalable Vector Graphics,可缩放矢量图形)是一种用 XML 写的图像格式。PNG、JPEG 存的是每个像素的颜色;SVG 存的是"怎么画":在哪里画一个什么形状、填什么颜色。它就是一段纯文本,浏览器读到以后,按指令一笔一笔画出来。下面这段就是本节实验里那张小房子图的完整源码(注释是我加的):
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256">
<rect width="256" height="256" fill="#1e2a5a"/>
<circle cx="190" cy="60" r="30" fill="#fbe9b0"/>
<rect y="190" width="256" height="66" fill="#3a2c40"/>
<polygon points="40,190 100,110 160,190" fill="#e8964a"/>
<rect x="85" y="150" width="30" height="40" fill="#2a1a1e"/>
</svg>
因为存的是形状而不是像素,放大一万倍也不会糊,这就是"可缩放"的意思。
矩形和圆只能画很规整的东西。SVG 真正的主力是 <path>:它的 d 属性是一串画笔指令,M 是把笔移到某处,L 是画直线,Z 是闭合,而 C 是画一段三次贝塞尔曲线。一段三次贝塞尔曲线由四个点决定:起点 \(P_0\)、终点 \(P_3\),以及两个控制点 \(P_1\)、\(P_2\)。随着参数 \(t\) 从 0 走到 1,曲线上的点是
公式看着吓人,几何上其实很简单:在相邻两点之间按比例 \(t\) 取点,三条线段变成两条,两条变成一条,一条变成一个点。这个点就是 \(B(t)\),这叫 de Casteljau 构造:
曲线经过起点和终点,但不经过控制点,控制点只负责把曲线往自己那边"拉"。你在 Illustrator、Figma 里拖动的那些小手柄,就是这些控制点。字体、图标、插画,几乎都是由成百上千段这样的曲线拼起来的。
所以,一个 SVG 文件本质上是一段程序,程序的长度大致就是这张图在"几何图形词汇"下的描述长度。这其实就是 Kolmogorov 复杂度的直觉:一个东西有多复杂,取决于描述它的最短程序有多长。
人类设计出来的图,比如图标、UI、图表、logo,本来就是用图形拼出来的,所以描述很短。自然界的照片不是。没有人用"一个圆 + 三个三角形"拍出一张日落。
我做了一个很简单的实验。左边是一张"设计出来的"图,右边是一张真实照片(256×256),我用最朴素的矢量化方法(四叉树切分,每个叶子写成一个 <rect>)去逼近它,然后跟 JPEG 比文件大小和保真度(PSNR):
结果大概是这样:
- 简单图形:SVG 343 字节,PNG 1,097 字节。SVG 完胜,这是它的主场。
- 照片、中等保真度(约 35 dB):JPEG 约 9 KB;SVG 约 700 KB,是 JPEG 的 80 倍。就算把 SVG 再 gzip 一遍,也还有 83 KB,大约 9 倍。
- 照片、无损:PNG 84 KB;"每个像素一个
<rect>"的 SVG 3.8 MB,大约 45 倍。
必须承认,四叉树是很粗糙的矢量化方法。用三角形、贝塞尔曲线、渐变,曲线会好看很多;DiffVG4 让矢量图的光栅化变得可微,可以直接用梯度去优化每条贝塞尔曲线的控制点,效果更好。但方向不会变:你越想逼近真实照片,最优的 SVG 就越像在用一堆图元去模拟像素网格。到了那一步,你只是把一张位图翻译成了 XML。
所以"SVG 可编辑"这个优点,在复杂场景里其实不成立。没有人能编辑第 38,211 个 <rect>。可编辑性来自"东西少",不来自"矢量"。这点在第九节还会用到。
这里还有一个更隐蔽的问题。
LLM 写 SVG 时,画的是概念的世界:猫等于两个三角形耳朵加一张圆脸;太阳是一个黄色的圆;影子是一块深色的多边形。这是语言里的猫,是我们描述猫时会提到的那些特征。
照片里的猫不是这样。照片里有毛发的各向异性反光,有环境光在白色下巴上染出的一点蓝,有胡须在背光下的半透明。没有人会用语言描述这些东西,所以它们几乎不存在于文本语料里,也就几乎不存在于"写代码画图"的能力里。
3. 逐像素:能做,但不值得
那就不写 SVG,直接像开头那只猫一样逐像素输出呢?
能做。开头那只猫就是证明。问题是规模。
假设最乐观的情况:每个像素只用 1 个 token(实际上 RGB 三个通道,按十六进制写只会更多),解码速度 100 token/秒:
- 那只 64×64、20 帧的猫:81,920 个 token,大约 14 分钟。能忍。
- 一张 1024×1024 的图:100 万个 token,大约 3 小时。一张图就把 1M 上下文窗口塞满了。
- 1 秒 1080p 视频:5000 万个 token,近 6 天。
- 一部 2 小时的电影:3,580 亿个 token,113 年。这大约是 Llama 3 全部预训练数据(约 15T token5)的 2.4%。
一只小猫"能做",不代表一部电影也"能做"。
你当然会说:谁让你一个像素一个 token?压缩一下啊。
完全正确。然后你就去训练一个视觉 tokenizer:一个 VAE 或 VQ 编码器,把图像在空间上压缩 16×16 倍,视频在时间上再压 4 倍。token 数一下子少了两三个数量级(图里蓝色的条)。Stable Diffusion 这一系的 latent diffusion 就是这么起家的6,Sander Dieleman 对"为什么要在 latent 空间做生成"有一篇写得极好的长文7。
但请注意你刚刚做了什么:你训练了一个视觉模型。这个 tokenizer 之所以能压缩,是因为它学会了哪些像素结构在感知上重要、哪些可以丢掉。这本身就是视觉知识。
还有第二件事:顺序。
语言是一维的,从左往右说,自回归天然合适。图像不是。你没法"从左上角往右下角"地想象一张脸,你先想到的是轮廓和明暗,再是五官,最后才是睫毛。
Dieleman 有一个我很喜欢的观察:扩散模型本质上是在频率空间里做自回归。8自然图像的功率谱大致按 1/f² 衰减,低频能量大,高频能量小;而高斯噪声的功率谱是平的。所以当你往图像里加噪声时,高频先被淹没,低频最后才消失。反过来,去噪的时候,低频先"浮出水面",高频最后才出现:
(左:加了噪声的照片。右:蓝线是这张照片的功率谱,红线是噪声的功率谱。红线往下走,蓝色阴影部分就是已经"浮出水面"、可以被看见的频率。)
去噪本身就是一种自回归,只不过它的"下一个 token"不是右边那个像素,而是更高一档的频率。它先画构图,再画形状,最后画纹理,而且每一步都在所有像素上并行进行。这正是视觉信号本来的结构。
所以这一节的结论是:
想让 LLM 画得起像素,你就得给它一个视觉 tokenizer,再给它一个由粗到细的生成过程。到那一步,你并没有淘汰视觉生成模型,你只是把它装进了 LLM 里。
我觉得这不是坏事,第七节会回到这里。但它说明"用 LLM 替代视觉生成"这个说法是自相矛盾的:让 LLM 做得好视觉生成的东西,恰恰就是视觉生成本身。
4. 那视觉模型懂吗?
先揭晓开头那只猫的错误。
看月亮的缺口。缺口里有一颗星星。它只有一个像素,你多半以为是噪点。放大看:
这不可能。月牙缺掉的那部分不是洞,而是月球上没被太阳照到的那一面,它仍然是一个实心的球,会挡住后面的星星。
还有第二个错误:月亮在右上方,但猫身上没有任何受光面,也没有影子。
这两个错误都是故意保留的,因为它们很典型。LLM 一个字符一个字符写这只猫的时候,是闭着眼睛画的。它调用的是"月牙"这个符号:一个被咬掉一口的圆。其实它完全知道月牙是一个被侧光照亮的球,你问它,它能讲得头头是道。但知道是一回事,画的时候想起来用是另一回事。闭着眼睛的手,只会拿最顺手的那个符号。
(剧透一下:第六节里,同一个 LLM 看了一眼渲染结果,就自己把这两个错误找了出来。这件事比它本身听起来重要得多。)
月亮的例子里,知识至少还写在书上。还有一大类视觉知识,连书上都很少写。这是 Moravec 悖论在生成任务上的版本:对人最容易的,往往最难写成文字。没有人会在网上写"杯子被手挡住以后,它依然存在",也没有人写"湿的地面会倒映出路灯,但倒影比路灯暗一点、糊一点"。但每一段视频、每一张照片,都在无声地示范这些事情,一次又一次。
这些知识的主要载体是像素,不是文字。
学了几十亿张图和几亿段视频的视觉生成模型,学到这些了吗?证据越来越多地说:学到了,而且比我们以为的多。
- 对应关系。 不用任何标注,直接从预训练扩散模型的中间特征里读,就能做相当不错的跨图语义对应:这只猫的左耳对应那只狗的左耳9。
- 几何。 把 Stable Diffusion 用少量合成数据微调一下,就能得到非常强的零样本单目深度估计10。深度信息原本就藏在模型里,微调只是把它引出来。
- 时间和物理。 OpenAI 在 Sora 的技术报告里把视频生成模型称为"世界模拟器",报告中观察到随规模涌现的 3D 一致性和物体恒存性(也老实展示了很多失败案例)11。
- 零样本推理。 Google DeepMind 2025 年的工作显示,Veo 3 这类视频模型只靠提示,就能零样本地做分割、边缘检测、简单物理推断,甚至走迷宫;作者把这种逐帧推进的推理叫做 "chain-of-frames"12。
它们当然不完美:手指会多一根,杯子里的水会凭空消失,玻璃会穿过桌子。但说它们"不理解视觉世界",已经说不过去了。
更准确的说法是:
它懂,但它的懂是一种我们无法访问的懂。
5. 问题是:它是个哑巴
一个视觉生成模型和你之间,通常只有一个通道:一段 prompt,经过文本编码器,变成一个条件向量。
这个通道像一根吸管:很窄、单向、一次性。你在这头把一句话塞进去,它在那头画出一整张图,然后通道就关了。
先说"窄"。早期的文生图模型(比如 Stable Diffusion 1.x)用 CLIP 的文本编码器,最多收 77 个 token13,词表约 4.9 万。就算每个 token 都携带满额信息,上限也只有:
150 字节,比开头那只 64×64 的猫的 GIF 还小了约 700 倍。
窄的后果是:一张生成图里绝大部分内容都不是你指定的。你只说了"一只在海边的猫",浪花的形状、云的位置、猫毛的颜色、光从哪边来,全是模型按自己的先验补上的。从零生成时,这是优点,你不用操心浪花。
但如果你手上只有一个文生图模型,想改一处就只能改 prompt 再生成一次,问题就来了。你说"只把帽子换成红色",心里默认其他东西都已经"定下来"了。但对模型来说,那些东西从来没进过吸管,它们没有被任何人锁住,所以会跟着一起被重新抽一遍:
这也正是编辑模型要单独训练的原因:把原图也送进去,等于把"其他地方"也塞进了吸管。专门训练过的编辑模型,这个问题已经解决得相当好了。
吸管本身这几年也粗了很多。SD3、FLUX.1 在 CLIP 之外加上了 T5;更新的模型干脆直接用 LLM 或 VLM 当文本编码器,比如 Qwen-Image 用的是 Qwen2.5-VL14,Qwen-Image-2.0 换成了 Qwen3-VL,能吃下上千 token 的指令15。编辑时,原图会同时送进 VLM 和 VAE,一路负责语义,一路负责保真。
但"单向"和"一次性"没怎么变。LLM 编码器读完你的话,把隐状态交给扩散模型,然后就退场了。扩散模型画的时候没法回头问一句"你说的左边是画面左边还是猫的左边",画完也没法告诉你它画了什么、哪里没把握:
- 你没法问"为什么影子朝这边"。它不回答,它只会再画一张。
- 它没法告诉你"这里我不确定是反光还是水渍",没法和你商量。
- "哪些算'其他地方'、应该保持不动",仍然是它自己猜的,猜错了你也只能再抽一次。
所以吸管变粗是真进步,但它解决的是"窄",不是"单向"和"一次性"。即使编码器换成了 LLM,它在这里的角色也只是一个翻译:把你的话翻译成条件,递过去。会看、会说的那个模型不参与画;会画的那个模型不参与说。
所以,我想把开头那句话说得更重一点:
一个视觉模型如果和语言之间只有一根吸管,它理解得再深,我们也用不上多少。我们只能从它那里"抽卡",却没法和它"商量"。
维特根斯坦说"我的语言的界限,就是我的世界的界限"。视觉模型的处境正好反过来:它的世界没有被语言框住,所以它也就没有语言。
6. 睁开眼睛:闭环
先兑现第四节的剧透。
开头那只猫画完以后,我把渲染出来的帧交给同一个 LLM 看。它指出了月牙的暗面里不该有星星,也指出了月亮在右上方、猫身上却没有受光面。于是它改代码,再渲染,再看:
这个小实验里真正重要的不是猫,而是这个循环本身:做一点,看一眼,再改。
人类做任何视觉的东西,靠的都是这个循环。画家落一笔,退后一步看;设计师拖一下元素,看对不对齐;3D 美术调一下灯光,按一下渲染;机器人工程师调一下控制参数,看机械臂有没有抖。控制论里管这叫闭环视觉反馈控制,而它的前提只有一个:你得看得懂你刚做出来的东西。
写代码也是一样。coding agent 过去两年最大的跃升,很大程度上不是因为模型"一次写对"的能力变强了,而是因为它能跑代码、读报错、看测试结果,然后再改。能执行、能看到结果,开环就变成了闭环。
视觉现在正在经历同一件事。以 Astra 为代表的新一代模型,已经能调用 Blender 搭场景、写 SVG、甚至直接做机器人控制,并且能看着渲染结果或摄像头画面自己修正。 这是第一次,机器补上了人类那个"做一点、看一眼、再改"的闭环。做视觉资产和写代码,本质上变成了同一件事。
所以我想修正一下开头那句话的重点。"看得懂"不只是一种理解能力,它是一切视觉创作的控制信号。没有眼睛,手再巧也是闭着眼画画;有了眼睛,手的选择才变成真正的问题。
7. 同一只眼睛,两只手
有了眼睛之后,LLM 至少有两只手可以用。
第一只是代码之手:SVG、前端、Blender、游戏引擎、物理仿真器,再加上机器人控制器。它的好处非常实在:精确、可编辑、可复现,物理上天然正确(只要引擎是对的)。当眼睛还比较弱、说不清"好"是什么样子的时候,这只手更可控,也更靠谱。
第二只是生成之手:图像和视频生成模型。它不那么精确,也不那么听话,但它能画出引擎里没有的东西:毛发、烟雾、皮肤、光在水里的样子,任何一张照片里的任何东西。
这两只手最大的区别在于天花板:
代码之手的上限,是引擎和框架能表达的东西。Blender 渲染不出它的着色器模型之外的材质,前端框架画不出 CSS 描述不了的效果,物理引擎模拟不了它没有建模的现象。眼睛再好,也只能在这个范围里挑出最优解。天花板当然也会升高,但升级要靠人一行一行写引擎,很慢。第二节的实验其实就是这件事的缩影:SVG 这个"引擎"的词汇是几何图形,你想要的东西一旦超出它的词汇,就只能用海量图元去硬凑。
生成之手不一样。生成模型和 LLM 一样,是一个可塑的、可以被训练的网络。眼睛变好,不只是能更好地挑选它的输出,而是能直接让它变强。至少有三条通道:
- 描述更准,数据就更好。DALL·E 3 的一个核心发现就是:用更好的模型给训练图片重新写更详细、更准确的描述,生成模型听懂指令的能力会显著提升20。LLM 描述视觉的能力越强,这条通道就越宽。
- 评价更准,奖励就更好。从 DDPO21 到 Flow-GRPO22,用强化学习直接优化扩散模型已经被证明可行,瓶颈往往在奖励本身:你能不能可靠地判断一张图好不好、对不对。一个真正看得懂的评审,就是一个更好的奖励模型。
- 理解更深,规划就更好。把一个模糊的需求拆成构图、光照、镜头、动作,再在生成过程中检查、局部重画,这些都是理解能力,而不是画画能力。负责改写 prompt 的语言模型,甚至可以直接放进扩散模型的强化学习循环里,和它一起训练23。
所以这一节的判断是:
代码之手会被引擎和框架封顶;生成之手和 LLM 一样可塑,所以它能直接吃到 LLM 视觉理解、描述和评价能力提升带来的红利。LLM 越强,视觉生成越有前途,而不是越没用。
这不是说代码之手不重要。需要精确的地方(UI、工程图、机器人的实际动作),它会一直是主力。两只手也完全可以一起用:用 Blender 搭出几何和镜头,再让生成模型补上材质和光。这些都说明,视觉生成不会被取代,它会作为一只越来越好用的手,被越来越好的眼睛驱动。
那眼睛、嘴和手之间,最后应该怎么连起来?
我能看到至少三条路:
- LLM 加眼睛再加工具:就是第六节那个闭环,生成之手也可以作为工具之一被调用。
- VLM 当眼睛,生成模型当手:模块化地拼起来。眼睛负责描述、评价、给反馈,手负责画,中间用语言和奖励连接。
- 联合训练的统一模型:文本和图像在同一个网络里、用同一套注意力、在交错的数据上训练。Chameleon16、Transfusion17、Emu318、BAGEL19 都在这条路上。2025 年的原生图像生成(GPT-4o、Gemini 等)最让用户兴奋的,恰恰不是画质,而是多轮对话式的编辑:"把这个杯子往左挪一点,其他别动",它大体上真的能做到。
统一模型是很自然的一条路:眼睛和手长在同一个脑子里,吸管就消失了,模型能指着自己画的东西解释、修改,并且被检验说的和画的是否一致。但我不认为它一定是唯一的答案。模块化的系统更容易迭代,各部分也能单独变强;到底哪条路走得最远,现在下结论还太早。
我比较确定的只有一件事:无论走哪条路,瓶颈都在"看得懂"和"说得通",不在"画得像"。用户对原生图像编辑的第一反应不是"画得更好了",而是"终于能说上话了",这就是信号。
8. 下半场是什么?
姚顺雨在 The Second Half 里说,AI 的上半场是比方法,下半场是比问题和评测24。
老实说,放到视觉生成上,下半场到底是什么,我还没想清楚。我能想到很多候选答案,但没有一个让我确定到可以直接写成标题。
但有一个判断我比较有把握:
随着 LLM 理解、描述和评价视觉的能力不断提升,视觉生成的质量会迎来一次跃升。推动这次跃升的主要力量,可能不在视觉生成本身,而在那只越来越好的眼睛。
上一节已经给了理由:描述变好,数据就变好;评价变好,奖励就变好;理解变深,规划就变好。而这三样东西,恰好是今天 LLM 进步最快的方向。
如果这个判断是对的,有几个问题会变得格外重要。我还没有答案,但我会一直盯着:
- 没被提到的东西,能不能保持不动?多轮编辑时,没被指令提到的区域是否不变。今天大部分编辑评测只看"改的地方改对了没有",不看"没让改的地方有没有被乱改"。第五节那张漫画,在很多现有指标下可能是满分。
- 说的和画的一致吗?模型画完一张图,再问它"光从哪来""这两个人谁离镜头更近",它的回答和它画出来的东西是否一致。会画影子却说不出光在哪边,说明眼睛和手还没真正连上。
- 眼睛本身有多可靠?如果评价能力成为主要的训练信号,那么评价者的盲区就会变成生成模型的盲区,reward hacking 也会随之而来。怎么评测"眼睛",可能和怎么评测"手"一样重要。
- 画图能不能帮助思考?让模型先画一张草图再回答空间推理、物理推理问题,正确率会不会提高。OpenAI 提出了 "thinking with images"25,Veo 3 那篇工作提出了 "chain-of-frames"。如果视觉生成最终成为推理的一步,它的价值就远远超出"出图"。
9. 几个反驳
"等 LLM 足够大、算力足够便宜,逐像素也会变便宜。"
算力在变便宜,但我们要的像素也在变多:分辨率、帧率、3D、交互式世界。更重要的是,第三节已经说明,让它"变便宜"的那些办法(视觉 tokenizer、由粗到细的生成)本身就是视觉生成模型。
"LLM 已经能调 Blender、写前端了,有眼睛有闭环,为什么还要生成模型?"
因为闭环只能在手能够到的范围里找最优解。第七节说过,代码之手的天花板是引擎。眼睛越好,就越会发现"我想要的那个效果,引擎里没有"。那时候你需要一只没有被引擎框住、并且能跟着眼睛一起变强的手。
"SVG 和代码可编辑、可解释,像素不行。"
第二节说过,可编辑性来自"东西少",不来自矢量。复杂到能逼近照片的 SVG 不可编辑。可编辑性真正的来源是语言:你能用语言指称"那个杯子",是因为"杯子"是一个语言里的概念。只要眼睛能在像素里认出"那个杯子",并且能把这个指称传给手,像素也就可以被语言"寻址"、被编辑。
"世界模型和机器人不需要语言,照样能用视频模型规划。"
对,机器也许不需要,但人需要。如果目标是做给人用的工具、做能被人监督的系统,交流就不是可选项。还有一个更严肃的理由:一个我们没法询问的世界模型,也是一个我们没法审计的世界模型。它在想象里觉得"这么推,杯子不会掉",我们总得能问一句"为什么"。
10. 回到那只猫
开头那只猫,是 LLM 用三百多个字符闭着眼睛写出来的。它的月亮里有一颗不该存在的星星,它身上也没有月光。
然后它睁开眼睛看了一下,自己把这两个错误改掉了。这是这篇文章里最乐观的一幕:眼睛已经来了。
但它改到第三版就停下了。毛的质感、白下巴上那一点冷色,用字符写不出来。不是眼睛看不出来,是手够不着。
而够得着的那只手,那个见过一亿次月光落在猫身上的模型,一直都在。它缺的从来不是画画的能力,而是一只能告诉它"这里不对"的眼睛,和一种能让我们跟它说上话的语言。
视觉生成没有过时。
眼睛越好,它越有用。
参考
-
Bubeck et al., Sparks of Artificial General Intelligence: Early experiments with GPT-4, 2023. arXiv:2303.12712 ↩
-
Simon Willison, pelican riding a bicycle 系列. simonwillison.net/tags/pelican-riding-a-bicycle ↩
-
Rich Sutton, The Bitter Lesson, 2019. incompleteideas.net ↩
-
Li, Lukáč, Gharbi, Ragan-Kelley, Differentiable Vector Graphics Rasterization for Editing and Learning, SIGGRAPH Asia 2020. 项目页 ↩
-
Llama Team, The Llama 3 Herd of Models, 2024. arXiv:2407.21783 ↩
-
Rombach et al., High-Resolution Image Synthesis with Latent Diffusion Models, CVPR 2022. arXiv:2112.10752 ↩
-
Sander Dieleman, Generative modelling in latent space, 2025. sander.ai ↩
-
Sander Dieleman, Diffusion is spectral autoregression, 2024. sander.ai ↩
-
Tang et al., Emergent Correspondence from Image Diffusion, NeurIPS 2023. arXiv:2306.03881 ↩
-
Ke et al., Repurposing Diffusion-Based Image Generators for Monocular Depth Estimation (Marigold), CVPR 2024. arXiv:2312.02145 ↩
-
OpenAI, Video generation models as world simulators, 2024. openai.com ↩
-
Wiedemer et al., Video models are zero-shot learners and reasoners, 2025. arXiv:2509.20328 ↩
-
Radford et al., Learning Transferable Visual Models From Natural Language Supervision, 2021. arXiv:2103.00020 ↩
-
Qwen Team, Qwen-Image Technical Report, 2025. arXiv:2508.02324 ↩
-
Qwen Team, Qwen-Image-2.0 Technical Report, 2026. arXiv:2605.10730 ↩
-
Chameleon Team, Chameleon: Mixed-Modal Early-Fusion Foundation Models, 2024. arXiv:2405.09818 ↩
-
Zhou et al., Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model, 2024. arXiv:2408.11039 ↩
-
Wang et al., Emu3: Next-Token Prediction is All You Need, 2024. arXiv:2409.18869 ↩
-
Deng et al., Emerging Properties in Unified Multimodal Pretraining (BAGEL), 2025. arXiv:2505.14683 ↩
-
Betker et al., Improving Image Generation with Better Captions (DALL·E 3), 2023. cdn.openai.com ↩
-
Black et al., Training Diffusion Models with Reinforcement Learning, 2023. arXiv:2305.13301 ↩
-
Liu et al., Flow-GRPO: Training Flow Matching Models via Online RL, 2025. arXiv:2505.05470 ↩
-
Fu-Yun Wang et al., PromptRL: Prompt Matters in RL for Flow-Based Image Generation, 2026. arXiv:2602.01382 · 代码 ↩
-
姚顺雨 (Shunyu Yao), The Second Half, 2025. ysymyth.github.io ↩
-
OpenAI, Thinking with images, 2025. openai.com ↩