WorldTUIは、コードを実行して描画するのではなく、モデルがユーザーインターフェースの次の状態を予測する「学習された」アプリケーションへの移行を象徴しています。SimEdwによって開発されたこのプロジェクトは、Qwen2.5-Coder-0.5Bアーキテクチャを縮小した3億6000万パラメータのモデルを使用してターミナル環境をシミュレートします。実際のオペレーティングシステムに対してコマンドを解釈する標準的なターミナルエミュレータとは異なり、WorldTUIにはバックエンドが存在しません。画面上のすべての文字は、以前の入力履歴と現在の視覚的状態に基づいてモデルが行う予測です。

WorldTUIのインターフェース内でcowsayコマンドの出力が表示されているターミナル画面
WorldTUIモデルは、画面の状態を予測することで、cowsayコマンドのようなターミナルの出力をシミュレートします。simedw.com

この画像は、ユーザーの入力に基づいて視覚的なターミナル状態を予測するモデルの能力を示しています。

ターミナルの複雑さを処理するために、このモデルは画面を文字のグリッドとして扱います。単一のキー入力(「clear」やvimでの「Esc」シーケンスなど)によってディスプレイ全体が劇的に変化する可能性があるため、システムはテキストのストリームを予測するのではなく、特定の行の更新とカーソルの動きを予測します。パフォーマンスを維持するために、開発者は「COPY」操作を実装しました。これにより、モデルはすべての文字を再生成する代わりに、少数のトークンを使用してテキストの行全体を移動(スクロール時など)させることができます。このアプローチにより、モデルは以前のステップで作成されたファイルを記憶したり、tmuxのような複雑なマルチウィンドウ環境をナビゲートしたりできる一貫した内部的な「世界」を維持することが可能になります。

最も重要な技術的課題の一つは、大規模な画面更新におけるリアルタイム性能の実現でした。自己回帰モデルはトークンを一つずつ生成するため、画面全体の再描画には数秒かかる可能性があります。開発者は、モデルが異なる行の更新を同時に生成する「並列行デコーディング」を実装することでこの問題を解決しました。これらの独立した行の整合性を確保するため(例:Snakeのゲームで複数の行が同時にエサを追加するのを防ぐなど)、システムは投機的デコーディング(speculative decoding)を使用します。並列行が「ドラフト」を提供し、モデルがそれを逐次的に検証します。最終的なモデルは十分に小さいため、WebGPUを介してWebブラウザ上で実行でき、ローカルでの低遅延推論を可能にするために208 MBに量子化されています。

その能力にもかかわらず、WorldTUIは長期的な記憶や複雑なロジックにおいて依然として制限があります。ファイル読み取りやvimの操作を正常に実行できる一方で、新しい方法でコマンドを組み合わせる際に失敗することがあり、例えば「echo」コマンドの後に追加された行を表示できないといったケースです。さらに、モデルの蒸留に関する実験では、モデルのより小さなバージョンがメモリテストをパスできたものの、標準的なシェルコマンドの広範な実行能力を失うことが多く、機能的な幅を犠牲にすることなく「ワールドモデル」を縮小することの難しさが浮き彫りになりました。