プロンプト設計入門: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