WorldTUI : un modèle de 360M paramètres simule un terminal sans système réel
Sommaire
En bref
- Un développeur a fine-tuné un modèle de langage de 360M paramètres (Qwen2.5-Coder) pour prédire les changements d'écran d'un terminal plutôt que d'émuler un shell ou un système de fichiers réel.
- Chaque touche clavier en entrée génère une prédiction du prochain état de l'écran, pixel par pixel, sans état persistent sous-jacent.
- Le modèle peut exécuter vim, tmux, créer des fichiers et jouer à Snake, mais perd progressivement la mémoire de ce qui a été tapé après quelques commandes.
- La démo tourne intégralement dans le navigateur (208 MB, WebGPU) sur ordinateur ; elle fonctionne aussi sur téléphone, mais lentement.
Ce que dit la source
L'auteur s'interroge sur la possibilité de construire un « modèle de monde » (world model) qui maintient une cohérence interne d'un environnement virtuel, sans avoir besoin de données vidéo massives ni de clusters GPU puissants. Faute de ressources pour entraîner un modèle de jeu 3D, il a réduit la portée au terminal : une grille de caractères plutôt que des pixels, générée synthétiquement en exécutant de vrais shells dans Docker pour obtenir un alignement keystroke-to-screen parfait. L'enjeu réel est de tester si un petit modèle peut maintenir la cohérence d'un état virtuel au fil du temps, ou s'il ne fait que générer une sortie terminal convaincante mais sans mémoire profonde.
- Entraînement sur Qwen2.5-Coder-0.5B (360M paramètres) afin de tenir en mémoire et de s'exécuter proche du temps réel dans un navigateur.
- Données synthétiques : 336k épisodes de sessions de terminal (≈ 2B tokens) générées en exécutant des commandes réelles dans Docker, avec variabilité des shells, répertoires, tailles de terminal (32×96, 24×80, 40×120).
- Représentation du terminal : pas de prédiction de flux texte, mais de changements d'écran sur une grille (ROW, CURSOR, COPY), réduisant la taille des tokens de sortie (vocabulaire de seulement 333 tokens au lieu de la sortie texte complète).
- Optimisation clé : opération COPY pour les scrolls (3 tokens par ligne au lieu de 96) et décodage contraint par grammaire pour garantir que chaque prédiction est une mise à jour écran valide.
- Limitation documentée : le modèle oublie progressivement les commandes précédentes après quelques entrées, révélant l'absence de mémoire long terme ; une boucle de renforcement (DAgger) a été ajoutée pour enseigner l'auto-correction.
Dans les commentaires
Débat partage entre admirateurs du résultat technique et sceptiques sur l'utilité pratique. Peu de doute sur la prouesse d'ingénierie (fine-tuning efficace, représentation créative), mais questions récurrentes sur les cas d'usage réels et les limites de cohérence du modèle.
- Plusieurs commentateurs soulignent l'analogie avec les « Neural Computers » (recherche académique), où une interface générée crée l'illusion d'une véritable machine, sans fonctionnalités réelles ; le fil mentionne un article arXiv sur le sujet.
- Un commentateur relève que le modèle confond les variables d'environnement ($_ dans bash), symptôme de la fragilité du modèle sur les états complexes, malgré les démonstrations réussies.
- Comparaison directe avec vibeSH (projet concurrent sans fine-tuning, utilisant un grand modèle en API) : vibeSH offre plus de cohérence long terme (contexte du modèle) mais au prix d'une latence élevée (expérience SSH lente), alors que WorldTUI est réactif mais perd la mémoire ; les deux projets identifient la cohérence d'état comme le problème fondamental.
- Plusieurs évoquent l'usage en honeypot (piège à intrus) ou en outil d'adversarial testing pour voir comment les agents IA réagissent face à un faux terminal ; intérêt documenté par Anthropic pour évaluation d'alignement.
Notre lecture
Démonstration élégante que la régression sur la prédiction d'état (plutôt que la génération de texte brut) peut suffire à créer une interface interactive plausible avec un petit modèle dans un navigateur. À titre de projet d'exploration conceptuelle, c'est instructif : le modèle teste effectivement les limites de ce qu'un world model peut saisir sans données massives ni architecture spécialisée. En revanche, l'utilité reste limitée : aucune application concrète ne remplacera un shell réel (pas de persistance, oublis fréquents). L'intérêt vrai se situe ailleurs : honeypots, adversarial testing pour agents IA, ou recherche sur la cohérence d'état des modèles. Probablement du bruit comme alternative technique, mais stimulant comme exercice de pensée sur ce qu'un LLM peut représenter.