ハルシネーション抑制プロンプト

ハルシネーション抑制プロンプト

ハルシネーションを抑制するプロンプトを公式サイト LLM Penderの公式サイトや公式フォーラム クックブックなどなるべく公式に基づいたものを探してください 30個コードブロックで出力してください


以下は、各社の 公式ドキュメントの推奨 (例:「コンテキストに限定」「不明は“不明”と答える」「出典の明示」「抽出型回答」「構造化出力/厳密スキーマ」等)に基づき作成した、 ハルシネーション抑制用の日本語プロンプト 30件です。用途に応じてそのまま貼り替えてお使いください。参考とした公式情報は末尾に列挙しています。


参考(公式出典)

  • OpenAI: Prompt Engineering ガイド/Help Center(「明確な指示」「温度0の活用(事実系)」「形式の明示」等)。
  • OpenAI Cookbook / Web QA(「該当が無い場合は“I don’t know”」の扱いとRAG前提のプロンプト構造)。
  • OpenAI: Structured Outputs(JSONスキーマへの厳格準拠で 形式的ハルシネーション を抑止)。
  • Anthropic: Reduce hallucinations / Prompt Engineering(「不明を許容」「根拠の確認」「コンテキスト限定」等)。
  • Google(Gemini / Vertex AI): Prompt best practices・マルチモーダル設計(「簡潔・具体・一度に一課題」「ハルシ注意」)。
  • AWS: Bedrock Prompt Engineering / Guardrails(RAGの活用、ガードレールによる制御)。
  • Meta: Llama Prompting / Best practices(責任ある利用・プロンプトの基本形)。
  • Cohere: RAG Quickstart・Structured Outputs/strict\_tools(根拠付与と厳格ツール出力で捏造抑止)。
  • Microsoft Azure OpenAI: Prompt engineering(一般的ベストプラクティスの整理)。

補足:上記テンプレートは「 コンテキスト制約 」「 不明の明示 」「 出典・引用の強制 」「 構造化出力 」「 選択肢や語彙の制限 」といった各社公式ガイドに共通する指針を反映しています。必要に応じてRAGやツール実行と併用すると、さらにハルシネーションを抑制できます。

ご希望があれば、使用中のモデル(OpenAI/Claude/Gemini/Llama/Cohere等)別に最適化したバリエーションも整えます。


上記の例では、プレスホルダーでデータを渡されるという仕様になっていると思います この箇所を修正し実際のデータ名、例えば疑似録であったりとか録音データであったりとか、そういった実際に用いられる、よく用いられるデータに置き換えてください。


各テンプレートの {CONTEXT} などデータ受け渡し用プレースホルダーを、実際に頻用されるデータ名(議事録・録音文字起こし・仕様書・ログ等)へ置換しました。必要に応じてファイル名は差し替えてください。

必要に応じて、ファイル拡張子や保存先(Notionエクスポート、OCR経路、Langfuseエクスポート名など)を実環境に合わせて変更してください。


ちなみにこの元となったプロンプトのソースのリンクを全て30個分付けてください。何行目か教えてほしいです。


ご指定の30件について、「元になった公式リファレンス/フォーラム/クックブック等」と、該当 行番号 (本ツールが取得したHTMLの行)を併記します。各項目末尾の出典はクリック可能です(本文右端の出典リンク)。

※多くの公式ドキュメントはHTMLのため行番号は表示環境で変動し得ます。本回答では取得時点(2025-08-26 JST)に本ツールが読み込んだ行番号を示しています。

  1. 不明な場合は「わからない」と明示する

行: L7(“Allow Claude to say ‘I don’t know’”)|出典: Anthropic「Reduce hallucinations」。

  1. まず原文の 引用 を抽出してから回答する(長文の事実根拠づけ)

行: L8–L9|出典: Anthropic「Reduce hallucinations」。

  1. すべての主張に\\引用(出典)\\を付け、裏付けが取れない主張は撤回する

