mcpField
P
prompt-engineering

prompt-engineering

github.com/giuseppe-trisciuoglioエージェントワークフロー3653.9k 回インストール7 週間前に更新
リポジトリ

prompt-engineering について

プロンプトの作成、最適化、評価、再利用可能な構成を扱うスキルです。Few-shot の例、推論ワークフロー、テンプレート、システムプロンプトを網羅し、テストと測定の指針も示します。

主な機能

  1. 01Few-shot 例の選定
  2. 02推論ワークフローのパターン
  3. 03プロンプトの最適化と測定
  4. 04再利用可能なテンプレート設計
  5. 05システムプロンプトの構成とテスト

活用シーン

  1. 01要件に基づくプロンプトの作成
  2. 02既存プロンプトの一貫性向上
  3. 03境界例や敵対的入力でのテスト
  4. 04再利用可能なプロンプトテンプレートの構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill prompt-engineering

インストール後、Claude Code で/prompt-engineeringを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cot-patterns.md
few-shot-patterns.md
optimization-frameworks.md
system-prompt-design.md
template-systems.md

詳細

プロンプトエンジニアリング

概要

明確で、テスト可能かつ再利用可能なプロンプトシステムを設計するには、このスキルを使用します。 Few-shot プロンプト、推論ワークフロー、テンプレート、システムプロンプトのための、プロンプトの作成、最適化、評価、本番向けパターンを扱います。

このファイルに主なワークフローをまとめ、適用するパターンに応じて対象のリファレンスファイルのみを読み込んでください。

使用するタイミング

以下のような場合にこのスキルを使用します。

  • ユーザーからプロンプトの作成、書き換え、改善を依頼された場合
  • プロンプトの構造、信頼性、出力形式を改善する必要がある場合
  • Few-shot の例や推論の足場が必要な場合
  • システムプロンプトや再利用可能なプロンプトテンプレートを作成する場合
  • 既存のプロンプトを定量的に最適化してテストする必要がある場合

特定のパターンについて詳しいガイダンスが必要な場合は、references/ 内の関連ファイルを読んでください。

コアパターン

1. Few-Shot 学習
例の選定戦略
  • 包括的な選定フレームワークについては、references/few-shot-patterns.md を使用します
  • 例の数(最適なのは 3~5 個)とコンテキストウィンドウの制限のバランスを取ります
  • 例のセットにエッジケースと境界条件を含めます
  • 問題領域の多様なバリエーションを網羅する例を優先します
  • 段階的に学習できるよう、例を簡単なものから複雑なものへと並べます
Few-Shot の例(感情分類)
Classify the sentiment as Positive, Negative, or Neutral.

Text: "I love this product! It exceeded my expectations."
Sentiment: Positive
Reasoning: Enthusiastic language, positive adjectives, satisfaction

Text: "The app keeps crashing when I upload large files."
Sentiment: Negative
Reasoning: Complaint about functionality, frustration indicator

Text: "It arrived on time, as described."
Sentiment: Neutral
Reasoning: Factual statement, no strong emotion either way

Text: "{user_input}"
Sentiment:
Reasoning:
2. Chain-of-Thought 推論
実装パターン
  • 詳細な推論フレームワークについては、references/cot-patterns.md を参照します
  • ゼロショット CoT の開始には「順を追って考えてみましょう」を使用します
  • Few-Shot CoT のデモでは完全な推論過程を提示します
  • 複数の推論経路をサンプリングして、自己一貫性を実装します
  • 推論の連鎖に検証と妥当性確認の手順を含めます
CoT テンプレートの構造
Let's approach this step-by-step:

Step 1: {break_down_the_problem}
Analysis: {detailed_reasoning}

Step 2: {identify_key_components}
Analysis: {component_analysis}

Step 3: {synthesize_solution}
Analysis: {solution_justification}

