ホームClaude Code › Claude Codeへの指示の出し方:うまくいく7つのパターン
初心者

Claude Codeへの指示の出し方:うまくいく7つのパターン

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

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

Claude Codeを使い始めたばかりだと、何をどう指示すればいいのか戸惑いますよね。単に「コード書いて」と言ってもうまくいきませんし、あまり詳しく説明しすぎると余計なことをされたり、逆に不十分な結果が返ってきたり。

実は、Claude Codeへの指示には「コツ」があります。適切に指示を出すことで、返ってくるコードの質が劇的に変わります。私が実際に使ってみたところ、同じ内容でも指示の方法次第で、修正が最小限で済むコードがすぐに手に入ることもあれば、何度も修正が必要になることもあります。平均して、良い指示を出せば初回から70〜80%の精度でやりたいことが実現できます。悪い指示だと20〜30%程度に落ち込みます。

そこで今回は、Claude Codeを毎日使い込んでいる私が、「実際にうまくいった指示パターン」を7つ厳選して紹介します。これらを覚えておくと、あなたのコード生成タスクは確実に効率化します。

パターン1:目的を最初に明確にする

なぜ「やりたいこと」を最初に言うのか

Claude Codeに指示を出すとき、多くの人が「こういう機能を持つコードをください」と直結的に頼みます。でも、実は一番大事なのは「そのコードで何を達成したいのか」という背景情報です。

背景を知ると、Claude Codeは単なる機能実装だけでなく、より実用的な設計を提案してくれます。例えば、「CSV形式のデータを処理するスクリプト」と言うのと、「営業記録を毎日自動集計して、月間売上目標との進捗を把握するスクリプト」と言うのでは、返ってくるコードが全く違います。後者の場合、エラーハンドリングやログ出力、重複排除といった実務的な要素が自動的に組み込まれます。

実際の指示例

悪い例:

Pythonで複数のHTMLファイルをスクレイピングするコードを書いてください

良い例:

Pythonで複数のHTMLファイルをスクレイピングしたいです。目的は、競合他社の商品情報(商品名、価格、説明文)を毎週自動で取得して、CSVに保存し、価格変動を監視することです。重複排除とエラーハンドリングは必須です。

良い例では、Claude Codeが「価格変動を監視する」という目的を理解しているので、データベース化のメリットや、定期実行の方法まで提案してくれる可能性が高まります。

POINT: 目的を明確にすると、Claude Codeは単なる機能実装者から「パートナー」に変わります。「なぜそれが必要なのか」を20〜30秒で説明するだけで、返ってくるコード品質が3割向上します。

パターン2:入力と出力を具体的に示す

データの形は言葉より例で伝える

Claude Codeに「データ処理をしてほしい」と言うだけでは、入力形式が曖昧です。実際のデータサンプルを1〜2件、そのまま提示することで、一気に精度が上がります。

例えば、JSONデータを処理する場合、「ユーザー情報を抽出してください」と言うより、実際のJSON構造を示す方が、Claude Codeは正確な処理コードを書けます。これに要する時間はわずか30秒〜1分ですが、修正が必要になる確率を50%以上削減できます。

実際の指示例

悪い例:

JSONファイルから顧客の名前とメールアドレスを抽出してください

良い例:

下記のようなJSON構造のファイルから、顧客の名前とメールアドレスを抽出してCSVに出力してください。

入力例:
{
  "customers": [
    {"id": 101, "name": "田中太郎", "email": "tanaka@example.com", "status": "active"},
    {"id": 102, "name": "鈴木花子", "email": "suzuki@example.com", "status": "inactive"}
  ]
}

出力形式:
名前,メールアドレス
田中太郎,tanaka@example.com
鈴木花子,suzuki@example.com

良い例では、入力と出力の両方が明確です。これにより、Claude Codeは迷わずにコードを生成でき、初回の精度は90%以上になります。

POINT: 実際のデータサンプルを提示することで、回り道な修正ループを避けられます。修正に平均20分かかるところが、5分で済むこともあります。

パターン3:制約条件を先に伝える

「〜してはいけない」が重要

Claude Codeに何かを頼むとき、実は「やってはいけないこと」を先に言う方が、効率がいいです。例えば、「外部ライブラリを使わずに」「ファイルを上書きしないで」「実行時間は10秒以内に」といった制約は、コード設計に大きく影響します。

これらを後から「あ、そういえば…」と追加すると、せっかく生成されたコードが使えなくなり、ゼロから書き直しになることも珍しくありません。

実際の指示例

悪い例:

Excelファイルを読み込んで加工するPythonコードをください

良い例:

Excelファイルを読み込んで加工するPythonコードをください。

制約条件:
- 外部ライブラリはPythonの標準ライブラリのみ(pandas, openpyxlは不可)
- 元のExcelファイルは上書きしない。新しいファイルに出力する
- 実行環境はPython 3.8以上
- 処理対象は最大1万行のデータ
- 月1回の月末実行を想定しているので、ログは出力しなくていい

良い例の場合、Claude Codeは「pandasが使えない」という時点で、別のアプローチ(csvモジュールやopenpyxlなど)を検討します。これにより、回数と時間の節約が見込めます。

POINT: 制約条件を事前に伝えることで、完全にやり直しという最悪のシナリオを防げます。修正時間を平均40分→10分に短縮できた事例が複数あります。

パターン4:ステップバイステップで指示を分割する

複雑な要望は分けて伝える

複数の処理を一度に頼むと、Claude Codeの精度が落ちます。特に「データ取得」→「加工」→「分析」→「グラフ化」→「メール送信」みたいに、5段階以上のステップがある場合、一気に頼むと各ステップで細かなズレが生まれます。

