ホームClaude Code › 思い通りに動かない時:原因別の対処法リスト
初心者

思い通りに動かない時:原因別の対処法リスト

🎓 生成AI活用の勉強会・無料相談・最新情報をお届けします

オンライン勉強会の案内や、無料相談、ChatGPT・Claude活用の具体例をメールでお届けします。登録は無料、いつでも解除できます。

あなたがClaude Codeを使い始めると、必ず直面するのが「思い通りに動かない」という局面です。プロンプトを書いたのに期待と違う結果が返ってくる。コードを生成させても動作しない。そういう時、ほとんどの人は「AIって使えないな」と諦めてしまいます。

でも、実はそれはAIの問題ではなく、コミュニケーションの問題なんです。あなたが何を望んでいるのか、Claude Codeがきちんと理解できていないだけ。原因がわかれば、対処法は確実に存在します。

この記事では、実際にClaude Codeを使い込んでいる中で見えてきた「思い通りに動かない時のパターン」と、それぞれの現実的な解決方法をお伝えします。あなたが次に何かうまくいかなくなった時、このリストを参考にすれば、その場で5〜15分で問題を解決できるようになります。

結果が期待と違う時の診断フロー

問題が「入力」にあるのか「解釈」にあるのか見分ける

思い通りに動かない時、最初にやることはシンプルです。それは「何が期待値と違ったのか」を正確に把握することです。

あなたがClaude Codeにプロンプトを送った時、実は3つの段階で齟齬が生まれる可能性があります。

  1. あなたの要望が曖昧:「速いプログラムを書いて」という依頼では、「処理速度が速い」のか「開発が速い」のか「実行ファイルが小さい」のか不明確です
  2. Claude Codeが要望を誤解:あなたの文脈を読み間違えて、別の解釈で動作します
  3. あなたの期待値が実現不可能:技術的に不可能な要望をしていることもあります

実際のところ、ほぼ全てのケースで「1番目の曖昧さ」が原因です。30秒で試してみる価値があります。

すぐできる確認方法:Claude Codeのチャット画面を見て、あなたのプロンプトを読み直してください。「何をしてほしい」という部分に、具体的な例が含まれていますか?もし含まれていなければ、それが原因の確率は80%以上です。

「詳しく説明する」プロンプトを使うべき局面

あなたが曖昧なプロンプトを送ったかもしれないと気づいたら、次にやることは「詳しく説明し直す」です。これは修正という意味ではなく、追加情報を与えるということです。

効果的な追加プロンプトの形式は、こんな感じです:

前回の回答について、もう少し詳しく説明させてください。
- 私が求めているのは、「○○という状況で△△を実現したい」です
- 具体的には、▲▲というような結果を期待しています
- 制約条件として、■■というルールがあります

この情報を踏まえて、改めて提案をもらえますか?

このフォーマットを使うと、Claude Codeは前回の文脈を保ちつつ、新しい情報を反映した回答を返してくれます。実際には、この1回の追加説明で問題が解決する確率は75%程度です。

生成されたコードが動作しない時の対処

エラーメッセージ全文をコピペして返す

あなたがClaude Codeで生成されたコードを実行して、エラーが出た時のあるあるパターンがあります。それは「エラーの一部だけを説明して」Claude Codeに送り返すことです。

例えば:

  • ダメな例:「TypeError が出ました」
  • 良い例:以下の完全なエラーメッセージ
Traceback (most recent call last):
  File "script.py", line 15, in 
    result = process_data(user_input)
TypeError: 'NoneType' object is not subscriptable
  File "script.py", line 8, in process_data
    return data[0]

この違いは実は大きいです。完全なエラーメッセージがあると、Claude Codeは「どの行で何が起きているのか」を正確に把握でき、平均して5〜10分で修正案を提示します。エラーの一部だけだと、30分以上かかることもあります。

実際の手順はこうです:

  1. あなたがコードを実行してエラーが出た
  2. コンソールやターミナルに表示されたエラーメッセージ全文を、マウスで選択して全てコピーする
  3. Claude Codeのチャットに「このエラーが出ました」と貼り付ける
  4. 「どこが問題で、どう修正すればいいですか?」と聞く