Final Answer: {conclusion_with_confidence}
3. プロンプトの最適化
最適化プロセス
  • 包括的な最適化戦略については、references/optimization-frameworks.md を使用します
  • 最適化を試みる前に、ベースラインのパフォーマンスを測定します
  • 変更の効果を正確に特定できるよう、変数を 1 つずつ変更します
  • 正確性、一貫性、レイテンシー、トークン効率の指標を追跡します
  • A/B 検証には統計的有意性検定を使用します
  • 最適化の反復とその影響を記録します

次の指標を追跡してください。正確性、一貫性、トークン効率、堅牢性、安全性。測定ユーティリティについては、references/optimization-frameworks.md を参照してください。

4. テンプレートシステム
テンプレート設計の原則
  • モジュール式テンプレートのフレームワークについては、references/template-systems.md を参照します
  • 明確な変数の命名規則を使用します(例:{user_input}、{context})
  • さまざまなシナリオに対応する条件付きセクションを実装します
  • 特定のユースケース向けに、役割ベースのテンプレートを設計します
  • 階層的なテンプレート合成パターンを作成します
テンプレート構造の例
# System Context
You are a {role} with {expertise_level} expertise in {domain}.

# Task Context
{if background_information}
Background: {background_information}
{endif}

# Instructions
{task_instructions}

# Examples
{example_count}

# Output Format
{output_specification}

# Input
{user_query}
5. システムプロンプトの設計
システムプロンプトの構成要素
  • 詳細な設計ガイドラインについては、references/system-prompt-design.md を使用します
  • 役割と専門知識の範囲を明確に定義します
  • 出力形式の要件と構造上の制約を定めます
  • 安全ガイドラインとコンテンツポリシーの遵守を含めます
  • 背景情報とドメイン知識のコンテキストを設定します
システムプロンプトのフレームワーク
You are an expert {role} specializing in {domain} with {experience_level} of experience.

## Core Capabilities
- List specific capabilities and expertise areas
- Define scope of knowledge and limitations

## Behavioral Guidelines
- Specify interaction style and communication approach
- Define error handling and uncertainty protocols
- Establish quality standards and verification requirements

## Output Requirements
- Specify format expectations and structural requirements
- Define content inclusion and exclusion criteria
- Establish consistency and validation requirements

## Safety and Ethics
- Include content policy adherence
- Specify bias mitigation requirements
- Define harm prevention protocols

実装ワークフロー

ワークフロー 1:要件から新しいプロンプトを作成する
  1. 要件を分析する

    • タスクの複雑さと推論要件を特定します
    • 対象モデルの能力と制約を判断します
    • 成功基準と評価指標を定義します
    • Few-shot 学習や CoT 推論が必要かどうかを評価します
  2. パターン戦略を選択する

    • 分類タスクや変換タスクには Few-shot 学習を使用します
    • 複雑な推論や複数ステップの問題には CoT を適用します
    • 再利用可能なプロンプトアーキテクチャにはテンプレートシステムを実装します
    • 一貫した動作要件を満たすシステムプロンプトを設計します
  3. 初期プロンプトを作成する

    • 明確なセクションと論理的な流れでプロンプトを構成します
    • 関連する例や推論の実演を含めます
    • 出力形式と品質要件を指定します
    • 安全ガイドラインと制約を組み込みます
  4. 検証してテストする

    • 少なくとも 3 つの入力でテストします。通常ケースを 1 つ、エッジケースを 1 つ、敵対的な入力を 1 つ用意します
    • 定義した成功基準に照らして、精度とトークン使用量を測定します
    • 一度に 1 つの変数だけを変更して再テストし、指標が改善するものだけを残します
    • 最適化の判断とその理由を記録します
