toon-format/toon

🎒 Token-Oriented Object Notation (TOON) – compact, human-readable serialization of JSON data for LLM prompts. TypeScript SDK, CLI, benchmarks.

What it solves

TOON(Token‑Oriented Object Notation)は、構造化データを大規模言語モデル(LLM)に提供する際のトークンコストを削減し、検索精度を犠牲にしません。JSON が、特に同一構造のオブジェクト配列を扱う際に、波括弧や引用符といった繰り返しの構造文字に多くのトークンを費やす非効率性を解決します。

How it works

TOON は JSON データのロスレス変換レイヤーとして機能します。インデントベースの構造(YAML に似た)と表形式を組み合わせてデータを圧縮します。主なメカニズムは次のとおりです。

  • Tabular Form:ヘッダーでフィールドリストを一度宣言し、以降は行で値を列挙します。CSV に似ており、均一なオブジェクト配列に適しています。
  • Inline Form:プリミティブ配列をヘッダー行に直接描画します。
  • Keyed Tabular:均一オブジェクトを含むオブジェクトを扱う際、長さの後にコロンを付けてマーク(例: [2:])し、各行にキーを割り当てます。
  • List Form:非均一または混合型データのフォールバックとして、ハイフンベースのリストを使用します。
  • Guardrails:明示的な長さ [N] とフィールドリスト {fields} を含め、LLM がデータをより確実に解析・検証できるようにします。

Who it’s for

大量の構造化データをプロンプトに渡す必要があり、API コストやトークン上限を削減しつつモデルの理解度を高く保ちたい LLM アプリケーション開発者向けです。

Highlights

  • Token Efficiency:ベンチマークでは、ケースによっては JSON より最大 42.6% 少ないトークンで済むことが示されています。
  • Lossless Round‑trips:JSON と同一のデータモデルを決定的にエンコードします。
  • High Accuracy:Claude、Gemini、GPT、Grok など複数モデルで、JSON と同等またはそれ以上の検索精度を実現します。
  • Multi‑Language Support:仕様駆動の実装が多数の言語で利用可能です。
  • CLI Tool:コマンドラインインターフェースが同梱されており、迅速な変換とトークン削減見積もりが行えます。

関連

  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト