🛺

LLM 時代のプロンプト管理――結局どのフォーマットがイケてるの?

に公開

評価フレームワーク(10 × 10 点)

# ざっくり説明
1 可読性 自然文・階層の見やすさ
2 書きやすさ エスケープ頻度・タイポ耐性
3 コメント 公式に書けるか?
4 複数行文字列 長文プロンプトを素直に書ける?
5 文法エラー耐性 スペース 1 個で崩壊しない?
6 エコシステム ライブラリ・ツールの量
7 パース性能 スピード命の API で有利か
8 表現力 アンカー等の高度機能
9 安全性 RCE や仕様ギャップ
10 LLM 採用実績 Cargo, pyproject など実戦投入度

各項目 0–10 点、合計 100 点で採点しました。


フォーマットをざっくりおさらい

JSON ― API 王者だけどお堅い

  • 標準フォーマット。ほぼ全言語で即パース可
  • 公式仕様でコメント禁止。「// ダメ、絶対」
  • 構文が最小ゆえに高速パース

YAML ― 表現力モンスター

  • アンカー & エイリアスで DRY な継承が可能
  • ただし「タブ使用不可」。インデント 1 文字ズレたら死亡
  • !!python/object 系で RCE 事故例も。SafeLoader 必須

TOML ― “人間のための設定ファイル”

  • 2013 年に Tom Preston-Werner 氏が公開、2021/01 に v1.0 で安定化
  • Rust の Cargo.toml で一気に知名度 UP
  • Python 3.11 から標準モジュール tomllib で読み取りネイティブ化
  • pyproject.toml は PEP 518 公式仕様としてビルド設定を統一

採点結果とコメント

JSON YAML TOML
可読性 7 8 9
書きやすさ 7 6 9
コメント 2 10 10
複数行文字列 5 10 9
文法エラー耐性 8 5 8
エコシステム 10 9 7
パース性能 10 6 9
表現力 7 10 6
安全性 9 5 9
LLM 実績 9 8 8
合計 74 77 84
  • JSON — 速い・道具が多い。でもコメント書けないのは痛い。
  • YAML — 表現力最強。ただし “スペース厨” と “脆弱性おじさん” が同居。
  • TOML — 読みやすさと安全性が高バランス。表現力は控えめだが LLM 用のテンプレ管理には十分。

10 項目×10 点=100 点でガチ採点してみたら、総合トップは TOML 84 点、次点に YAML 77 点、そして JSON 74 点
「コメント不可の JSON」と「インデント地獄の YAML」のあいだを TOML がスルッと通り抜けた、という結果になりました。


プロンプトエンジニアはこう使い分ける

🎯 小~中規模テンプレをチームで回す

TOML 一択# で気軽にメモを残せて、インデント事故ゼロ。

🚀 超高速 API 呼び出し & 自動生成

JSON 継続利用。機械同士の会話ならコメント不要、エコシステムの旨味を最大化。

🏗️ 巨大 IaC 的テンプレ & 継承地獄

YAML。アンカーで共通プロンプトを継承。ただし CI に yamllint & SafeLoader を必ず仕込むべし。


まとめ

  • 「コメント不可 vs インデント地獄」問題を TOML が中和
  • Rust/Cargo や Python/pyproject が後押しし、LLM 用フォーマットとしても採用例が拡大中
  • YAML は表現力、JSON はスピードとツール、それぞれの牙城は固い
  • 結論: 迷ったら TOML、特定用途は JSON/YAML と三すくみで使い分けよう!

Zenn で記事書くときも --- で区切りまくってサクサク読める TOML っぽさを取り入れてみると、読者体験がワンランク上がるかもしれません。


Discussion