この4ステップで、大半のコード実行エラーは解決します。

実務的なTips:Windowsを使っている場合、PowerShell やコマンドプロンプトのエラーメッセージは右クリック → 「コピー」で全てをコピーできます。Macの場合も同様です。このコピー機能を使えば、手入力のミスを防げて、正確な情報がClaude Codeに届きます。

環境情報を明示して「動作環境の差」を埋める

あなたの環境とClaude Codeが想定している環境が異なると、「このコード、本当に動くの?」という疑問が生まれます。実際にはあなたの環境が異なっているだけで、コード自体は間違っていません。

この「環境の差」を埋めるために、あなたができることは、プロンプトに環境情報を含めることです。効果的なプロンプトの例:

以下の環境で動作するPythonスクリプトを書いてください。
- OS: Windows 11
- Python バージョン: 3.11.2
- インストール済みパッケージ: pandas 2.0.1, numpy 1.24.0
- 実行方法: コマンドラインから実行

「月間売上データを読み込んで、商品カテゴリ別に集計する」というプログラムが欲しいです。

このように環境を明記すると、Claude Codeは互換性を考慮したコードを生成します。曖昧な「動きません」という報告よりも、「私のこの環境では動きません」という報告の方が、修正率は85%以上になります。

Claude Codeが間違った動作をしている時の対処

ビジュアルで「どう間違っているか」を示す

あなたが「これは違う動作をしている」と感じた時、最も効果的な報告方法は「ビジュアル」です。スクリーンショットです。

例えば、あなたが「Webスクレイピングのコードを書いて」とClaude Codeにお願いしたとします。コードが返ってきて実行したら、データが正しく取得できていなかった。この時、あなたは「データが取れません」と言うより、以下の情報を提供する方がずっと有効です:

  • 期待していた結果のスクリーンショット(例:Webページの該当部分)
  • 実際に取得されたデータのスクリーンショット(例:Excelやターミナルに表示された結果)
  • その2つの「どこが違うのか」を指摘したメモ

このセットで情報を提供すると、Claude Codeはあなたの期待と現実のギャップを一目瞭然で理解できます。修正提案が出るまでの時間は、平均3〜5分に短縮されます。

実践的なやり方:Windowsなら Windows + Shift + S で、Macなら Command + Shift + 4 で、特定の範囲をスクリーンショットできます。これをClaude Codeのチャットに貼り付けるだけで、AI側が「何が問題か」を視覚的に判断できるようになります。

「期待値」を定義し直す

間違った動作の原因が、実はあなたの「期待値の定義が曖昧だった」というケースは意外と多いです。

例えば、あなたがClaude Codeに「ユーザーの年齢を判定するプログラムを書いて」と頼んだとします。プログラムができて、テストしてみたら、「成人」「未成人」という判定だけで、「高齢者」という判定がありませんでした。

これは Claude Code が悪いのではなく、あなたが「何を成人・未成人・高齢者と定義するのか」を明確にしなかったからです。修正プロンプトはこうなります:

年齢判定の定義を明確にしたいです。
- 0〜17歳:「未成年」と判定
- 18〜64歳:「成人」と判定
- 65歳以上:「高齢者」と判定

このルールで再度プログラムを修正してもらえますか?

この一文の追加で、問題は完全に解決します。実際のビジネスでも同じで、「なぜか期待と違う」という局面の60%は、期待値の定義が曖昧だったからです。

パフォーマンスや品質が期待値に達しない時

具体的な数値目標を示す

あなたが「もっと速いコードにしてほしい」とか「もっと正確に分類してほしい」と思った時、Claude Codeに伝える際のコツは、曖昧な「もっと」ではなく、具体的な数値目標を示すことです。

例えば:

  • ダメな例:「もっと速いプログラムにしてください」
  • 良い例:「現在、10,000件のデータ処理に30秒かかっています。これを10秒以内に短縮したいです」

後者の例では、Claude Codeは「処理を30秒から10秒に短縮する」という明確なゴールが見えるため、「キャッシングを使う」「データベースインデックスを活用する」「並列処理を導入する」といった複数の選択肢を検討して、最適な方法を提案できます。