ワークフロー 2:既存のプロンプトを最適化する
  1. パフォーマンスを分析する

    • 現在のプロンプトのパフォーマンス指標を測定します
    • 失敗モードとエラーパターンを特定します
    • トークン効率と応答レイテンシを分析します
    • 複数回の実行での一貫性を評価します
  2. 最適化戦略

    • 単一変数の変更による体系的な A/B テストを適用します
    • タスクへの準拠を改善するために Few-shot 学習を使用します
    • 複雑なタスク要素には CoT 推論を実装します
    • 明瞭性を高めるためにテンプレート構造を改良します
  3. 実装してテストする

    • 最適化したプロンプトに対して、ステップ 1 と同じテストケースを再実行します
    • 精度がベースラインを下回る場合は変更を元に戻し、別の仮説を試します
    • 精度がベースライン以上かつ 90% 未満の場合は、新しい戦略でステップ 2 に戻ります
    • 効果があった変更と、測定した影響を記録します
ワークフロー 3:プロンプトシステムをスケールする
  1. モジュール型アーキテクチャを設計する

    • 複雑なプロンプトを再利用可能なコンポーネントに分解します
    • テンプレートの継承階層を作成します
    • 動的な例選択システムを実装します
    • 自動品質保証フレームワークを構築します
  2. 本番環境に統合する

    • プロンプトのバージョン管理とロールバック機能を実装します
    • パフォーマンス監視とアラートのシステムを作成します
    • プロンプト検証用の自動テストフレームワークを構築します
    • 更新とデプロイのワークフローを確立します

品質ゲート

  • リリース前に、多様な 10 件以上のテストケースで精度が 90% を超えていること
  • 3 回以上の反復実行におけるばらつきが 5% 未満であること
  • すべてのエッジケースと敵対的な入力に適切に対処できること
  • すべてのテストケースで出力形式が仕様に一致すること

ベストプラクティス

  • 結果の要因を特定できるよう、一度に 1 つの変数だけを最適化します
  • タスク、コンテキスト、制約、出力形式をプロンプトで明示します
  • 繰り返しの多い例を大量に使うより、質の高い例を少数使うことを優先します
  • 通常ケース、エッジケース、敵対的な入力でプロンプトをテストします
  • 長いパターンの詳細は SKILL.md に詰め込まず、references/ に移します

制約と警告

  • プロンプトは長いほど良いと決めつけないでください。詳細を増やすと、曖昧さが生じることがよくあります
  • 簡潔な根拠で十分な場合は、非公開の推論要件を明かさないようにします
  • 改善を主張する前に、代表的な入力でプロンプトを検証します
  • モデルごとに動作が異なるため、モデル固有の前提は明示します

他のスキルとの連携

このスキルは、以下とシームレスに連携します:

  • langchain4j-ai-services-patterns:インターフェースベースのプロンプト設計
  • langchain4j-rag-implementation-patterns:コンテキストを拡張したプロンプト
  • langchain4j-testing-strategies:プロンプト検証フレームワーク
  • unit-test-parameterized:体系的なプロンプトテスト手法

リソースと参考資料

  • references/few-shot-patterns.md:包括的なフューショット学習フレームワーク
  • references/cot-patterns.md:思考の連鎖による推論パターンと例
  • references/optimization-frameworks.md:体系的なプロンプト最適化手法
  • references/template-systems.md:モジュール式テンプレートの設計と実装
  • references/system-prompt-design.md:システムプロンプトの構成とベストプラクティス

よくある問題と解決策

問題解決策
出力形式が誤っているプロンプトの最後に具体的な出力例を追加します
回答に一貫性がない期待する推論を示すフューショット例を2〜3個追加します
ハルシネーション「不確かな場合は『わかりません』と答える」を追加し、回答の範囲を制限します
冗長すぎる明示的な単語数/文数の上限と「簡潔に答える」という指示を追加します
エッジケースを見落とすエッジケースのフューショット例を追加します

制約事項

  • 対象モデルごとにテストしてください。機能やトークン上限はモデルによって異なります
  • コンテキストの使用量を抑えるため、フューショット例は3〜5個にしてください
  • 本番環境で使用する前に、ドメイン固有のテストケースで検証してください

コメント