0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【TOON】LLMのAPIコスト40%削減!JSONの代わりに使う新フォーマットが爆速で普及中

Posted at

この記事は ゆっくりテックウォッチ 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 によって自動生成されました。内容に誤りがある可能性があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?