Skip to content

効果的なプロンプトのコツ

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: 実践的な開発 に進みましょう。バグ修正やリファクタリングなど、実際の開発現場で使えるスキルを学びます。

Anthropic公式ドキュメントを基に作成