<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RAG - 普通の会社員がテクノロジーで疑問を解決する記録</title>
	<atom:link href="https://namettch.com/tag/rag/feed/" rel="self" type="application/rss+xml" />
	<link>https://namettch.com</link>
	<description>副業×節約×収益化で人生逆転</description>
	<lastBuildDate>Sun, 20 Sep 2026 12:19:26 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>Dify RAGで範囲外の質問に答えさせないプロンプト設定術</title>
		<link>https://namettch.com/dify-rag%e3%81%a7%e7%af%84%e5%9b%b2%e5%a4%96%e3%81%ae%e8%b3%aa%e5%95%8f%e3%81%ab%e7%ad%94%e3%81%88%e3%81%95%e3%81%9b%e3%81%aa%e3%81%84%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88%e8%a8%ad%e5%ae%9a/</link>
		
		<dc:creator><![CDATA[なめっち]]></dc:creator>
		<pubDate>Sun, 20 Sep 2026 12:19:26 +0000</pubDate>
				<category><![CDATA[AIツール・自動化]]></category>
		<category><![CDATA[Dify]]></category>
		<category><![CDATA[RAG]]></category>
		<category><![CDATA[ハルシネーション対策]]></category>
		<guid isPermaLink="false">https://namettch.com/?p=600</guid>

					<description><![CDATA[<p>Difyを使って社内規程やカスタマーサポート用のAIチャットボットを構築した際、「登録したナレッジ（知識）以外の質問に勝手に答えてしまう」という問題は、実運用において致命的なリスクとなります。 目次 DifyのRAGが関 [&#8230;]</p>
<p>The post <a href="https://namettch.com/dify-rag%e3%81%a7%e7%af%84%e5%9b%b2%e5%a4%96%e3%81%ae%e8%b3%aa%e5%95%8f%e3%81%ab%e7%ad%94%e3%81%88%e3%81%95%e3%81%9b%e3%81%aa%e3%81%84%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88%e8%a8%ad%e5%ae%9a/">Dify RAGで範囲外の質問に答えさせないプロンプト設定術</a> first appeared on <a href="https://namettch.com">普通の会社員がテクノロジーで疑問を解決する記録</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Difyを使って社内規程やカスタマーサポート用のAIチャットボットを構築した際、「登録したナレッジ（知識）以外の質問に勝手に答えてしまう」という問題は、実運用において致命的なリスクとなります。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DifyのRAGが関係ない質問に答えてしまう根本的な原因</a></li><li><a href="#toc2" tabindex="0">範囲外の回答を完全に封じるシステムプロンプトの書き方</a><ol><li><a href="#toc3" tabindex="0">プロンプト設定のポイント</a></li></ol></li><li><a href="#toc4" tabindex="0">検索スコア閾値とTop-Kの最適化でハルシネーションを防ぐ</a><ol><li><a href="#toc5" tabindex="0">1. 検索スコア閾値（Score Threshold）の厳格化</a></li><li><a href="#toc6" tabindex="0">2. Top-K（取得するチャンク数）の最適化</a></li><li><a href="#toc7" tabindex="0">3. 「空の返答」設定の活用</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DifyのRAGが関係ない質問に答えてしまう根本的な原因</span></h2>



<p class="wp-block-paragraph">DifyのRAG（検索拡張生成）システムが範囲外の質問に答えてしまう最大の理由は、バックエンドで動いているLLM（大規模言語モデル）の「親切すぎる性質」と「事前学習データへの依存」にあります。</p>



<p class="wp-block-paragraph">RAGの仕組みは、ユーザーの質問に対してナレッジベースから関連するテキスト（チャンク）を検索し、それをコンテキストとしてLLMに渡し、回答を生成させるというものです。しかし、質問に関連する情報がナレッジ内に存在しない場合、LLMは「提供された情報が足りない」と判断するのではなく、自身が元々持っている膨大な事前学習データから答えを捻り出そうとします。</p>



<p class="wp-block-paragraph">特にGPT-4oやClaude 3.5 Sonnetなどの高性能なモデルほど、文脈を推測して尤もらしい回答を作成する能力が高いため、結果として「ナレッジベースにはない一般的な回答」や「事実無根のハルシネーション（幻覚）」を引き起こしてしまいます。これを防ぐには、「LLMの自律的な推測を意図的に制限する」というアプローチが不可欠です。</p>



<h2 class="wp-block-heading"><span id="toc2">範囲外の回答を完全に封じるシステムプロンプトの書き方</span></h2>



<p class="wp-block-paragraph">LLMの暴走を食い止めるための第一の防波堤が、システムプロンプト（System Prompt）の最適化です。デフォルトのプロンプトや「ナレッジに基づいて答えてください」といった弱い指示では、範囲外の回答を完全に防ぐことはできません。</p>



<p class="wp-block-paragraph">以下の要素を組み込んだ、強力な制約を持たせるプロンプトを設定してください。</p>



<p class="wp-block-paragraph"><strong>【実践的なシステムプロンプト例】</strong></p>



<p class="wp-block-paragraph">Plaintext</p>



<pre class="wp-block-code"><code>あなたは社内規程に関する専門アシスタントです。
以下の【提供された知識】のみを使用して、ユーザーの質問に回答してください。

【厳守事項】
1. 回答は必ず【提供された知識】に含まれる情報のみで構成すること。
2. 【提供された知識】の中に質問に対する明確な答えが存在しない場合、あなたの事前知識や推測は一切使用せず、必ず「申し訳ありませんが、提供された情報の中には該当する答えがありません。」とだけ回答すること。
3. ユーザーが世間話や一般的な質問（例：「今日の天気は？」「AIについて教えて」など）をしてきた場合も、上記2のルールを適用すること。

【提供された知識】
{{context}}
</code></pre>



<h3 class="wp-block-heading"><span id="toc3">プロンプト設定のポイント</span></h3>



<ul class="wp-block-list">
<li><strong>例外処理の明確化</strong>: 「答えがない場合はどう振る舞うか」を一言一句指定することで、LLMが勝手に謝罪文に続けて推測を語り出すのを防ぎます。</li>



<li><strong>変数の明示</strong>: Difyのナレッジ参照変数である <code>{{context}}</code> をプロンプト内に明記し、LLMに対して「ここから下の情報だけを使え」と境界線をはっきりと示します。</li>
</ul>



<h2 class="wp-block-heading"><span id="toc4">検索スコア閾値とTop-Kの最適化でハルシネーションを防ぐ</span></h2>



<p class="wp-block-paragraph">プロンプトを強固にしても、検索フェーズ（Retrieval）で「質問と微妙に関連しそうな無関係なテキスト」がLLMに渡されてしまうと、LLMはそれを無理やり解釈して間違った回答を生成してしまいます。これを防ぐためには、Difyのナレッジ設定画面にある「検索設定（Retrieval Settings）」のチューニングが必須です。</p>



<h3 class="wp-block-heading"><span id="toc5">1. 検索スコア閾値（Score Threshold）の厳格化</span></h3>



<p class="wp-block-paragraph">スコア閾値は、ベクトル検索において「どれくらい意味が近いチャンクを取得するか」の足切りラインです。 デフォルト設定では閾値が低く設定されている（あるいは設定されていない）ことが多く、無関係な質問に対してもスコアの低いノイズデータがヒットしてしまいます。 実運用では、<strong>スコア閾値を「0.65〜0.75」程度に設定</strong>（※使用する埋め込みモデルにより変動）し、関連性の薄いチャンクをLLMに渡さないようシャットアウトしてください。</p>



<h3 class="wp-block-heading"><span id="toc6">2. Top-K（取得するチャンク数）の最適化</span></h3>



<p class="wp-block-paragraph">Top-Kは、検索結果としてLLMに渡すテキストブロックの上限数です。 この数値を「10」などの大きな値にしていると、ノイズが混入する確率が跳ね上がります。範囲外の回答を防ぐという目的においては、<strong>Top-Kを「3〜5」程度に絞り込む</strong>のがベストプラクティスです。本当に必要な情報だけを厳選してLLMに渡すことで、情報過多によるハルシネーションを抑制できます。</p>



<h3 class="wp-block-heading"><span id="toc7">3. 「空の返答」設定の活用</span></h3>



<p class="wp-block-paragraph">Difyには、検索結果が0件（設定した閾値を超えるチャンクがない）だった場合の挙動を制御する機能があります。検索設定内の「チャンクがない場合の返答」機能を有効にし、あらかじめ「該当する情報がありません」という固定メッセージを設定しておくことで、LLMを介さずに直接ユーザーへ回答を返すことが可能です。これにより、範囲外の質問に対するAPIコストの削減と、100%確実なガードレールの両立が実現します。</p><p>The post <a href="https://namettch.com/dify-rag%e3%81%a7%e7%af%84%e5%9b%b2%e5%a4%96%e3%81%ae%e8%b3%aa%e5%95%8f%e3%81%ab%e7%ad%94%e3%81%88%e3%81%95%e3%81%9b%e3%81%aa%e3%81%84%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88%e8%a8%ad%e5%ae%9a/">Dify RAGで範囲外の質問に答えさせないプロンプト設定術</a> first appeared on <a href="https://namettch.com">普通の会社員がテクノロジーで疑問を解決する記録</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
