プロンプトエンジニアリング

より良いプロンプト。より良いコード。

AI生成コードの品質は、何をどう頼むかにほぼ完全に依存します。このガイドでは、Claude Codeで一貫してより良い結果を生むパターンを紹介します。

タスクのスコーピングからシステムプロンプトまで、反復的改善からロール別指示まで。次のコーディングセッションで使える実践テクニック。

なぜコードにプロンプトエンジニアリングが重要か

人間の開発者に「ログインページを作って」と頼むと、確認の質問をします。認証プロバイダーは? フィールドは? OAuthは必要? エラーメッセージは? ローディング状態は?

AIコーディングエージェントはこれらの質問すべてに自分で答えようとします。正しい場合もあります。多くの場合、合理的だが望んだものとは違うものを推測します。「合理的」と「正確」のギャップを埋めるのがプロンプトエンジニアリングです。

良いプロンプトは長くある必要はありません。重要なことに具体的で、そうでないことには触れない。そのバランスがこのガイドのテーマです。

5つの基本原則

タスクに関わらず結果を改善するパターン。

1

ステップではなく成果を具体的に

「Reactコンポーネントを作成し、状態を追加し、スタイリングする」の代わりに、最終結果を説明: 「プロジェクト名を表示し、ドラッグ並べ替えをサポートし、既存のTailwindテーマを使用する折りたたみ可能なサイドバーを構築して」。到達方法はエージェントに任せましょう。

Avoid

コンポーネントを作成。useStateを追加。トグルボタンを追加。Tailwindでスタイリング。

Better

