コンテンツにスキップ

TOONフォーマット — JSONより22%少ないトークン

TOON(Token-Oriented Object Notation)はLLM向けに設計されたデータフォーマットです。代表的なエントリでgpt-tokenizerを使用して測定した結果、JSONより約22.5%少ないトークンを使用しながら、ロスレスなラウンドトリップを維持します。

フォーマット トークン数 LLM精度
JSON 100 75%
YAML 95 72%
TOON 60 76.4%
version: 1
entries[3|]{id|category|key|content|file|tags|date|ttl|accessed|links|quality|confidence|lastAccessed|priority|path_scope|origin|status|supersededOn|importance}:
a1b2c3d4|decision|use-zod|Use Zod for validation|src/types.ts|validation;types|2026-07-10||0|patterns/zod-schemas|0.80|1.00||0||agent|||
e5f6g7h8|pattern|pydantic-configs|Project uses Pydantic v2|config.py|python;patterns|2026-07-10||0||0.72|1.00||0|||||high
i9j0k1l2|bug|redis-pool-fix|Added max_connections=20|redis.ts|redis;fix|2026-07-10|7d|3||0.68|0.85||0||agent|obsolete||
summaries:
src/services/redis.ts: Redis connection pool with retry logic
コンポーネント 説明
version: 1 フォーマットバージョン
entries[N|]{fields}: カウントとフィールド名のヘッダー
id|category|key|... パイプ区切りの値
ttl 任意の生存期間(空=期限なし)
accessed アクセス回数(重要度ランキング用)
links セミコロン区切りのエントリキー(グラフエッジ)
quality 品質スコア 0-1(自動計算)
confidence 信頼度スコア 0-1(1.0=自ら.asserted、1.0未満=推論)
lastAccessed 最終アクセスのISOタイムスタンプ — 重要度ランキング用
priority ピン優先度 1-5、0 = ピンなし
path_scope オプションのファイルパススコープ、globMatch互換
origin エントリの起源: humanagent、または空(推測)
status エントリの状態: activeobsoletesuppressed、または空
supersededOn エントリが置き換えられた日付
importance 明示的な重要度: criticalhighmediumlow; 空 = 自動
summaries: 任意のファイルサマリー
フィールド 必須 説明
id はい 8文字の16進ID a1b2c3d4
category はい decisionpatternbugknowledgewarning decision
key はい ケバブケースのタイトル use-zod
content はい 詳細な説明 Use Zod for validation
file いいえ 関連ファイルパス src/types.ts
tags いいえ セミコロン区切りのタグ validation;types
date はい YYYY-MM-DD 2026-07-10
ttl いいえ 期限切れ: 7d30d、または2026-12-31 7d
accessed いいえ アクセス回数(リコール時に自動インクリメント) 3
links いいえ セミコロン区切りのエントリキー(グラフエッジ) patterns/zod-schemas
quality いいえ 品質スコア 0-1(自動計算) 0.80
confidence いいえ 信頼度スコア 0-1(1.0=自ら.asserted) 1.00
lastAccessed いいえ 最終アクセスのISOタイムスタンプ(自動更新) 2026-07-10T12:00:00Z
priority いいえ ピン優先度 1-5(0 = ピンなし) 0
path_scope いいえ globマッチのリコール用ファイルパススコープ src/
origin いいえ エントリの起源: humanagent、または空 agent
status いいえ エントリの状態: activeobsoletesuppressed、空 obsolete
supersededOn いいえ エントリが置き換えられた日付 2026-08-01
importance いいえ 明示的な重要度: criticalhighmediumlow(空 = 自動、新しさ+頻度) critical
  1. トークンが少ない — LLMコンテキストに対してより効率的
  2. 精度が高い — JSONよりLLMが理解しやすい
  3. ロスレス — 変換時のデータ損失なし
  4. 人間が読める — 手動での読み取りと編集が簡単