WorldTUI

4天前发布 12 00

WorldTUI 是 360M 参数小模型,不靠真实操作系统,直接预测终端屏幕画面变化;在浏览器 WebGPU 本地运行,支持 vim、tmux 等工具,通过并行解码与自纠错优化长会话一致性,但复杂场景仍会出现幻觉、状态错乱。

所在地:
Simon Edwardsson
收录时间:
2026-10-23
WorldTUIWorldTUI

开发者 Simon Edwardsson 近日开源了 WorldTUI,这是一个仅有 360M 参数的轻量级语言模型,经过专门微调以模拟真实的终端环境。该模型背后没有真实的 shell 或文件系统,而是通过预测每次按键后屏幕字符网格的变化来生成响应。目前,该模型已被量化至 208 MB,并可通过 WebGPU 在浏览器标签页内实现纯本地推理。

WorldTUI

核心机制:屏幕状态预测而非文本流

传统的 LLM 以追加 token 的方式生成文本流,这无法很好地映射终端中光标移动、清屏或局部刷新的特性。WorldTUI 将终端视为一个字符网格,模型接收屏幕快照(尺寸、内容、光标位置)和原始按键输入(如字母、回车、Escape 序列),然后输出需要重写的行及新的光标位置。

WorldTUI

为了优化性能,模型引入了 COPY 操作。当终端滚动或清屏时,模型无需重新生成整行文本,而是直接引用前一屏幕的对应行。这使得滚动操作的 token 消耗从每行约 96 个骤降至 3 个。整个模型仅使用 333 个 token 的极小词汇表(256 个字节值 + 64 个行 token + 少量特殊操作),并通过语法约束确保每次预测都是有效的屏幕更新。

数据生成与“自我修正”训练

为了获得高质量的训练数据,开发者在 Docker 容器内录制了大量真实的终端会话。数据生成过程高度拟真:随机化用户名、提示符、终端尺寸,模拟人类打字(包含 1.2% 的错误率),并涵盖 vim、tmux、Python 等多种应用场景。

在训练阶段,除了常规的监督微调,WorldTUI 引入了借鉴自 DAgger 算法的“自我修正(Self-Correction)”机制。由于长会话中模型的微小错误会不断累积,训练时会故意让模型预测几步,若其生成的屏幕与真实屏幕存在偏差,系统会构造一个“修正”指令,教导模型如何在后续按键中将自己的错误屏幕引导回正确的状态。这一机制显著提升了模型在长会话中的一致性,使其在 PresetBench 测试中的得分从 24/47 提升至 38/47。

工程优化:极致的速度与体积压缩

为了让模型在消费级硬件甚至浏览器中实现近实时响应,WorldTUI 进行了多项深度优化:

  1. 行并行与推测解码:全屏重绘(如打开 vim 或 man 页面)原本需要生成数千个 token,耗时极长。优化后,模型并行生成每一行的更新草稿,然后通过因果注意力机制由模型自身顺序验证。这将大帧更新的 p95 延迟从 6.7 秒大幅降至 0.87 秒。
  2. 词汇表裁剪与量化:基于 Qwen2.5-Coder-0.5B,开发者剔除了原模型中无用的 15 万多个 token,将参数量从 494M 压缩至 360M。随后进行 int4 量化,最终模型体积仅为 208 MB。
  3. WebGPU 本地推理:通过自定义的 JavaScript 解码器和 WGSL 计算着色器,模型可在浏览器内直接解包 4 位权重并执行推理,所有计算均在本地完成,无需后端服务器支持。

能力展现与当前局限

在能力方面,WorldTUI 展现出了令人惊讶的“记忆”与多任务处理能力。它不仅能流畅响应 bash 命令,还能处理 vim 的模式切换、tmux 的多窗格管理,甚至运行简单的 Python REPL 和贪吃蛇游戏。它能够在不同会话中记住之前创建或修改的文件内容,展现出初步的“世界模型”一致性。

然而,它仍存在明显的局限性:

  • 非真实文件系统:模型只是在“模仿”文件系统,复杂的命令组合(如文件追加后立即读取)容易导致逻辑断裂或幻觉。
  • 路径一致性:在处理深层嵌套目录时,模型偶尔会迷失路径上下文。
  • 浏览器兼容性:目前在 Chrome/Edge 中表现最佳,而在 Firefox 中由于 WebGPU 实现差异,推理速度会慢约 20 倍。

相关导航