视觉AI的下一个前沿是代码(11分钟阅读)
摘要
文章认为,视觉AI的下一个前沿是生成代码(例如SVG、HTML/CSS、React组件),而非原始像素,从而实现了可编辑性、迭代性以及与专业设计和开发工作流程的集成。
视觉AI正从生成最终像素输出转向为可编辑制品创建源代码,通过支持持续迭代和反馈,改变了设计和3D建模的工作流程。代码原生生成产生结构化的表示形式,如HTML/CSS或Blender脚本,便于在生成后进行精确编辑和增强。这种方法对于需要一致3D结构和交互式资产的行业前景广阔,视觉AI正朝着创建自适应、可编辑的数字制品而非仅仅静态图像的方向发展。
查看缓存全文
缓存时间: 2026/06/03 15:35
# 视觉AI的下一个前沿是代码
来源:https://a16z.com/the-next-frontier-of-visual-ai-is-code/
**过去几年里,视觉AI主要靠像素来评判**。最终的图像或视频看起来越好,模型似乎就越强大。
这说得通。扩散模型将文本提示变成了美丽的图像,然后是视频,接着是越来越逼真的世界。显而易见的比较对象是Photoshop或相机。
但对于许多视觉相关任务,如平面设计、UI设计或3D建模,用户期望的最终表现形式并不局限于最终的像素状态。相反,他们寻找的是可以根据反馈和新想法持续迭代的产物。设计师需要的不仅仅是原型图,他们需要图层、组件和交付物。动画师需要的不仅仅是视频,他们需要时间曲线、关键帧和可编辑的运动。3D艺术家需要的不仅仅是渲染图,他们需要几何体、材质、灯光、相机和场景结构。
如今,最有趣的视觉AI工具已经不再试图生成最终输出。相反,它们正在生成背后的源代码。这一变化带来了像素原生模型无法比拟的可编辑性、迭代能力和反馈循环。
### 视觉生成的两大技术栈
思考视觉生成主要有两种方式。
第一种是**像素原生生成**。这些系统直接生成图像或视频,通常在潜在空间中操作。它们在纹理、氛围、光照和逼真度方面表现出色。如果目标是生成电影镜头、漂亮的情绪板或照片级真实的图像,扩散模型仍然是最主要的方法。
第二种是**代码原生生成**。**这些系统生成一种表示,然后由另一个引擎执行或渲染。**模型不直接产生最终像素,而是产生生成像素的程序。
这个程序可能是一个SVG文件、一个HTML/CSS布局、一个React组件、一个Lottie JSON文件、一个Blender脚本、一个USD场景图、一个着色器或一个游戏引擎场景。最终的可视化输出仍然是像素,但真实来源是一个结构化表示。
这种区别很重要,因为**生产工作流非常关心*生成之后*发生的事情**。生成的图像作为输出是有用的,但生成的视觉程序作为产物更有用——它可以被编辑、重用、改进、版本管理。它可以集成到软件栈的其他部分,并针对约束进行验证。它可以在不同条件下重复渲染,或者在设计师、工程师和智能体之间交接。
我认为这一重大转变已经发生:**对于一部分视觉问题,我们将学会把视觉生成任务重新定义为编码任务,并通过解决定义明确且可验证的编码问题,获得高效提升。**
### 代码是视觉问题的良好基础
理解视觉代码生成价值的最简单方法是看看*初稿之后*会发生什么。
假设模型生成了一个标志。如果输出是光栅图像,而某条曲线是错误的,用户必须遮罩、修复、重新生成或手动重绘。然而,如果输出是SVG,用户可以直接编辑路径、图元、渐变色、描边或文本元素。这正是设计师在[Quiver](https://quiver.ai/)上设计标志[的方式](https://x.com/seansmithbuilds/status/2054296994261393670)。
在UI设计领域,如果输出只是截图,那它主要是一种灵感。而如果输出是HTML/CSS或React,设计师就可以检查DOM、替换真实组件、测试响应式状态、检查无障碍性,并将其连接到应用程序中。
[示例图片](https://d1lamhf6l6yk6d.cloudfront.net/uploads/2026/06/image4.jpg)
Paper截图(所有视觉效果均由代码表示)
**这也是为什么视觉代码生成对测试时计算特别有趣**。在像素原生生成中,更多推理通常意味着采样更多输出:生成二十张图像,选最好的,可能再试一次。这很有用,但每一次尝试基本都是一次新的掷骰子。模型可以对反馈做出响应,但反馈通常全局且不精确。
从技术上讲,扩散模型也能受益于测试时计算。例如,[*Inference-time Scaling of Diffusion Models through Classical Search*](https://arxiv.org/abs/2505.23614) 表明,推理时的搜索可以在规划、强化学习和图像生成方面改进扩散输出。但这里的循环不同。在扩散模型中,系统通常搜索潜在轨迹或已完成样本。奖励函数可以告诉模型一个输出比另一个好,但**它无法将反馈清晰地映射到特定的源码级编辑上**。
代码原生生成了一个更精确的循环:
代码 → 渲染 → 检查 → 修改。
模型生成产物,渲染它,查看哪里出问题,并修补源代码。如果间距不对,修改CSS。如果标志曲线偏离,编辑SVG路径。如果动画感觉慢,调整时间。关键在于,每一次迭代都在改进底层产物,而不仅仅是渲染输出。这就是为什么视觉代码生成走在受益于生成更多令牌和测试时计算的直接路径上。**模型在一个闭环、可验证的环境中调试视觉程序,而不仅仅是采样更多图像。**
### 带代码的视觉生成技术栈
上述示例之下是这个栈:
编码模型 + 符号表示 + 渲染器或引擎
[示例图片](https://d1lamhf6l6yk6d.cloudfront.net/uploads/2026/06/The-Visual-Generation-Stack-Infra-branded.png)
编码模型是产物的编写者和编辑者。它编写HTML、SVG、Lottie JSON、Blender脚本、USD场景或定制的3D资产程序。
**符号表示是真实来源。**这就是使产物可编辑的原因。UI有DOM节点、布局规则和组件。Lottie动画有图层、矢量形状、时间曲线、关键帧和运动参数。3D资产有几何体、材质、关节、约束和层级结构。
渲染器或引擎将这些结构转化为像素。浏览器渲染HTML/CSS。SVG渲染器渲染矢量。Lottie播放器渲染运动。Blender或游戏引擎渲染3D场景。模拟器验证铰接资产能否实际移动或交互。
[OmniLottie](https://arxiv.org/abs/2603.02138) 就是一个很好的例子,说明了符号表示为何重要。Lottie是一种基于JSON的轻量级动画格式,它将运动表示为可编辑的矢量形状、图层、关键帧和时间参数,而不是扁平视频。OmniLottie提出将原始Lottie JSON转换为更符合模型处理的命令序列,使模型能够更可靠地生成和编辑Lottie动画。这篇论文主要不是构建完整的智能体循环。其关键动作是让Lottie更模型原生:它将原始Lottie JSON转换为紧凑的命令和参数序列,模型可以生成这些序列。这很重要,因为Lottie本身就已经是一种可编辑的动画格式。一旦运动被表示为形状、图层、时间和动画参数,反馈就可以映射到源码级编辑。如果物体移动太慢,调整时间。如果路径不对,编辑矢量。如果变形出错,更新形状序列。
该技术栈对应编码智能体可以运行的测试时计算循环,以改进输出质量:在每一次代码->渲染->检查->修改循环中,模型不仅仅是生成另一个样本;它利用渲染器提供的反馈来改进底层产物。它可以更改CSS规则、调整SVG路径、修复动画时间或更新3D约束,然后重新渲染并持续改进。
**这就是使循环有机会收敛的原因。**在像素原生生成中,每次重试通常产生一个新输出。在代码原生生成中,每次重试可以改进源码产物本身。模型不仅仅是采样更多图像或视频;它是在一个闭环、可渲染的环境中调试视觉程序。
### 市场地图:围绕运行时切入
视觉代码生成的市场正开始围绕产物被渲染或执行的运行时进行组织。在代码原生视觉生成中,模型生成一个符号产物,它在某个地方被执行:浏览器、SVG渲染器、Lottie播放器、Blender、游戏引擎或模拟器。
每个运行时都创造了一个不同的切入点,因为每个运行时都有自己独特的源码表示、反馈循环和生产工作流。
[示例图片](https://d1lamhf6l6yk6d.cloudfront.net/uploads/2026/06/Visual-Code-Generation-Market-Map-Infra-branded-1-1.png)
当今最明显的应用是在2D设计领域,尤其是UI和平面设计。但视觉代码生成远不止设计工具。它出现在任何视觉产物具有底层表示、可以被生成、渲染、检查和优化的地方。
### 为什么3D是下一个重要前沿
虽然产品设计和2D设计是当今最明显的用例,但3D产物可能最能从将其一致性问题重新定义为编码问题中受益。
2D设计有时只要看起来正确就有用。但3D资产不行。一张椅子的渲染图并不是椅子。它只是椅子的图片。要让资产在游戏、模拟或3D编辑工具中有用,产物必须拥有底层一致的三维表示,包括正确的几何体、材质、部件层次和场景上下文。
这就是为什么3D是视觉代码生成的自然选择。价值不仅仅在于从某个角度生成看起来像3D的东西,而在于生成一个一致的3D结构,该结构在多个视角、编辑和交互中都能保持稳定。这需要一个迭代循环:提出对象、渲染、检查几何体和部件是否合理、然后修订底层表示。**但循环只有在智能体拥有正确的工具和上下文时才能工作**,因为仅仅不断运行Blender直到看起来更好是不够的。智能体需要改变相机视角、查询场景状态、隔离物体、与目标对比、记住之前的尝试,以及将视觉差异转化为源码级编辑。**这正是测试时计算获得收敛路径的原因。**
对于许多资产,视觉一致性只是底线。物体还需要正确部件语义和功能约束:门应该能打开,铰链应该能旋转,抽屉应该能滑动,轮子应该能转动。换句话说,输出必须不仅仅是一个合理的形状。它必须像它代表的事物一样行为。
这就是VIGA和Articraft3D等项目在该领域脱颖而出的原因,我们预计今年会有更多商业和开源成果出现。[VIGA](https://fugtemypt123.github.io/VIGA-website/) 使用Blender作为渲染和反馈环境,将视觉重建转变为代码-渲染-检查循环;VIGA不仅仅是循环中公开原始Blender。它给智能体提供了用于观察和修改的语义工具,以及对先前尝试的记忆,使其能够从更好的视角检查、诊断问题并进行针对性编辑。[Articraft3D](https://articraft3d.github.io/) 更直接地针对资产结构:它将铰接3D生成框架为编写定义部件、几何体、关节和测试的程序。
[示例图片](https://d1lamhf6l6yk6d.cloudfront.net/uploads/2026/06/image5.jpg)
VIGA生成的3D场景重建示例
### 未来影响与未解问题
如果视觉代码生成有效,胜出的产品将不仅仅是生成更漂亮的输出。它们将拥有循环:生成产物、渲染、检查哪里出了问题、修改源代码。
这有几个含义。首先,渲染器变成反馈环境。浏览器、SVG渲染器、Lottie播放器、Blender、游戏引擎和模拟器将成为智能体测试和改进其作品的环境,就像今天编码智能体利用沙箱和虚拟机一样。
其次,迭代上下文的质量变得比以往任何时候都重要。要让智能体进入视觉代码版的“Ralph循环”,中间表示必须足够精确以指导下一步。模型需要知道的不仅仅是看起来有问题,而是源代码的哪个部分需要更改以及为什么。结构、渲染或反馈中的微小错误可能会在迭代中迅速累积。
第三,未来很可能是混合的。像素原生模型仍将在逼真度、纹理和探索方面表现最佳。代码原生系统在结构、迭代和生产方面更胜一筹。最有用的工作流将结合两者。
还有一些悬而未决的问题。每个领域哪种表示胜出?我们是需要重新制作引擎和渲染器,还是使用前一代已有的?视觉品味有多少可以通过约束、测试和反馈循环来捕捉?
尽管如此,方向是明确的:视觉AI正在从输出转向代码产物。第一波浪潮让生成图像变得更容易。下一波浪潮将使生成可编辑、可测试、可发布和可改进的视觉产物变得更容易。
是时候在这个领域构建了。如果你正在构建相关表示、进行研究,或者对行业发展有想法,请联系[[email protected]](mailto:[email protected])。
相似文章
@dabit3:大多数编码代理仍停留在SDLC的“编写代码”阶段。AI软件开发的下一阶段正在推进…
AI软件开发的下一阶段将编码代理引入生产环境;Cognition推出Devin Auto-Triage,用于自动化事件响应和PR生成。
@techwith_ram:Andrew Ng 展示 AI 如何改变软件开发。不再是手写代码,而是描述你的想法…
Andrew Ng 强调 AI 正将软件开发从编码转向通过提示词进行清晰沟通。作者分享了使用 VS Code、Kombai 和 GitHub 等 AI 工具构建 web 应用的经验。
AI训练正成为新的编程革命
文章认为,AI训练正变得前所未有地易于获取,使得小团队和个人无需大型基础设施即可训练专业化模型,标志着AI从企业主导转向面向特定领域的开发。
@BenjaminDEKR: AI辅助CAD正进入其“vibe code”阶段。它即将变得足以改变世界。任何能够…
AI辅助CAD正处于突破的边缘,使任何人都能描述想要的物理对象并立即看到设计,同时具有按需零件和组装的潜力。
我们正在达到一个点,即“AI生成但视觉上逼真”的内容将成为常态,而非例外。👀
文章指出,AI生成的视觉逼真内容正成为常态,并声称我们已进入通用人工智能时代。