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
- プロジェクト
- プロジェクト
- プロジェクト