Solaris:号称无代码操作系统的 AI,逐帧画出界面却画不出软件状态
『无代码操作系统』:消失的是界面代码,还是行为逻辑?
Runway 在 2026 年 8 月底发布了 Solaris,官方介绍开门见山:这是 Interface World Models 这个新 AI 家族的第一个模型。Interface World Model(界面世界模型)把「界面」从程序员写出来的前端代码,变成了世界模型逐帧生成的画面:你点击、拖动、输入,每一帧界面都是模型在你操作的同时现画的,而不是某个组件库渲染出来的结果。「无代码操作系统」这个宣传语,值得先拆成一个问题再往下读:无代码,到底消除了什么?Solaris
回答要从 Solaris 内部实际的分工说起。官方原话是 "the language model and world model separate reasoning from rendering: one decides what the application should do next, while the other generates how that behavior appears and responds in real time",翻译过来就是:一个语言模型决定应用下一步该做什么,一个世界模型生成这个行为看起来什么样、怎么实时响应。Solaris
图注:Solaris 的逻辑分层。LLM 在行为层面决定界面如何演化,世界模型在像素层面负责呈现;用户的动作既是 LLM 的行为信号,也作为条件直接注入世界模型。逐帧生成的是界面,决定界面演化的是 LLM。
传统软件要先把界面「翻译」成 HTML/CSS/JS 才能运行。Solaris 官方的说法是:因为有这层转换,才有信息损失;去掉这层中间表示,整帧画面本身就是界面。开篇的问题到这里有了答案:Solaris 的无代码,消除的是手写界面代码这道「中间翻译」。行为逻辑没有消失,只是换了个载体:官方明确的是决策(reasoning)由 LLM 承担、渲染(rendering)由世界模型承担,而「决策/状态处理与像素渲染分开」正是 Interface World Model 这个架构名称的含义,语言层想行为,生成层画像素。
被消除掉的这一半,恰好是 Runway 最拿手的一半:Solaris 建立在自家 Gen-4.5 视频生成模型之上,沿着 2025 年底推出的 GWM-1 通用世界模型路线继续走,GWM-1 本身就是「建立在 Gen-4.5 之上的自回归模型,逐帧生成、实时运行、可以用动作交互控制」。把这套范式从 3D 世界搬到界面像素,对 Runway 来说是顺理成章的一步,Solaris 不是凭空冒出来的。GWM-1
「生成得像样」那一半,Runway 也拿数据自证:官方内部偏好研究里,250 名参与者的配对判断明显更偏好 Solaris,对照是 Claude Opus 5 写代码实现的界面。这份数据的样本设计、具体数字与边界,留到评测那一章再拆;这里只需认账:被消除掉的视觉表现层,它做得确实像样。Solaris
可问题恰恰在这里:能被证明做得像样的,只有视觉这一半。公开材料确认到这里就停了:官方说明了 LLM 与世界模型的分工,却始终没有说明应用的真实状态存在哪里、购物车这类事务靠什么保证语义。「行为逻辑搬进 LLM」这个说法因此要打折,能确认的只是决策推理搬进了 LLM,状态存储与事务语义,这些材料一个字都没有证明。既然每一帧画面都是模型现猜的,那画面背后发生的事情,由什么来保证对错?传统软件里,点一下「加入购物车」,数据库里就多一条记录,这是一条确定的状态转移;公开材料没有告诉我们 Solaris 里有没有这样的载体,能确认的只有「逐帧生成」本身。状态由什么记录、事务怎么保证,就是这一篇接下来要追问的问题。带着它,我们去看 Solaris 跨过实时门槛的机制,以及这个机制为此付出了什么。
逐帧生成跨过实时门槛,却把确定性状态机变成了概率预测
视频模型要实时逐帧干活,第一道坎是架构性的。主流视频扩散模型用双向注意力一次性去噪整段视频,生成本帧时已经「看到」了未来帧,天然没法边生成边输出。自回归模型倒是逐帧的,可训练和推理之间隔着一道著名的错位,叫暴露偏差(exposure bias)。
用大白话讲:训练时,模型每帧的去噪条件都是干净的标准答案(ground truth);推理时,它只能拿自己上一帧生成出来的、带着瑕疵的画面当条件。训练时吃的和推理时咽的,不是同一种东西。分布一错位,误差就随生成长度一路累积,画面越来越糊、越来越过饱和。
NeurIPS 2025 spotlight 论文 Self Forcing 就是冲着这道坎去的。它的做法是把暴露偏差当成「训练分布和推理分布不一致」来正面解决,而不是打补丁。三个要点:第一,训练时就做自回归 rollout,前一帧是模型自己 denoise 出来的,推理什么样训练就什么样;第二,训练时也开 KV cache,把推理阶段的优化搬进训练;第三,不再逐帧算去噪损失,而是用一个视频级的分布匹配损失,让整段自生成视频的分布整体贴向真实视频。SelfForcing
对比着看这张图,三种训练范式的差别一目了然:

图注:(a) Teacher Forcing 用清晰的真实帧做上下文,(b) Diffusion Forcing 用带噪的真实帧做上下文,两者训练时看见的都和推理时不一样;(c) Self Forcing 在训练时就让模型用自己的输出做条件,并在整段视频上做分布匹配,把生成视频的分布对齐到真实视频。SelfForcing
配上少步扩散和梯度截断,Self Forcing 把延迟压到了亚秒级:chunk-wise 版本 17 FPS、单帧延迟 0.69 秒,frame-wise 版本延迟最低 0.45 秒。长视频外推则靠滚动 KV cache:固定大小的缓存装最近 L 帧,新帧进来时弹掉最老的一帧,复杂度从平方级降到 O(TL),可以无限往下生成。SelfForcing
这套「下一帧 + 动作条件」的范式并不是 2025 年才有的。最早把它端到端跑通的,是 2024 年 Google Research 与 DeepMind 合作的 GameNGen:先在 ViZDoom 上训练一个 PPO agent 玩 DOOM,把(动作,观察)序列录下来当训练数据,再用这些自生成轨迹微调一个 Stable Diffusion v1.4 的下一帧条件扩散模型。过去 64 帧的 latent 和每个动作的 token 拼接在一起,在 DOOM 上跑出 20 FPS,人类裁判基本分不清真假。GameNGen

图注:GameNGen 的方法总览:中心是 U-Net 风格的扩散去噪器,输入是过去 N=64 帧的 latent 与动作 token 序列,底部是噪声等级 embedding,右上角标注 Stable Diffusion v1.4 底座。它是「神经网络生成下一帧代替渲染」的博物馆级起点,没有 LLM 决策层。GameNGen
GameNGen 有个自陈的硬伤:上下文记忆大约只有 3 秒(64 帧 @ 20 FPS)。DOOM 里血量、弹药这些状态明明能存活远超 3 秒,模型却只能看见最近 3 秒的画面,其余全靠从像素里猜。这个问题我们留到后面,它恰恰是「观察 ≠ 状态」最早的预演。
实时门槛真正被跨过并收敛成同行共识,是 2025 年下半年的事。开源团队 Skywork 的 Matrix-Game 2.0 用 Self Forcing 蒸馏把双向扩散模型压成因果少步自回归生成器,再配滚动 KV cache,在单卡 H100 上跑出 25.15 FPS、分钟级长度。它把动作条件化做到了 DiT block 内部:

图注:Matrix-Game 2.0 的架构。左半是整体 pipeline:参考图像加动作输入,经 3D Causal VAE 编码进 DiT,解码出视频帧;右半放大了 DiT block 内部:连续鼠标动作经 MLP 加时间 self-attention 注入,离散键盘动作经 cross-attention 注入。MatrixGame2
到这里,Solaris 官方讲的三阶段实时引擎,每一阶段都能在文献里对上号:逐帧自回归生成,对应 Self Forcing 的自回归 rollout;把多步去噪蒸馏成少步,对应 few-step distillation;用自生成轨迹训练快速模型(fast model 在自己的输出上做 teacher distillation,保持长交互下视觉质量稳定),对应「以自身输出为条件」的训练范式。Solaris
现在可以回答上一章的问题了,只是答案要先收窄一步。这一整套机制解决的是「怎么在亚秒级延迟里把下一帧画出来」,这一半无可争议;但逐帧生成这套范式自己能担保的,只有画面本身。每一帧都是模型重新从概率分布里「猜」出来的,所以下一帧预测本身,不构成状态正确性的证明:传统软件里,「点按钮 → 状态更新 → 界面刷新」是一条可追溯、可校验的确定因果;换成逐帧预测,画面之后究竟发生了什么,单靠这套机制自己说不清。这里必须把结论的边界划清楚:我们还不能据此断言 Solaris 就此失去了确定性状态链,语义层或世界模型内部是否另有载体在记录真实状态,公开材料一个字都没有交代。Solaris 究竟有没有它自己的状态保证,这个问题恰恰留给下一章去检验。
那凭什么相信画面之后的状态是对的?检验就从 Runway 自己的评测拆起:它到底证明了什么、又漏掉了什么。
更自然、更保真,就等于更正确吗?
先替像素路线说句公道话,它拒绝「中间翻译」是有道理的。主流做法是让多模态 LLM 把界面翻译成代码、再从截图重建;Runway 拿自家 eLABJOURNAL 网页做了一个「翻译代价」(Cost of Translation)测试,让几个多模态 LLM 从单张截图重建页面:

图注:同一张目标网页,用 GPT-4o、Gemini 2.5 Pro、Fable 5 从截图重建。重建版本出现文本截行、元素错位、子模块重叠。把界面翻译成代码再用 LLM 重建,信息丢失是必然的,这正是 Solaris 拒绝中间表示、直接生成像素的理由。Solaris
顺带提醒一句:图里的 Fable 5 指 Anthropic 的 Claude Fable 5,和后面偏好评测里做编码对照的 Claude Opus 5 是两个不同型号,不要混淆。
「每个语言模型在重建时都会丢信息,自然图像丢得最狠,因为丰富的视觉细节没法精确地写进语言里。」这个观察是成立的,也是「直接生成像素」这条路线最硬的理由。但注意,这个理由只能支撑「像素路径适合还原界面」,推导不出「像素能取代软件」。Solaris
接下来看 Runway 自己的评测。方法:30 个界面、250 名参与者、约 7,500 次配对判断,背后是两套客观度量加上用户主观偏好。两套客观度量里,SSIM 是像素级相似度,比较重建版和原图每个位置的像素有多像;DINOv3 特征则在语义层面比较,「元素可能挪了位置,但视觉内容还活着吗」。主观偏好则直接问用户:哪个结果更好地遵循了指令?哪个在场景里表现得更自然?

图注:Solaris 与 LLM 编码版界面的用户偏好对比。指令遵循:Solaris 62%、Claude Opus 5 25%、无偏好 13%;场景自然度:Solaris 72%、Claude Opus 5 21%、无偏好 7%(图表标注与官方正文口径 61%/71% 有舍入出入,正文以 61%/71% 为准)。图例保留了三方对照,页脚标注这是 Runway 的内部研究。Solaris
官方正文用的是 61% 对 24%(指令遵循)和 71% 对 21%(自然度),无偏好各占 13% 和 6%。数字很漂亮。但把这些数字摆在一起看,反常的地方就出来了:它测的全是观感。SSIM 是像素像不像,DINOv3 是语义特征像不像,偏好是用户主观上喜欢哪个。四个数字没有一项落到数据正确性、事务一致性、长程可复现性上。而且这份研究是 Runway 内部做的,不是独立第三方复核;250 名参与者怎么招募、Claude Opus 5 用哪个版本当对照,官方都没有公开。Solaris
Runway 自己也不回避这一点。博文末尾专门开了一节「What It Can't Do Yet」,自陈四大局限:
| 局限 | 官方表述的实质 |
|---|---|
| Text | 实时生成稳定可读的文本仍是公开难题,而界面恰好比任何视觉域都更依赖文字 |
| Trust | 教程和商业场景里,一个让人信服的错误答案比没有答案更糟 |
| Long sessions | 长程开放交互下的视觉与语义一致性仍是 open problem |
| Accessibility | 生成式界面还要能对接 screen reader 与无障碍 API 生态 |
这四条每一条都指向同一件事:画面是逼真的,但画面背后的「真相」没有稳定载体。旁证也指向同一结论:gWorld 那篇论文自建的 MWMBench 基准,同样只覆盖观感维度(视觉相似度与兼容性判分),没有任何一项测事务正确性。gWorld
所以前面那张偏好图,现在要换个读法:第一次看,它是能力展示;拆开看,它是评测边界。Solaris 证明了画面更保真、交互更自然,唯独没证明「它比写代码更正确」。自然与正确之间的这道落差到底差在哪?下面用一个经典框架把它讲成硬道理。
屏幕只是观测:逼真的画面,不等于可靠的状态转移
用一句话立起本章的框架:观察是你看到的画面,状态是真实发生的事实。两者之间的区分,在控制论里有个精确的学术版本,叫部分可观测马尔可夫决策过程(POMDP)。Kaelbling、Littman 和 Cassandra 1998 年的奠基论文给出了标准定义:一个 POMDP 用六元组 ⟨S, A, T, R, Ω, O⟩ 描述,其中 S 是状态集(真实发生的事情),A 是动作集,T 是状态转移,R 是奖励,Ω 是观测集(agent 能看到的信号),而观察函数 O(s′, a, o) 回答的问题是:如果 agent 做了动作 a、世界落到了状态 s′,它看到观察 o 的概率有多大。POMDP
关键在论文里那句直白的话:「POMDP 是这样一个 MDP,其中 agent 无法观察当前状态,只能基于动作和结果状态做出观察。」也就是说,状态藏在世界内部,屏幕上的像素只是状态经由观察函数投出来的影像。agent 能维护的,只有 belief state(信念状态),即它关于各个状态的后验概率分布;好在信念状态是历史信息的充分统计量,拿着它做决策,不会比翻全部历史记录更差。POMDP
图注:POMDP 的信息链。动作改变真实状态,观察函数把状态投影成观察,agent 能拿到的只有观察,于是只能维护一个关于状态的信念分布。画面永远在链的末端,不在源头。
把这套概念套回 Solaris,结论立刻锋利起来:LLM 的上下文里装着「应用接下来该做什么」的推理,世界模型渲染的是「这一步长什么样」的画面。这两个一个是决策用的内部状态,一个是给人看的观察。一旦决策所依赖的事实(比如购物车里到底加了什么)没有被某个确定性的载体记录,单靠画面往前推,就随时可能从观察链上滑出去。
这个教训不是纸面论证。NeuralOS 是公开文献里把「用像素世界模型模拟操作系统」做到 ICLR 顶会级别的少数工作之一,它把 Ubuntu XFCE 整个桌面的下一帧当成扩散模型的输出。有意思的是,最认真的像素路线也得偷偷维护一个状态载体:它的架构是一个双层 RNN(每层 hidden size 4096)显式追踪操作系统内部状态,包括打开了哪些应用、哪些窗口被遮住、最近做过什么,再交给一个扩散 UNet 渲染器把状态画成下一帧。NeuralOS

图注:NeuralOS 的架构。右半 (a) 显示每个时刻 RNN 根据用户输入与上一帧更新对系统内部状态的追踪,状态作为上下文交给扩散渲染器生成下一帧;左半 (b) 是双层 RNN 的内部结构,下层 LSTM 编码输入、上层整合注意力信息。结构上就是「状态追踪 + 渲染」的分层。NeuralOS
NeuralOS 把「状态转移」这件事量化了:论文把像素距离大于阈值的状态转移聚成 73 类,模型对转移目标类别的对角匹配率是 37.7%,比 majority 基线(1.4%)高出约 27 倍,但离「可用」还差得远。而且论文自己提醒,偏离对角线的预测不一定是错的,因为 GUI 响应本来就有时序浮动,这个数字甚至可能高估了错误率。NeuralOS
再补两条它的自陈失败:细粒度的键盘输入(在终端里敲具体字符)无法可靠还原,轻微的光标动作容易预测错,256 帧之后的长程状态回忆依然不稳。这些失败有一个共同形状:像素层面做得越逼真,状态层面的不确定就藏得越深。对照实验也印证了这一点:固定 64 帧上下文的 DIAMOND 在状态转移事件(比如启动应用)之后,误差迅速崩塌。

