この現象は「幻覚」として知られており、モデルが知識のギャップを埋めようとしたり、入力があいまいな場合に発生することがあります。

Claudeの出力の正確性と信頼性を向上させるために、幻覚を最小限に抑えるさまざまな戦略を探ってみましょう。これらの手法を実装することで、より良いユーザーエクスペリエンスと信頼できる結果を確保できます。

Claudeに「わからない」と言わせる

幻覚を減らす効果的な方法の1つは、特に事実に基づく質問をする際に、Claudeに「わからない」と言う許可を明示的に与えることです(「Claudeに出口を与える」とも呼ばれます)。これにより、Claudeは自身の限界を認識し、誤った情報を生成することを避けることができます。

Claudeが答えを知らない場合に認めるよう促すプロンプトの例を以下に示します。

Content
System以下の質問に可能な限り答えてください。答えに自信がない場合や、十分な情報がない場合は、単に「わかりません」または「よくわかりません」と言ってください。
Userブルキナファソの首都は何ですか?

Claudeに明示的な「出口」を与えることで、不正確な情報を生成する可能性を減らすことができます。

リマインダー

Claudeはインターネット上の多くの情報を読んでおり、現実世界のことを知っていますが、インターネットにアクセスすることはできません。Claudeは1年以上前のデータで学習されています。また、最新のニュースについては何も知りません。


Claudeに直接の引用を求める

長い文書を扱う際、特定の質問に関連する単語単位の引用をClaudeに抽出するよう求めることで、幻覚を最小限に抑えることができます。このアプローチは、長い文書(300語以上)に対してより効果的であり、短い文書に対してはあまり信頼できない可能性があります。

直接の引用を要求するプロンプトの例を以下に示します。

RoleContent
User次の文書を考えてください。
\
{{DOCUMENT}}
\

この文書から、質問 <question>{{QUESTION}}</question> に関連する単語単位の引用を抽出してください。この質問に関連する引用がこの文書にない場合は、「関連する引用が見つかりません」と言ってください。

直接の引用を要求することで、Claudeが提供する情報の正確性をより簡単に検証できます(さらに、Claudeにインラインの引用に引用符を使用させることもできます)。また、引用と元の文書の間の文字列マッチングを行ったり、重複の割合を計算したりして、モデルが幻覚を起こしていないことを確認することもできます。

引用抽出の精度に関する注意

引用を求めても、元の文書のテキストを100%再現できるとは限りませんが、忠実度は高くなければなりません。例えば、文書にエラーがある場合、モデルは”[sic.]”を追加したり、彼[ブライアン]は彼女[ダイアナ]を夕食に誘ったのように引用に文脈を追加したりする可能性がありますが、追加されたコンテンツが正確である限り問題ありません。

Claudeが不正確なコンテンツを追加していると思われる場合は、重複度が非常に高いものだけをフィルタリングし、引用は文書から直接そのまま取ってください。曖昧さを解消するコメントなどの追加のコンテンツは含めないでくださいのように指示をより厳密にすることをお勧めします。

Claudeが抽出した直接の引用をさらに活用するには、関連情報が引用の中に見つかった場合にのみ答えるようClaudeに指示したり、抽出された引用の中の情報だけに基づいて答えるようClaudeに指示したりすることができます。プロンプトライブラリからの引用ベースのプロンプトの例を以下に示します。

Content
Systemあなたは専門の研究アシスタントです。以下は、あなたが質問に答えるための文書です。
\
{{DOCUMENT}}
\