toon

toon: とは何なのか、どのような問題を解決し、なぜ注目を集めているのか

解決する問題

TOON (Token-Oriented Object Notation) は、大規模言語モデル (LLM) に構造化データを提供するためのトークンコストを削減します。標準的な JSON は冗長になりがちであり、それがコストの増大や、大規模なコンテキストウィンドウにおける効率の低下を招く可能性があります。TOON は、モデルが従いやすい、JSON データモデルのコンパクトでロスレスな表現を提供します。

仕組み

TOON は JSON の翻訳レイヤーとして機能します。ネストされたオブジェクトには YAML のようなインデントを使用し、均一なオブジェクトの配列には CSV スタイルの表形式レイアウトを使用します。配列の長さ [N] とフィールドヘッダー {fields} を一度だけ宣言することで、リスト内の各アイテムに対してキーを繰り返す必要がなくなり、明示的な構造を維持しながらトークン使用量を大幅に削減できます。

対象者

過度なトークンコストを発生させたり、構造的な信頼性を損なったりすることなく、大量の構造化データをモデルのプロンプトに渡す必要がある、LLM 駆動型アプリケーションを構築している開発者。

ハイライト

  • トークン効率: 混合構造のベンチマークにおいて、JSON よりも約 40% 少ないトークンを使用します。
  • JSON 互換性: JSON データモデルのロスレスな、そのまま置き換え可能な表現です。
  • LMM フレンドリーなガードレール: パースの信頼性を向上させるために、明示的な配列の長さとフィールドヘッダーを含みます。
  • マルチ言語サポート: TypeScript, Python, Go, Rust, および .NET で、仕様に基づいた実装が利用可能です。
  • 表形式の配列: 均一なオブジェクトの配列をコンパクトな表にまとめます。

Sources