中級
#プロンプト
#パターン
#実践
実践プロンプトパターン集 — 場面別・最適な指示の出し方
バグ修正、リファクタ、新機能追加など、場面ごとの実証済みプロンプトパターンを網羅。
VibeCoding.jp
プロンプトパターンとは
同じ目的でも、プロンプトの書き方によって結果が大きく異なります。本記事では、実際に効果的だったプロンプトパターンを場面別に紹介します。
パターン1: ロールプレイ型
AIに特定の役割を与えることで、応答の質が上がります。
あなたは10年以上の経験を持つシニアフロントエンドエンジニアです。
パフォーマンスとアクセシビリティを特に重視します。
以下のコンポーネントをレビューしてください: [コード]
効果的な場面: コードレビュー、設計相談、アーキテクチャ決定
パターン2: 段階的承認型
大きな変更を小さなステップに分割し、各ステップで確認を取ります。
以下の変更を3つのステップに分けて実装してください。
各ステップ完了後に確認を取り、承認後に次のステップへ進んでください。
変更内容: [全体の変更内容]
効果的な場面: 大規模リファクタ、複数ファイルにまたがる変更
パターン3: 制約列挙型
「やってはいけないこと」を先に列挙します。
以下の制約を厳守して実装してください:
- TypeScript の any 型は使用しない
- 既存のAPIシグネチャは変更しない
- 新規パッケージを追加しない(既存パッケージで実現する)
- インラインスタイルは使用しない
実装内容: [実装してほしいこと]
効果的な場面: 制約が多いプロジェクト、レガシーコードの修正
パターン4: 期待値明示型
「期待する出力」を具体的に示します。
以下の形式で関数を実装してください:
// 使用例(このように呼び出せること)
const result = formatDate(new Date('2026-03-23'), 'ja');
// result === '2026年3月23日'
const result2 = formatDate(new Date('2026-03-23'), 'en');
// result2 === 'March 23, 2026'
// 型定義
function formatDate(date: Date, locale: 'ja' | 'en'): string
効果的な場面: ユーティリティ関数、API設計
パターン5: 比較選択型
複数の実装案を提示させ、選択します。
以下の機能を実装するにあたり、3つのアプローチを比較してください:
1. それぞれのメリット・デメリット
2. 推奨案とその理由
機能: [実装したい機能]
制約: [技術スタック、パフォーマンス要件など]
効果的な場面: 技術選定、設計の意思決定
パターン6: テスト先行型
実装前にテストケースを定義させます(TDD的アプローチ)。
以下の関数のテストケースを先に書いてください。
テストが承認されたら実装に進んでください。
関数の概要: [関数の説明]
テストフレームワーク: Vitest
効果的な場面: 重要なビジネスロジック、バグが起きやすい処理
パターン7: デバッグ仮説型
AIにバグの原因を仮説として複数挙げさせます。
以下のバグについて、考えられる原因を3つ挙げてください。
確率が高い順に並べ、それぞれの確認方法を示してください。
バグ: [バグの説明]
エラー: [エラーメッセージ]
効果的な場面: 原因不明のバグ、再現性が低いバグ
パターンの組み合わせ
実際の開発では複数のパターンを組み合わせます:
あなたはシニアエンジニアです(ロールプレイ型)。
以下の制約を守ってください(制約列挙型):
- any 型禁止
- テスト可能な設計
以下の機能を2ステップで実装してください(段階的承認型):
ステップ1: 型定義と関数のシグネチャ
ステップ2: 実装
期待する出力形式(期待値明示型):
[例]
まとめ
プロンプトはコーディングと同様、反復的な改善 が重要です。うまくいったパターンはメモして再利用し、失敗したパターンから学んで改善していきましょう。