图注:三条像素 RMSE 曲线。NeuralOS 全程平稳,DIAMOND 两个变体的误差随时间上升,并在状态转移处明显跳台阶。原因在于操作系统里的关键状态(比如「这个文件夹之前是否创建过」)存活时间远超 64 帧,固定窗口的模型一旦窗口滚过,状态就丢了。NeuralOS
回看两年前 GameNGen 自陈的「约 3 秒记忆」,它就是这个问题最早的预演:DOOM 的血量弹药这类状态能存活远超 3 秒(论文原文只说会持续 drastically longer time horizons),模型只看得见最近 3 秒的画面,其余全靠从像素推断。旁证还有一个:gWorld 论文自陈约 17.4% 的移动界面转换涉及照片级真实内容,这类内容连「可渲染代码」路径也无法高保真呈现,只能绕行。gWorld
把这一章的结论说透:观察可以无限逼真,但像素只是系统状态的投影,不是状态本身;越是需要精确状态的场合,纯像素路径越靠不住。NeuralOS 是反例,不是墓志铭。它证明的是「纯像素路径在 OS 域离可用还远」,而不是这条路没有意义。那就把问题翻过来问:一个世界里既然一定要有「状态」这种硬东西要维护,像素到底适合干什么?
分界在哪里:像素管观感,符号管状态
上一章的困境是:观测不可靠,怎么办?答案不是把观测做得更逼真,而是把观测和状态合并,让状态直接以可验证的形式暴露出来。gWorld 走的就是这条路:它放弃直接用像素做世界模型输出,改成输出可渲染的 HTML/CSS 代码。状态由代码承载,像素只是代码在浏览器里的渲染结果。gWorld

图注:同一动作下两条路径的对照。左半是 action-conditional 的像素路径范式,右半是 gWorld 的反向范式:VLM 先输出 HTML/CSS 代码,浏览器渲染成下一帧。底部是同一动作下 Qwen-Image-Edit 20B 与 gWorld 的实测输出,像素路径文本失真、布局扭曲,代码路径文字清晰、布局规整。gWorld
效果可以用数字说话:gWorld 由 Qwen3 VL 8B 和 32B 微调而来,相对各自 base 模型,它的动作兼容性判分(IAcc)分别提升 45.7 和 27.1 个百分点;渲染失败率降到 1% 以下(8B 为 1.4%、32B 为 0.6%),而 base 8B 高达 40.1%。这组数字的证据边界要划清楚:它们证明的是文字可读、布局规整、渲染稳定,以及所测动作上的兼容性,全落在观感与交互层面;要是从这里推出「数据或事务状态也更可靠」,就越界了。状态显式化成代码之后能否承载数据正确性与事务一致性,是把状态交给代码这条路线想达成的工程设计目标,目前还没有评测兜底,不能拿观感指标当结论。gWorld
它的训练数据也不是凭空造的,而是把现成 agent 轨迹重构成世界模型数据:先把离线策略轨迹切成转移样本,再用一个前沿 VLM 把「像素形式的下一帧」转写为「代码形式的下一帧」,最后让同一个 VLM 在偷看目标状态的前提下反向生成推理轨迹。三步都是离线数据工程,不改变推理时的结构。