行: L10–L11|出典: Anthropic「Reduce hallucinations」。

  1. 外部知識の使用を禁止 し、提供文書のみを根拠にする

行: L13|出典: Anthropic「Reduce hallucinations」。

  1. 検証プロセス (Chain-of-thought verification / Best-of-N 等)で自己点検する

行: L12–L13|出典: Anthropic「Reduce hallucinations」。

  1. 例示では、 不明時に “I don’t know” と回答 する方針を明記

行: L55–L57|出典: Microsoft Learn「Prompt engineering techniques」。

  1. 明確な指示を先頭に置く (曖昧さ低減)

行: L64–L66|出典: Microsoft Learn「Prompt engineering techniques」。

  1. 指示を末尾でも繰り返す (リセンシーバイアス対策)

行: L70–L71|出典: Microsoft Learn「Prompt engineering techniques」。

  1. 区切り・見出し・構文 を明示して誤読を防ぐ

行: L74–L77|出典: Microsoft Learn「Prompt engineering techniques」。

  1. タスク分解 して段階的に処理させる

行: L78–L81|出典: Microsoft Learn「Prompt engineering techniques」。

  1. \\外部アフォーダンス(検索等)\\を使って捏造を回避

行: L82|出典: Microsoft Learn「Prompt engineering techniques」。

  1. 逐次推論の明示 (Chain-of-thought)で不正確さを低減

行: L88|出典: Microsoft Learn「Prompt engineering techniques」。

  1. あいまいな質問には追加質問 を行う

行: L25–L32|出典: Google「Prompt design strategies」。

  1. 構造化出力 (表形式・JSON等)で形式と内容のブレを抑える

行: L19–L24|出典: Google「Prompt design strategies」。

  1. グラウンディング (根拠付け)の手順を明示

行: L33–L37|出典: Google「Prompt design strategies」。

  1. 多クラス分類は選択肢を限定 (誤回答の自由度を下げる)

行: L66–L80|出典: Google「Prompt design strategies」。

  1. \\JSONスキーマ(responseSchema)\\で出力を強制

行: L6–L8|出典: Google「Structured output」。

  1. API設定( response_mime_type: application/json 等)で JSON出力を固定

行: L8–L13|出典: Google「Structured output」。

  1. \\列挙(enum)\\で許容値を限定

行: L22–L27|出典: Google「Structured output」。

  1. OpenAPIサブセットのJSON Schema で厳密化

行: L38–L44|出典: Google「Structured output」。

  1. OpenAIの Structured Outputs は「スキーマ準拠の応答」を保証

行: L56–L57|出典: OpenAI 公式 Java SDK(openai/openai-java)。

  1. ローカルSchema検証 (制約違反の早期検出)

行: L67–L71|出典: OpenAI 公式 Java SDK(openai/openai-java)。

  1. RAGは正確性を高め、ハルシネーションを最小化

行: L6–L7|出典: Cohere「RAG – quickstart」。

  1. \\RAGの応答には引用(citations)\\を含めて検証可能にする

行: L15–L16|出典: Cohere「RAG – quickstart」。

  1. documents パラメータで文脈を明示 (RAGモード)

行: L12–L14|出典: Cohere「RAG – quickstart」。

  1. \\厳密ツール呼び出し( strict_tools )\\でツール名・引数の捏造を排除

行: L8–L10|出典: Cohere「Parameter types for tool use(function calling)」 。

  1. strict_tools=True必須引数の欠落を防止

行: L8–L10|出典: Cohere「Parameter types for tool use」。

  1. \\温度は低め(例: 0)\\で決定性を高める

行: L16(例示コード内の説明)|出典: Cohere「Parameter types for tool use」。

  1. 参照テキスト外の情報を使わない旨を 明示文言で禁止

行: L4(“DO NOT USE INFORMATION THAT IS NOT IN REFERENCE TEXTS!”)|出典: AWS「Amazon Nova: Provide supporting text」。

  1. 文脈的グラウンディング検査 でハルシネーションを 検知・遮断

