✨
プロンプト設計入門:YAML・Markdown・JSONの使い分けと失敗しないテンプレ
---
title: "YAML / Markdown / JSONでプロンプトが安定する理由(初学者向け)"
type: "tech"
topics: ["chatgpt", "prompt", "yaml", "markdown", "json"]
published: false
---
## 記事の対象者
- ChatGPTを使い始めたばかりで、「どう書けば狙いどおりの回答が返るのか」自信がない方
- YAML(.yml)/ Markdown(.md)/ JSONという言葉は聞いたことがあるが、使い分けが分からない方
## この記事を読むとわかるようになること
- 出力が安定するプロンプトの基本構造(目的・材料・出力形式の分け方)
- YAML / Markdown / JSONの違いと、用途別の使い分け
- 初学者がやりがちなアンチパターンと、すぐ直せる改善方法
- そのまま流用できるテンプレ(コピペ用)
---
結論:プロンプトは「目的・材料・出力形式」を分けて書くほど、AIの答えは安定します。YAML/Markdown/JSONはその“仕切り箱”で、①文章を書く=Markdown②ルールを整理=YAML③項目を必ず揃える=JSON。逆に「いい感じに」や指示と素材の混在が失敗の主因です。まずテンプレで区切り、次に制約(長さ・口調・禁止)を足すだけで大半は解決します。
---
# 本記事のペルソナ
- **想定読者**:ChatGPTを使い始めた初学者(「何を書けば狙いどおりになるの?」が不安)
- **筆者(語り手)の立場**:社内外で生成AIの使い方を教える講師(基本を“型”で渡すスタイル)
---
# たとえで理解する:プロンプトは「お弁当箱」
プロンプトがうまくいかない一番の原因は、**指示・材料・出し方が混ざる**ことです。
これは「お弁当箱の仕切りがなくて、唐揚げの味がご飯に移る」状態に似ています。
そこで使うのが **YAML / Markdown / JSON** です。
どれも“仕切り”の作り方が違うだけで、目的は同じです。
---
# 3つの使い分け(これだけ覚えればOK)
## Markdown(.md):文章を作るときの「作文の見出し」
- 見出し・箇条書きで、読み物系が整いやすい
- 例:ブログ、説明文、提案文、学習ノート
## YAML(.yml):ルールが多いときの「チェックリスト」
- 目的、制約、禁止事項、出力形式を**階層で整理**しやすい
- 例:要約ルールが多い、テンプレ化して使い回したい
## JSON:項目を崩したくない「申込書の欄」
- 「この項目を必ず埋めて」を強制しやすい
- 例:`title/body/todo`など、**欠けると困る**出力が必要
---
# そもそも YAML(yml)って何?
YAMLは、情報を「項目」と「字下げ(インデント)」で整理する書き方です。
`.yml` はそのファイル名(拡張子)で、`.yaml` でも意味は同じです。
最小例:
```yaml
task: 要約
audience: 初学者
rules:
length: 200字
must_not:
- 推測しない
input: |
ここに文章を貼る
ポイントは、「rules の下に length などがぶら下がる」ように、親子で整理できることです。
この他にもある?(用途別の“仕切り”)
初学者でも覚えやすい順に挙げます。
-
タグ形式(XML風):長文の材料を貼るとき安全
-
<input>…</input>のように境界が明確
-
-
表(CSV/TSV/表):比較・一覧・分類が目的なら最強
- 施策比較、ToDo表、要件一覧
-
TOML:設定ファイル寄りで、YAMLより硬めに書きたい時
- “設定っぽい用途”で相性が良い
初学者がハマるアンチパターン(+すぐ直す方法)
1) 目的がふわふわ
NG:「いい感じにまとめて」
Fix:だれ向けに/何のために/何を出すかを1行ずつ
2) 制約がない
NG:長さ・口調・形式が未指定
Fix:「200字」「箇条書き3つ」「推測しない」だけで安定
3) 指示と材料が混ざる(最頻出)
NG:文章の途中にルールが紛れ込む
Fix:YAML/タグ/見出しで “材料ゾーン”を隔離する
4) 一度にやらせすぎ
NG:要約+改善案+文章化+表…を一発
Fix:まず「整理」→次に「提案」→最後に「整形」
5) 矛盾した要求(優先順位がない)
NG:「短く、でも詳しく、でも網羅」
Fix:優先順位を書く(例:正確さ>網羅性>簡潔さ)
6) 根拠の範囲が不明(盛る/盛らない問題)
NG:どこまで推測していいか未指定
Fix:「この文章だけ」or「一般知識で補完OK(補完は明示)」を指定
7) 完成形(出力の型)がない
NG:「まとめて」だけ
Fix:見出し固定にする(例:結論→理由→ToDo)
コピペで流用できる最短テンプレ
YAML(ルール整理向け)
task: "何をする?(要約/説明/言い換え)"
audience: "だれ向け?"
rules:
length: "何字?"
tone: "口調(フォーマル等)"
must_not:
- "禁止(例:推測しない)"
output: "出し方(例:結論→理由→ToDo)"
input: |
(材料を貼る)
Markdown(文章向け)
## やること
(例:小学生向けに説明)
## ルール
- 200字
- やさしい言葉
- 推測しない
## 材料
(ここに文章)
## 出力形式
- ポイント3つ
- 最後に1文まとめ
JSON(項目固定向け)
{
"task": "要約",
"audience": "上司",
"rules": {
"length": "300字",
"tone": "フォーマル",
"must_not": ["推測しない"]
},
"output_format": ["結論", "根拠", "ToDo"],
"input": "(ここに材料)"
}
まとめ
- 出力が安定するコツは、目的・材料・出力形式を分けること
- Markdownは文章向き、YAMLはルール整理向き、JSONは項目固定向き
- 「いい感じに」「混線」「一発で全部」は失敗しやすい
- 迷ったら、まずテンプレをコピペして埋めるだけで改善します
::contentReference[oaicite:0]{index=0}
Discussion