Maîtriser la CLI TOON
Si vous avez travaillé avec de Grands Modèles de Langage (LLM), vous savez que JSON est la lingua franca de l'échange de données. Cependant, vous savez aussi que JSON est notoirement "bavard". Toutes ces accolades, ces guillemets et ces clés répétées mangent votre fenêtre de contexte, augmentent la latence et font grimper les coûts d'API.
C'est là que TOON (The Object-Oriented Notation) brille. Alors que la bibliothèque TypeScript est excellente pour le code d'application, parfois vous avez juste besoin de faire les choses rapidement dans le terminal. Que vous déboguiez un prompt, prépariez un ensemble de données ou soyez simplement curieux de savoir combien d'argent vous pourriez économiser sur les tokens, la CLI @toon-format/toon est votre nouvelle meilleure amie.
Dans ce guide, nous allons voir comment tirer parti de l'interface en ligne de commande TOON pour intégrer l'optimisation des données directement dans vos flux de travail shell.
Mise en place
L'une des meilleures choses à propos des outils JavaScript modernes est que vous n'avez souvent besoin de rien "installer" pour commencer. Si vous voulez juste essayer TOON sur un seul fichier, vous pouvez utiliser npx pour exécuter le binaire directement :
npx @toon-format/cli input.json -o output.toon
Cependant, si vous prévoyez d'utiliser ceci fréquemment — et une fois que vous verrez les économies de tokens, vous le ferez probablement — une installation globale est la voie à suivre. Cela vous donne accès à la commande concise toon n'importe où dans votre système.
npm install -g @toon-format/cli
# ou
pnpm add -g @toon-format/cli
Une fois installé, vous êtes prêt à commencer à réduire vos données.
La magie de la détection automatique
La CLI TOON est conçue pour être intelligente quant à ce que vous essayez de faire. Vous avez rarement besoin de lui dire explicitement d'encoder ou de décoder ; elle regarde les extensions de vos fichiers pour décider.
Si vous lui donnez un fichier .json, elle suppose que vous voulez l'encoder en TOON. Si vous fournissez un fichier .toon, elle passe en mode décodage pour vous rendre du JSON.
# Encode automatiquement en TOON
toon data.json -o compressed.toon
# Décode automatiquement en JSON
toon compressed.toon -o restored.json
Mais là où la CLI prouve vraiment sa valeur, c'est dans la "philosophie Unix" — de petits outils liés de manière lâche. Parce que la CLI TOON lit depuis l'entrée standard (stdin) et écrit vers la sortie standard (stdout), vous pouvez faire passer des données directement à travers elle (pipe).
# Pipe JSON directement dans TOON
cat large-dataset.json | toon > data.toon
# Affiche un objet rapide pour voir à quoi il ressemble en TOON
echo '{"name": "Ada", "role": "admin"}' | toon
Lorsque vous faites passer des données via stdin, la CLI passe par défaut en mode encoder. Si vous avez besoin de décoder un flux de données TOON provenant d'un autre processus, ajoutez simplement le drapeau --decode (ou -d).
Analyser les économies de tokens
Optimiser les formats de données est souvent un jeu de devinettes. "Si je supprime les espaces, combien j'économise ?" "Et si je passe à YAML ?"
La CLI TOON élimine les devinettes avec le drapeau --stats. Lors de l'encodage, cette option calcule le nombre estimé de tokens et vous montre les économies immédiatement. C'est inestimable lorsque vous budgétisez des appels LLM à volume élevé.
toon context.json --stats
Vous pourriez voir une sortie indiquant une réduction de 30 % ou 40 % de la taille. Ce n'est pas seulement de l'espace disque ; c'est 40 % de latence en moins et 40 % de coûts en moins sur les tokens d'entrée.
Réglage avancé : Délimiteurs et formatage
Par défaut, TOON utilise des virgules pour séparer les éléments de tableau, similaire à JSON. Cependant, différents tokenizers LLM se comportent différemment avec la ponctuation. Parfois, un caractère de tabulation ou une barre verticale (|) est plus efficace en tokens qu'une virgule.
La CLI vous permet d'échanger les délimiteurs à la volée. Si vous traitez des données tabulaires, passer à un délimiteur de tabulation peut rendre la sortie plus propre et plus efficace à traiter.
Pour une liste de produits, cela transforme la sortie d'une liste séparée par des virgules en une structure propre séparée par des tabulations qui ressemble presque à une feuille de calcul, ce que de nombreux modèles analysent exceptionnellement bien.
# Utiliser des tabulations pour les éléments de tableau
toon items.json --delimiter "\t" -o items.toon
::: tip
Astuce de Pro : Les délimiteurs de tabulation réduisent souvent le besoin d'échapper les guillemets et peuvent entraîner une meilleure tokenisation pour les données numériques. Si vous traitez des ensembles de données massifs, essayez --delimiter "\t" pour extraire chaque bit d'efficacité.
:::
Compresser la structure avec le pliage de clés
L'une des fonctionnalités les plus récentes (introduite dans la spécification v1.5) disponible dans la CLI est le Pliage de clés (Key Folding). Les données JSON sont souvent profondément imbriquées, avec des clés d'enveloppe comme data.response.items qui ajoutent de la profondeur structurelle sans ajouter de sens.
La CLI vous permet de "plier" ces clés imbriquées en un seul chemin noté par points, aplatissant la hiérarchie et économisant des tokens sur l'indentation et les accolades.
toon deep-structure.json --key-folding safe -o flat.toon
Cela transforme les objets imbriqués :
{ "user": { "profile": { "id": 1 } } }
En une représentation TOON concise :
user.profile.id: 1
Si vous devez reconvertir cela en JSON complet plus tard, vous pouvez utiliser le drapeau --expand-paths safe pendant le décodage pour reconstruire parfaitement la structure d'objet profonde.
Intégration dans les pipelines
La véritable puissance de la CLI TOON apparaît lorsque vous l'enchaînez avec d'autres outils comme curl et jq. Vous pouvez récupérer des données d'une API, les filtrer à l'essentiel et les convertir en TOON en une seule ligne — prêtes à être collées dans un prompt ou envoyées à un point de terminaison d'inférence.
Dans ce flux de travail, vous récupérez les données, extrayez uniquement les utilisateurs actifs, les convertissez en un format TOON délimité par des pipes, et obtenez un rapport statistique sur le nombre de tokens que vous venez d'économiser.
curl -s https://api.example.com/users \
| jq '.data.active_users' \
| toon --stats --delimiter "|"
Résumé
La @toon-format/cli est plus qu'un simple convertisseur de fichiers ; c'est une ceinture d'outils pour l'ère des LLM. En déplaçant le traitement des données vers la ligne de commande, vous pouvez itérer plus rapidement, visualiser les optimisations immédiatement et intégrer des formats efficaces en tokens dans vos flux de travail d'ingénierie existants.
Que vous prépariez des documents RAG (Retrieval-Augmented Generation) ou que vous essayiez simplement de faire tenir un énorme blob JSON dans une petite fenêtre de contexte, essayez la CLI. Votre budget de tokens vous remerciera.