一位开发者微调了一个拥有3.6亿参数的语言模型,使其充当终端。背后并没有真正的shell或文件系统。相反,每一次按键都会输入模型,由模型预测屏幕将如何变化。据作者介绍,它可以创建文件、运行vim和tmux、玩贪吃蛇,并且通常能记住几条命令之前输入的内容。最大的改进来自于教会模型修复自身错误,以及并行解码屏幕的各行。该演示在浏览器中运行,大小约为208 MB。用户可以输入"pythoon"来验证它并不是真正的shell。
该项目受到Genie 3的启发,后者提出了一种应用通过学习而非编码产生的未来愿景。作者将这一构想从游戏世界缩小到了终端。终端是由字符组成的网格而非像素,训练数据可以通过运行真实的shell生成。该模型基于Qwen2.5-Coder-0.5B,并在Docker中运行真实程序时录制的终端会话上进行了微调。
标准语言模型每次只追加一个token,这不适用于终端场景,因为单次按键可能独立生效,输出也不一定出现在屏幕底部。因此,该模型改为预测字符网格的变化。每个会话都以屏幕尺寸、内容和光标位置的快照开始。按键以真实终端会接收到的原始字节形式发送,模型则返回需要重写的行以及新的光标位置。时间也是一个输入,因此WAIT token可以让贪吃蛇在没有按键的情况下持续移动。
为了避免屏幕滚动时重新生成每一行,作者增加了COPY操作,用于移动上一屏幕的行,每次按键可节省数千个token。该演示面向配备WebGPU和实体键盘的桌面浏览器设计,推荐使用Chrome或Edge。
来源: Hacker News · 由HeadlinesBriefing整理摘要