長文を扱うプロンプト長い資料をAIに正確に読ませる配置と指示の工夫
長い資料をAIに渡すときは、資料と指示の置き方、構造化、質問のタイミング、引用の求め方、分割処理で精度が変わります。長い文脈での注意点、具体的なプロンプトの型、うまくいかないときの対処を整理します。
公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて
長文を扱うプロンプトとは
契約書、報告書、論文、議事録など、長い資料をAIに読ませたい場面は多くあります。コンテキストウィンドウが大きくなり、長い文章を一度に扱えるようになりましたが、長ければ長いほど、精度や安定性が下がることもあります。資料の置き方・構造・指示のタイミングを工夫すると、結果が安定します(コンテキストウィンドウ)。
長い文脈での注意点
| 注意点 | 内容 |
|---|---|
| 中ほどの情報が埋もれやすい | 長い入力の中ほどにある情報が、先頭や末尾より参照されにくい傾向が、研究で報告されている(アテンション機構) |
| 無関係な情報が多いと精度が下がる | 関係ない部分が多いと、重要な情報を見落とす |
| 費用・時間が増える | 入力が長いほど、課金と処理時間が増える(トークン料金の計算) |
| 指示が埋もれる | 資料が長いと、冒頭の指示が薄れる場合がある |
基本の工夫
| 工夫 | 内容 |
|---|---|
| 資料を先、質問を後に置く | 長い資料を先に置き、最後に質問・指示を書くと、精度が上がる傾向があるとされる(Anthropicのドキュメントでは、2万トークン以上の入力について、テストで最大30%程度の品質向上が見られたと案内) |
| 指示を前後に置く | 重要な指示は、資料の前後の両方に書く |
| 構造化する | 資料にタグ・見出しを付けて、区切る(XMLタグで構造化する) |
| 資料に名前を付ける | 複数の資料は、名称・番号を付ける |
| 必要部分を絞る | 関連する章・段落だけを渡す(RAG(検索拡張生成)) |
| 引用を求める | 回答の根拠となる部分を、先に引用させる |
引用してから答えさせる
長い資料から質問に答えさせるとき、まず該当箇所を引用させ、その後で答えさせると、関連しない情報にまどわされにくく、根拠も確認しやすくなります。
<documents>
<document index="1">
<source>報告書A</source>
<content>(長い本文)</content>
</document>
</documents>
まず、質問に関連する部分を<quotes>タグの中に引用してください。
その後、引用をもとに、質問に答えてください。
資料に答えがない場合は、「資料には記載がありません」と答えてください。
質問:〇〇の予算額はいくらですか。
引用部分を、元の資料と照合すれば、AIの回答が正しいかを、簡単に検証できます(ハルシネーション)。
複数の資料の扱い
| 工夫 | 内容 |
|---|---|
| 資料ごとに区切る | <document index="1">などで区別する |
| 出典名を付ける | 回答で、どの資料を根拠にしたかを示させる |
| 矛盾の確認 | 資料間の矛盾があれば、指摘させる |
| 優先順位の指定 | 新しい資料を優先するなど、扱い方を指示する |
分割して処理する
非常に長い資料や、精度が重要な場合は、分割して処理します(プロンプトチェーン)。
| 方法 | 内容 |
|---|---|
| 章ごとに要約 | 各章を要約 → 要約を統合 |
| 抽出 → 統合 | 各部分から必要な情報を抽出 → 抽出結果を整理 |
| 検索して絞る | 質問に関連する部分だけを検索して渡す(RAG(検索拡張生成)、チャンク分割) |
| 繰り返し質問 | 複数の観点から、別々に質問 |
費用と速度の工夫
| 工夫 | 内容 |
|---|---|
| プロンプトキャッシュ | 同じ長い資料に、何度も質問するとき、資料部分をキャッシュして、費用と時間を抑える(プロンプトキャッシュ) |
| 不要部分の削除 | 目次・参考文献・注記など、関係ない部分を除く |
| 前処理 | PDFから、本文だけを抽出する |
うまくいかないときの対処
| 症状 | 対処 |
|---|---|
| 重要な情報を見落とす | 必要部分に絞る。引用させる。重要な箇所を前後に置く |
| 資料にない内容を答える | 「資料に書かれた内容だけで答え、なければ『記載なし』と答えて」と明記 |
| 指示を守らない | 指示を資料の前後に置く。優先順位を明示 |
| 回答が不安定 | 資料を分割する。設定を調整する |
| 遅い・高い | 入力を絞る。キャッシュを活用する |
長文を扱うプロンプトの具体例
100ページの契約書から、「解約条件」と「損害賠償の上限」を確認したいとします。全文を渡して質問する方法でも動きますが、まず目次から該当しそうな章を見つけ、その章だけを渡す、あるいは資料を検索可能にしてから質問すると、精度と費用の面で有利です。結果は必ず、原文の該当箇所で確認します。法的な判断は、弁護士など専門家に相談してください。
長文を扱うプロンプトのFAQ(よくある質問)
Q. 長い資料は、全部渡したほうがよいですか?
A. 全部渡せることもありますが、必要部分に絞るほうが、精度・費用・速度の面で有利なことが多いです。
Q. 資料と質問は、どちらを先に書きますか?
A. 長い資料を先に、質問を後に置く方法が、推奨されることが多いです。モデルのドキュメントを確認してください。
Q. PDFをそのまま渡せますか?
A. サービスによって対応が異なります。文字の抽出に失敗する場合は、テキスト化してから渡します。
筆者の見解(長文を扱うプロンプト)
長い文脈を扱う作業は、「大量の資料を前にした、新人アシスタントに仕事を頼む」感覚に近いと思います。どの資料のどこを見ればよいかを伝え、根拠を示してもらうことで、品質が大きく変わります。「全部読んで、答えて」と丸投げせず、「ここを見て、引用して、答えて」と導くことが、実用的なコツです。
長文を扱うプロンプトの関連項目
- コンテキストウィンドウ
- RAG(検索拡張生成)
- XMLタグで構造化する
- プロンプトキャッシュ
出典(一次情報)
本記事は一般的な情報の提供を目的としています。AIのサービス・機能・料金・仕様は頻繁に更新されるため、最新の内容は各社の公式ドキュメントでご確認ください。「筆者の見解」は一つの考え方です。