作者介绍了 WorldTUI:他微调了一个 3.6 亿参数的语言模型,让它充当终端。模型背后没有真实的 shell 和文件系统,每次按键输入后,由模型预测屏幕如何变化。作者称,它能新建文件、运行 vim 和 tmux、玩贪吃蛇,并且通常记得几条命令前写入的内容。
作者说,他受到 Genie 3 世界模型的启发,但没有大型 GPU 集群,于是把目标缩小为由字符网格组成的终端。模型以 Qwen2.5-Coder-0.5B 为底座,训练数据是在 Docker 容器中录制的真实终端会话,共 33.6 万段,约 20 亿 token。
模型输出的不是整屏文字,而是要改写的行和光标位置,滚屏用 COPY 操作处理。词表仅 333 个 token,包括 256 个字节 token、64 个行 token 和少量特殊操作。
为了加快速度,作者让各行并行生成,再由同一个模型顺序校验,也就是推测解码。以下数据均出自作者博客:
man test 这类较大的更新,顺序生成需要 2.5 秒,并行草稿加校验为 0.9 秒。据作者自测,ShellBench 共 106 条命令,WorldTUI 答对 80 条,直接提示的 Qwen2.5-Coder-0.5B 为 52 条,Qwen3-0.6B 为 60 条。文件回读共 13 次,WorldTUI 为 9 次,两个对照模型分别为 2 次和 3 次。
作者也承认模型还不可靠:
echo green >> colors 之后,cat colors 常常看不到追加的行。裁剪词表后,模型从约 494M 参数降到约 360M(990 MB 降到 716 MB);再做 int4 量化,体积为 208 MB。浏览器演示基于 WebGPU,推理全部在本地标签页中完成。
作者称,Chrome 或 Edge 最适合试用;Firefox 上的演示约慢 20 倍,原因他尚未查明。模型权重将稍后公布。
作者在文末写道,这个项目「Is it useful? Not really.」,但对一个 360M 参数、跑在浏览器标签页里的模型来说,效果比他预期的好得多。