プロンプトエンジニアリング実践ガイド
AIを使いこなす上級テクニック
プロンプトエンジニアリングとは、AIから最適な回答を引き出すための質問設計技術です。基本を超えた実践的なテクニックを、具体例とともに紹介します。
この記事の対象者
- AIの基本的な使い方は知っている方
- より高度なプロンプト技術を身につけたい方
- 業務でAIを本格活用したい方
構造化出力の指定
AIの出力をJSON、CSV、Markdown表など特定のフォーマットで返させることで、後続の処理がしやすくなります。
JSON出力の指定
以下の文章から人物情報を抽出し、JSON形式で返してください。
「田中太郎さん(35歳)は東京都在住のエンジニアで、
Python と JavaScript を主に使用しています。」
出力形式:
{
"name": "名前",
"age": 数値,
"location": "居住地",
"occupation": "職業",
"skills": ["スキル1", "スキル2"]
}
{
"name": "田中太郎",
"age": 35,
"location": "東京都",
"occupation": "エンジニア",
"skills": ["Python", "JavaScript"]
}
システムプロンプトの活用
API利用時は システムプロンプト を設定することで、AIの振る舞いを一貫して制御できます。
システムプロンプトの例
あなたはシニアPythonエンジニアです。
以下のルールに従ってください:
1. コードは Python 3.12 以上の構文を使用
2. 型ヒントを必ず付与
3. docstring は Google スタイル
4. エラーハンドリングを含める
5. 対応するユニットテストも生成する
このシステムプロンプトを設定しておけば、毎回ルールを伝えなくても一貫したコードが得られます。
プロンプトチェーン
複雑なタスクを複数のプロンプトに分割し、順番に実行するテクニックです。
Step 1: 要件の整理
→
Step 2: 設計
→
Step 3: 実装
→
Step 4: レビュー
プロンプトチェーンの例
# Step 1: 要件の整理
「ユーザー登録機能を作りたいです」
→ AIが要件を整理して箇条書きで返す
# Step 2: 設計
「上記の要件に基づいて、データベース設計とAPI設計を提案してください」
→ AIがテーブル定義とAPIエンドポイントを返す
# Step 3: 実装
「上記の設計に基づいて、DjangoでモデルとViewを実装してください」
→ AIが実装コードを返す
# Step 4: レビュー
「上記のコードのセキュリティとパフォーマンスをレビューしてください」
→ AIが改善点を指摘
自己評価させる
AIに自分の回答を評価・改善させることで、より質の高い出力が得られます。
自己評価プロンプト
[最初の質問でコードを生成した後]
上記のコードについて、以下の観点で自己評価してください:
1. バグの可能性(0-10点)
2. パフォーマンス(0-10点)
3. 可読性(0-10点)
4. セキュリティ(0-10点)
各項目で8点未満の部分があれば、改善版を提示してください。
実務での活用例
コードレビューの自動化
コードレビュープロンプト
以下のPythonコードをシニアエンジニアの視点でレビューしてください。
チェック観点:
- バグの可能性
- セキュリティリスク(OWASP Top 10)
- パフォーマンスの問題
- コーディング規約違反(PEP 8)
- テストのしやすさ
[レビュー対象のコードをここに貼る]
指摘は「重要度(高/中/低)」「該当行」「問題点」「修正案」の表形式で出力してください。
技術ドキュメントの生成
ドキュメント生成プロンプト
以下のPythonモジュールのAPI仕様書を作成してください。
形式: Markdown
含める内容:
- モジュール概要
- 各クラス/関数の説明
- 引数と戻り値の型
- 使用例
- 注意事項
[対象コードをここに貼る]
テストケースの生成
テスト生成プロンプト
以下の関数に対するpytestのテストケースを生成してください。
カバーすべきケース:
- 正常系(基本的な入力)
- 境界値(0, 空文字, 最大値など)
- 異常系(None, 不正な型, 範囲外の値)
- エッジケース
[対象の関数をここに貼る]
まとめ
- 構造化出力(JSON等)を指定すると後続処理がしやすい
- システムプロンプトでAIの振る舞いを一貫して制御できる
- プロンプトチェーンで複雑なタスクを段階的に処理
- 自己評価で回答の品質をさらに向上
- コードレビュー、ドキュメント生成、テスト生成など実務に直結する活用法が豊富