Claude に質問したのに的外れな回答が返ってきた、指示したフォーマットで出力されない、事実と違うことを堂々と言われた——そんな経験はありませんか?
よくある「出力がおかしい」症状
まずは典型的な症状を整理します。自分の状況に近いものを選んで、対応する解決策を参照してください。
- 的外れな回答が返ってくる(質問の意図を誤解している)
- ハルシネーション(存在しない情報・誤った事実を自信満々に述べる)
- フォーマットが指示通りにならない(JSON・箇条書き・表などが崩れる)
- 回答が途中で途切れる・不完全(長い文章や複雑なタスクで発生しやすい)
- 同じ内容を繰り返す・ループする(プロンプトの曖昧さが原因のことが多い)
- 日本語で聞いているのに英語で返ってくる(言語指定の漏れ)
それぞれの原因と対処法を順に解説します。
原因1:指示が曖昧すぎる
最も多い原因はプロンプトの曖昧さです。人間同士の会話では文脈から補完できる部分も、Claude にとっては明示的な情報が必要です。
症状の例
❌ おかしい出力になるプロンプト例
「商品説明を書いて」
→ Claudeは対象商品・ターゲット・文字数・トーンを推測するしかない
→ 「一般的な商品説明文」として無難な内容を返してしまう
解決手順
Step 1: 「誰に・何を・どのように・どのくらい」を明示する
✅ 改善後のプロンプト例
以下の条件で商品説明を書いてください。
商品: スマートフォン向けノイズキャンセリングイヤフォン
ターゲット: 20〜30代のテレワーク社員
文字数: 200文字以内
トーン: 親しみやすく、機能的なメリットを強調
出力形式: 本文のみ(ラベルや見出しは不要)
Step 2: 期待する出力の「具体例」を与える(few-shot prompting)
✅ 例示付きプロンプト
以下の例と同じスタイルで商品説明を書いてください。
【例】
商品: ワイヤレスマウス
説明: 長時間の作業も疲れない軽量設計。2.4GHz接続で遅延なし、充電不要の単3電池タイプ。
【依頼】
商品: ノイズキャンセリングイヤフォン
説明:
プロンプトの書き方の基礎は「Claude のプロンプトの書き方 — 初心者でもすぐ使える7つのコツ」も参照してください。
原因2:ハルシネーション(誤情報・存在しない情報)
Claude を含む AI は、知識にない情報を「それらしく」生成することがあります。これをハルシネーションといい、特に以下のケースで発生しやすいです。
- 最新情報(学習データのカットオフ以降の出来事)
- マイナーな固有名詞・書籍・論文・人物
- 数値・統計・日時などの具体的な事実
解決手順
Step 1: 「知らない場合は正直に言ってください」と指示する
✅ ハルシネーション抑制プロンプト
以下の質問に答えてください。
もし確かな情報がない場合は「情報がありません」と正直に回答し、
推測で答えないようにしてください。
質問: 2025年12月にリリースされたAnthropicの新モデルについて教えてください。
Step 2: 参考情報を添付して「この範囲で答えてください」と限定する
✅ ソース限定プロンプト
以下の文章だけを根拠として、質問に答えてください。
文章に記載がない情報は「記載なし」と答えてください。
【参考文章】
(ここにコピーしたテキストを貼り付ける)
【質問】
このリリースの主な変更点は何ですか?
Step 3: 回答の信頼度を自己評価させる
✅ 信頼度評価プロンプト
回答の末尾に、情報の確実度を「確実・やや不確実・不確実」の3段階で
表記してください。不確実な箇所は根拠も添えてください。
Claude のハルシネーションについては「Claude AIプロンプトエンジニアリング実践テクニック2026」で詳しく解説しています。
原因3:フォーマット指示が伝わっていない
「JSON形式で出力して」と言ったのに普通の文章が返ってきた、箇条書きを頼んだのに段落文章になった——こうしたフォーマット問題の解決策です。
解決手順
Step 1: フォーマットをプロンプトの冒頭か末尾に明示する
✅ JSON出力指示の例
以下の人物情報をJSON形式で出力してください。
余分な説明文は不要です。JSONのみを返してください。
名前: 田中 太郎
年齢: 32歳
職業: エンジニア
期待する形式:
{
"name": "...",
"age": ...,
"occupation": "..."
}
Step 2: 出力の開始文字を指定する(特にAPIを使う場合)
# API利用時のプロンプト例
prompt = """
人物情報をJSON形式で出力してください。
必ず { から始めてください。
名前: 田中 太郎
年齢: 32歳
"""
# Claudeに「{」を出力させることで、JSONモードを誘導できるStep 3: Claude の構造化出力(Structured Output)機能を使う
API を利用している場合は、公式の Structured Outputs でスキーマを指定すると安定します。
原因4:コンテキストが長くなりすぎている
会話が長くなると、Claude は早い段階の指示を「忘れて」しまうことがあります。特に以下の状況で起きやすいです。
- 長い会話の途中でルールを変更した
- 大量のテキストを貼り付けて処理させている
- 複数の異なるタスクを1つの会話で行っている
解決手順
Step 1: 重要な指示は毎回のメッセージの冒頭に再掲する
✅ 指示を再掲するパターン
【前提条件(毎回確認)】
・回答は日本語で
・200文字以内
・箇条書き形式
【今回の質問】
〇〇について教えてください。
Step 2: 新しいチャットを開始して指示をリセットする
長い会話でのズレは、新しいセッションを始めてSystem Prompt 相当の前提を再設定するのが最も効果的です。
Step 3: Projects 機能を活用する
Claude の「Projects」機能を使うと、カスタム指示をプロジェクト単位で永続化できます。毎回同じ前提を書く手間がなくなります。
原因5:言語・地域の指定が漏れている
「日本語で聞いたのに英語で返ってきた」という場合は、明示的な言語指定がないことが原因です。
解決手順
✅ 言語指定の例
必ず日本語で回答してください。
質問: What is the difference between Claude and ChatGPT?
あるいは、System Prompt(API利用時)に言語設定を入れておく方法もあります:
system_prompt = """
あなたは日本語専用のアシスタントです。
ユーザーの入力言語に関わらず、必ず日本語で回答してください。
"""原因6:複数のタスクを一度に依頼しすぎている
「要約して、翻訳して、ポイントもまとめて、タイトルも考えて」——1つのメッセージに複数の異なる指示を詰め込むと、一部の指示が抜け落ちることがあります。
解決手順
Step 1: タスクを分割して順番に依頼する
✅ タスク分割の例
Step 1: 「以下の文章を200文字で要約してください」
→ 出力確認
Step 2: 「その要約を英語に翻訳してください」
→ 出力確認
Step 3: 「英語タイトルを3案考えてください」
Step 2: 番号付きで指示する(全部まとめて頼む場合)
✅ 番号付き指示
以下の3つのタスクを順番に実行し、それぞれ番号を付けて出力してください。
1. 以下の文章を200文字で要約する
2. 要約を英語に翻訳する
3. 英語タイトルを3案考える
【対象文章】
(ここに文章を貼り付ける)
解決できたかの確認方法
修正したプロンプトで期待通りの出力が得られているか、以下のチェックリストで確認してください。
- 回答の言語は指定通りか
- フォーマット(JSON・箇条書き・表など)は崩れていないか
- 長さ・文字数は指示した範囲内か
- ファクトチェックが必要な数値・固有名詞は別途確認したか
- 「知らない」場合に正直に答えているか
それでも解決しない場合は「Claude が動かない?初心者がよくハマるエラーと解決法 FAQ」や「Claudeの返答が途中で止まる・文字化けする原因と完全対処法」も参照してみてください。
予防策:再発を防ぐベストプラクティス
プロンプトテンプレートを作る
うまくいったプロンプトはメモしておき、テンプレートとして再利用します。特に「前提条件・指示・出力形式」の3点セットをワンパターン化すると品質が安定します。
重要な用途には Projects を活用する
同じ設定で繰り返し使うタスク(ライティング・翻訳・コード生成など)は、Projects にカスタム指示を保存しておくと、毎回同じ品質の出力が得られます。
APIを使う場合はシステムプロンプトを整備する
アプリ開発などで Claude API を使う場合は、System Prompt に「言語・フォーマット・禁止事項・回答スタイル」を明記しておくと、ユーザーが何を聞いても一定品質の回答を維持できます。
全体を振り返って
Claudeの出力が意図と違う場合、ほとんどのケースはプロンプトの明確化で解決できます。
- 曖昧な指示 → 「誰に・何を・どのように・どのくらい」を明示
- ハルシネーション → 「知らない場合は言って」+ソース限定
- フォーマット崩れ → 期待する形式の例を示す
- 会話の長期化 → 新しいセッションで指示をリセット