Claude Codeを使っていて「なんか思った通りに動いてくれない」と感じることはありませんか。
実はこれ、Claude Codeの問題ではなく「指示の出し方」に原因があることがほとんどです。
Claude Codeを使い込んでいくと、上手く使える人と使えない人の差は「ツールの知識」よりも「指示の質」に大きく依存していることがわかってきます。この記事では、指示が下手な人がよくやってしまうパターンと、指示が上手い人の思考法・書き方の違いを具体例で解説します。
指示が「下手な人」がよくやる5つのパターン
パターン1:ゴールではなく手順を指示してしまう
下手な例:「Pythonを使ってforループでCSVを読み込んでdictに格納してください」
上手い例:「customers.csvの顧客データを読み込んで、メールアドレスをキーにした辞書形式で扱えるようにしてください」
前者は「どうやるか(手順)」を指示しています。後者は「何が欲しいか(ゴール)」を指示しています。Claude Codeは「ゴール」を与えた方が、文脈に合った最適な実装を選んでくれます。手順を細かく指定すると、むしろClaude Codeの判断を縛ってしまいます。
パターン2:曖昧な言葉を使い続ける
下手な例:「このデータをいい感じに整理してください」
上手い例:「このデータを日付の昇順に並び替えて、商品カテゴリ別にグループ化してください。カテゴリ内はさらに売上金額の降順にしてください」
「いい感じ」「うまく」「きれいに」という言葉は人によって解釈が異なります。Claude Codeにとっても同様で、曖昧な指示は曖昧な結果につながります。具体的な状態・条件・順序で表現することが重要です。
パターン3:コンテキストを省略しすぎる
下手な例:「バグを直してください」
上手い例:「ユーザーがログインボタンを押したとき、メールアドレスに半角スペースが含まれていると『Invalid email』エラーが出ます。入力値の前後のスペースをトリムする処理を追加してください」
「何を」「どんな状況で」「どう直すか」という情報が揃っていないと、Claude Codeはどのファイルのどのコードに何をするのかが判断できません。エラーが出ている場合はエラーメッセージも一緒に貼るのが基本です。
パターン4:一度に複数の別件を混ぜてしまう
下手な例:「loginのバグを直して、それとダッシュボードのデザインも変えて、あとDBのインデックスが遅いらしいので最適化もお願いします」
上手い例:まずログインのバグを一件ずつ解決する。次のセッションでダッシュボード、その次でDB最適化。
複数の関連性のない作業を一度に指示すると、どれかが不完全になったり、片方の変更がもう片方に影響したりすることがあります。作業は1セッション1テーマに絞るのが原則です。
パターン5:失敗したときに「なぜ失敗したか」を伝えない
下手な例:(動かなかったので)「もう一度やってください」
上手い例:「実行したところ『TypeError: Cannot read properties of undefined』というエラーが出ました。これが出た状況はusersがnullのときです。nullチェックを追加して対処してください」
「もう一度やって」だけでは同じ失敗が繰り返されます。「何が起きたか」「どういう状況で起きたか」をフィードバックすることで、Claude Codeは修正の方向性を正確に掴めます。
指示が「上手い人」がやっていること
ゴールと制約を分けて伝える
上手い指示は「ゴール(何を達成したいか)」と「制約(守ってほしい条件)」が明確に分かれています。
例:「新しい管理画面のコンポーネントを追加してください(ゴール)。既存のデザインシステムの色・フォント・間隔を必ず踏襲し、新たなnpmパッケージは追加しないでください(制約)」
ゴールだけ伝えると自由度が高すぎて既存の設計と合わないものが返ってきます。制約だけ伝えると何をゴールにしているかが伝わりません。両方をセットで伝えることで、欲しいものが一発で出やすくなります。
完成形のイメージを言葉で描写する
抽象的な指示より、完成した状態を具体的に描写する方が伝わります。
例:「お問い合わせフォームを作ってください」より「名前・メールアドレス・お問い合わせ内容の3項目があり、送信後に『送信しました』のメッセージが表示され、同時に指定のメールアドレスに通知が届くお問い合わせフォームを作ってください」の方が、意図が正確に伝わります。
「確認して」「提案して」「実行して」を使い分ける
指示のアクションを明確にすることも大切です。
「実行してください」→即座に処理を開始する。「提案してください」→選択肢を出してもらい自分で判断する。「確認してください」→方針の妥当性を先にチェックしてもらう。
この使い分けによって、想定外の方向に突き進まれるリスクを減らせます。特に不可逆な操作(ファイルの削除・本番環境への変更など)の前には「まず方針を提案して」という一言を入れる習慣が重要です。
前回うまくいった表現を繰り返し使う
「この指示の仕方でうまくいった」という体験を積み重ねて、自分なりの「型」を作っていきましょう。
例えば「〇〇という目的で△△を作ってください。制約として□□があります。完成したら動作確認を行い、問題なければコミットしてください」という型が決まると、毎回考える手間が減って精度も上がります。
「何がわからないか」を先に聞く
複雑な依頼をするとき、いきなり実行を依頼するより「この作業を進めるにあたって、不明な点や追加で教えてほしい情報はありますか?」と先に確認する方が最終的な精度が上がることがあります。
Claude Codeが疑問点を洗い出してくれるので、それに答えてから「では実行してください」と進むことで、一発で高精度な結果が得られます。
CLAUDE.md で「上手い指示」を仕込んでおく
プロジェクト固有の「上手い指示」はCLAUDE.mdに書いておくことで、毎回同じことを説明しなくて済みます。
CLAUDE.mdに書いておくと効果的な内容として、よく使う変数名・関数名の命名規則、このプロジェクトで使用しているフレームワークとバージョン、やらないことの制約(新しいライブラリの追加禁止など)、コミットメッセージのフォーマット、テストコードを必ず書くという方針などがあります。
CLAUDE.mdをしっかり書いておくことで、指示の精度が全体的に上がります。
まとめ:指示の質を上げることが最高の効率化
Claude Codeのパフォーマンスを最大化するために最も効果的なのは、ツールの機能を覚えることより「指示の質を上げること」です。
今日から試してほしい3つの改善ポイントです。
- 「どうするか」より「何が欲しいか」でゴールを伝える
- 曖昧な言葉を使わず、具体的な状態・条件・数値で表現する
- エラーが出たときはエラーメッセージと状況を必ずセットで伝える
この3つだけでも、Claude Codeとのやりとりが今より確実に変わります。使い始めて間もない方こそ、この「指示の質」を意識するだけで成果が大きく変わりますので、ぜひ試してみてください。