この記事は ゆっくりテックウォッチ Advent Calendar 2025 の 4 日目の記事です。
個人開発の「ゆっくり動画スタジオ」でGitHub人気リポジトリの解説動画を自動生成しており、その分析データをもとに本記事も生成しています。
TL;DR
- JSONより40%トークン削減、精度も4%向上
- 20以上の言語で実装、エコシステムが急成長中
- YAMLの可読性とCSVの効率性を両立
このリポジトリについて
LLM向けのトークン効率の高いJSON代替フォーマット
TOON(Token-Oriented Object Notation)は、JSONデータをLLMに入力する際のトークン数を最大40%削減しながら、精度も向上させる新しいデータ形式です。YAMLの可読性とCSVの効率性を兼ね備えています。
| 項目 | 内容 |
|---|---|
| リポジトリ | toon-format/toon |
| スター数 | 20,131 |
| 言語 | TypeScript |
| ライセンス | MIT License |
| 作成日 | 2025-10-22 |
なぜ今注目されているのか
JSONは冗長すぎる。LLMに渡すデータのトークン数が無駄に増えてコストが膨らむ
LLMのAPIを使っていて、コストが気になったことはありませんか?実は、データの渡し方を変えるだけでコストを40%削減できる方法があります。
YAMLとCSVの良いとこ取り。TOONならトークン40%削減で精度も向上
波括弧、コロン、カンマ、引用符...JSONではこれらすべてがトークンとしてカウントされます。TOONはこの冗長さを排除しながら、JSONのデータモデルを完全に保持します。
スター推移
2025年10月下旬に公開されてから、わずか6週間で20,000スターを突破する驚異的な成長を見せています。特に10月27日〜11月5日の間に0から10,000スターに到達し、LLM開発者コミュニティから大きな注目を集めました。
主な機能・特徴
1. JSONより40%トークン削減、精度も4%向上
TOONの最大の特徴は、トークン効率と精度の両方を向上させることです。ベンチマークでは、JSONと比較して平均40%のトークン削減を実現しながら、LLMの理解精度も69.7%から73.9%に向上しました。
実際のコード比較を見てみましょう:
JSON形式(冗長):
{
"users": [
{"id": 1, "name": "Alice", "role": "admin"},
{"id": 2, "name": "Bob", "role": "user"}
]
}
TOON形式(効率的):
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user
2. 20以上の言語で実装、エコシステムが急成長中
公式実装はTypeScriptですが、コミュニティによって20以上の言語で実装が進んでいます:
- 公式実装: TypeScript, Python, Go, Rust, .NET, Java, Dart
- コミュニティ実装: Swift, Kotlin, PHP, Ruby, Elixir, Scala, Crystal, Lua, OCaml など
どの言語でも同じフォーマットで使えるため、マルチ言語環境でも一貫したデータ表現が可能です。
3. YAMLの可読性とCSVの効率性を両立
TOONはYAMLのインデントベースの構造とCSVの表形式レイアウトを組み合わせています。人間にとっても読みやすく、LLMにとっても解析しやすいフォーマットです。
配列の長さ [N] やフィールド名 {fields} を明示的に宣言することで、LLMがデータ構造を正確に理解できるようになっています。
4. 4つのLLMでベンチマーク検証済み
以下の4つのLLMモデルで209問のデータ取得テストを実施し、TOONの優位性が確認されています:
- Claude Haiku 4.5
- GPT-5 Nano
- Gemini 2.5 Flash
- Grok 4 Fast
技術スタック
TypeScript製のデータ変換ライブラリ、CLIとエディタ統合
| 分類 | 技術 |
|---|---|
| 主要技術 | TypeScript, Node.js |
| フレームワーク/ライブラリ | vitest, vitepress, tsdown, pnpm |
| インフラ | npm, GitHub Actions |
| 連携サービス | VS Code拡張, Tree-sitter, Neovim プラグイン |
ユースケース
ユースケース1: LLMアプリ開発者
ペルソナ: スタートアップでAIチャットボットを開発しているエンジニアの田中さん
背景: GPT-4を使ったカスタマーサポートボットを運用中。月のAPIコストが10万円を超えて予算を圧迫している
課題: ユーザーの問い合わせ履歴をコンテキストに含めると、トークン数が膨大になりコストが跳ね上がる
解決策: 問い合わせ履歴をTOON形式に変換してからLLMに渡すことで、トークン数を40%削減
結果: 月のAPIコストが6万円に削減。削減分で新機能の開発リソースを確保できた
ユースケース2: データサイエンティスト
ペルソナ: 大企業のデータ分析部門で働く鈴木さん
背景: 大量の売上データをLLMに分析させるプロジェクトを担当。データ量が多くコンテキストウィンドウに収まらない
課題: 10万件の売上レコードをJSON形式で渡すとトークン制限を超えてしまう
解決策: TOON形式で表形式データを効率的に表現し、より多くのデータをコンテキストに含める
結果: 同じコンテキストウィンドウで1.5倍のデータを分析可能に。分析精度も向上した
競合との比較
JSONとの違い
| 観点 | TOON | JSON |
|---|---|---|
| トークン効率 | 高い(40%削減) | 低い(冗長な構文) |
| 可読性 | 高い(YAML風) | 中程度 |
| 互換性 | 変換が必要 | どこでもサポート |
| LLM精度 | 73.9% | 69.7% |
いつTOONを選ぶべきか: LLMへのデータ入力時、特に表形式データが多い場合
YAMLとの違い
| 観点 | TOON | YAML |
|---|---|---|
| トークン効率 | 高い | 中程度 |
| 表形式データ | CSV風に効率的 | リスト形式で冗長 |
| 学習コスト | YAMLに似ている | 広く知られている |
いつTOONを選ぶべきか: 均一な配列データをLLMに渡す場合
注意点: TOONが向かないケース
- 深くネストした非均一な構造: 表形式に適さないデータではJSONの方が効率的な場合も
- 純粋な表形式データのみ: フラットなテーブルだけならCSVの方が若干効率的(5-10%程度)
- レイテンシ重視のアプリケーション: 一部のローカルモデルではJSONの方が高速な場合も
始め方
CLIで試す(インストール不要)
# JSONをTOONに変換
npx @toon-format/cli input.json -o output.toon
# パイプで標準入力から
echo '{"name": "Ada", "role": "dev"}' | npx @toon-format/cli
ライブラリとして使用
# npm
npm install @toon-format/toon
import { encode } from '@toon-format/toon'
const data = {
users: [
{ id: 1, name: 'Alice', role: 'admin' },
{ id: 2, name: 'Bob', role: 'user' }
]
}
console.log(encode(data))
// users[2]{id,name,role}:
// 1,Alice,admin
// 2,Bob,user
詳細は公式ドキュメントを参照してください。
まとめ
- TOONはJSONのデータモデルを完全に保持した上でトークン数を削減する
- LLMの理解精度も向上する(73.9% vs 69.7%)
- 20以上の言語で実装されており、エコシステムが急成長中
今日からJSONをTOONに変えてみよう
LLM時代の新しいデータフォーマットとして、TOONはトークン削減と精度向上を両立しています。npxコマンド一発で試せるので、ぜひ導入を検討してみてください。
動画で解説しています
YouTubeチャンネル「ゆっくりテックウォッチ」では、GitHub の注目リポジトリをゆっくり解説しています。
この記事で紹介した TOON の解説動画も公開していますので、ぜひご覧ください!
チャンネル登録 よろしくお願いします!
関連リンク
この記事は AI によって自動生成されました。内容に誤りがある可能性があります。


