AI駆動開発のプロンプト設計: 良い出力は良い前提から生まれる
AI駆動開発で成果を安定させるには、プロンプトの書き方が重要です。
ただし、ここでいうプロンプト設計は、魔法の言い回しを探すことではありません。
大切なのは、AIが判断に使える前提をそろえ、出力してほしい範囲を明確にすることです。
この記事では、開発でAIに依頼するときのプロンプト設計を、実務で使いやすい形に整理します。
プロンプトは依頼文ではなく仕様の圧縮版
AIに渡すプロンプトは、単なるお願いではありません。
開発で使う場合は、仕様、制約、完了条件、レビュー観点を短くまとめたものです。
たとえば次の依頼は、AIにとって判断材料が少なすぎます。
この画面を作ってください。
どの技術を使うのか、どのコンポーネントを使うのか、バリデーションは必要なのか、APIはあるのか、エラー表示はどうするのかが分かりません。
AIは不足している情報を一般論で補完します。補完された内容がプロジェクトに合っていればよいですが、合っていない場合は手戻りになります。
プロンプトは、AIが勝手に補完しなくてよい状態をつくるためのものです。
最初に渡す5つの情報
開発タスクをAIに依頼するときは、最低限次の5つを入れると安定します。
目的:
何を実現したいのか
背景:
なぜ必要なのか
制約:
使ってよい技術、変えてよい範囲、避けたいこと
入力:
既存コード、仕様、エラー内容、画面イメージなど
出力:
設計案、コード、テストケース、レビュー観点など
この5つがあると、AIはかなり判断しやすくなります。
特に重要なのは制約です。
「新しいライブラリは追加しない」「既存のコンポーネントを使う」「API仕様は変えない」などを明示すると、現実的な提案になりやすいです。
まずは実装させずに整理させる
AIにいきなりコードを書かせると、前提がズレたまま実装が進むことがあります。
そのため、最初の依頼では実装ではなく、整理を依頼するのがおすすめです。
以下の要件を実装する前に、確認すべき仕様と影響範囲を整理してください。
画面、API、DB、権限、テストの観点で分けてください。
この段階で抜け漏れが見つかれば、実装前に修正できます。
AI駆動開発では、コードを書く速度よりも、間違った方向へ速く進まないことが重要です。
出力形式を指定する
AIの出力が読みにくいと、レビューに時間がかかります。
そのため、出力形式も指定します。
以下の形式で出力してください。
1. 前提の理解
2. 実装方針
3. 変更対象ファイル
4. 影響範囲
5. テスト観点
6. 不明点
出力形式を固定すると、比較やレビューがしやすくなります。
チームでAIを使う場合は、この形式をテンプレート化しておくと、AIの回答品質が安定します。
実装依頼では変更範囲を絞る
AIに実装を依頼するときは、変更してよい範囲を明確にします。
変更してよいファイル:
- src/features/login/LoginForm.tsx
- src/features/login/loginSchema.ts
変更しないでほしいもの:
- APIクライアント
- 共通Buttonコンポーネント
- 認証方式そのもの
この指定がないと、AIは親切心で広い範囲を変更することがあります。
小さく依頼して、小さくレビューする方が安全です。
悪いプロンプトと改善例
悪い例です。
エラーが出ているので直してください。
これでは、どの操作で出たエラーなのか、期待する挙動は何か、変更してよい範囲はどこかが分かりません。
改善すると、次のようになります。
ユーザー登録画面で、メールアドレス重複時に500エラー表示になります。
本来は「このメールアドレスはすでに使われています」とフォーム下部に表示したいです。
前提:
- フロントエンドは React
- APIは既存の /api/users を使う
- API仕様は変更しない
- 既存のバリデーション表示は維持する
出力:
- 原因の仮説
- 修正方針
- 変更すべきファイル
- テスト観点
このように書くと、AIは実装前に原因や方針を整理できます。
AIへの依頼を分割するテンプレート
一度にすべてを依頼するのではなく、段階を分けると精度が上がります。
Step 1:
要件を読み、確認すべき不明点を出してください。
まだ実装しないでください。
Step 2:
不明点が解消された前提で、実装方針を3案出してください。
メリット・デメリットも書いてください。
Step 3:
選んだ方針で、最小変更の実装をしてください。
Step 4:
変更内容に対するテスト観点とレビュー観点を出してください。
この流れにすると、人間が途中で判断できます。
AIを使うほど、人間の判断ポイントを前に置くことが大切です。
まとめ
AI駆動開発のプロンプト設計で大切なのは、特別な言い回しではありません。
目的、背景、制約、入力、出力を明確にし、AIが余計な補完をしなくてよい状態をつくることです。
いきなり実装させるのではなく、まず仕様、影響範囲、確認観点を整理させると、手戻りを減らせます。
プロンプトは、AIに渡す小さな仕様書です。
その意識を持つと、AIの出力はかなり扱いやすくなります。
この記事は役に立ちましたか?