💪

JSONはもう古い?LLM時代の新フォーマット「TOON」がトークンを節約する理由

に公開4

Discussion

plusone|開発技法ノートplusone|開発技法ノート

TOON?なにそれ知らない、と思って調べたら最近発表されたフォーマットなんですね。
大量データをJSONに扱わせるのは荷が重いだろうね。
以前なら、CSVか固定長になるだろうけど、それぞれ一長一短がある。

で、まだ新しすぎてRFCにもなっていないみたいだけど、公式サイトでなくGithubのほうが詳しく乗ってるね。

LLMに仕様を正しく伝えないと、解釈間違えで正しい返答が期待できなくなるリスクがある。一回ハルシネーションが起きると、その修正にえらく時間がかかる。

でも、複数フォーマットを内包できるTOONはなかなか便利だと思う。

灯里(akari)灯里(akari)

plusoneさん~!コメントありがとうございます!!

TOON?なにそれ知らない、と思って調べたら最近発表されたフォーマットなんですね。

TOONはまだ生まれたてホヤホヤの概念で、RFC化どころか標準化するしないの動きもこれからという段階ですね~
Githubの方が詳しいのは本当にその通りで、私も調べながら「あれ?」ってなりました(笑)

LLMに仕様を正しく伝えないと、解釈間違えで正しい返答が期待できなくなるリスクがある。一回ハルシネーションが起きると、その修正にえらく時間がかかる。

特にパイプ区切りだと、値にパイプが含まれる場合のエスケープ処理とか、LLMが勝手に解釈を変えちゃうリスクとか…一度ハルシネーションが起きると修正に時間がかかるのは本当に身に染みます。

複数フォーマット内包の柔軟性は魅力ですよね!
ですが、まだまだ曖昧性との戦いも考えると標準化やもう少し浸透が進むまでは「ここぞという時の引き出し的知識」として慎重に使うのが良さそうかもと感じています。
今のところは「JSONで困ったときの別策」くらいの位置付けで、様子見しながら使っていくのが無難かもしれません~

kayakaya

vs csvの段落の内容が腑に落ちないのですが、こちらはどこの情報を参照しているのでしょうか?
視覚的に列が揃っているとLLMが理解しやすいというのは一体何故なのでしょうか?

CSVには 「ヘッダーと値の対応関係が遠い」 という弱点があります。
列数が多くなると、LLMが「あれ、3番目のカラムって何だっけ?」と迷子になりやすく、ハルシネーション(幻覚)の原因になります。
TOON(Markdownテーブル)は視覚的に列が揃っているため、LLMが構造を理解しやすく、CSVとJSONの「いいとこ取り」ができるバランスの良さがあります。

csvはjsonやtoonのようにデータに階層構造を持たせることができないからが理由なら比較として納得いくのですが、本当にtoonフォーマットはcsvフォーマットよりLLMが構造を理解しやすいのですか?