人間に優しいYAML、機械に強いJSON:プロンプト運用の落とし所 #202
この記事は「前回の続き」かもしれん。
前回は TEXT / YAML / JSON を“用途で持ち替える” って話をした。
今回はその続きで、ワイがいま一番しっくり来てる運用の型——
「入力はYAML、出力はJSON」 を、もうちょい具体に掘る回や。

プロンプトは太る。太るほど改修が地獄になる
正直に言うとワイ、プロンプトを「その場のノリ」で継ぎ足し続けて、気づいたら“秘伝のタレ”みたいに真っ黒にしてまうタイプなんよ…。
で、いざ修正しようとするとこうなる。
え、どこ触ったらええねん…
触ったら別のとこ壊れた…
結局、全体が読めない…
これ、センスの問題ちゃう。
構造がないのが原因ってことにしてみた。
結論:YAMLで書いて、JSONで締める(ハイブリッド)

発想を変える。
人間が編集する設計図 → YAML
機械が受け取る納品物 → JSON
だから一番事故りにくいのは 「YAMLで書いて、JSONで締める」 ってやり方。
なぜJSONが“納品物”に向くのか
JSONは「軽量・テキストベース・言語非依存」で、ルールが小さい。
その分、パース(読み取り)や検証(バリデーション)が安定しやすい。
なぜYAMLが“設計図”に向くのか
YAMLはコメントも書けるし、見た目もスッキリしやすい。しかも YAML 1.2 は「JSONを公式なサブセットとして扱えるように」整理された(仕様でもそう書かれてる)。 yaml.org
利用上の注意ポイント
1) インデント崩れ
YAMLはインデントで構造が決まる。1文字ズレると意味が変わる。
→ 対策:インデントは2固定、formatter前提。
2) 暗黙解釈(型推論)
仕様的には、YAML 1.2の推奨スキーマでは boolは基本 true/false。yes/on みたいなのは文字列扱い。
でも現実には、互換の都合で ライブラリが on/off をboolにしてくることがある(※PyYAMLの公式ドキュメント例でも on/off が真偽値として扱われる挙動が載ってる))。
→ 対策:文字列にしたいならクォート。チームで“クォート規約”決めると事故が減る。
3) 安全な読み込み(ここ誤読されやすい)
「YAMLが危険」なんじゃなくて、危ないロード方法で扱うと危険になり得る。
PyYAMLの公式ドキュメントは、信頼できない入力に yaml.load を使うのは安全ではない、と明確に警告してて yaml.safe_load を案内してる。
→ 対策:外部入力は safe_load/もしくは最初からJSON固定で受ける。
迷子防止の定番構成:入力YAML → 出力JSON
「初心者が触る」「後段でスクリプト/レンダラが受け取る」この2条件があるなら、落とし所はこれやと思う。
入力はYAML、出力はJSON
ユーザーが埋めるのはYAML(読みやすい)
AIには最終的にJSONで吐かせる(壊れにくい)
受け取ったJSONを検証してから使う(さらに堅牢)
コピペ用:最小テンプレ
① 人間が触る(YAML)
goal: "このプロンプトで達成したいこと"
style:
tone: "例:ミニマル、フラット、清潔感"
avoid:
- "読めない文字"
- "手の崩れ"
vars:
subject: "差し替える主役"
deliverable:
format: "json"
② 機械に渡す(JSON:AIが最終出力)
{
"goal": "...",
"style": { "tone": "...", "avoid": ["...", "..."] },
"vars": { "subject": "..." }
}
③ 変換に使う“指示文”(AIに投げるやつ)
上のYAMLを解釈して、厳密なJSONのみを出力してください。
説明文・コメント・コードブロック・余計なキーは禁止。
JSONが壊れていないことを確認してから出力してください。まとめ
YAMLは“人間向けの設計図”、JSONは“機械向けの納品物”。
いまのワイは「YAMLで書いて、JSONで締める」が一番事故らん気がしてる。
でも正解は人それぞれやんな。みんなどの運用してる?(TEXT派/YAML派/JSON派)
……って、そんなこと考えてるのワイだけかw
まぁTEXTでも困らんねん。
くっそ長いTEXTプロンプトを“説明”するとき以外はw
#プロンプト設計 #構造化プロンプト #プロンプト運用 #プロンプト管理 #プロンプトテンプレート #YAML #JSON #バリデーション #スキーマ設計 #PyYAML #生成AI #ChatGPT #LLM #AI活用 #エンジニアリング #開発 #自動化 #プログラミング #ワークフロー #ナレッジ共有
いいなと思ったら応援しよう!
よろしければ応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます!