TOON CLIを使いこなす
大規模言語モデル (LLM) を使用したことがある場合は、JSON がデータ交換の共通語であることをご存知でしょう。 ただし、JSON は「おしゃべり」であることで悪名高いこともご存知でしょう。 これらすべての中括弧、引用符、キーの繰り返しはコンテキスト ウィンドウを占有し、レイテンシーを増加させ、API コストを押し上げます。
ここで TOON (オブジェクト指向記法) が威力を発揮します。 TypeScript ライブラリはアプリケーション コードには最適ですが、場合によっては、ターミナルで作業をすばやく完了する必要がある場合もあります。 プロンプトをデバッグしている場合でも、データセットを準備している場合でも、単にトークンにかかる費用をどれだけ節約できるか知りたい場合でも、@toon-format/toon CLI はあなたの新しい親友です。
このガイドでは、TOON コマンドライン インターフェイスを活用してデータの最適化をシェル ワークフローに直接統合する方法を説明します。
セットアップを始める
最新の JavaScript ツールの最も優れた点の 1 つは、多くの場合、開始するために何も「インストール」する必要がないことです。 単一のファイルで TOON を試したいだけの場合は、npx を使用してバイナリを直接実行できます。
「」バッシュ npx @toon-format/cli input.json -o Output.toon 「」
ただし、これを頻繁に使用する予定がある場合は (トークンの節約が見られれば、おそらくそうするでしょう)、グローバル インストールをお勧めします。 これにより、システム内のどこからでも簡潔な toon コマンドにアクセスできるようになります。
「」バッシュ npm install -g @toon-format/cli
または
pnpm add -g @toon-format/cli 「」
インストールしたら、データの圧縮を開始する準備が整います。
自動検出の魔法
TOON CLI は、ユーザーが何をしようとしているのかを賢く理解できるように設計されています。 エンコードまたはデコードを明示的に指示する必要はほとんどありません。 ファイル拡張子を見て決定します。
.json ファイルを与えると、それを TOON にエンコードしたいと想定します。 「.toon」ファイルを指定すると、デコード モードに切り替わって JSON が返されます。
「」バッシュ
TOONに自動エンコード
トゥーンデータ.json -o 圧縮.トゥーン
自動的にJSONにデコードされる
トゥーン圧縮.トゥーン -o 復元.json 「」
しかし、CLI の真の価値が証明されるのは、「Unix 哲学」、つまり小さなツールが緩やかに結合されたことです。 TOON CLI は標準入力 (stdin) から読み取り、標準出力 (stdout) に書き込むため、データを直接パイプすることができます。
「」バッシュ
JSON を直接 TOON にパイプします
猫大規模データセット.json | トゥーン > data.トゥーン
クイックオブジェクトをエコーして、TOON でどのように見えるかを確認します
echo '{"名前": "エイダ", "役割": "管理者"}' | トゥーン 「」
標準入力経由でデータをパイプしている場合、CLI はデフォルトで エンコード モードになります。 別のプロセスからの TOON データのストリームをデコードする必要がある場合は、--decode (または -d) フラグを追加するだけです。
トークンの節約の分析
データ形式の最適化は、多くの場合、推測ゲームに関係します。 「空白を削除するとどれくらい節約できますか?」 「YAML に切り替えたらどうなるでしょうか?」
TOON CLI は、「--stats」フラグを使用して推測を排除します。 エンコード時に、このオプションは推定トークン数を計算し、節約額をすぐに表示します。 これは、大量の LLM コールの予算を立てる場合に非常に役立ちます。
「」バッシュ トゥーン context.json --stats 「」
サイズが 30% または 40% 縮小したことを示す出力が表示される場合があります。 それは単なるディスク容量ではありません。 つまり、レイテンシーが 40% 削減され、入力トークンのコストが 40% 削減されます。
高度なチューニング: 区切り文字と書式設定
デフォルトでは、TOON は JSON と同様にカンマを使用して配列項目を区切ります。 ただし、LLM トークナイザーが異なれば、句読点の動作も異なります。 タブ文字またはパイプ (|) は、コンマよりもトークン効率が高い場合があります。
CLI を使用すると、デリミタをオンザフライで交換できます。 表形式のデータを扱っている場合、タブ区切り文字に切り替えると出力がすっきりし、より効率的に処理できるようになります。
製品のリストの場合、これにより出力がカンマ区切りのリストからスプレッドシートに似たきれいなタブ区切りの構造に変換され、多くのモデルが非常によく解析します。
「」バッシュ
配列項目にタブを使用する
toon items.json --delimiter "\t" -o items.toon 「」
::: ヒント
プロのヒント: タブ区切り文字を使用すると、多くの場合、引用符をエスケープする必要性が減り、数値データのトークン化が向上します。 大量のデータセットを処理している場合は、効率を最大限に高めるために --delimiter "\t" を試してください。
:::
キー折りたたみによる構造の圧縮
CLI で使用できる新しい機能 (仕様 v1.5 で導入) の 1 つは キー フォールディング です。 JSON データは多くの場合、意味を追加せずに構造の深さを追加する「data.response.items」のようなラッパー キーを使用して深くネストされています。
CLI を使用すると、これらのネストされたキーを単一のドット表記のパスに「折りたたむ」ことができ、階層を平坦化し、インデントと中括弧のトークンを節約できます。
「」バッシュ toon deep- Structure.json --key-folding safety -o flat.toon 「」
これにより、ネストされたオブジェクトが変換されます。
{ "ユーザー": { "プロフィール": { "id": 1 } } }
「」
簡潔な TOON 表現にすると次のようになります。
ユーザープロファイルID: 1
「」
後でこれを完全な JSON に変換し直す必要がある場合は、デコード中に「--expand-pathssafe」フラグを使用して、深いオブジェクト構造を完全に再構築できます。
パイプラインへの統合
TOON CLI の真の力は、「curl」や「jq」などの他のツールと連携させたときに発揮されます。 API からデータを取得し、重要なものに絞り込み、1 行で TOON に変換することができ、すぐにプロンプトに貼り付けたり、推論エンドポイントに送信したりできます。
このワークフローでは、データをフェッチし、アクティブなユーザーのみを抽出し、それをパイプ区切りの TOON 形式に変換し、保存したトークンの数に関する統計レポートを取得します。
「」バッシュ
カール -s https://api.example.com/users
| jq '.data.active_users'
| toon --stats --delimiter "|"
「」
## まとめ
@toon-format/cli は単なるファイルコンバーターではありません。 LLM時代のユーティリティベルトです。 データ処理をコマンド ラインに移行することで、反復処理を高速化し、最適化を即座に視覚化し、トークン効率の高い形式を既存のエンジニアリング ワークフローに統合できます。
RAG (検索拡張生成) ドキュメントを準備している場合でも、単に巨大な JSON BLOB を小さなコンテキスト ウィンドウに収めようとしている場合でも、CLI を試してみてください。 あなたのトークン予算はあなたに感謝します。