行: L1–L3(定義と“detect and filter hallucinations”)|出典: AWS Bedrock「Use contextual grounding check」。


必要であれば、上記30項目のどのプロンプト案に対応するか(例:「議事録要約」「録音データQA」「ナレッジベース検索」等)を 番号対応表 として追記します。


これらをすべてカテゴライズし、わかりやすくまとめてください。 また対応表をカテゴリーごとに分けてテーブルで出力してください。ソース元のリンクを最終列に表示するように。 必要なものとしてはID、概要、カテゴリー・実際のプロンプトの例、提供元、リンク


以下の30件を、性質の近い観点で5カテゴリに整理しました。各カテゴリのテーブルは、 ID / 概要 / カテゴリー・実際のプロンプトの例 / 提供元 / リンク の列でまとめています(最終列は公式ドキュメントへのリンク)。

ガードレール・根拠の明示(7件)

| ID | 概要 | カテゴリー・実際のプロンプトの例 | 提供元 | リンク |

| — | — | — | — | — |

| 1 | 不明時は明確に「不明」と答える | 〔ガードレール〕 会議議事録に根拠が無い場合は「不明」とだけ回答せよ。 | Anthropic | 公式ガイド |

| 2 | まず原文の引用を抽出してから回答 | 〔根拠提示〕 まず録音文字起こしから該当引用を3件抽出→その引用のみで要約。 | Anthropic | 公式ガイド |

