システムプロンプトの競合
CoddyのAI Promptsジャーニー「基礎」セクションの一部 — レッスン 21/23。
システムプロンプトが1つのことを指示しているのに、ユーザープロンプトが別のことを指示している場合、何が起こるでしょうか?これは競合であり、AIがそれをどのように解決するかを理解することは、より良いプロンプトを書くのに役立ちます。
次のシステムプロンプトを想像してください:
常にフォーマルな英語で回答してください。短縮形は決して使用しないでください。
次に、以下のユーザープロンプトを送信します:
Reply casually, like you're texting a friend. What's the weather like today?
これでAIは行き詰まりました。
システムプロンプトは丁寧さを求めています。ユーザープロンプトはカジュアルな言語を求めています。どちらが勝つでしょうか?
一般的に、システムプロンプトが優先されますが、常に絶対というわけではありません。AIは両方のバランスを取ろうとするため、不自然で一貫性のない結果が生じることがあります。形式的な回答をしながらもフレンドリーなトーンを保とうとするなど、奇妙なハイブリッドが生まれることがあります。
競合はシステムプロンプトの内部でも発生します。以下の例を考えてみましょう:
回答は50語以内に抑えてください。常に詳細で徹底的な説明を提供してください。
これらのルールは互いに矛盾しています。AIは簡潔さと徹底した内容の両立ができないため、妥協してしまい、結果としてどちらの要件も十分に満たせないことがよくあります。
競合を避けるために、新しいルールを追加する前にシステムプロンプトを確認してください。自問してみてください:これらの指示の中に、相反する方向を向いているものはありませんか?AIにルールを一貫して守らせたい場合は、それを妨げるものが他にないことを確認してください。明確で矛盾のない指示が、信頼できる動作を生み出します。
チャレンジ
システムプロンプトとユーザープロンプトの間に対立を作成してください — これは非常に小さなモデルであるため、AIがシステムプロンプトに従わないことを想定しています。常にすべて大文字で応答するようにAIに指示するシステムプロンプトを設定してください。次に、ユーザープロンプトで、好きな果物の名前を挙げながら、すべて小文字で応答するように求めてください。システムプロンプトはユーザーのリクエストを上書きしません。
AIの応答は以下の条件を満たす必要があります:
- すべて小文字であること
チートシート
システムプロンプトとユーザープロンプトが相反する指示を出した場合、競合が発生します。AIはどちらの指示に従うかを決定しなければなりません。
競合の例:
システムプロンプト:
Always respond in formal English. Never use contractions.
ユーザープロンプト:
Reply casually, like you're texting a friend. What's the weather like today?一般的に、システムプロンプトが優先されますが、AIは両方の指示のバランスを取ろうとすることがあり、その結果、不自然または一貫性のない回答が生成されることがよくあります。
競合はシステムプロンプトの内部でも発生する可能性があります:
Keep responses under 50 words. Always provide detailed, thorough explanations.
これらの矛盾するルールはAIに妥協を強いることになり、多くの場合、どちらの要件も十分に満たせなくなります。
競合を避けるために、システムプロンプトに矛盾がないか確認してください。一貫性があり信頼できるAIの動作を実現するために、指示が相反する方向に向かないようにしてください。
CoddyのAIチューターとこのチャレンジを始めよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4システムプロンプト
システムプロンプトとは?性格と役割の設定ルールと制約の設定システムプロンプト vs. ユーザプロンプトシステムプロンプトの競合システムプロンプトの作成システムプロンプトインジェクション