Contexte et revendications

RTK (Rust Token Killer) se présente comme un filtre qui compresse la sortie du terminal avant que l’agent d’IA ne la consomme. Avec plus de 79 000 étoiles GitHub, le projet bénéficie d’une forte visibilité. Un post X a affirmé qu’il pouvait réduire de jusqu’à 60 % les tokens Claude Code, et le README indique une réduction de 90 % de la sortie Bash, tout en précisant que cela ne correspond pas à une réduction de facture équivalente.

$ ls -la /app/warriors
-rw-r--r-- 1 root root  824 Sep 13 2025 g2-clear.red
-rw-r--r-- 1 root root  487 Sep 13 2025 paper.red
$ rtk ls -la warriors/
644  g2-clear.red  824B
644  paper.red  487B

Le filtre conserve les noms, tailles et permissions, mais supprime propriétaire et date, ce qui diminue le nombre de caractères transmis.

Méthodologie d’évaluation

Nous avons utilisé le benchmark Terminal‑Bench 2.1, qui reste le plus franchissable pour les agents. Deux modèles ont été testés : Claude Code (Fable 5.0) et OpenCode (DeepSeek V4 Pro 0813 via OpenRouter). Chaque tâche a été exécutée cinq fois avec RTK et cinq fois sans, sur les mêmes routes, plateformes et délais. Après exclusion de quatre tâches de sécurité refusées, l’échantillon final comprend 85 tâches Fable et 89 tâches DeepSeek, soit 1 740 tentatives.

Résultats quantitatifs

Sur l’ensemble des essais, les coûts ont baissé de 5 % pour Fable mais ont augmenté de 5 % pour DeepSeek. Les taux de réussite ont légèrement chuté : ‑1 % pour Fable et ‑2 % pour DeepSeek. En divisant le total dépensé (échecs inclus) par le nombre de succès, Fable apparaît 3 % plus économique avec RTK, tandis que DeepSeek devient 7 % plus cher.

Lorsque chaque tâche est pondérée individuellement (moyenne des tentatives de référence vs RTK), Fable montre un coût +1 % (statistiquement neutre) et DeepSeek un coût +17 %. Sur les 36 tâches DeepSeek où toutes les tentatives ont réussi, l’augmentation reste 18 %.

La quasi‑totalité des économies de Fable provient d’une seule tâche, winning‑avg‑corewars, où le nombre de tours a été divisé par deux. Pour les autres tâches, l’économie est inférieure à 1 %. DeepSeek montre le phénomène inverse sur la même tâche.

RTK rapporte 349,2 M tokens économisés sur 445 tentatives DeepSeek, soit une réduction de 89 % du volume brut. Cependant, ces chiffres ne traduisent pas de réduction de coût : par exemple, deux appels head -1 train.txt ont généré 120,5 M tokens économisés chacun, représentant 69 % du total des économies, alors que les appels ne renvoient jamais le fichier complet.

Analyse des écarts et limites

Le principal biais provient du fait que RTK ne mesure que le volume de sortie filtrée, pas le nombre de tokens facturés. La réduction de sortie modifie le comportement de l’agent : plus de tours sont souvent nécessaires pour reconstituer le contexte, ce qui augmente les tokens de prompt et de réponse. Dans DeepSeek, la sortie terminale a été réduite de 9 % alors que les tokens de prompt ont augmenté de 9 %, les entrées non‑cachées étant ‑1 % et les entrées cachées +9 %. Le coût du modèle de sortie représente 56 % avec RTK contre 57 % sans.

Un bug de version 0.45.0 a entraîné une boucle d’erreurs sur une tâche find, augmentant le coût d’un facteur 9. La correction est intervenue en 0.46.0, mais elle illustre comment un filtre peut dégrader les performances.

Enfin, RTK ne s’applique qu’aux appels Bash. Les outils de lecture, de recherche ou de globbing (Read, Grep, Glob) contournent le filtre, ce qui limite l’impact global : sans RTK, la sortie d’outil représente 11 % des tokens d’entrée pour Fable et 40 % pour DeepSeek, alors que les appels filtrés ne concernent que 31 % (Claude Code) et 51 % (OpenCode) des appels terminal.