無料のプロンプトオプティマイザー
大まかなプロンプトを貼り付けるだけで、Claude、ChatGPT、その他のAIからより良い結果を得られる、明確で構造化されたバージョンが手に入ります。
最適化されたプロンプトがここに表示されます。
大まかなプロンプトを貼り付けてから、「最適化」をクリックしてください。
プロンプトオプティマイザーとは?
プロンプトオプティマイザーは、粗く未完成なプロンプトを、どのAIからもはるかに良い結果を得られる明確で構造化されたプロンプトに変換する無料ツールです。大まかなアイデアを貼り付けると、この無料のプロンプトオプティマイザーが、本当に重要な要素 - AIの役割、タスク、コンテキスト、要件、希望する出力形式 - を含めて書き直します。曖昧な依頼と構造化されたプロンプトの違いは、一般的な出力と本当に役立つ出力の違いです。
これはプロンプトエンハンサーおよびChatGPTプロンプトオプティマイザーとしても機能します。生成される構造化プロンプトは汎用性があるため、Claude、ChatGPT、Gemini、その他のAIチャットにそのまま貼り付けられます。プロンプトエンジニアリングの知識は必要ありません。望むことを自然な言葉で説明すれば、オプティマイザーが構造を整えます。
定型作業でプロンプト入力を完全に省きたいですか?KissMySkillsのすぐに使えるプロンプトパックまたはSkillファイルを使えば、ClaudeやChatGPTを特定の仕事のスペシャリストに変えられるため、プロンプトをまったく書かずに専門家レベルの出力を得られます。プロンプト入力が初めてですか?保存したSkillが毎回プロンプトを再入力するより優れている理由は、Claude Skillsとは何かを読んで確認してください。
プロンプト内の配置を変えると、回答も変わります
プロンプト構造の中で最も議論されておらず、最も測定しやすいのが配置であり、主要モデルベンダー3社のうち2社が同じアドバイスを公開しています。
Anthropicのprompt作成ガイダンスでは、20,000トークン以上の入力について、「長い文書や入力をpromptの上部、query、指示、例より前に配置する」よう求め、末尾にqueryを置くと「テストでは、特に複雑な複数文書の入力で、応答品質が最大30パーセント向上する可能性がある」と述べています。この割合は公表された方法論のない社内数値として扱うべきですが、順序に関する助言自体は明確です。GoogleもGeminiについて同じ指示を出しています。「大量のコンテキスト(例:文書、コード)を提供する場合は、まずコンテキストをすべて提示してください。具体的な指示や質問はpromptの一番最後に置いてください」とし、さらに「上記の情報に基づくと…」のような移行表現を使う便利な橋渡しの方法も加えています。
この直感には研究上の裏付けがあります。Lost in the Middle(Liuほか、arXiv:2307.03172)は、モデルの性能が「関連情報が入力コンテキストの先頭または末尾にある場合に最も高くなることが多く、明示的に長いコンテキストに対応したモデルであっても、長いコンテキストの中央にある関連情報にアクセスしなければならない場合には大幅に低下する」ことを示しました。必要な事実が貼り付けた文書の中ほどに埋もれているなら、質問の言い換えよりも、その事実を移動するほうが信頼性の高い修正です。
OpenAIの現在のガイダンスでは、developerメッセージの順序を異なる形で示しています。Identity、Instructions、Examples、Contextの順で、Contextについては「通常、promptの終盤近くに配置するのが最適」と記されています。これは矛盾というより、配置対象の違いです。リクエスト固有の参考資料なのか、大量の文書なのかという違いです。実際的な結論は、普遍的に唯一のレイアウトは存在せず、あるモデルで配置によって調整したpromptは、別のモデルで再検証すべきだということです。
構造は形容詞に勝る
ベンダーが実際に文書化している手法は構造に関するもので、モデルに世界最高水準の専門家だと伝えるものは一つもありません。
明確さに関するAnthropicの考え方は、ルールではなくテストです。「タスクについて最小限の文脈しか知らない同僚にpromptを見せて、それに従うよう頼んでみてください。困惑するようなら、Claudeも同じです。」同じガイダンスでは、制約をただ断定するのではなく、なぜその制約が存在するのかを説明することも推奨しています。モデルは「説明から一般化できるほど賢い」ためです。理由が添えられた指示は、列挙していないケースにも適用できます。
区切り文字についても、同様に一貫した推奨があります。Anthropicは、XMLタグが「Claudeによる複雑なpromptの明確な解析を助ける」とし、各種類のコンテンツをそれぞれ独自のタグで囲む方法を、たとえば次のように示しています <instructions>, <context>, <input> 「誤解を減らします」。OpenAIは「Markdownの見出しやリストは、promptの異なるセクションを示すのに役立つことがあります」、また「XMLタグは、あるコンテンツがどこで始まり、どこで終わるのかを区切るのに役立ちます」と述べています。Googleは例について逆方向の注意を促しています。一貫した形式をfew-shotの例全体で保つことが重要であり、「例を多く含めすぎると、モデルが例に合わせて回答を過度に適合させ始める可能性があります」。Anthropicは3〜5個を、次のタグで囲むことを提案しています <example> タグ。
役割指定の効果はインターネットで言われているほど大きくありませんが、無意味というわけでもありません。Anthropicの立場は控えめで具体的です。「system promptで役割を設定すると、用途に合わせてClaudeの動作とトーンに焦点を合わせられます。たった1文でも違いが生まれます」。system promptに1文を書くのであって、user messageに創作した経歴を段落で書くのではありません。
現在では誤りとなっている、標準的なpromptに関する2つの助言
Promptガイドは古びるのが早く、特に繰り返し語られてきた2つのヒントは、ベンダー自身のドキュメントによってすでに取って代わられています。
「常に、step by stepで考えるよう指示する。」 OpenAIの推論に関するガイダンスは、推論モデルについてはその逆を述べています。「chain-of-thought promptsは避けてください。これらのモデルは内部で推論を行うため、『step by stepで考えて』や『推論を説明して』と促す必要はありません」。また別の箇所では、こうした手法は「性能を高めない可能性があり(場合によっては妨げることもあります)」と説明しています。同じページでは、まずzero-shotを試し、必要な場合にのみ例を追加することを推奨しています。OpenAIのたとえは覚えておく価値があります。推論モデルは「上級の同僚のようなものです。達成すべき目標を伝え、細部は任せて進めてもらえます。GPTモデルは junior coworker のようなものです」。chain-of-thoughtは廃れたわけではありません - Anthropicは今でも<thinking>タグと<answer>タグを使った手動CoTを文書化しています - ただし現在は、組み込みの推論がオフの場合のフォールバックとして説明されており、デフォルトではありません。
元の論文が何を主張していたのかも知っておく価値があります。Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(Wei et al., arXiv:2201.11903)は、こうした能力が「十分に大規模な言語モデルでは自然に現れる」と報告しました。有名な「let’s think step by step」という結果(Kojima et al., arXiv:2205.11916)は、2022年のモデルで測定されたものです。どちらも時代を超えた法則ではありません。
「assistantの最初の言葉をあらかじめ入力する。」 Anthropicの現行ドキュメントによると、最近のClaudeモデルでは、最後のターンにおけるassistantメッセージの事前入力は「もはやサポートされておらず」、それを含むリクエストは「400エラーを返します」。文書化されている代替策は、構造化出力、前置きをせずに回答するよう直接指示すること、またはツール呼び出しです。今もprefillを書式設定のテクニックとして教えているガイドは、現在では失敗するリクエストについて説明しています。
もう1つ、区別しておく価値のあるものがあります。自己一貫性(Wang et al., arXiv:2203.11171)は、複数の推論経路をサンプリングし、最も頻出する回答を採用するデコード戦略です。複数回の生成が必要なため、promptを書き換えるだけでは実現できません。
このオプティマイザーにできないこと
モデルが持っていない知識を補うことはできません。 OpenAIがコンテキストを追加する理由として示しているのは、モデルに「独自データ、またはモデルの学習に使われたデータセット外のその他のデータへのアクセス」を与えることです。欠けている事実への対処は、質問の表現を改善することではなく、その事実を貼り付けることです。
ハルシネーションをなくすことはできません。 Anthropicは、先進的なモデルでさえ「事実に反するテキストを生成することがある」と明言しています。また、「わからない」と答えられるようにする、長い文書に回答する前に逐語的な引用を抽出する、モデルを提供された情報源に限定する、といった軽減策は「ハルシネーションを大幅に減らす」ものの、「完全になくすことはできない」と説明しています。
promptインジェクションから身を守ることはできません。 Anthropicは2つの脅威モデルを挙げています。1つは、ユーザー自身が攻撃者となる直接的なインジェクションです。もう1つは、信頼できるユーザーのpromptによってモデルが第三者のコンテンツ(Webページ、メール、文書、ツールの結果)を処理し、そこに含まれる敵対的な指示が作用する間接的なインジェクションです。文言はセキュリティ対策ではありません。
サンプリングパラメータを設定することはできません。 Temperatureとtop-pはpromptではなく、API呼び出しで設定します。また、これらはベンダー間で比較できるものでもありません。Anthropicは0.0-1.0の範囲を記載し、「temperatureが0.0でも、結果は完全に決定論的にはならない」と警告しています。一方、OpenAIは0-2を記載し、「temperatureまたはtop_pのどちらか一方だけを変更する」ことを推奨しています。
出力が良いかどうかを判断することはできません。 Anthropicのpromptエンジニアリングのドキュメントでは、成功の定義と、それに照らしてテストする方法をあらかじめ用意していることが前提とされています。それがなければ、より長く、より適切に構成されたpromptは、より長く、より適切に構成された推測を生み出すだけです。