メインコンテンツへスキップ
中級 #プロンプト #パターン #実践

実践プロンプトパターン集 — 場面別・最適な指示の出し方

バグ修正、リファクタ、新機能追加など、場面ごとの実証済みプロンプトパターンを網羅。

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: 実装

期待する出力形式(期待値明示型):
[例]

まとめ

プロンプトはコーディングと同様、反復的な改善 が重要です。うまくいったパターンはメモして再利用し、失敗したパターンから学んで改善していきましょう。

プロンプト集でテンプレートを探す