はじめに
前回の記事では、プロンプトを書くときのテンプレートを紹介しました。
今回はなぜそのテンプレートが有効なのかを解説します。
- 役割を与える(Role Prompting)
- 背景を伝える(Context Setting)
- 条件を与える(Constraint Prompting)
- 手順を指示する(Instruction Prompting)
- 出力を指定する(Output Schema)
これらを理解すると「なんとなく書くプロンプト」から、「設計されたプロンプト」にレベルアップできます。
役割を与える(Role Prompting)
AIに役割を与える手法です。
AIは役割を与えないと、一般的な立場から回答します。
そこで、役割を与えると、その専門家の視点で回答します。
例えば、次のようなプロンプトです。
あなたはシニアソフトウェアアーキテクトです。
次の設計をレビューしてください。
役割を与えることで
- 視点が明確になる
- 回答の専門性が上がる
- 説明の粒度が安定する
という効果があります。
背景を伝える(Context Setting)
状況や背景をAIに伝える手法です。
AIは背景を与えないと、一般的で広い回答になります。
そこで、背景を与えると、状況に合った具体的な回答になります。
あなたはバックエンドエンジニアです。
.NET MVCのWebアプリケーションを開発しています。
SQL Serverを使用しています。
この環境でパフォーマンス改善の方法を教えてください。
背景を伝えることで
- 回答の具体性が上がる
- 技術選択の精度が上がる
- 不要な説明が減る
という効果があります。
条件を与える(Constraint Prompting)
AIの回答に条件や制約を与える手法です。
AIは条件を与えないと、実現できない方法も含めて提案します。
そこで、条件を与えると、現実的な解決策に絞った回答になります。
次の制約を守って回答してください
- C#で実装する
- .NET Frameworkを使用する
- 外部ライブラリは使わない
条件を与えることで
- 回答のブレを防ぐ
- 実現可能な解決策になる
- 実務に近い回答になる
という効果があります。
手順を指示する(Instruction Prompting)
AIに何をしてほしいかを明確に指示する手法です。
AIは指示が曖昧だと、回答の構造や分析の深さがばらつきます。
そこで、手順を指示すると、整理された回答になります。
次の手順で回答してください
1. 問題点を整理する
2. 原因を分析する
3. 改善案を提示する
手順を指示することで
- 回答の構造が整理される
- 分析の抜け漏れが減る
- 問題解決の精度が上がる
という効果があります。
出力を指定する(Output Schema)
AIの出力形式を指定する手法です。
AIは出力形式を指定しないと、回答の形式が毎回変わることがあります。
そこで、出力形式を指定すると、安定した形式で回答します。
次の形式で出力してください
問題:
原因:
解決策:
出力を指定することで
- 回答形式が安定する
- 自動処理と連携しやすくなる
- 必要な情報を整理して取得できる
という効果があります。
実践例:プロンプト設計を使った質問
最後に、今回紹介したプロンプト設計を使った実践例を紹介します。
例えば、設計レビューをAIに依頼する場合です。
# 役割
あなたはシニアソフトウェアアーキテクトです。
# 目的
次の設計の問題点と改善案を知りたいです。
# 前提
C#の.NET MVCアプリケーションを開発しています。
SQL Serverを使用しています。
現在、データアクセス処理が遅いという問題があります。
# 制約
- .NET Frameworkを使用しています
- 外部ライブラリは追加できません
- 既存のDB構造は大きく変更できません
# 入力データ
以下が現在の設計です
(設計書やコードをここに貼る)
# 出力形式
次の形式で回答してください
問題点:
原因:
改善案:
おわりに
プロンプト設計の基本を意識するだけで、「とりあえずAIに聞く」状態から「AIをツールとして使う」状態へ変わります。
今回紹介した5つのテクニックは、特別な技術ではありません。
これは、普段エンジニアが自然に行っていることです。
| テクニック | 目的 | 先輩エンジニアに相談する例 |
|---|---|---|
| 役割を与える | 誰として回答するか | 誰に相談するか(アーキテクト、DBなど) |
| 背景を伝える | どんな状況か | 開発環境(.NET MVC、SQL Serverなど) |
| 条件を与える | どんな制約か | 技術制約(外部ライブラリ不可など) |
| 手順を指示する | 何をしてほしいか | 相談内容(原因分析、改善案など) |
| 出力形式を指定する | どんな形式で出すか | 回答形式(問題・原因・解決策など) |
つまり、プロンプト設計とは「AIとの会話技術」ではなく、仕事を整理する技術とも言えます。
これがプロンプト設計の本質です。
次回の中級編では、AIの思考を引き出すテクニックを紹介します。