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) 提供結構化資料的 token 成本,卻不犧牲檢索準確度。它解決了 JSON 的低效問題,JSON 在處理大量相同結構的物件陣列時,會因大量重複的結構字元(如大括號與引號)而消耗大量 token。
How it works
TOON 作為 JSON 資料的無損翻譯層。它結合了基於縮排的結構(類似 YAML)與表格形式來壓縮資料。主要機制包括:
- Tabular Form:在標頭一次宣告欄位清單,之後以列方式列出值,類似 CSV,適用於統一物件陣列。
- Inline Form:直接在標頭行上呈現原始型別陣列。
- Keyed Tabular:處理包含統一物件的物件,於長度後加上冒號標記(例如
[2:]),並為每列指定鍵。 - List Form:對於非統一或混合型別資料的備援方案,使用破折號列表。
- Guardrails:加入明確的長度
[N]與欄位清單{fields},協助 LLM 更可靠地解析與驗證資料。
Who it’s for
開發 LLM 應用程式的開發者,需要在提示中傳遞大量結構化資料,並希望在降低 API 成本與 token 限制的同時,維持模型的高理解度。
Highlights
- Token Efficiency:基準測試顯示,在某些情況下可比 JSON 節省高達 42.6% 的 token。
- Lossless Round-trips:可確定性地編碼與 JSON 相同的資料模型。
- High Accuracy:在多種模型(Claude、Gemini、GPT、Grok)上,檢索準確度與或超過 JSON。
- Multi-Language Support:提供規格驅動的多語言實作。
- CLI Tool:內建命令列介面,可快速轉換並估算 token 節省量。
相關
- 專案
- Dispatch
- 專案
- 專案
- 專案