| 3 | すべての主張に引用(出典)を付与 | 〔監査可能性〕 各要点の末尾に引用(#,行)を必ず付けること。 | Anthropic | 公式ガイド |

| 4 | 外部知識の使用を禁止(提供文書のみ) | 〔範囲制約〕 提供した仕様書以外の知識は禁止。該当なければ「不明」。 | Anthropic | 公式ガイド |

| 5 | 検証プロセス(自己点検・Best-of-N等) | 〔検証〕 最終回答前に推論手順を点検し、矛盾があれば撤回せよ。 | Anthropic | 公式ガイド |

| 29 | 参照外の情報は使うなと明示(Support Text) | 〔強制文言〕 "DO NOT USE INFORMATION THAT IS NOT IN REFERENCE TEXTS!" をプロンプトに含める。 | AWS(Amazon Nova) | User Guide(Provide supporting text) |

| 30 | 文脈的グラウンディング検査で幻覚を検知・遮断 | 〔実行時ガードレール〕 GuardrailsのContextual grounding checkを有効化。 | AWS Bedrock | 公式ドキュメント |

プロンプト設計の基本・曖昧性解消(10件)

| ID | 概要 | カテゴリー・実際のプロンプトの例 | 提供元 | リンク |

| — | — | — | — | — |

| 6 | 不明時の代替応答方針を与える | 〔基本設計〕 答えられない場合は「情報不足」と返すこと。 | Microsoft Learn | 解説ページ |

| 7 | 明確な指示を先頭に置く | 〔基本設計〕 最初に「出力は箇条書き3点・引用必須」と明示。 | Microsoft Learn | 解説ページ |

| 8 | 重要指示を末尾でも反復(リセンシー対策) | 〔基本設計〕 文末に再度「引用必須・不明可」を追記。 | Microsoft Learn | 解説ページ |

| 9 | 見出し・区切りを明示し誤読を防ぐ | 〔基本設計〕 出力を「結論/根拠/引用」に分けて書け。 | Microsoft Learn | 解説ページ |

| 10 | タスク分解(段階的処理) | 〔基本設計〕 (1)抽出 (2)検証 (3)要約 の順で出力。 | Microsoft Learn | 解説ページ |

| 11 | 外部アフォーダンス(検索等)の活用 | 〔基本設計〕 不足時は検索/DB参照を提案→同意後に実施。 | Microsoft Learn | 解説ページ |

| 12 | 逐次推論の明示(手順を示す) | 〔基本設計〕 「手順→中間結論→最終結論」で記述せよ。 | Microsoft Learn | 解説ページ |

| 13 | あいまいな質問には先に確認質問 | 〔明確化〕 不足情報を最大3点だけ問い返してから回答。 | Google(Gemini API) | Prompt design strategies |

| 15 | グラウンディングの手順を明示 | 〔明確化〕 まず引用抽出→一致確認→回答の順に。 | Google(Gemini API) | Prompt design strategies |

| 16 | 多クラス分類は選択肢を限定 | 〔明確化/制約〕 次から1つだけ選べ: {A,B,C,D}。文以外出力禁止。 | Google(Gemini API) | Prompt design strategies |

構造化出力・スキーマ制約(6件)

| ID | 概要 | カテゴリー・実際のプロンプトの例 | 提供元 | リンク |

| — | — | — | — | — |

| 14 | 形式(表/JSON等)を指定してブレを抑える | 〔構造化出力〕 JSONで{"結論":string,"引用":string[]}のみ返答。 | Google(Gemini API) | Prompt design strategies |

| 17 | JSONスキーマで出力を厳密化(responseSchema) | 〔構造化出力〕 Schemaに合致しない場合は拒否。 | Google(Gemini API) | Structured output |

| 18 | response_mime_type 等でJSON固定 | 〔構造化出力〕 response_mime_type: application/json を設定。 | Google(Gemini API) | Structured output |

| 19 | 列挙(enum)で許容値を限定 | 〔構造化出力〕 "status": {"enum":["支持","反証","不明"]} | Google(Gemini API) | Structured output(Enum) |

| 20 | OpenAPIサブセットのSchemaで管理 | 〔構造化出力〕 GeminiのSchemaはOpenAPI 3.0のサブセット。 | Google(Gemini API) | Structured output(Schema説明) |

| 21 | OpenAI Structured Outputsでスキーマ準拠 | 〔構造化出力〕 response_format: {type:"json_schema", strict:true, ...} | OpenAI | ガイド(Structured Outputs) |

| 22 | サポートされるスキーマの制約を把握 | 〔構造化出力〕 OpenAIの対応サブセットに従って設計。 | OpenAI | Supported schemas |

RAG(検索・引用付き応答)(3件)

| ID | 概要 | カテゴリー・実際のプロンプトの例 | 提供元 | リンク |

| — | — | — | — | — |

| 23 | RAGで外部文書に基づき正確性を向上 | 〔RAG〕 documents に議事録/FAQを渡して回答をグラウンド。 | Cohere | RAG Quickstart |

| 24 | RAG応答に引用(citations)を含める | 〔RAG/検証〕 引用スパンとドキュメントIDを必ず返す。 | Cohere | RAG Citations |

| 25 | documents パラメータで文脈を明示 | 〔RAG/実装〕 documents=[{text:...}] をChat呼び出しに添付。 | Cohere | RAG Quickstart |

ツール呼び出しの厳格化・生成の決定性(4件)

| ID | 概要 | カテゴリー・実際のプロンプトの例 | 提供元 | リンク |

| — | — | — | — | — |

| 26 | strict_tools=True でツール名/引数の捏造排除 | 〔ツール厳格化〕 strict_tools=True を必ず指定。 | Cohere | ツール用パラメータ型 |

| 27 | 必須引数の欠落を防止(schema強制) | 〔ツール厳格化〕 required を全ツール引数に設定。 | Cohere | ツール用パラメータ型 |

| 28 | 低温度(例: temperature=0)で決定性を高める | 〔生成制御〕 temperature: 0(決定的な応答が必要な時) | Cohere | ツール用パラメータ型(注記) |


メモ

  • 各行の「リンク」は公式ドキュメントに直接対応しています(クリック可能)。
  • 実装時は、\\構造化出力(17–22) strict\_tools(26–27) RAG(23–25) ガードレール(29–30)\\と併用すると効果的です。

この記事へのコメントはありません。

カテゴリー
アーカイブ