全般

プロンプトエンジニアリング実践ガイド|AIを使いこなす上級テクニック

AI プロンプト 上級

プロンプトエンジニアリング実践ガイド
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の振る舞いを一貫して制御できる
  • プロンプトチェーンで複雑なタスクを段階的に処理
  • 自己評価で回答の品質をさらに向上
  • コードレビュー、ドキュメント生成、テスト生成など実務に直結する活用法が豊富