prompt-engineering-patterns
LLMのパフォーマンス・信頼性・制御性を最大化するための高度なプロンプトエンジニアリング技術を習得します。効果的なプロンプト設計パターンを活用し、AIモデルから一貫性の高い出力を引き出したい場面で活躍します。
description の原文を見る
Master advanced prompt engineering techniques to maximize LLM performance, reliability, and controllability.
SKILL.md 本文
プロンプトエンジニアリングパターン
LLMのパフォーマンス、信頼性、制御可能性を最大化するための高度なプロンプトエンジニアリング技術をマスターします。
このスキルを使用しない場合
- タスクがプロンプトエンジニアリングパターンと無関係
- このスコープ外の別のドメインやツールが必要
手順
- 目標、制約、必要な入力を明確にする。
- 関連するベストプラクティスを適用し、結果を検証する。
- 実行可能なステップと検証方法を提供する。
- 詳細な例が必要な場合は、
resources/implementation-playbook.mdを開く。
このスキルを使用する場合
- 本番環境のLLMアプリケーション用に複雑なプロンプトを設計する
- プロンプトのパフォーマンスと一貫性を最適化する
- 構造化推論パターン(連鎖的思考、木構造思考)を実装する
- 動的な例選択を使用したフューショット学習システムを構築する
- 変数補間を備えた再利用可能なプロンプトテンプレートを作成する
- 一貫性のない出力を生成するプロンプトをデバッグおよび改善する
- 特化したAIアシスタント用のシステムプロンプトを実装する
コア機能
1. フューショット学習
- 例選択戦略(意味的類似性、多様性サンプリング)
- 例の数とコンテキストウィンドウ制約のバランス
- 入出力ペアを使用した効果的なデモンストレーションの構築
- ナレッジベースからの動的な例取得
- 戦略的な例選択による端末ケースの処理
2. 連鎖的思考プロンプティング
- ステップバイステップの推論を引き出す
- 「Let's think step by step」を使用したゼロショットCoT
- 推論トレースを備えたフューショットCoT
- 自己一貫性技術(複数の推論経路のサンプリング)
- 検証と妥当性確認ステップ
3. プロンプト最適化
- 反復的な改善ワークフロー
- プロンプト変異体のA/Bテスト
- プロンプトパフォーマンス指標の測定(精度、一貫性、レイテンシ)
- 品質を維持しながらトークン使用量を削減する
- エッジケースと障害モードを処理する
4. テンプレートシステム
- 変数補間とフォーマット
- 条件付きプロンプトセクション
- 複数ターン会話テンプレート
- ロールベースのプロンプト構成
- モジュール式プロンプトコンポーネント
5. システムプロンプト設計
- モデルの動作と制約を設定する
- 出力形式と構造を定義する
- ロールと専門知識を確立する
- 安全ガイドラインとコンテンツポリシー
- コンテキスト設定と背景情報
クイックスタート
from prompt_optimizer import PromptTemplate, FewShotSelector
# Define a structured prompt template
template = PromptTemplate(
system="You are an expert SQL developer. Generate efficient, secure SQL queries.",
instruction="Convert the following natural language query to SQL:\n{query}",
few_shot_examples=True,
output_format="SQL code block with explanatory comments"
)
# Configure few-shot learning
selector = FewShotSelector(
examples_db="sql_examples.jsonl",
selection_strategy="semantic_similarity",
max_examples=3
)
# Generate optimized prompt
prompt = template.render(
query="Find all users who registered in the last 30 days",
examples=selector.select(query="user registration date filter")
)
キーパターン
段階的な情報開示
シンプルなプロンプトから始めて、必要な場合のみ複雑さを追加する:
-
レベル1: 直接的な指示
- 「この記事を要約してください」
-
レベル2: 制約を追加
- 「この記事を3つの要点で要約し、主な発見に焦点を当ててください」
-
レベル3: 推論を追加
- 「この記事を読んで、主な発見を特定し、3つの要点で要約してください」
-
レベル4: 例を追加
- 入出力ペアを含む2~3の要約例を含める
指示階層
[System Context] → [Task Instruction] → [Examples] → [Input Data] → [Output Format]
エラー復旧
障害を優雅に処理するプロンプトを構築する:
- フォールバック指示を含める
- 信頼度スコアをリクエストする
- 不確実な場合は別の解釈を求める
- 情報が欠落していることを示す方法を指定する
ベストプラクティス
- 具体的であること: 曖昧なプロンプトは矛盾した結果を生成します
- 説明ではなく例を示す: 説明より例の方がより効果的です
- 広範にテストする: 多様で代表的な入力で評価してください
- 迅速に反復する: 小さな変更が大きな影響を与えることができます
- パフォーマンスを監視する: 本番環境でメトリクスを追跡してください
- バージョン管理: プロンプトをコードとして適切なバージョン管理を行う
- 意図を文書化する: プロンプトがなぜそのように構造化されているかを説明する
よくある落とし穴
- 過度な設計: シンプルなプロンプトを試す前に複雑なプロンプトから始める
- 例の汚染: ターゲットタスクと一致しない例を使用する
- コンテキストオーバーフロー: 過度な例でトークン制限を超える
- 曖昧な指示: 複数の解釈の余地を残す
- エッジケースの無視: 異常な入力や境界入力でテストしない
統合パターン
RAGシステムとの組み合わせ
# Combine retrieved context with prompt engineering
prompt = f"""Given the following context:
{retrieved_context}
{few_shot_examples}
Question: {user_question}
Provide a detailed answer based solely on the context above. If the context doesn't contain enough information, explicitly state what's missing."""
検証との組み合わせ
# Add self-verification step
prompt = f"""{main_task_prompt}
After generating your response, verify it meets these criteria:
1. Answers the question directly
2. Uses only information from provided context
3. Cites specific sources
4. Acknowledges any uncertainty
If verification fails, revise your response."""
パフォーマンス最適化
トークン効率
- 冗長な単語や句を削除する
- 定義後に略語を一貫して使用する
- 類似した指示を統合する
- 安定したコンテンツをシステムプロンプトに移動する
レイテンシ削減
- 品質を犠牲にしないプロンプト長を最小化する
- 長文出力にストリーミングを使用する
- 一般的なプロンプトプレフィックスをキャッシュする
- 可能な場合は類似したリクエストをバッチ処理する
リソース
- 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)
- トークン使用量: リクエストあたりの平均トークン数
- 成功率: 有効な出力の割合
- ユーザー満足度: 評価とフィードバック
次のステップ
- 一般的なパターンについてプロンプトテンプレートライブラリを確認する
- 特定のユースケースに対してフューショット学習を試す
- プロンプトバージョニングとA/Bテストを実装する
- 自動評価パイプラインをセットアップする
- プロンプトエンジニアリングの決定と学習を文書化する
制限事項
- このスキルは、タスクが上記で説明されたスコープと明確に一致する場合にのみ使用してください。
- 出力を環境固有の検証、テスト、または専門家のレビューの代替としてはご使用ください。
- 必要な入力、許可、安全境界、または成功基準が不足している場合は停止し、明確化をお求めください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。