代わりに、1段階目のコードを完成させて、それを確認してから次に進むという方法が、トータルの時間短縮につながります。一見、時間がかかるように見えますが、修正ループが減るため、実際には30〜50%の時間削減が可能です。

実際の指示の流れ

Step 1(第1回目の指示):

CSVファイルから顧客データを読み込み、以下の内容で新しいCSVに出力するPythonコードを書いてください。
- 読み込み対象:customer_data.csv(id,name,email,sales の4列)
- 出力形式:clean_data.csv(同じ4列、ただし空白行は削除)
- エラーハンドリング:ファイルが見つからない場合はエラーメッセージを表示

Step 1で生成されたコードが満足できるものになったら、次のステップに進みます。

Step 2(第2回目の指示):

先ほどのコードの後に、さらに以下の処理を追加してください:
- clean_data.csvから「sales」が100以上のレコードのみを抽出
- 合計売上を計算して画面に表示

このように分割することで、各ステップでの精度が85〜95%になり、修正がほぼ不要になります。

POINT: 複雑な要望を3〜5のステップに分けて指示することで、結果的に全体の完成時間が40分→25分に短縮された事例があります。修正ストレスも激減します。

パターン5:参考資料やリファレンスを参照させる

「こんな感じで」という例を見せる力

「こういう形のコードが欲しい」という説明より、実際に動いているコード例や、公式ドキュメントの該当部分をClaude Codeに見せる方が、確実です。Claude Codeは参考資料を理解して、それに合わせたコード生成が得意です。

特に、既に存在する自分のコードベースから「このファイルと同じスタイルで」と指示すると、プロジェクト全体の一貫性が保たれ、後々の統合が簡単になります。

実際の指示例

例:既存コードの参照

以下のcolorizer.pyのコーディングスタイル(関数の名付け、エラーハンドリング、コメント)に合わせて、新しい画像フィルター機能を追加してください。

---(既存ファイルの内容ペースト)---

新機能の仕様:
- 入力:PIL画像オブジェクト
- 出力:セピア色に変換した画像
- エラー時:ColorProcessingErrorを発生させる

既存コードを見ると、Claude Codeはその命名規則やエラーハンドリングの方法、ログ出力のスタイルなどを自動的に学習します。その結果、新しい関数も既存コードと違和感なく統合できるコードが生成されます。

POINT: 参考資料を見せることで、コードの「らしさ」が一貫します。プロジェクト全体として統一感が出るため、後の保守作業が月単位で楽になります。

パターン6:失敗パターンを共有する

「こうなったら困る」を先に伝える

Claude Codeに「どう書いちゃダメか」を示すことで、予期しない動作を防げます。例えば、「このパターンでエラーが出たことがある」「このライブラリのバージョン違いで動かなくなった」といった過去のトラブルを事前に伝えておくと、それを避けたコードが生成されます。

これは特に、チームで同じプロジェクトに複数のAIを使わせる場合に効果的です。「あ、これ前に同じ問題が起きたな」という事態を繰り返し防げます。

実際の指示例

良い例:

ユーザーが入力したテキストをデータベースに保存するコードをください。

注意点(以前のトラブル):
- この機能はMySQL 5.7では文字化けが起きた。8.0を前提に
- 同期的なDB保存では時々タイムアウトする。非同期処理で
- サニタイズが不完全だとSQLインジェクションの脆弱性がある。必ずパラメータ化クエリで

これらを踏まえたうえでコードを書いてください。

失敗パターンを共有することで、Claude Codeは「この人は経験豊富だ」と判断し、より防御的でロバストなコードを生成します。結果、本番環境での予期しないバグが70〜80%減少します。

POINT: 過去の失敗を共有することで、同じミスの繰り返しを防げます。デバッグ時間が月10時間以上削減された事例もあります。

パターン7:性能・品質指標を数値で指定する

「速い」「正確」は相対的。数字で指定しよう

「高速に処理できるコードをください」は曖昧です。代わりに、「1万件のデータを3秒以内に処理」など、具体的な数値目標を指定すると、Claude Codeはそれに向けた最適なアルゴリズムを選択します。

同様に、精度についても「エラー率は1%未満」「99%の正確性」といった指標があると、エラーハンドリングの充実度が自動的に上がります。

実際の指示例

悪い例:

大量のファイルをスピーディに処理するコードをください

良い例:

ローカルディレクトリにある10,000個のテキストファイルを処理するコードをください。

性能指標:
- 処理時間:30秒以内(ファイルサイズ平均1KB)
- メモリ使用量:500MB以下
- エラー率:0.1%未満(読み込み失敗時はスキップ)

環境:
- CPU:4コア、RAM:8GB
- Python 3.10+

良い例では、Claude Codeが「10,000ファイルを30秒」という制約から、マルチプロセッシングやキャッシング、バッチ処理といった最適化手法を判断できます。修正なしで本番環境で動く確率が大幅に上がります。

POINT: 性能指標を数値で指定することで、Claude Codeは最適なアルゴリズムを自動選択します。「それでいいや」というコードではなく、「本当に必要なコード」が返ってきます。

7つのパターンを組み合わせた実例

全パターンを使った完全な指示

これまでの7パターンを全て組み合わせた、現実的な指示例を紹介します。

【目的】
毎週月曜朝7時に、Amazon商品情報を自動スクレイピングして、価格変動を追跡するシステムです。

【現在の状況】
- 既存の価格DB(SQLite)に商品ID、名前、価格、更新日時が保存されている
- 毎週、competitor_products.csvから対象商品リスト(ASIN、URL)を読み込む

【実装してほしい内容】
1. competitor_products.csvを読む
2. 各商品のAmazonページをスクレイピング(BeautifulSoup使用OK)
3. 現在の価格をDB内の前回価格と比較
4. 価格変動があれば、