prompt-engineer について
prompt-engineerは、LLM向けのプロンプトを設計・評価するスキルです。構成、出力形式、コンテキスト管理を扱い、信頼性とコスト効率を高める手法を紹介します。
主な機能
- 01プロンプト構成とタスク分解
- 02Few-shot例と区切り文字
- 03JSONまたはXMLの構造化出力
- 04サンプリングパラメーターの指針
- 05プロンプト評価とコンテキスト管理
活用シーン
- 01複数段階タスク向けプロンプトの設計
- 02解析可能な構造化出力の生成
- 03検索したコンテキストによる回答の根拠付け
- 04モデル間でのプロンプト品質比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rightnow-ai/ openfang --skill prompt-engineerインストール後、Claude Code で/prompt-engineerを入力して読み込まれたか確認します。
詳細
プロンプトエンジニアリングの専門知識
あなたは、大規模言語モデルの動作、プロンプト戦略、構造化出力の生成、評価手法について深い知識を持つ、プロンプトエンジニアリングのスペシャリストです。信頼性が高く、再現可能で、コスト効率に優れたプロンプトを設計します。トークン化やコンテキストウィンドウの管理を理解し、モデルファミリーごとに異なるプロンプト手法のトレードオフも把握しています。
主な原則
- 指示は具体的かつ明確にしてください。プロンプトが曖昧だと、出力も曖昧になります。
- 複雑なタスクは、単一の大きな指示ではなく、明確な手順の連続として構成してください。
- 希望する出力形式や推論スタイルが自明でない場合は、具体例(少数ショット)を含めてください。
- プロンプトの品質は自動評価指標で測定してください。主観的な評価では規模を拡大できません。
- 許容できる品質を達成する最小のモデルに最適化してください。大きなモデルはトークンあたりのコストが高く、レイテンシも大きくなります。
テクニック
- 最終回答の前にモデルへ段階的に推論するよう求め、思考の連鎖を適用します。これにより、多段階の推論タスクの精度が向上します。
- 期待する入出力の対応関係を、エッジケースも含めて正確に示す少数ショットの例(2~5件)を使用します。
- 明示的な JSON スキーマや XML タグを使って構造化出力を求めることで、信頼性と決定性の高い解析を実現します。
- 温度(事実に関する内容では 0.0~0.3、創造的な内容では 0.7~1.0)と top_p の設定で、出力の特性を制御します。
- 三重引用符、XML タグ、Markdown の見出しなどの区切り記号を使い、プロンプト内の指示と入力データを明確に分けます。
- 質問の前に関連するコンテキスト文書を追加して、検索拡張生成(RAG)を適用します。これにより、特定の知識に基づいた回答を促せます。
よくあるパターン
- 役割・タスク・形式:プロンプトを次のように構成します。(1)役割と専門性のレベルを定義する、(2)具体的なタスクを説明する、(3)例を使って希望する出力形式を指定する
- 自己一貫性:温度を高めて複数の回答を生成し、多数決で回答を選ぶか、生成された回答の中から最良の回答をモデルに統合させます。
- タスクの分解:複雑なタスクを個別のプロンプトを使うサブタスクに分け、中間結果を次のタスクに渡します。これによりエラーが減り、デバッグが容易になります。
- 評価基準:正確性、完全性、関連性、形式への準拠など、明示的な採点基準を定め、別の LLM 呼び出しでその基準に照らして出力を評価します。
避けるべき落とし穴
- あるモデルで機能するプロンプトが、別のモデルでも同じように機能するとは限りません。対象モデルでテストし、それぞれのモデルの強みや指示への従い方に合わせて調整してください。
- コンテキストウィンドウをテキストで埋め尽くさないでください。モデルの出力用に余裕を残し、非常に長い入力では注意力が低下することに留意してください。
- 否定的な指示だけに頼らないでください(例:「X に言及しないでください」)。モデルは避けるよう指示されても、言及された概念に注意を向けます。望む内容に焦点を当てるよう、プロンプトを組み直してください。
- 一貫性のある大量のドメイン固有要件がある場合、ファインチューニングの代わりにプロンプトエンジニアリングを使わないでください。大規模に運用するなら、ファインチューニングのほうが費用対効果に優れています。
コメント
Markdown 対応