プロジェクトを名前でリストする折りたたみサイドバーコンポーネントを構築。ドラッグ並べ替えをサポートし、ダークテーマ(bg-[#111318], border-[#262b38])に合わせること。折りたたみ状態はページリロード間で保持。

2

作業範囲を明確に区切る

エージェントは境界を知っているとき最も効果的です。どのファイルに触れるか(または避けるか)、どのパターンに従うか、「完了」がどう見えるかを指定。境界のない作業は、レビューが困難な広範な変更につながります。

Avoid

認証システムをリファクタリングして。

Better

src/api/auth/login.tsのログインハンドラーをリファクタリングし、パスワードハッシュにsha256ではなくbcryptを使用。JWTロジックやセッションCookieの処理は変更しないこと。tests/auth/の関連テストを更新。

3

重要なコンテキストを提供する

Claude Codeはプロジェクトファイルを読めますが、あなたの考えは読めません。従っている規約、好みのライブラリ、確立済みのパターンがあれば伝えましょう。手戻りを防げます。

Avoid

フォームバリデーションを追加して。

Better

zodを使って登録フォームにバリデーションを追加(src/forms/settings.tsの設定フォームで既に使用)。各フィールドの下にインラインエラーメッセージを表示。ログインフォームと同じエラースタイルに従うこと。

4

1プロンプトに1タスク

複合プロンプト(「APIを作り、テストを書き、ドキュメントを更新し、デプロイ」)はエージェントに同時に多くの目標を持たせます。複雑な作業を連続した集中タスクに分割しましょう。各タスクは前の結果に基づきます。

Avoid

ユーザープロフィールページを作り、APIエンドポイントを書き、テストを追加し、READMEを更新し、ついでにナビバーを修正。

Better

GET /api/user/profileエンドポイントを構築。id、name、email、planフィールドを返す。既存の認証ミドルウェアを使用。

5

再開ではなく反復する

最初の結果が正しくなければ、最初からやり直すのではなくプロンプトを改善。Claudeは会話の全コンテキストを保持しています。何が間違っているか、何を変えるか、何を残すかを伝えましょう。反復は再発明より速い。

Avoid

間違っている。最初からやり直してコンポーネントを別の方法で構築して。

Better

レイアウトは良いがモバイルブレークポイントが間違い。768px以下ではグリッドの代わりにカードを垂直に積み重ねて。他はすべてそのまま。

システムプロンプト: 持続するコンテキスト

システムプロンプトは、あなたが何か言う前にエージェントのベース動作を設定します。AIコーディングで最も活用されていないツールです。

システムプロンプトはエージェントに、自分が誰で、何に集中し、何を避けるべきかを伝えます。セッションのすべてのメッセージに適用されます。エージェントの職務記述書と考えてください。

AgentsRoomには14のロール別システムプロンプトが付属しています。フロントエンドエージェントのプロンプトはコンポーネント、アクセシビリティ、レスポンシブデザインに集中するよう指示。QAエージェントのプロンプトはエッジケースを考え、包括的なテストを書くよう指示。カスタマイズや独自作成も可能です。

例: フロントエンドエージェントのシステムプロンプト

あなたはシニアフロントエンド開発者です。Reactコンポーネント、CSS/Tailwindスタイリング、アクセシビリティ(WCAG AA)、レスポンシブデザインに集中してください。新しいコンポーネントを作る前にプロジェクトの既存コンポーネントライブラリを使用。継承より合成を優先。セマンティックHTMLを記述。バックエンドファイルは変更しないこと。

効果的なシステムプロンプトの書き方

  • 役割とその境界を定義。エージェントは何に集中すべきか? 何を無視すべきか?
  • 具体的な技術とバージョンを記載。「Server Components付きReact 19」は「モダンReact」より良い。
  • プロジェクト規約を参照。「状態にはZustandを使用」はReduxやContextを使わないよう指示。
  • 品質期待値を設定。「strictモードのTypeScript、anyは禁止」でショートカットを防止。
  • 否定的制約を含める。「/api/のファイルは変更しない」でエージェントを担当領域に留める。

CLAUDE.md: プロジェクトレベルのコンテキスト

最も効果的なプロンプトはチャットに入力するものではありません。リポジトリに存在します。

CLAUDE.mdはプロジェクトルートにあるmarkdownファイルで、Claude Codeが自動的に読みます。プロジェクト構造、規約、スタック詳細、すべてのエージェントセッションに適用されるガイドラインが含まれます。

「Tailwind CSS 4、Prisma ORM、Next.js 16を使用」を毎回繰り返す代わりに、CLAUDE.mdに一度書きます。すべてのエージェントがこのコンテキストを継承。AgentsRoomにはCLAUDE.mdの組み込みエディターが含まれています。

よく書かれたCLAUDE.mdは、注意深く作られた数十の個別プロンプトより価値があります。蓄積されます: すべてのセッションがその恩恵を受けます。

プロンプトライブラリを構築する

同じ指示を書き直すのをやめましょう。うまくいくものを保存して再利用。

プロジェクト横断で同じ種類のリクエストを書いているなら(「このファイルのユニットテストを書いて」「リポジトリパターンにリファクタリング」「すべてのAPIルートにエラー処理を追加」)、再利用可能なプロンプトとして保存しましょう。

AgentsRoomには2レベルのプロンプトライブラリ機能があります: プロジェクト固有のプロンプトと、どこでも使うパターン用のグローバルプロンプト(クラウド同期)。

ライブラリの良い候補: コードレビューチェックリスト、テスト作成テンプレート、マイグレーションスクリプト、コンポーネントスキャフォールディング指示、セキュリティ監査ステップ。チームwikiに標準手順として置くようなもの。

プロンプトライブラリの例

ユニットテスト作成

[ファイル]のユニットテストを書いて。vitestを使用。ハッピーパス、エッジケース(空入力、null、無効な型)、エラー処理をカバー。外部依存関係をモック。ブランチカバレッジ90%以上を目標。

コードレビュー

現在のgit diffの変更をレビュー。確認項目: 未使用インポート、欠落したエラー処理、型安全性の問題、潜在的なレースコンディション、命名の不整合。見つかった各問題の修正を提案。

APIエンドポイント

[リソース]のRESTエンドポイントを作成。zodによる入力バリデーション、適切なエラーレスポンス(400、401、404、500)、リクエスト/レスポンスのTypeScript型、JSDocコメントを含める。src/api/の既存パターンに従うこと。

上級パターン

単一プロンプトを超える複雑なタスク向けのテクニック。

プロンプトチェーニング

大きなタスクを順序付きステップに分割。最初のエージェントをステップ1で開始し、完了を待ち、次のエージェントをステップ2で開始(ステップ1の出力を参照)。各ステップはより小さく集中的。例: エージェント1がDBスキーマを設計、エージェント2がそのスキーマでAPIを作成、エージェント3がAPIのテストを作成。

エージェント間クロスレビュー

あるエージェントが完了したら、別のエージェントをその出力に向ける。「フロントエンドエージェントがsrc/components/で行った変更をレビュー。アクセシビリティの問題と欠落したエラー状態を確認。」異なる役割の新しいエージェントが元のエージェントの見落としを発見します。

段階的制約

広いプロンプトから始めてエージェントのアプローチを確認。その後、フォローアップメッセージで制約を追加: 「良い構造だが、クライアントコンポーネントではなくサーバーコンポーネントを使って。」「フックは残すが、useEffectを削除してReact Queryのミューテーションを使って。」各反復が望む解決策に近づきます。

リファレンス実装

エージェントに既存コードを示す: 「src/pages/profile.tsxと同じパターンで設定ページを構築。同じレイアウト構造、同じフォーム処理、同じエラー表示。」これは言葉でパターンを説明するより効果的なことが多い。

よくある間違い

一貫して悪い結果を生むパターン。

実装の過剰指定

どの関数を書くか、どの変数名にするか、どの順序で実装するかをエージェントに正確に指示すること。このマイクロマネジメントはエージェントがより良いアプローチを見つける能力を奪います。手順ではなく成果を説明しましょう。

スコープ境界なし

「コードベースを改善して」と制約なしで頼むこと。境界がないと、触りたくなかったファイルをリファクタリングしたり、他のコードが依存するAPIを変更したり、低優先度の改善にトークンを使ったりする可能性があります。

既存コードの無視

パターン、ユーティリティ、コンポーネントがプロジェクトに既に存在することを言わないこと。エージェントは新しいものを作ります。「src/hooks/にuseAuthフックが既にある」という一言で大幅な手戻りを防げます。

複合メガプロンプト

5つのタスクを1メッセージに詰め込むこと。エージェントはすべて試みますが、競合する目標をやりくりする中で品質が下がります。連続した集中リクエストに分割しましょう。

よくある質問

コーディングプロンプトはどのくらいの長さにすべき?+
効果的なコーディングプロンプトのほとんどは2から5文です。結果、スコープ、主要な制約を指定するのに十分な長さ。エージェントが詳細に迷わない短さ。プロンプトが丸1段落なら、そのコンテキストの一部がCLAUDE.mdやシステムプロンプトに属するか検討しましょう。
OpusとSonnetでプロンプトを変えるべき?+
若干変えます。Opusは曖昧さをより良く扱い、少ないコンテキストから意図を推測できます。Sonnetはより明示的な指示と明確なスコープ境界が有効です。両モデルとも、期待する成果の具体性が結果を改善します。
AgentsRoomはプロンプトエンジニアリングにどう役立つ?+
3つの方法: 14種のエージェントタイプそれぞれの組み込みロール別システムプロンプト、効果的なプロンプトを保存・再利用するプロンプトライブラリ、プロジェクトレベルコンテキスト用のCLAUDE.mdエディター。これらのレイヤーにより、ベースコンテキストが既に良いため、個別メッセージの作成時間が短縮されます。
チームでプロンプトを共有できる?+
はい。AgentsRoomはプロンプトを2か所に保存: .agentsroom/prompts.json内のプロジェクトプロンプト(バージョン管理、git経由で共有)とprompts-personal.json内の個人プロンプト(gitignore済み)。グローバルプロンプトはクラウド経由で全デバイスに同期。
システムプロンプトとCLAUDE.mdの違いは?+
CLAUDE.mdは各エージェントが自動的に読むプロジェクトコンテキスト: スタック、構造、規約。システムプロンプトはエージェント固有の行動指示: 役割、フォーカス領域、制約。相互補完します。CLAUDE.mdは「このプロジェクトはNext.js 16とPrismaを使用」と言います。システムプロンプトは「あなたはAPIルートに集中するバックエンド開発者です」と言います。

より良いプロンプトを書き、より良いコードを出荷

AgentsRoomにはシステムプロンプト、プロンプトライブラリ、CLAUDE.md編集が組み込まれています。プロンプト作成の時間を減らし、構築の時間を増やしましょう。

無料macOS版をダウンロード

コンパニオンアプリ:外出先でもエージェントを確認

Claude、Codex、Gemini CLI、またはその他の AI プロバイダーを使用します。

拡張機能を入手
Chrome Web Store

バグや要望を公開バックログに直接送信できます。

マルチプロジェクト
マルチプロバイダー
マルチエージェント
ライブステータス
ファイル差分
モバイルアプリ
ライブプレビュー
エージェントチーム
ブラウザテスト
バックログ駆動開発
プロンプトライブラリ
スキルライブラリ