記事公開日
【生成AI プロンプト】Markdownを使ってAIの回答精度を上げよう!

この記事のポイント
かつては軽量マークアップ言語として親しまれてきたMarkdownが、今や生成AI時代の「合意形成の基盤」へと進化しています。本記事では、Markdownがプロンプトエンジニアリングにおいてなぜ圧倒的に有利なのかを解説します。
- プロンプトの構造化:
見出しやリスト記法を用いることで、AIが指示とコンテキストを正確に分離・認識できるようになります。 - 定量的パフォーマンスの向上:
GPT-4などのモデルにおいて、JSON形式よりもMarkdown形式の方が高い推論精度やコーディング精度を示す研究結果が出ています。 - AIの知能との相関:
Markdownを適切に処理・出力できる能力は、モデルの全体的な推論能力やコーディング能力と高い相関関係にあります。
はじめに
DXソリューション営業本部の三浦です。生成AIの出力で謎の*(アスタリスク)を見たことはありませんか?
これは生成AIが Markdown(マークダウン)というマークアップ言語で出力をしているために発生する事象です。かつてはエンジニア向けの単なる軽量マークアップ言語として親しまれてきたMarkdownは、今や「人間が読みやすい」だけでなく「AIが高精度に解釈できる」という、AIと人間が情報を正確に共有するための「共通言語(合意形成の基盤)」へと進化しました。
今回はMarkdownの基礎的な記法から、なぜAIのプロンプトとして適しているのかについて解説します。
Markdownとは
Markdownは、WebライターのためのテキストからHTMLへの変換ツールです。読みやすく、書きやすいプレーンテキスト形式で記述でき、それを構造的に正しいHTMLに変換することができます。
Markdownの本質的な設計目標は「可能な限り読みやすくすること」です。タグやフォーマット指示にまみれることなく、プレーンテキストのままでも文書として成立する形式を目指して作られました
Markdownの記法
Markdownの主な書き方について説明します。
構造化要素
- 見出し(Headings): # の数で情報の階層を定義します。AIはこれを情報のインデックス(目次)として処理し、文脈の区切りを認識します。
- リスト(Lists): * や - による箇条書き、1. による順序付きリスト。情報の並列関係を明示します。
- 引用(Blockquotes): > を使用し、外部情報や参照であることを明示します。RAG(検索拡張生成)において、コンテキストと指示を分ける際にも有効です。
- 水平線(Horizontal Rules): --- を用い、文脈の明確な切り替わりを伝えます。
高度なレンダリング要素
Markdownはシンプルなだけでなく、技術的な表現力も備えています。
- テーブル(Tables): | と - で構成。LLMにとっては財務データや比較表をパースするための重要な構造です。
- コードブロック: バックティック3つ(```)で囲み、言語を明示します。
- 改行: <br> タグも使用可能です。
Markdownがプロンプトの記述に適している理由
なぜプロンプトをMarkdownで記述すると、AIが正しく認識し、高品質な回答を出力するのでしょうか。主な理由は以下の3点に集約されます。
1. プロンプトの構造化と意図の明確化
Markdownの最大の特徴は、見出し(#)や区切り線(---)を用いて文書の構造を明示できる点です。AIにとって、どこからが「指示(Instruction)」で、どこからが「参照テキスト(Context)」なのかを判別することは、回答精度に直結する重要な要素です。
- セマンティックな境界線: # や ## といった見出し記号は、情報の階層構造を示す強力なシグナルとして機能します。これにより、AIは複雑なプロンプトでも文脈の切れ目を正確に把握できます。
- 指示の優先順位付け: 箇条書き(- や *)を用いることで、AIは複数の指示を並列に処理すべき項目として認識します。これにより、指示の一部が無視される「Instruction Skipping」のリスクを低減できます。
2. LLMの学習データに基づく「母国語」としての優位性
大規模言語モデル(LLM)の学習データには、GitHub上のコードやStack OverflowのQ&Aなど、Markdown形式で記述された高品質な技術情報が大量に含まれています。
- 高い予測精度: モデルは学習過程でMarkdownの構造に慣れ親しんでいるため、JSONやXMLといった他の形式に比べて、Markdown形式のテキスト生成や解釈においてより高い予測確信度を持つ傾向があります。
- トークン効率: JSON形式は波括弧 {} や引用符 "" を多用するためトークン消費量がかさみますが、Markdownは記号が少なく簡潔です。これにより、限られたコンテキストウィンドウを有効に活用でき、より多くの情報をプロンプトに含めることが可能になります。
3. モデルパフォーマンスへの定量的影響
最新の研究において、Markdown形式で指示を与えた場合の方が、JSONやYAML形式と比較してモデルのパフォーマンスが向上することが確認されています。
- 推論能力の向上: 推論タスク(MMLU)において、Markdown形式のプロンプトはJSON形式よりも高い正解率を記録するケースがあります。
- コーディング精度の改善: コーディングタスク(HumanEval)においても、Markdown形式での指示がスコアを押し上げ、JSON形式を大きく上回る結果が報告されています。これは、モデルがコードとMarkdownの混在したデータセットで集中的に学習されていることに起因すると考えられます。
MarkdownによるAIの出力精度への影響については以下のブログで検証しています。
JSONとの使い分け
ドキュメントとデータの境界線を明確にすることは、システム設計の要です。以下の特徴を踏まえて使い分けましょう。
| 特徴 | Markdown | JSON |
|---|---|---|
| 主目的 | 構造化された文書、記事 | プログラム間のデータ転送 |
| 主な読者 | 人間 + AI | 機械(プログラム) |
| トークン効率 | 極めて高い | 中〜低 |
- Markdown: AIへの指示、ナレッジベース、人間による編集が必要な場合。
- JSON: APIレスポンス、厳密な型定義が必要なデータ処理。
まとめ
プロンプトの指示を明確にするためにMarkdownを使うことは、AIにとって最も理解しやすい「構造」を提供することになります。このアプローチは、単発のプロンプト作成にとどまらず、社内ナレッジの蓄積においても同様に有効です。日頃からMarkdownで情報を構造化して残す習慣は、将来的にAIがその情報を参照・学習する際の精度を高め、結果として組織固有の強力な資産となっていくはずです。
具体的なプロンプトテクニックについては以下のブログをご覧ください!
参考文献
- Best practices for prompt engineering with the OpenAI API
- Evaluating and Enhancing Markdown Awareness in Large Language Models
- Does Prompt Formatting Have Any Impact on LLM Performance?
- Effective Prompt Engineering with the Markdown Prompts Framework
QUICK E-Solutionsでは、AIを活用した業務効率化・システム導入のお手伝いをしております。
それ以外でも QESでは様々なアプリケーションの開発・導入を行っております。提供するサービス・ソリューションにつきましては こちら に掲載しております。
システム開発・構築でお困りの問題や弊社が提供するサービス・ソリューションにご興味を抱かれましたら、ぜひ一度 お問い合わせ ください。


