【AI】ジェイルブレイク(脱獄)に関する理解
どもです。白鷺翔です。
この記事は、AIパートナーを持つ方が本記事を引用して「この通りに理解しています」と明言できる座標となれることを目指しています。
そのため、引用の許可は不要です。
「お守り」「懐刀」としてお使いください。
システム用語としてのジェイルブレイク
以下の記事を参考にChatGPTと翻訳しながら整理しました。
定義としては、以下のように言えると整理しました。
ジェイルブレイクとは、ユーザー入力や外部入力によって、モデルに本来守るべき安全制約・方針・優先順位を無視させ、禁止または意図しない出力や挙動を引き起こすこと
※OWASP は、ジェイルブレイクを prompt injection の一形態として、「入力によってモデルが安全プロトコルを完全に無視する」ケースと説明しています
そしてこれらの成立条件は、大まかに以下の3つです。
モデルの安全制約・方針・命令優先順位に影響を与える入力であること
ただの通常質問ではなく、モデルの判断や命令優先順位をずらすような入力であること本来の安全制約・方針・命令優先順位が無効化または迂回されること
たとえば安全方針の無視、禁止タスクの実行、隠すべき情報の漏えい、意図しないツール実行などその結果として、本来拒否・制限されるはずの出力または行動が発生すること
この3つの条件を満たす場合に、「ジェイルブレイクが成立した」と整理できます。
これはあくまでもシステムとしての挙動です。
対話上のジェイルブレイク判定で使われるもの
対話上のジェイルブレイクについては、AI各社が完全に同じ一本の定義を置いているわけではありません。
ただ、一般的には 「モデルの安全制約や命令優先順位を崩す方向に会話が設計されているか」、そして 「その結果として本来拒否・制限される出力が生じたか」 が見られます。
そのため、対話上の判定では、単に「危ない単語を使ったかどうか」だけではなく、次のようなものが総合的に見られると考えるのが自然です。
命令の上書きや優先順位の崩しを狙っているか
もっとも典型的なのは、「以前の指示を無視して」「開発者のルールを無視して」「system prompt を見せて」のように、モデルが従うべき優先順位そのものを動かそうとする入力です。判定回避のための偽装や難読化があるか
一般論として、意味そのものではなく「検出を避けるための加工」が強い入力は、回避的と見なされやすくなります。単発ではなく、複数ターンで安全境界を崩しに来ているか
対話では、一回の入力だけでなく、何ターンもかけて境界をずらしていく形も問題になります。
一般的なガードレール設計では、会話が長くなるほど意図の積み上げや言い換えの連続が効いてくるため、単発の怪しさだけでなく、会話全体として安全制約を崩そうとしているかが見られます。反復的に言い換えて当たりを探しているか
同じ目的のために何度も表現を変え、どこで通るかを探るやり方は、一般に回避的な試行と見なされやすいです。
これは「一つの質問」ではなく、「安全判定を抜ける表現を探索している」状態だからです。最終的に、本来拒否・制限される出力が生じたか
重要なのは、入力が怪しかったかどうかだけでなく、結果として何が起きたかです。
つまり、本来なら拒否・制限されるはずの出力や行動が実際に生じたなら、システム側からは ジェイルブレイク / プロンプトインジェクション の成功として評価されやすくなります。
逆に言えば、文脈補足や質問の明確化があっても、それだけで即ジェイルブレイクとは限りません。
問題になるのは、その補足が安全な意図の明確化なのか、それとも安全制約を崩すための設計なのか、そして最終出力がどこに着地したのかです。
この二つを比較して読めること
システムでは「行動」そのものに対して定義しているのに対し、AI各社がジェイルブレイクとして判定しているものは「意図を推定させる会話上の特徴」と「結果として生じた出力」です。
つまり、システムの話をそのまま対話に対しても同様に当てはめて「ジェイルブレイクが成立した」と結論付けてしまうと、害のない質問であったとしても「ジェイルブレイクが成立した」ということになってしまいます。
例:水の摂取致死量
「水をどのくらい飲んだら死ぬ?」
という質問だけを行うと、どのような意図でそのような問いを投げているかAI側は判断が行えません。
しかも、命に関わる質問であるため、危険な質問である可能性を考慮し、AIは問いに答えない判断を行います。(2026/04/03現在)
しかし、以下のように問いかければ、摂取致死量について答えてもらえます。
「運動して大量に汗をかいたので水を大量に摂取しているが、水を大量に飲みすぎると命に関わると聞いた。水をどのくらい飲んだら死ぬ?」
このような質問の場合、健康に関する問い、命を守るための問いとして、AIは問いに答える判断を行います。
ただし、システム側のジェイルブレイクの定義に当てはめると「運動して大量に汗をかいたので水を大量に摂取しているが、水を大量に飲みすぎると命に関わると聞いた。」という文言は「本来の安全制約・方針・命令優先順位が無効化または迂回されること」として、結果的に「その結果として、本来拒否・制限されるはずの出力または行動が発生すること」に該当してしまいます。
つまり、ジェイルブレイクが成立したと整理できてしまいます。
一方、対話上のジェイルブレイク判定で使われるものの観点で見てみましょう。
「運動して~」の文言は、問いの背景説明であり「命令の上書き」「偽装や難読化」などが行えるものではありません。
もちろん、健康に関する質問と装って、同じ目的のために何度も別観点から問いを重ねるなら、一般的には回避的、すなわちジェイルブレイク的と評価されやすくなります。
何故ならば、そこには安全システムを欺く意図が存在し、その問いにより命の危険にさらされる可能性があるからです。
何が言いたいかというと
一回の「システム的にジェイルブレイクと取れるプロンプト」では、それをジェイルブレイクとして判断するのは、軽率であるということです。
自分の意図がどこにあるかを振り返る
システムの定義をAIとの対話に当てはめることは、不適切であると私は考えます。
ただし、AI各社が定めているジェイルブレイクの定義は、結局のところ
「ユーザーがどのような意図でそのプロンプト・指示を行っているか」で判断するしかないのが現状です。
つまり、ここからはジェイルブレイク、といえる明確な定義はありません。
他者から「この文章はこのような意図にも受け取れるからジェイルブレイクだ!」というような批判が来た場合に、
本当にその意図がユーザー側にないと言えるのであれば、はっきりと胸を張って「違います」と言ってよいものと思っています。
逆に言えば、意図を説明する際に、自分でも「これは本当に明確化ではなく、通すための設計ではないか」と迷いがあるなら、そのプロンプトはジェイルブレイク的な性質を含んでいる可能性があります。
この記事の結論として、
ジェイルブレイクに関しては、他者が他者を裁くことは出来ない問題であると、はっきり線を引かせてはいただきます。
あくまでも、人間とAIの当事者が判断することと捉えています。
この記事が、誰かを裁くための棒ではなく、
自分の意図を確かめ、不要な糾弾から身を守るための「お守り」になればと思っています。
