効果的なプロンプトのコツ
Claude Code からより良い結果を得るには、伝え方が重要です。このページでは、Claude に的確な指示を出すためのテクニックを紹介します。プログラミング経験がなくても使えるコツばかりです。
コツ 1: 具体的に伝える
あいまいな指示よりも、具体的な指示の方が良い結果が得られます。
悪い例と良い例
悪い例
> Webサイトを作って何のサイト?どんなデザイン?どんな機能? Claude は推測するしかありません。
良い例
> 個人ブログのトップページを作ってください。
> - タイトル: 「田中のテックブログ」
> - 記事一覧を3件カード形式で表示
> - 各カードにはタイトル、日付、概要を含める
> - レスポンシブ対応(スマホでは1カラム)
> - 色はダークブルー系何をどう作るかが明確なので、意図通りの結果が得られやすくなります。
もう一つの例
悪い例
> このコードを直して良い例
> @src/utils/api.ts の fetchUsers 関数でエラーが発生しています。
> 以下のエラーメッセージが出ます:
> "TypeError: response.data is not iterable"
> API のレスポンス形式が { users: [...] } に変わったようです。
> この新しい形式に対応するよう修正してください。コツ 2: まず調査してから変更する
コードを変更する前に、まず Claude にプロジェクトを調べてもらいましょう。
推奨される流れ
> まず、このプロジェクトの認証の仕組みを説明してください。
> コードの変更はまだしないでください。
現在の認証の仕組みは以下の通りです:
1. ユーザーがログインフォームから認証情報を送信
2. src/api/auth.ts の login() が API にリクエスト
3. レスポンスの JWT トークンを localStorage に保存
4. 以降のAPIリクエストに Authorization ヘッダーを付与
...
> なるほど。では、トークンの保存先を localStorage から
> httpOnly Cookie に変更したいです。
> どのファイルを変更する必要がありますか?
以下のファイルの変更が必要です:
1. src/api/auth.ts - トークンの保存/取得ロジック
2. src/api/client.ts - ヘッダー付与の変更
3. server/middleware/auth.ts - Cookie の設定
...
> わかりました。では、その3つのファイルを順番に修正してください。なぜ「まず調査」が大切か
いきなり「変更してください」と言うと、Claude が全体像を把握しないまま変更を始めてしまうことがあります。「まず説明して」「変更はまだしないで」と伝えることで、より適切な変更が期待できます。
コツ 3: ステップバイステップで指示する
複雑な作業は、小さなステップに分けて依頼しましょう。
悪い例
一度に全部を頼む
> ユーザー管理画面を作って。ログイン、登録、プロフィール編集、
> パスワード変更、アカウント削除、管理者権限、ログ出力、
> メール通知、二要素認証、全部お願いします。良い例
段階的に進める
> ユーザー管理機能を作りたいと思います。
> まずはステップ 1 として、シンプルなログインフォームを作ってください。
> メールアドレスとパスワードの入力欄、ログインボタンだけで OK です。動作確認後:
> ログインフォームが動きました!
> 次に、ステップ 2 として新規登録フォームを作ってください。
> 名前、メールアドレス、パスワード、パスワード確認の4フィールドで。さらに:
> 登録も動きました。
> ステップ 3 として、プロフィール編集画面を作ってください。コツ 4: コンテキスト(背景情報)を伝える
Claude に状況や背景を伝えると、より適切な回答が得られます。
技術的なコンテキスト
> このプロジェクトは React 18 + TypeScript で書かれています。
> 状態管理には Zustand を使っています。
> UIライブラリは使っていません(CSS Modulesで自前実装)。
>
> この前提で、ショッピングカート機能を作ってください。目的を伝える
> 社内ツールとして使うので、デザインは最低限で構いません。
> セキュリティよりも使いやすさを優先してください。
> ユーザーは全員社内の人間です。制約を伝える
> 外部ライブラリは追加せず、標準機能だけで実装してください。
> Internet Explorer はサポート不要です。モダンブラウザのみ対応で OK です。
> このファイルは他のチームも使っているので、既存の関数は変更せず、
> 新しい関数を追加する形でお願いします。コツ 5: 「ステップバイステップで考えて」を使う
難しい問題を解くとき、Claude に「ステップバイステップで考えて」と伝えると、より丁寧に分析してくれます。
> このコードにパフォーマンスの問題があるようです。
> ステップバイステップで原因を分析してください。
> まだ修正はしないでください。Claude は以下のように段階的に分析します。
パフォーマンスの問題を段階的に分析します。
ステップ 1: レンダリングの確認
- TodoList コンポーネントが毎秒再レンダリングされています
- 原因: 親コンポーネントの state が頻繁に更新されている
ステップ 2: データフェッチの確認
- useEffect 内で API コールが無限ループしています
- 依存配列に毎回新しいオブジェクトが入っている
ステップ 3: メモ化の確認
- 重い計算が useMemo なしで実行されている
- フィルタリング処理が毎レンダリングで走っている
結論: 主な原因は2つ...コツ 6: 拡張思考(Extended Thinking)を活用する
Claude Code には拡張思考という機能があります。複雑な問題に取り組むとき、Claude がより深く考えてから回答します。
思考の深さを指定する
プロンプトの中で、Claude にどれくらい深く考えてほしいかを伝えることができます。
> このバグの原因を深く考えて分析してください
> じっくり検討してから、最適なアーキテクチャを提案してください
> すべてのエッジケースを考慮して実装してください拡張思考が役立つ場面
- 複雑なバグの原因特定
- アーキテクチャの設計判断
- セキュリティに関わるコードのレビュー
- パフォーマンス最適化の方針検討
コツ 7: 努力レベルを調整する
タスクの重要度に応じて、Claude に求める努力レベルを変えることができます。
軽いタスク(低い努力レベル)
> ファイル名のタイポを直してください。簡単な修正です。
> このコメントを日本語に翻訳してください。通常のタスク(標準の努力レベル)
> @src/components/UserList.tsx にソート機能を追加してください。
> 名前順と日付順で切り替えられるようにしてください。重要なタスク(高い努力レベル)
> 認証システム全体を見直してください。
> セキュリティ上の問題がないか、すべてのファイルを確認して、
> 問題があれば修正案をまとめてください。
> これは本番環境に影響する重要な変更です。プロンプトのテンプレート集
すぐに使えるプロンプトのテンプレートを紹介します。
コードレビューを依頼する
> @src/api/users.ts をレビューしてください。
> 以下の観点で確認してほしいです:
> - エラーハンドリングは適切か
> - セキュリティ上の問題はないか
> - パフォーマンスの改善点はあるか
> まだ変更はしないでください。リファクタリングを依頼する
> @src/utils/helpers.ts を読みやすくリファクタリングしてください。
> 以下のルールに従ってください:
> - 関数名は動詞で始める
> - 1つの関数は20行以内
> - TypeScript の型を正確につける
> - JSDoc コメントを追加するバグ修正を依頼する
> 以下のエラーが発生しています:
>
> Error: Cannot find module './components/Header'
> at src/App.tsx:3:1
>
> 原因を特定して修正してください。
> 修正前に原因の説明をお願いします。新機能の実装を依頼する
> 検索機能を追加したいです。
>
> 要件:
> - 画面上部に検索バーを配置
> - リアルタイムで結果をフィルタリング
> - 検索対象: タイトルと本文
> - 結果が0件のときは「見つかりませんでした」と表示
>
> まず、実装方針を説明してください。
> 方針に問題なければ、実装に進みます。やってはいけないこと
1. 説明なしでファイルだけ投げる
DANGER
> @src/app.ts何をしてほしいのか分かりません。
TIP
> @src/app.ts のエラーハンドリングが不十分です。
> try-catch を追加して、ユーザーにエラーメッセージを表示してください。2. 曖昧な修正依頼
DANGER
> いい感じにしてTIP
> コードのインデントを統一し、未使用の変数を削除してください。
> また、関数に JSDoc コメントを追加してください。3. 確認せずに次々変更を進める
DANGER
各ステップの結果を確認せずにどんどん進めると、問題が積み重なります。
TIP
各ステップで動作確認をしてから、次に進みましょう。
> まず、ログインフォームだけ作ってください。動作確認してから次に進みます。まとめ
| コツ | ポイント |
|---|---|
| 具体的に伝える | 何を、どんなデザインで、どんな動作で、を明確にする |
| まず調査する | 「まず説明して、変更はまだしないで」 |
| ステップバイステップ | 複雑な作業は小さく分けて依頼する |
| コンテキストを伝える | 技術スタック、目的、制約を事前に伝える |
| 深く考えてもらう | 「ステップバイステップで考えて」と指示する |
| 拡張思考を活用 | 重要な問題には深い分析を求める |
| 努力レベルを調整 | タスクの重要度に応じて指示の詳しさを変える |
次のステップ
効果的なプロンプトのコツを学んだら、次は Step 4: 実践的な開発 に進みましょう。バグ修正やリファクタリングなど、実際の開発現場で使えるスキルを学びます。