# prompt-engineering-patterns > LLMのパフォーマンス、信頼性、制御性を最大化する高度なプロンプトエンジニアリング技法をマスターします。プロンプトの最適化、LLM出力の改善、プロダクション用プロンプトテンプレートの設計時に使用します。 - Author: utabi - Repository: utabi/claude_agent_sdk_demos - Version: 20251230140745 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/utabi/claude_agent_sdk_demos - Web: https://mule.run/skillshub/@@utabi/claude_agent_sdk_demos~prompt-engineering-patterns:20251230140745 --- --- name: prompt-engineering-patterns description: LLMのパフォーマンス、信頼性、制御性を最大化する高度なプロンプトエンジニアリング技法をマスターします。プロンプトの最適化、LLM出力の改善、プロダクション用プロンプトテンプレートの設計時に使用します。 --- # プロンプトエンジニアリングパターン LLMのパフォーマンス、信頼性、制御性を最大化する高度なプロンプトエンジニアリング技法をマスターする。 ## このスキルを使用するタイミング - プロダクションLLMアプリケーション向けの複雑なプロンプト設計 - プロンプトのパフォーマンスと一貫性の最適化 - 構造化推論パターンの実装(Chain-of-Thought、Tree-of-Thought) - 動的なサンプル選択を伴うFew-Shot学習システムの構築 - 変数補間を使用した再利用可能なプロンプトテンプレートの作成 - 一貫性のない出力を生成するプロンプトのデバッグと改善 - 特化型AIアシスタント向けシステムプロンプトの実装 ## コア機能 ### 1. Few-Shot学習 - サンプル選択戦略(意味的類似性、多様性サンプリング) - サンプル数とコンテキストウィンドウ制約のバランス - 入出力ペアによる効果的なデモンストレーションの構築 - ナレッジベースからの動的サンプル取得 - 戦略的なサンプル選択によるエッジケース処理 ### 2. Chain-of-Thoughtプロンプティング - ステップバイステップの推論引き出し - ゼロショットCoT(「ステップバイステップで考えましょう」) - 推論トレース付きFew-Shot CoT - 自己一貫性技法(複数の推論パスをサンプリング) - 検証と妥当性確認ステップ ### 3. プロンプト最適化 - 反復的な改善ワークフロー - プロンプトバリエーションのA/Bテスト - プロンプトパフォーマンス指標の測定(精度、一貫性、レイテンシ) - 品質を維持しながらトークン使用量を削減 - エッジケースと失敗モードの処理 ### 4. テンプレートシステム - 変数補間とフォーマッティング - 条件付きプロンプトセクション - マルチターン会話テンプレート - ロールベースのプロンプト構成 - モジュラープロンプトコンポーネント ### 5. システムプロンプト設計 - モデルの動作と制約の設定 - 出力フォーマットと構造の定義 - ロールと専門性の確立 - 安全ガイドラインとコンテンツポリシー - コンテキスト設定と背景情報 ## クイックスタート ```python from prompt_optimizer import PromptTemplate, FewShotSelector # 構造化プロンプトテンプレートを定義 template = PromptTemplate( system="あなたはSQLの専門家です。効率的で安全なSQLクエリを生成してください。", instruction="以下の自然言語クエリをSQLに変換してください:\n{query}", few_shot_examples=True, output_format="説明コメント付きSQLコードブロック" ) # Few-Shot学習を設定 selector = FewShotSelector( examples_db="sql_examples.jsonl", selection_strategy="semantic_similarity", max_examples=3 ) # 最適化されたプロンプトを生成 prompt = template.render( query="過去30日間に登録したすべてのユーザーを検索", examples=selector.select(query="ユーザー登録日フィルター") ) ``` ## 主要パターン ### 段階的開示 シンプルなプロンプトから始め、必要な場合のみ複雑さを追加: 1. **レベル1**: 直接的な指示 - 「この記事を要約して」 2. **レベル2**: 制約を追加 - 「この記事を3つの箇条書きで要約して、主要な発見に焦点を当てて」 3. **レベル3**: 推論を追加 - 「この記事を読み、主要な発見を特定し、3つの箇条書きで要約して」 4. **レベル4**: 例を追加 - 入出力ペアの2-3個の要約例を含める ### 指示階層 ``` [システムコンテキスト] → [タスク指示] → [例] → [入力データ] → [出力フォーマット] ``` ### エラーリカバリ 失敗を優雅に処理するプロンプトを構築: - フォールバック指示を含める - 信頼度スコアを要求 - 不確実な場合は代替解釈を求める - 情報不足の示し方を指定 ## ベストプラクティス 1. **具体的に**: 曖昧なプロンプトは一貫性のない結果を生む 2. **説明より実例**: 説明より例の方が効果的 3. **広範にテスト**: 多様で代表的な入力で評価 4. **高速に反復**: 小さな変更が大きな影響を与えることがある 5. **パフォーマンスを監視**: プロダクションで指標を追跡 6. **バージョン管理**: プロンプトを適切にバージョン管理されたコードとして扱う 7. **意図を文書化**: プロンプトがなぜそのように構造化されているか説明 ## よくある落とし穴 - **過剰設計**: シンプルなものを試す前に複雑なプロンプトから始める - **例の汚染**: ターゲットタスクに合わない例を使用 - **コンテキストオーバーフロー**: 過剰な例でトークン制限を超える - **曖昧な指示**: 複数の解釈の余地を残す - **エッジケースの無視**: 異常または境界入力でテストしない ## 統合パターン ### RAGシステムとの連携 ```python # 取得コンテキストとプロンプトエンジニアリングを組み合わせ prompt = f"""以下のコンテキストが与えられています: {retrieved_context} {few_shot_examples} 質問: {user_question} 上記のコンテキストのみに基づいて詳細な回答を提供してください。 コンテキストに十分な情報がない場合は、何が不足しているか明示的に述べてください。""" ``` ### 検証との連携 ```python # 自己検証ステップを追加 prompt = f"""{main_task_prompt} 回答を生成した後、以下の基準を満たしているか検証してください: 1. 質問に直接回答している 2. 提供されたコンテキストの情報のみを使用している 3. 具体的なソースを引用している 4. 不確実性を認めている 検証に失敗した場合は、回答を修正してください。""" ``` ## パフォーマンス最適化 ### トークン効率 - 冗長な言葉やフレーズを削除 - 最初の定義後は一貫して略語を使用 - 類似の指示を統合 - 安定したコンテンツはシステムプロンプトに移動 ### レイテンシ削減 - 品質を犠牲にせずプロンプト長を最小化 - 長文出力にはストリーミングを使用 - 共通プロンプトプレフィックスをキャッシュ - 可能な場合は類似リクエストをバッチ処理 ## リソース - **references/few-shot-learning.md**: サンプル選択と構築の詳細 - **references/chain-of-thought.md**: 高度な推論引き出し技法 - **references/prompt-optimization.md**: 体系的な改善ワークフロー - **references/prompt-templates.md**: 再利用可能なテンプレートパターン - **references/system-prompts.md**: システムレベルプロンプト設計 - **assets/prompt-template-library.md**: 実績のあるプロンプトテンプレート - **assets/few-shot-examples.json**: キュレーションされた例データセット - **scripts/optimize-prompt.py**: 自動プロンプト最適化ツール ## 成功指標 プロンプトで追跡するKPI: - **精度**: 出力の正確性 - **一貫性**: 類似入力での再現性 - **レイテンシ**: 応答時間(P50、P95、P99) - **トークン使用量**: リクエストあたりの平均トークン - **成功率**: 有効な出力の割合 - **ユーザー満足度**: 評価とフィードバック ## 次のステップ 1. 一般的なパターンのプロンプトテンプレートライブラリをレビュー 2. 特定のユースケースでFew-Shot学習を実験 3. プロンプトのバージョニングとA/Bテストを実装 4. 自動評価パイプラインを設定 5. プロンプトエンジニアリングの決定と学びを文書化