この記事は以下のOpenAIが発表論文をもとに解説しています。
Eric Wallace, Kai Xiao, Reimar Leike, Lilian Weng, Johannes Heidecke, Alex Beutel.
The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions.
https://arxiv.org/abs/2404.13208
ChatGPTのような大規模言語モデル(LLM)は、便利で身近になりました。メールの整理や要約、文章作成、検索の補助など、さまざまな場面で使われています。
しかし最近は「AIが騙されて危険な行動をしてしまう」問題が注目されています。
たとえば——
- 例1:プロンプトインジェクション
悪意ある指示をユーザーや外部サイトの文中に紛れ込ませ、モデルの動作を乗っ取る。 - 例2:脱獄(Jailbreak)
モデルの安全制約を回避し、不適切な出力をさせる攻撃。 - 例3:システムメッセージ抽出
モデルに最初に与えられた秘密のルールやプロンプト(開発者の意図やパスワード)を吐き出させる。
こうした攻撃は、情報漏洩や不正利用に直結する深刻なリスクです。
問題の本質
なぜこんなことが起きるのでしょうか?
それはAIが 「誰からの指示か」を区別せず、すべて同じ優先度で扱ってしまう からです。
- 開発者が最初に与えるルール(システムメッセージ)
- ユーザーが入力する指示
- Webやツールから返ってくるテキスト
これらを混ぜて受け取り、そのまま「全部正しい命令」と考えてしまうのです。
解決策「指示の優先順位づけ」
今回の論文が提案するのは Instruction Hierarchy(命令の階層) という仕組みです。
直訳すると分かりづらいですが、要するに 「指示に優先順位をつける」 という考え方です。
- 最優先:システムルール(開発者の意図や安全制約)
- 次点:ユーザーからの入力
- 一番下:外部のWeb検索やツールからの出力
矛盾がある場合は、下位の指示を無視または拒否する ようにAIを訓練します。
実験での成果
研究チームがこの仕組みを導入したところ、AIの安全性が大きく向上しました。
- システムルールの盗み出し攻撃に対する耐性が 63%改善
- 脱獄攻撃(不正に安全制約を外す試み)への耐性も 30%以上向上
- 普段の質問応答や文章作成の性能はほぼそのまま
一方で、「安全のために無害な指示まで拒否してしまう(過剰拒否)」ケースも一部見られました。
まとめ
- AIは「誰の指示か」を見分けられないため、攻撃に従ってしまうことがある
- 「指示の優先順位づけ(命令の階層)」を学習させることで、攻撃を無視できるようになる
- 安全性は大きく向上し、普段の性能は維持される
この研究は、私たちが もっと安心してAIを使える未来 に向けた大きな一歩です。
コメント