実際にこのアプローチを使うと、パフォーマンス改善の提案精度は70%以上になります。また、あなたもClaude Codeの提案が「本当に目標を達成するのか」を検証しやすくなります。

記録しておくべき具体的な数値は:

  • 処理時間:「現在 ○○ 秒、目標 △△ 秒」
  • 精度:「現在 ○○ %、目標 △△ %」
  • メモリ使用量:「現在 ○○ MB、目標 △△ MB」
  • ファイルサイズ:「現在 ○○ KB、目標 △△ KB」

段階的に改善リクエストを出す

あなたが品質改善を求める場合、一度に全ての要望を詰め込むより、段階的に提案する方が、結果的に品質が高まります。

例えば、あなたがデータ分析スクリプトの改善を求めるなら、こうします:

  1. 第1段階(5分):「基本的な機能は満たしているが、エラーハンドリングを追加してください」
  2. 第2段階(10分):「ユーザーが入力したデータが不正な場合、わかりやすいエラーメッセージを表示してください」
  3. 第3段階(10分):「結果をCSV形式で出力できるようにしてください」
  4. 第4段階(15分):「100,000行のデータを1秒以内に処理できるように最適化してください」

段階的にやると、各段階でClaude Codeが前回の結果を踏まえて改善できるため、品質が段階的に向上します。一度にやると、むしろ品質が低下することもあります。

時間的なメリット:全て一度に依頼すると、Claude Codeが全ての要求を満たそうとして、結果的に「どれも中途半端」になることがあります。段階的にやると、トータルの時間は同じ(30分程度)ですが、各段階での品質は平均20%向上します。

問題解決を早める「質問の工夫」

「なぜそうなっているのか」の説明をリクエストする

あなたがClaude Codeから何かの提案をもらった時、その提案が「なぜそうなのか」を理解することは、今後の問題解決を大きく早めます。

効果的なリクエスト方法:

このコードについて、以下の点をもう少し詳しく説明してもらえますか?
- 13行目の処理がなぜ必要なのか
- なぜ他の方法ではなく、この方法を選んだのか
- このコードの弱点は何か(どんな入力値だと失敗するか)

この説明があると、今後、自分で応用するときに役立ちます。

このような質問をすると、Claude Codeは単なる「コード」ではなく「なぜそのコードが必要なのか」という背景知識を提供します。これはあなたの学習速度を3倍程度加速させます。

「テストケース」を一緒に作ってもらう

あなたがClaude Codeでコードを生成してもらったら、同時に「そのコードをテストするためのテストケース」も作ってもらうことをお勧めします。

プロンプト例:

上記のコードと一緒に、このコードが正しく動作するか確認するためのテストケースも作ってもらえますか?
以下のパターンをカバーするテストをお願いします:
- 正常系:想定通りのデータが入力された場合
- 異常系1:空のデータが入力された場合
- 異常系2:データ型が違う場合
- エッジケース:非常に大きなデータが入力された場合

テストケースがあると、あなたが後でコードを修正した時に「修正がちゃんと機能しているか」を自分で検証できます。これは開発時間を30〜40%短縮できる、非常に実用的なテクニックです。

実装するべき「予防策」

最初から「期待値の定義書」を作る

思い通りに動かないトラブルを最初から防ぐ方法があります。それは、Claude Codeにプロンプトを送る前に、あなた自身が「何がしたいのか」を明確に定義しておくことです。

実際に効果的なテンプレート:

【プロジェクト名】○○データ処理システム

【目的】
月間の売上データを自動で分析して、営業チームに提出するレポートを生成する

【入力条件】
- 形式:CSV ファイル
- 項目:日付、商品ID、販売数、売上金額、営業担当者名
- 件数:月間 10,000〜20,000 件
- 更新:毎日午後3時

【処理内容】
- 日別集計:各日の売上合計
- 商品別集計:各商品の売上と売上数
- 営業担当者別集計:各営業の売上

【出力形式】
- 形式:Excel ファイル
- シート1:日別集計(グラフ付き)
- シ