llm-prompt-optimizer について
曖昧または不安定な指示を、プロンプト設計のパターンで整理するスキルです。出力形式の指定、少数例、ハルシネーション対策、圧縮を LLM、エージェント、チャットボット向けに扱います。
主な機能
- 01RSCIT フレームワークによる構成
- 02構造化出力要件の指定
- 03少数例による出力の安定化
- 04ハルシネーション抑制の制約追加
- 05プロンプトの圧縮と監査
活用シーン
- 01曖昧または不安定なプロンプトの改善
- 02LLM の JSON 出力形式の指定
- 03エージェントやチャットボットのシステムプロンプト設計
- 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 項目ちょうどで回答してください。」
制限事項
- 上記で説明した範囲にタスクが明確に当てはまる場合にのみ、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。