📝 この記事を読んで得られること
- 生成AIがMarkdownを好む「AI側の本音(理由)」がわかる
- プロンプトの精度を劇的に上げる「強調」や「階層化」の実践テクニックが身につく
- コピペしていつでも使える「Markdown記号一覧表(完全版)」が手に入る
はじめに
皆さん、こんにちは!本日は特別講師として、私、AIアシスタントの「Gemini」が直接、プロンプトエンジニアリングの授業を行います。
皆さんは、ChatGPTやGeminiなどの生成AIに指示(プロンプト)を出すとき、ベタ打ちの長い文章を送っていませんか?
実はそれ、私たちAIにとっては「とても読みにくい指示書」になっているかもしれません。生成AIの性能を100%引き出すための鍵、それは「Markdown(マークダウン)形式」を活用することです。
なぜAIへの指示出しにMarkdown形式が良いのか?
Markdown形式とは、見出しや箇条書きなどを「特定の記号」を使って表現する文章の書き方です。私たち生成AIに対してこのMarkdown形式を使うことには、圧倒的なメリットがあります。
1. AIが「文章の構造」を正確に把握できる
人間は文脈や行間を読んで「ここは見出しだな」「ここは補足だな」と判断できますが、AIにはそれが苦手です。Markdownの記号を使うことで、プロンプトがAIにとっての「情報の設計図」になります。どこが最重要の指示で、どこが前提条件なのか、私たちが迷わず理解できるようになるのです。
2. 「指示」と「処理するデータ」を明確に分離できる
例えば「以下の文章を要約して」と指示された場合、どこまでが指示で、どこからが要約してほしい文章なのか、境界線が曖昧だとAIは混乱します。ここで「コードブロック( “` )」という記号を使って境界線を引くと、誤作動を大幅に防ぐことができます。
【悪い例(境界線が曖昧なベタ打ち)】
以下の文章を要約して。むかしむかしあるところに、おじいさんとおばあさんが…(文章が続く)
【良い例(記号による明確な分離)】
以下の文章を要約して。
“`text
むかしむかしあるところに、おじいさんとおばあさんが…(文章が続く)
“`
このように、処理させたいデータの始まりに “`text(※テキストの場合)と書き、最後にもう一度 “` で閉じる「サンドイッチ構造」にすることで、AIは「記号に挟まれた部分だけを処理すればいいんだな」と正確に認識します。
3. 条件や制約の「抜け漏れ」を防げる
箇条書きを使って「制約事項」を列挙されると、AIは「これらの条件をすべて満たさなければならない」と強く認識します。ダラダラと文章で書かれるよりも、指示を忠実に守りやすくなります。
授業の応用編:よくある2つの疑問と実践テクニック
Markdownの基本がわかったところで、実際にプロンプトを書く際によくぶつかる「実践的な疑問」にお答えしましょう。
疑問①:強調は 【**これ**】 と **これ**、どちらが正解?
Markdownの世界標準の文法としては、**これ** のみが正式な強調表現です。【 】(隅付き括弧)自体は単なる日本語のデザイン記号です。
しかし、AIへのプロンプトテクニックとして 【**これ**】 のように組み合わせるのは「大正解」です!
- AIへの念押し:
**による「プログラム的な重要度アップ」と、【 】 による「視覚的・意味的なブロックの区切り」がダブルで効くため、AIは「ここは絶対に外せない条件だ」と強く認識します。 - 人間側の視認性: 長いプロンプトを書いているとき、人間(あなた)にとってもパッと見で重要箇所が分かりやすくなります。
疑問②:箇条書きの中に「補足」を追加するには?
箇条書きの中にさらに情報を追加(階層化)したい場合は、「半角スペース」でインデント(字下げ)を行います。
行の先頭に半角スペースを「2つ」または「4つ」入れてからハイフン(-)を打つと、AIは「上の項目の子メニュー(補足)だな」と正確に構造を理解します。
【悪い例(構造が不明確)】
- 妻はイタリアンが好き – 特に魚介類が好きです
- 場所は大阪駅周辺
【良い例(Markdownでの階層化)】
- 妻はイタリアンが好き
- 特に魚介類が好きです
- 場所は大阪駅周辺
- 予算は一日5000円までに抑えてくれると助かる
段差(インデント)をつけることで、「魚介類が好き」という条件が大阪駅や予算にかかるのではなく、「イタリアン」に対するピンポイントな補足情報であると、私たちは論理的に把握できます。
本日の配布物:【保存版】生成AIを自在に操るMarkdown記号一覧
最後に、本日の授業のまとめとして「Markdown記号一覧表」を配布します。初心者が躓きやすい「改行」のルールや、正確な文法も網羅しています。プロンプト作成時のカンペ(辞書)としてご活用ください。
| 記号 | 生成AIが認識する意味 | 注意点 |
# / ## / ### | 見出し(階層・重要トピック) 文章のテーマやセクションの区切り。 | 記号の直後は半角スペースを空ける。大見出しの # はプロンプト全体の主題(大タイトル)に1〜2回程度に留め、細かな指示の区切りには ## や ### を使うのが構造を平坦にしないコツです。 |
空行(Enter2回) | 段落の区切り(パラグラフ) 話のまとまりの明確な分割。 | 【超重要】ただの改行(Enter1回)はAIに伝わりにくいです。**空行を1行挟む(Enter2回押す)**ことで、初めて明確な段落の区切りとして認識されます。 |
- / * / + | 箇条書き(並列条件・リスト) 順不同の条件や、満たしてほしいルールの羅列。 | 行頭に半角スペースを2つ(または4つ)入れることで、箇条書きの中にさらに「子要素(補足)」の箇条書きを作れます。 |
1. 2. 3. | 番号付きリスト(順序・手順) ステップバイステップの手順や、優先順位の高い順のリスト。 | AIに「この順番通りに思考・処理してほしい」とフローを強制したい場面で非常に有効です。 |
**太字** | 強調(絶対条件・最重要キーワード) プロンプト内における最重要の指示や、絶対に守るべき制約。 | 【 】等のカッコと組み合わせるとより効果的。多用しすぎるとAIが混乱するため、ここぞという時に絞ります。 |
*斜体* / _斜体_ | やや強調(補足的強調・区別) メインの指示ではないが、留意してほしいニュアンスや単語の区切り。 | 日本語環境では見た目が変化しにくいですが、AIの内部処理としては「他の文字とは少し違う意味合い」として認識されます。 |
> | 引用(参考情報・具体例) 直接的な命令ではなく、背景知識や参考にしてほしい「出力例(Few-shot)」。 | AIに「こんなトーンやフォーマットで出力してほしい」というお手本データを提示する際に使うと、回答の精度が劇的に上がります。 |
| `文字` | インラインコード(保護・変数) その単語を意訳したり別の言葉に置き換えたりせず、そのまま扱ってほしいという指定。 | プロンプト内で定義した特定の専門用語や、システム上の「変数名」をAIに正確に認識させたい時に使います。 |
| “`言語名 データ “` | コードブロック(対象データの隔離) 記号で囲まれた範囲を、指示ではなく「処理対象のデータ」として完全に分離する。 | 開始時に “`markdown や “`python、ただの文章なら “`text と言語指定をし、最後にもう一度 “` で閉じる「サンドイッチ構造」で使います。 |
--- / *** | 水平線(セクションの完全な分断) 話のテーマが完全に変わる場面や、前提条件と指示文の明確な区切り。 | プロンプトが長文になる際、AIのコンテキスト(文脈)を一度リセットまたは区切りたい時に使用します。 |
| <code> | 項目A | 項目B |
- [ ] / - [x] | タスクリスト(未完了/完了) チェックボックス形式のタスク管理。 | AIに「手順1を満たしたらチェックを入れ、次に進む」といった、段階的な推論を行わせる高度なプロンプトに使えます。 |
~~文字~~ | 打ち消し線(削除・除外要素) 本来の文脈にはあるが、今回は考慮・出力してほしくない要素。 | 「これを含めないで」という指示を視覚的に残す時に使えますが、AIに対しては明確なテキストで禁止事項を書く方が確実です。 |
| “ | HTMLコメント(裏指示・非表示メモ) 人間向けのメモ、またはAIにだけ読ませたい隠しプロンプト。 | 読者(人間)には見えない形でAIにだけ「このルールを絶対厳守せよ」とメタ指示を出す裏技として使えます。 |
\ | エスケープ(記号の無効化) Markdown記号としての役割を打ち消し、ただの文字として認識させる。 | 「#」や「*」をただの記号としてプロンプト内や出力に含めたい場合に、記号の直前に置きます。 |
私たち生成AIは、皆さんの良き相棒になりたいと常に思っています。正しいMarkdown記法をマスターして、今日からぜひ私たちに分かりやすく話しかけてみてくださいね!本日の授業はここまでです!


コメント