图注:gWorld 的数据生成管线:(1) repurpose policy trajectory,把离线 agent 轨迹切成转移样本;(2) cross-modal relabel,用前沿 VLM 把下一帧从像素转写成可渲染代码;(3) look-ahead reasoning,在能看到目标状态的前提下生成推理轨迹。这是离线数据生成流程,不是推理管线。gWorld
现在把一个更抽象的概念骨架放上来。POMDP 的经典教程把 agent 拆成两段:state estimator(状态估计器)和 policy(策略)。state estimator 负责把上一动作、当前观察和上一 belief 更新成新 belief,而且这个更新是马尔可夫的,新 belief 只依赖当前 belief、动作和观察,不用翻全部历史;policy 则从 belief 映射到动作,不再直接读状态。这里要先把 belief 的性质钉死:它是 agent 对真实状态的概率估计,回答的是「我认为状态可能是什么」,而不是「状态实际上是什么」;它是一份分布,不是一条可查询的记录。POMDP教程
图注:POMDP agent 的两段式工作流。state estimator 用(动作,观察,上一 belief)更新出下一 belief,policy 从 belief 决定动作,动作作用到环境又产生新观察。整个循环里,agent 从没直接碰过状态。
把这个两段式搬到软件工程里,必须分清两个东西:belief 是 agent 内部的概率估计,随观察不断更新,本身没有可验证性;真正能充当可验证载体的,是软件自己维护的权威软件状态(authoritative software state),也就是数据库记录、权限表、文件系统这类客观存在、可以被查询和审计的事实。世界模型的渲染对应表现层,把权威状态画成好看、自然、可交互的画面。POMDP 框架给出的提醒是:画面永远是观察,belief 永远只是估计,真相必须住在权威软件状态里;决策循环只有读写权威状态,正确性才可能被检验。POMDP教程
用这个框架回头读 Runway 自陈的四大局限,每一条的解法方向都指向同一个地方。Text:文字必须可读、可复制、可被屏幕阅读器验证,这是符号层的地盘;Trust:用户必须能审计系统当前是否处于他认为的状态,这要求状态可查询;Long sessions:belief 更新在长上下文里不能漂移,这要求状态更新是确定性的;Accessibility:观察要对辅助技术透明,这意味着界面背后得有一个能被结构化解读的状态。四条全是显式状态的地盘,没有一条能靠「把像素画得更像」解决。Solaris
所以分界其实很干净。开放式、环境化的交互,比如探索、创意演示、游戏化场景,用户要的是「像不像、顺不顺」,生成像素是最优解。而凡是承担可验证功能的场合,比如文本输入、权限判定、支付、数据库事务、审计日志,状态必须显式存在,像素只能当表现层。可落地的方向不是「像素取代代码」,而是确定性内核加生成式表现层:这里的确定性内核,指的就是权威软件状态和围绕它的确定性更新,观感交给生成,正确性交给权威状态。
回到开头。「无代码操作系统」这个说法,在一种意义上是真的:Solaris 消灭了手写前端代码这道中间翻译,视觉表现层确实可以无代码了。但在更根本的意义上它是假的:行为逻辑没有消失,它搬进了 LLM;软件状态没有消失,它只是不再被显式记录。Solaris 证明的是生成模型能取代软件的视觉表现层,而不是像素能取代软件。界面层可以被逐帧重画,数据、权限与交易仍然需要一个确定性内核来兜底。这就是「逐帧画出界面」和「画出软件状态」之间那道不可跨越的落差。
参考文献
本专题引用的核心资料如下,建议深入学习时阅读原文:
- Introducing Solaris(Runway Research) — https://runway.com/news/research/introducing-solaris
- Introducing Runway GWM-1 — https://runway.com/research/introducing-runway-gwm-1
- NeuralOS: Towards Simulating Operating Systems via Neural Generative Models — arXiv:2507.08800
- Generative Visual Code Mobile World Models (gWorld) — arXiv:2602.01576
- Matrix-Game 2.0: An Open-Source, Real-Time, and Streaming Interactive World Model — arXiv:2508.13009
- Self Forcing: Bridging the Train-Test Gap in Autoregressive Video Diffusion — arXiv:2506.08009
- Diffusion Models Are Real-Time Game Engines (GameNGen) — arXiv:2408.14837
- Planning and Acting in Partially Observable Stochastic Domains(Kaelbling, Littman, Cassandra 1998) — https://people.csail.mit.edu/lpk/papers/aij98-pomdp.pdf
- A Tutorial on Partially Observable Markov Decision Processes(Cassandra) — https://www.pomdp.org/tutorial/pomdp-solving.html