mcpField
L
llm-prompt-optimizer

llm-prompt-optimizer

github.com/sickn33エージェントワークフロー48.9k96 回インストール1 日前に更新
リポジトリ

llm-prompt-optimizer について

曖昧または不安定な指示を、プロンプト設計のパターンで整理するスキルです。出力形式の指定、少数例、ハルシネーション対策、圧縮を LLM、エージェント、チャットボット向けに扱います。

主な機能

  1. 01RSCIT フレームワークによる構成
  2. 02構造化出力要件の指定
  3. 03少数例による出力の安定化
  4. 04ハルシネーション抑制の制約追加
  5. 05プロンプトの圧縮と監査

活用シーン

  1. 01曖昧または不安定なプロンプトの改善
  2. 02LLM の JSON 出力形式の指定
  3. 03エージェントやチャットボットのシステムプロンプト設計
  4. 04要件を保ったプロンプトの短縮

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill llm-prompt-optimizer

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

詳細

LLM プロンプトオプティマイザー

概要

このスキルは、弱い、曖昧、または一貫性のないプロンプトを、あらゆる LLM(Claude、Gemini、GPT-4、Llama など)から高品質な出力を安定して得られるよう、精密に設計された指示へと変換します。ゼロショットからフューショット、Chain-of-Thought、構造化出力パターンまで、体系的なプロンプトエンジニアリングのフレームワークを適用します。

このスキルを使う場面

  • プロンプトから一貫性のない、曖昧な、または幻覚を含む結果が返ってくる場合
  • LLM から構造化された出力/JSON 出力を安定して得る必要がある場合
  • AI エージェントやチャットボットのシステムプロンプトを設計する場合
  • 品質を損なわずにトークン使用量を削減したい場合
  • 複雑なタスクに Chain-of-Thought 推論を実装する場合
  • あるモデルでは機能するプロンプトが、別のモデルでは機能しない場合

手順ガイド

1. 弱いプロンプトを診断する

最適化する前に、どの問題パターンに当てはまるかを特定します。

問題症状対処法
曖昧すぎる汎用的で役に立たない回答役割+コンテキスト+制約を追加する
構造がない書式がなく、解析しにくい出力出力形式を明示的に指定する
幻覚自信ありげな誤答「不確かな場合は、わからないと言う」を追加する
一貫性がない実行ごとに回答が異なるフューショットの例を追加する
長すぎる冗長で余分な回答長さの制約を追加する
2. RSCIT フレームワークを適用する

最適化されたプロンプトには、次の要素をすべて含めます。

  • R — 役割:このやり取りにおける AI の役割は何ですか?
  • S — 状況:どのようなコンテキストが必要ですか?
  • C — 制約:ルールや制限は何ですか?
  • I — 指示:具体的に何をすべきですか?
  • T — テンプレート:出力はどのような形式にすべきですか?

改善前(弱いプロンプト):

Explain machine learning.

改善後(最適化されたプロンプト):

You are a senior ML engineer explaining concepts to a junior developer.

Context: The developer has 1 year of Python experience but no ML background.

Task: Explain supervised machine learning in simple terms.

Constraints:
- Use an analogy from everyday life
- Maximum 200 words
- No mathematical formulas
- End with one actionable next step

Format: Plain prose, no bullet points.
3. Chain-of-Thought(CoT)パターン

推論を必要とするタスクでは、非公開の内部思考過程ではなく、簡潔な説明、主要な前提、検証可能な結果を求めます。

Solve the problem and give the final answer with a concise explanation of the key steps and verification.

Problem: [your problem here]

Thinking process:
Step 1: [identify what's given]
Step 2: [identify what's needed]
Step 3: [apply logic or formula]
Step 4: [verify the answer]

Final Answer:
4. フューショット例のパターン

パターンを示すため、2〜3 個の例を提示します。

Classify the sentiment of customer reviews as POSITIVE, NEGATIVE, or NEUTRAL.

Examples:
Review: "This product exceeded my expectations!" -> POSITIVE
Review: "It arrived broken and support was useless." -> NEGATIVE  
Review: "Product works as described, nothing special." -> NEUTRAL

Now classify:
Review: "[your review here]" ->
5. 構造化 JSON 出力パターン
Extract the following information from the text below and return it as valid JSON only.
Do not include any explanation or markdown — just the raw JSON object.

Schema:
{
  "name": string,
  "email": string | null,
  "company": string | null,
  "role": string | null
}

Text: [input text here]
6. 幻覚を減らすパターン
Answer the following question based ONLY on the provided context.
If the answer is not contained in the context, respond with exactly: "I don't have enough information to answer this."
Do not make up or infer information not present in the context.

Context:
[your context here]

Question: [your question here]
7. プロンプト圧縮のテクニック

効果を損なわずにトークン数を減らします。

# Verbose (expensive)
"Please carefully analyze the following code and provide a detailed explanation of 
what it does, how it works, and any potential issues you might find."

# Compressed (efficient, same quality)
"Analyze this code: explain what it does, how it works, and flag any issues."

ベストプラクティス

  • ✅ 推奨: 出力形式(JSON、markdown、プレーンテキスト、箇条書き)を必ず指定する
  • ✅ 推奨: 区切り文字(```, ---)を使い、指示とコンテンツを分ける
  • ✅ 推奨: エッジケース(空の入力、特殊なデータ)でプロンプトをテストする
  • ✅ 推奨: システムプロンプトをソース管理でバージョン管理する
  • ✅ 推奨: 数学、論理、複数手順のタスクでは「段階的に考えて」と追加する
  • ❌ 非推奨: 否定的な指示だけを使う(「冗長にしない」など)。肯定的な代替案も追加する
  • ❌ 非推奨: モデルがコードベースのコンテキストを把握していると思い込む。必ず含める
  • ❌ 非推奨: テストせずに異なるモデルで同じプロンプトを使う。モデルごとに動作は異なる

プロンプト監査チェックリスト

プロンプトを本番環境で使う前に確認します。

  • 明確な役割/ペルソナが設定されていますか?
  • 出力形式が明示的に定義されていますか?
  • エッジケース(空の入力、曖昧なデータ)に対応していますか?
  • 長さは適切ですか(長すぎず、短すぎない)?
  • 多様な入力を 5 件以上使ってテストされていますか?
  • 事実に関するタスクで、幻覚のリスクに対処していますか?

トラブルシューティング

問題: モデルが形式の指示を無視する 解決策: 利用可能な場合は、サポートされている構造化出力/スキーマ制約を使用し、パーサーで応答を検証します。プロンプトの文言だけでは有効な JSON を保証できません。再試行回数に上限を設け、拒否や出力の切り詰めにも対処します。

問題: 実行ごとに結果が一貫しない 解決策: 温度設定を下げます(事実に関するタスクでは 0.0~0.3)。少数ショットの例を追加します。

問題: プレイグラウンドではプロンプトが機能するが、本番環境では失敗する 解決策: システムプロンプトが正しく送信されているか確認します。トークン上限を超えていないか検証します(トークンカウンターを使用してください)。

問題: 出力が長すぎる 解決策: 単語数や文数を明示的に制限します。「それぞれ 20 語未満の箇条書き 3 項目ちょうどで回答してください。」

制限事項

  • 上記で説明した範囲にタスクが明確に当てはまる場合にのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。

コメント