AIと話すための共通言語:MarkdownとYAMLによる「情報構造化」の極意
こんにちは、あかりです。
久しぶりの連載ですが、無事に3回目まで書けています。トータル5回の予定です。
前回の『「全部入りプロンプト」からの脱却』では、プロンプトの「指示」とコンテキストの「背景知識」を切り離し、重たい設定やルールは外部ファイル(カンペ)に逃がすというテクニックをお伝えしました。
しかし、ここで多くの人がぶつかる壁があります。
「設定資料や議事録のファイルをAIに読み込ませたのに、全然意図した通りに動いてくれない……」
そんな経験はありませんか?
実は、ただ情報を渡すだけではダメなのです。今回は、コンテキストエンジニアリングの最重要課題である「AIが理解しやすい情報の渡し方(構造化)」について解説します。
「そのまま投げる」の限界
例えば、会議の議事録や、社内で使っているWordの仕様書をそのままAIに投げ込んだとします。
人間が読めば「ここは重要だ」「ここは補足だ」と文脈から判断できますが、AIにとってはただの「文字の羅列」に過ぎません。
自然言語(普段私たちが話したり書いたりする文章)は、非常に曖昧です。
主語が省略されていたり、感情的な表現が混ざっていたりすると、AIは「どこがAIに対する制約条件で、どこが単なる背景知識なのか」を正しく拾い上げることができず、結果として見当違いな出力を返してしまいます。

人間にとって「読みやすい文章」と、AIにとって「処理しやすいデータ構造」は全くの別物なのです。
なぜAIは「構造化データ」を好むのか?
では、AIにとって処理しやすいデータとは何でしょうか?
それが「構造化データ」です。
構造化とは、簡単に言えば「情報と情報の間にある『関係性』を明確に定義すること」です。
ベタ書きの文章ではなく、「ここからここまでがルールのブロック」「これはキャラクターの名前という属性」と、情報にラベルや階層を持たせるイメージですね。

AIは内部的に言葉を確率的に計算して処理しているため、この「情報の階層」や「属性の定義」が明確であればあるほど、ハルシネーション(嘘)を起こしにくく、精度の高い回答を安定して出せるようになります。
具体的な実践方法として、強力な2つの武器を紹介します。それが「Markdown(マークダウン)」と「YAML(ヤムル)」です。
実践1:Markdownによる階層化

一番手軽で、今日からすぐに使えるのがMarkdown記法です。
(ちなみに、皆さんが今読んでいるこの記事もMarkdownの構造で書かれています)
見出しには `#` を使い、リストには `-` を使う。たったこれだけでも、AIにとっては情報の構造が劇的に分かりやすくなります。

【ベタ書きの例(AIが迷う)】
今回の記事の要件はAIのエンジニアリングについてです。文字数は1000文字程度で、読者は若手エンジニアを想定してください。ただし専門用語は使わないでください。
【Markdownで構造化した例(AIが理解しやすい)】
# 記事の要件定義
## テーマ
- AIエンジニアリングについて
## ターゲット読者
- 若手エンジニア
## 制約条件
- 文字数:1000文字程度
- トーン&マナー:専門用語は使わず、わかりやすくこのように「どこまでがテーマで、どこからが制約か」をブロック(見出し)で分けるだけで、AIの読み落としは驚くほど激減します。
実践2:YAMLによるキーバリュー型の徹底

Markdownよりもさらに厳密に、AIをシステムとして制御したい場合に活躍するのが「YAML」記法です。
YAMLは「属性(キー)」と「値(バリュー)」をペアにして記述するデータ形式です。
特に、小説のキャラクター設定や、一貫した世界観の定義など、細かいパラメーターをAIにブレずに認識させたい時に絶大な威力を発揮します。

【YAMLでのキャラクター設定例】
Character:
Name: "アカリ"
Age: 25
Role: "AIエンジニア"
Personality:
- 温厚
- ロジカル
- 面倒見が良い
ToneOfVoice: "です・ます調(柔らかい口調)"このように書くことで、AIは「Nameという属性にはアカリが入っている」「Personalityというリストには3つの要素がある」と、情報を完全にデータベースとして処理してくれます。
自然言語の揺らぎが一切排除されるため、プロンプトで「アカリのToneOfVoiceに従って回答して」と指示したときの再現性が跳ね上がります。

結論:AIとの共通言語を身につける
コンテキストエンジニアリングの本質は、ただ外部情報を渡すことではありません。
「AIという異質な知能が、最も正確に解釈できるプロトコル(共通言語)に翻訳して渡してあげること」です。
Markdownの階層と、YAMLのキーバリュー。
この2つの「構造化」の極意を身につけるだけで、あなたが渡すカンペ(コンテキスト)の威力は10倍にも100倍にもなります。
でも、「毎回こんな綺麗なMarkdownやYAMLを自分で書くのは大変そう……」と思いましたか?
安心してください。実は、この構造化されたコンテキストすら、人間がゼロから手で書く必要はないのです。
💡 あかりの視点:AI自身に「自分が読みやすい形」へ構造化させる

思っていることを、とにかく自然言語のままAIにぶつけて、「これをMarkdownで構造化して」と頼んでみてください。AIは「自分自身が最も処理しやすい形式」に、あなたの言葉を綺麗にまとめてくれます。

そして、ここからが重要です。AIが構造化した結果を見て、「あれ?なんか自分の意図とズレてるな」と感じた場合。
それはつまり、「あなたが最初に渡した自然言語の時点ですでに発生していた、AIとの認識のズレ」が、構造化によってハッキリと可視化されたということなのです。
次回の『ゼロから書かない仕様書』では、この性質を利用して、AIとの「壁打ち」を通じて最強のコンテキストを自動で錬成する実践Tipsをご紹介します。お楽しみに!
いいなと思ったら応援しよう!
ここまで読んでいただき、ありがとうございます。
もし「役に立った」「面白かった」と思っていただけたら、一杯ご馳走する感覚でサポートいただけると嬉しいです。
いただいたサポートは、次なる実験のサーバー代(と、私のハイボール代)として大切に使わせていただきます。