新着記事を見逃さないには?
このブログ一覧をブックマークし、ホームやツール一覧のガイド欄もご覧ください。記事の閲覧に登録やメール購読は不要です。
TOON(Token-Oriented Object Notation)が LLM コンテキストをどう圧縮するか、JSON/YAML との比較、ネストやモデル差、解析 CPU とゲートウェイ運用までを整理。数値は代表的なサンプルによる示意です。
XML から JSON、そして LLM 前提の表現へと、シリアライズは「人間が読む」ことと「モデルが扱うコスト」の間で揺れ続けています。TOON(Token-Oriented Object Notation)は LLM 向けのコンパクト表現として注目されていますが、本稿では 実装と運用 に焦点を当て、Token 削減、ネストとモデル差、変換・解析の CPU を切り分けます。
注:以下の割合・遅延・トークン数は 代表的なサンプルに基づく示意 です。自社データと tokenizer で必ず再測定してください。
TOON は JSON の冗長な区切りを減らし、ヘッダ + 行 型のレイアウトで同質のコレクションを圧縮しやすくします。LLM 入力側の投影として有効ですが、公開 REST API や正規データの保存形式として JSON を置き換えるものではありません。
JSON の {}・引用符・: は tokenizer とコンテキストにそのまま乗ります。深いネストや AST 断片では、構文がノイズになり、括弧整合の負荷も増えがちです。
TOON は繰り返し構造でフィールド名を行間で共有できますが、層ごとに形が異なると 宣言コスト が利益を食います。
同じバイト列でもモデルごとにトークン数は変わります。大語彙モデルでは短い記号が相対的に有利に見えたり、長文モデルでは列揃えの効き方が変わったりします。一律の削減率は存在しません。
| 観点 | JSON | YAML | TOON(典型) |
|---|---|---|---|
| Token 効率 | 基準 | 中 | 同質テーブルで有利になりやすい |
| ネスト・異種混在 | 表現力高 | インデント依存 | 同質ほど有利、異種で収益減 |
| 解析 CPU | 極めて成熟 | 中 | 実装次第で高め、ソフトウェア変換が前提 |
| 検証・エコシステム | JSON Schema | 弱め | プロンプト設計・慣習寄り |
| 主用途 | API・保存 | 設定 | プロンプト、RAG、エージェント文脈 |
---
| 深さ | JSON(示意 tokens) | TOON(示意 tokens) | 概算削減 |
|---|---|---|---|
| フラット | 520 | 190 | 約 63% |
| 2 層 | 1240 | 710 | 約 43% |
| 3 層・異種 | 2100 | 1720 | 約 18% |
AST 的・多態的リストでは JSON のままが現実的、という判断が多くなります。
| モデル族(示意) | TOON | JSON |
|---|---|---|
| GPT-4o | 96% | 94% |
| Claude 3.5 Sonnet | 91% | 93% |
| Gemini 1.5 Pro | 88% | 90% |
| Llama 3 70B | 78% | 85% |
OSS/ローカルで行揃えが不安定なら JSON 優先。フラッグシップでコストと精度のゲートを通した上で TOON を検討。
| 操作 | JSON(標準) | TOON(示意) |
|---|---|---|
| エンコード | 8 ms | 22 ms |
| デコード | 6 ms | 18 ms |
ゲートウェイ高頻度パスではキャッシュやオフライン変換を検討。
{
"order_id": "992831",
"items": [
{"sku": "A12-B", "price": 99.0, "qty": 1},
{"sku": "C34-D", "price": 45.5, "qty": 2},
{"sku": "E56-F", "price": 12.0, "qty": 5}
],
"customer": "John Doe"
}order_id: 992831
items[3]{sku, price, qty}:
A12-B, 99.0, 1
C34-D, 45.5, 2
E56-F, 12.0, 5
customer: John Doeブラウザは TOON をネイティブ解析しないため、BFF/ゲートウェイで JSON 往復しキャッシュとフォールバックを設計。
列定義(ヘッダ)が明確で、列数とデータ型が揃っている場合は、JSON 時と同等のフィールド一致度になりやすいです。一方、ヘッダを省いた極小表記は、スキーマがコードとプロンプトの双方で固定されている場合に限定してください。
Q2: レイテンシのボトルネックはどこですか?現状は JSON→TOON の変換とパーサ実装 に寄りがちです。巨大ペイロードはエッジで毎回変換せず、静的コーパスはオフライン変換、動的レスポンスはキャッシュ層で TOON 化するのが無難です。
Q3: 多態(フィールド集合が行ごとに違う)な配列は?TOON の強みが薄れます。JSON に戻すか、スキーマごとにテーブルを分割してください。
開発者に最高のJSON処理ツールを提供することに専念
さらに多くの投稿が近日公開予定...
ブログに戻る更新の追い方、扱うトピック、リクエストについて。
このブログ一覧をブックマークし、ホームやツール一覧のガイド欄もご覧ください。記事の閲覧に登録やメール購読は不要です。
JSON の検証・整形・変換・デバッグの流れと JSON Work の更新で、サイト上の無料ツールがブラウザ内でできることと対応づけています。
はい。About の連絡先や GitHub からどうぞ。実務の統合やデバッグに直結するテーマを優先しています。