プロンプトエンジニアリング大全 — 基本原則と実践テクニック
2025年4月29日
ChatGPT などの生成AIは "入力がすべて"。わずかな言い回しの違いで出力品質が劇的に変わります。本記事では、初心者から上級者まで使えるプロンプト設計の原則・パターン・チェックリストを体系的にまとめました。
0. プロンプトエンジニアリングとは?
定義
生成 AI に対し、意図した出力を得るための入力設計を科学し、体系化する技法。
生成 AI に対し、意図した出力を得るための入力設計を科学し、体系化する技法。
- 入力 (Prompt): テキスト、画像、音声など
- 出力 (Completion): 回答、コード、画像、API コールなど
- 評価 (Metric): 正確さ・網羅性・独創性・一貫性・実行時間
1. 4つの基本原則
# | 原則 | Why / How |
---|---|---|
1 | Role 指定 | 「あなたは○○の専門家です」と人格を固定 → 言い回しが専門的になる |
2 | 明確なタスク | 要求を箇条書き・番号付けで具体化 → "何を・どれくらい" を数値で示す |
3 | 制約付与 | 文字数・フォーマット・NG ワードを先に宣言 → 出力のブレを抑制 |
4 | 逐次思考 | 「ステップバイステップで考えて」→ 中間推論を露わにし高精度化 |
2. ゴール別プロンプトパターン
ゴール | テンプレ | 効果ポイント |
---|---|---|
要約 | 「以下を ①箇条書き ②100 字以内 ③専門用語なしで要約せよ」 | 形式・長さ・トーンを限定 |
アイデア出し | 「○○の新規ビジネス案を 5 つ。各 1 行、ターゲットと収益モデル記載」 | 数・フォーマット制約 |
コード生成 | 「Python 3.11 / Pydantic v2 を使い、CSV → JSON 変換関数を docstring 付きで」 | 環境・依存ライブラリを固定 |
校正・翻訳 | 「次文をビジネス敬語に直し、誤字を修正し、2 行以内で」 | スタイル+長さ指定 |
分岐型回答 | 「知識ゼロなら❶入門、経験者なら❷応用に分けて説明」 | 条件分岐指示が要点 |
3. チューニングのステップバイステップ
- Base Prompt を書く
- 目的・対象・制約を 3 行で。
- Few-Shot 例示
- ★同じフォーマットで 1〜3 例入れると安定。
- 指標で評価
- 例: BLEU>0.6、コード実行テスト 100% Pass
- 反復改良
- 指標が未達 → ロール/制約強化 or 例増加。
- System vs. User 分離
system:
にルール、user:
に可変データ。
4. よくある失敗と対策
症状 | 原因 | 処方箋 |
---|---|---|
出力が長過ぎる | 長さ制約不足 | 「80 字以内」「300 words」など明示 |
ハルシネーション | 情報源を与えてない | RAG 併用 or 引用文献を先に渡す |
フォーマット崩れ | 曖昧指示 | Markdown テンプレを <template> 内に貼る |
正確だが硬い | ロール未設定 | 「フレンドリーな口調で」と追加 |
処理落ちエラー | Token 超過 | 要約して縮めるか段階分け (Split Prompt) |
5. 便利ツール & ライブラリ
ツール | 用途 | 特徴 |
---|---|---|
PromptLayer | バージョン管理 | "Git for prompts" |
LangChain | プロンプトテンプレ | Jinja2 で動的生成 |
LlamaIndex | RAG 用コンテキスト連携 | ベクトル+テンプレ一元管理 |
EvalLM | 自動評価 | BLEU / ROUGE / CodeExec スコア |
6. 実践例:社内 FAQ ボットのプロンプト
system:
You are an IT support expert for ACME Inc. Answer only from the provided context.
Use markdown bullet points. Cite sources with [docX] tags.
user:
【質問】
VPN が突然切断されます。考えられる原因と対処を教えてください。
【コンテキスト】
[doc1] 社内 VPN の接続要件…
[doc2] Windows クライアントで多いエラーコード…
You are an IT support expert for ACME Inc. Answer only from the provided context.
Use markdown bullet points. Cite sources with [docX] tags.
user:
【質問】
VPN が突然切断されます。考えられる原因と対処を教えてください。
【コンテキスト】
[doc1] 社内 VPN の接続要件…
[doc2] Windows クライアントで多いエラーコード…
- Role: "IT support expert"
- 制約: Markdown・引用必須
- Few-Shot: 無しでもコンテキストが保証
7. チェックリスト(コピー用)
- ロールを指定したか
- ゴール・制約を数値で示したか
- 必要なら Few-Shot 例を挿入したか
- Token 上限を超えていないか
- 評価指標を定義したか
8. まとめ
- Role・Task・Constraint の 3 本柱を先に決める
- Few-Shot と Chain-of-Thought で精度&一貫性向上
- 反復評価→改良サイクルを PromptOps として運用
- 社内ナレッジ連携 (RAG) でハルシネ抑止&即時最新化
次の一手
まずは日常業務のメール下書きやコード補完で「+1 行」プロンプトを試し、
効果計測 → パターン化 → テンプレ集をチーム共有してみましょう。
まずは日常業務のメール下書きやコード補完で「+1 行」プロンプトを試し、
効果計測 → パターン化 → テンプレ集をチーム共有してみましょう。