AIに少し長めの指示を出したとき、「書いたはずの条件が無視されている」という経験はありませんか。体感ですが、たまにありますよね。
予算のことも日程のことも希望もぜんぶ書いたのに、返ってきた答えは一部の条件しか反映されていない。実はこれ、AIの能力の問題ではなく、どこからどこまでが「条件」で、どこからが「背景」なのかが伝わっていないことが原因の場合が多いです。
今回紹介する XML Structured Tagging(XMLタグ構造化) は、情報をタグで区切って渡すことで、AIの読み取り精度を上げる型です。見た目は少しプログラミングっぽいですが、やることはシンプルな「仕切り」です。
XML Structured Taggingとは?
XML Structured Taggingは、一言でいうと「ゴール・背景・制約などの情報を、タグで仕切って渡す」手法です。
たとえると、書類をクリアファイルで分類するイメージです。全部の紙を1つの封筒に突っ込んで渡すと、受け取った側はどれが重要書類でどれがメモなのか判別に時間がかかります。「契約書」「参考資料」とラベルの付いたファイルに分けて渡せば、迷いなく処理できます。プロンプトも同じで、情報の種類ごとにラベル(タグ)を付けて渡すと、AIの理解が速く正確になります。
タグの書き方は「<goal>〜</goal>」のように、始まりと終わりで挟むだけです。この形式はClaudeの開発元であるAnthropicが公式に推奨しているもので、公式ドキュメントでもプロンプトの明確さと正確さを上げる基本テクニックとして紹介されています。
📎 Anthropic公式:Use XML tags to structure your prompts
https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/use-xml-tags
なぜ効くのか
①情報の「役割」が明確になる
タグがないと、AIは文章を読みながら「これは条件かな?希望かな?ただの説明かな?」と推測しています。この推測が外れると、条件が無視される事故が起きます。タグで役割を明示すれば、推測の必要がなくなります。
②情報同士が混ざらない
長い指示ほど、背景説明と制約条件が文章の中で混ざりがちです。タグで物理的に仕切ることで、「背景に書いたことが制約として誤解される」ようなにじみを防げます。
コピペOKプロンプト
以下をそのままコピーして、各タグの中身を自分の内容に書き換えてください。
以下の構造で依頼します。それぞれのタグの中身に沿って回答してください。
<goal>
達成したいこと
</goal>
<context>
背景情報・前提
</context>
<constraints>
守ってほしい条件・やらないでほしいこと
</constraints>
<output_format>
出力の形式(箇条書き・表・文章など)
</output_format>
タグの名前は英語でなくてもかまいません。「<ゴール>」「<条件>」のような日本語タグでも機能します。大事なのは名前ではなく、始まりと終わりで情報が仕切られていることです。使わないタグは削除してOKです。
実践例:before / after
「3歳児連れの家族旅行プランの相談」で試してみました。条件が多くなりがちで、AIへの伝達が難しい典型的な場面です。
🔴 before:普通のプロンプト
「今度の連休に家族で旅行に行きたいです。3歳の子どもがいて、妻は温泉が好きで、予算は10万円くらいで、車で3時間以内で行けて、子どもが遊べる場所もあるといいなと思っています。おすすめを教えてください。」
→ 結果:提案された旅行先のうち1つは車で4時間半かかる場所で、もう1つは温泉の要素が抜けていました。文章の中に条件が埋まっていたため、一部が「なんとなくの希望」として軽く扱われた印象です。
🟢 after:タグで構造化したプロンプト
以下の構造で依頼します。それぞれのタグの中身に沿って回答してください。
<goal>
連休の家族旅行の行き先を3つ提案してほしい
</goal>
<context>
家族構成:夫婦+3歳の子ども1人
妻は温泉が好き
</context>
<constraints>
・予算10万円以内(宿泊+交通費)
・自宅(さいたま市)から車で3時間以内
・3歳児が遊べる施設が近くにあること
</constraints>
<output_format>
行き先ごとに「場所/所要時間/予算目安/子どもが遊べる施設/温泉情報」を表で
</output_format>
→ 結果:3つの提案すべてが車で3時間以内・温泉あり・子ども向け施設ありの条件を満たしていました。constraintsタグに入れた条件が「絶対条件」として扱われたのが大きな違いです。しかも出力形式まで指定したので、比較しやすい表で返ってきました。
使いどころと注意点
✅ こんな場面で使う
- 条件が3つ以上ある依頼(旅行・買い物・比較検討など)
- 背景説明が長くなる相談ごと
- 前に出した指示の一部が無視された経験があるタスク
❌ これには向いていない
- 一文で済む簡単な質問(タグを書く手間のほうが大きい)
- 雑談・壁打ちのような自由な会話
注意点として、タグの閉じ忘れには気をつけてください。「<goal>」で開いたら「</goal>」で閉じる。閉じタグがないと、どこまでがゴールなのか結局曖昧になり、タグの意味がなくなります。
🔧 上級者向け:タグを自分用に育てる
ここは応用の話なので、読み飛ばしてOKです。
基本の4タグ(goal/context/constraints/output_format)に慣れてきたら、自分の用途に合わせたタグを追加してみてください。よく使われる追加タグの例です。
- <examples>:参考にしてほしい見本を入れる
- <audience>:誰向けの出力かを指定する
- <tone>:文体・トーンを指定する
Day 6で紹介したテンプレ固定と組み合わせて、「タグ構造ごとメモアプリに保存しておく」と、条件の多い依頼を毎回ゼロから書かずに済みます。
まとめ
- XML Structured Taggingは「情報をタグで仕切ってAIの読解精度を上げる」型
- 条件が3つ以上ある依頼で特に効果が出る
- タグ名は日本語でもOK。仕切られていることが大事
「条件を無視された」経験があるなら、次の依頼からタグを試してみてください。見た目は少し硬派ですが、慣れると普通の文章で書くより速く、正確に伝わるようになります。
⚠️ この記事の情報は執筆時点(2026年6月)の内容です。AIツールの仕様・挙動はアップデートで変わることがあります。最終確認は各サービスの公式サイトや一次情報でお願いします。
📎 引用・参考
・Anthropic “Use XML tags to structure your prompts”(Claude公式ドキュメント)
https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/use-xml-tags
次回予告
次回は「Persona Stack(ペルソナスタック)」を紹介します。AIに役割を1人ではなく3層で重ねて持たせる型です。執筆役・添削役・読み手役が1回のプロンプトで回ることで、出力の説得力が変わります。
👉Persona Stackとは?AIに3つの役割を同時に持たせるプロンプト術


コメント