0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「トマトと卵の炒め物(東坡肉なし)」──AIはなぜ「書くな」と言ったことを書くのか

0
Posted at

Xでこんな投稿を見かけました。

GPTにトマトと卵の炒め物を作らせたところ、なぜか東坡肉まで追加された。「東坡肉はいらない」と指摘すると料理からは消えたものの、そのままPRを作らせるとタイトルが、

トマトと卵の炒め物(東坡肉なし)

になり、本文では「なぜ東坡肉を入れないのか」まで長々と説明された、という話です。

笑ってしまったのですが、私自身もこの挙動には何度も頭を悩ませていて、結構イライラさせられています。
コードだけでなく、AIに設計資料や記事を書かせていると、

  • 「この話はいらない」→「この話については対象外とします」とわざわざ書く
  • A案からB案に修正した →「A案ではなくB案を採用します」と資料に残す
  • 間違った説明を直した → 修正後の文章に「○○ではない点に注意してください」が増える

といったことがよくあります。消してほしいのは、その説明も含めてなんだけど。

なぜAIは、「書かなくていい」と言ったことをいつまでも引きずるのでしょうか。調べてみると、単純に「LLMは否定形が苦手」というだけの話でもなさそうでした。

ピンクの象を想像しないでください

突然ですが、

ピンクの象を想像しないでください。

……どうでしょう、想像してしまいましたね?「考えない」ためには、まず何を考えてはいけないのかを認識する必要があります。

人間のこうした思考抑制については昔から研究があり、2025年のある研究では、「想像しないで」と指示されても意図しない視覚イメージを経験する人がいることが報告されています。

LLMにも少し似た構造があります。「東坡肉について書かないで」と指示した時点で、入力にはもう一度「東坡肉」という情報が入っています。忘れてほしい対象を、自分で再提示しているわけです。

人間の「ピンクの象」とLLMが同じ心理・内部機構で動いているという意味ではありません。「抑制するために対象を示した結果、その対象がかえって残りやすくなる」という似た構造を説明するための比喩として使っています。

「書くな」がむしろ書きやすくする

否定を含む指示がLLMにとって難しいこと自体は、以前から研究されています。ざっくりまとめると、

  • 通常の指示を否定形に変えるだけで性能が大きく落ちる、という報告がある
  • ただし「否定を理解できない」わけではなく、モデル内部には否定を正しく処理する成分がある一方、後段の処理で単純なショートカットが優先され、誤答することがある
  • 「特定の語を書くな」という禁止指示では、禁止するために指示文中へその語を明示したこと自体が、禁止対象の表現をむしろ活性化させてしまう場合がある、という報告もある

つまり「東坡肉を書くな」と言った瞬間、自分で東坡肉をもう一度モデルに見せています。「出すな」という抑制もかかるけれど、その前に東坡肉自体を活性化させている。抑制が負ければ、そのまま東坡肉が出てくるわけです。

これはかなり「ピンクの象を想像するな」に近く見えます。具体的な論文情報は末尾にまとめました。

東坡肉なしが生まれる、もう一つの理由

ここまでなら、「じゃあ否定形を使わなければいい」で終わりそうです。ただ、AIに資料を作らせていると、否定形を使っていないのに同じようなことが起きます。

例えば、

AI: A方式にします
人: そこはB方式にして
AI: 修正しました
人: では、この内容で設計資料を作って

としたときに、「A方式ではなく、B方式を採用します。」と書かれることがあります。でも、その資料を初めて読む人はA方式なんて知りません。欲しいのは単に「B方式を採用します。」です。ここでは「Aについて書くな」とすら言っていません。

問題になっているのは、検討履歴と現在の状態が同じコンテキストに入っていることだと思います。人間が正本を作るときは、検討途中の情報・却下した情報・現在採用されている情報・読者に必要な情報を自然に分けています。一方、長い会話をそのままLLMへ渡すと、この履歴がすべて残ります。

しかも、「コンテキストに入っている」ことと「必要な情報を正しく使える」ことは別の話です。長いコンテキストを持つモデルでも、必要な情報がどこにあるかによって性能が変わることや、古い情報を持ち続けると後の会話で混乱が起きやすいことは、それぞれ別の研究で報告されています(末尾に記載)。全部覚えておけば、その分だけ賢くなるわけではないようです。

「私はちゃんと理解して直しました」まで成果物に入る

東坡肉の例には、もう一つ気になるところがあります。AIは修正を頼むと、

東坡肉は不要とのことなので削除し、
トマトと卵のみを使う構成に修正しました。

のように返すことがあります。会話としては親切です。「指示を理解して、意図して直した」ことが分かります。ただ、この作業報告のノリを成果物にまで持ち込むと、「トマトと卵の炒め物(東坡肉なし)」になります。同じように「A方式ではなくB方式を採用します」も、修正報告としては自然ですが、最初からB方式しか知らない読者にはA方式の話が余計です。

私は、この過剰な説明+「ちゃんと理解して直しました」という自己証明っぽい出力もかなり効いている気がしています。ただし、この因果関係を直接示した研究は見つけられていません。あくまで個人的な見立てです(関連しそうな話は末尾に載せています)。

そのため、

  • 禁止対象をわざわざ再提示している
  • 訂正前の情報もコンテキストに残っている
  • 説明的に振る舞おうとして、作業報告まで成果物に混ぜる

少なくとも、「否定形が苦手だから」の一言では片付かなさそうです。

じゃあ、どうするか

最初はAGENTS.mdなどに、

- 却下した案について書かない
- 修正前の内容をPRに含めない
- 不要と言われた内容には言及しない

とルールを積めばよいのではと思っていました。実際、ある程度は効きます。ただ、これを続けると「Aを書くな」「Cを書くな」「Dを書くな」と、不要な情報を禁止事項として延々コンテキストに残すことにもなります。

最近は、正本を作る前に一度ADRや捨てる前提のメモを挟み、そこで検討を終わらせるようにしています。

調査・会話・試行錯誤
        ↓
ADR / 検討メモ
        ↓
新しいセッション
        ↓
正本

ADRには、

A方式を検討した。○○の問題があるため不採用。
B方式を採用する。

という感じで書いています。正本を作るときは、このADRをそのまま新しいセッションに渡しています。ADRの中にはA方式についての記述も残っているので、情報を隠しているわけではありません。それでも体感としては、セッションを区切って渡すだけで「A方式は使わない」のような言及がかなり減る気がしています。検討の真っ最中に強く働いていた強調が、セッションを跨ぐことで薄れるのかもしれません。

このあたりはまだ自分でも試行錯誤中です。もっと良いやり方があれば、コメントで教えてもらえると嬉しいです。

まとめ

「トマトと卵の炒め物(東坡肉なし)」は笑い話として面白かったのですが、調べてみると普段AIを使っていて感じる違和感が結構詰まっていました。

  • LLMにとって否定を含む指示は今でも簡単ではなく、「Xを書くな」と伝えることでX自体をもう一度入力してしまう
  • 長いコンテキストには、現在の状態だけでなく過去の検討内容も残り続ける
  • 修正報告としては自然な説明が、そのまま正本に入り込むことがある

人間に「ピンクの象を想像するな」と言うと、ピンクの象が浮かびます。AIに「東坡肉について書くな」「東坡肉は不要」と繰り返すのも、少し似ています。

正本に東坡肉がいらないなら、東坡肉を禁止する指示を積み重ねるより、検討中の文脈をそのまま持ち越さず、区切ったセッションで渡す。 しばらくは、この運用で様子を見ながら付き合ってみようと思います。

同じような「消したはずなのに、なぜか残る」に悩んだことがある方はぜひ「いいね」やコメントで、うまくいった運用や対策があればぜひ教えてください。
参考になる事例や記事などがあれば、それも紹介してもらえると嬉しいです。

参考

今回の話に関連する研究・記事です。本文では概要だけ紹介したので、気になる方はこちらもどうぞ。

  • 元になったXの投稿
  • Don't think of a pink elephant(PubMed) ── 「想像しない」指示でも意図しない視覚イメージが生じる人がいることを報告した2025年の研究
  • Can Large Language Models Truly Understand Prompts? A Case Study with Negated Prompts(MLR) ── 通常の指示を否定形に変えると性能が大きく低下することを報告(2023)
  • How Language Models Process Negation(arXiv:2605.03052 / ICML 2026) ── モデル内部に否定を処理する成分はあるが、後段の注意機構が単純なショートカットを優先し誤答につながる場合があることを報告
  • Semantic Gravity Wells: Why Negative Constraints Backfire(arXiv:2601.08070) ── 「Xを書くな」という禁止指示自体が、禁止語の生成確率をむしろ高めてしまう場合があることを報告した2026年1月のプレプリント(査読前、単著)
  • Lost in the Middle: How Language Models Use Long Contexts(ACL Anthology) ── 長いコンテキストでも、情報の位置によって利用精度が大きく変わることを報告
  • Keep Me Updated! Memory Management in Long-term Conversations(ACL Anthology) ── 古くなった情報を保持し続けると後続の会話で混乱が生じやすく、選択的に除去する方が良い結果になることを報告
  • Beyond Excess and Deficiency: Adaptive Length Bias Mitigation in Reward Models for RLHF(ACL Anthology) ── RLHFの報酬モデルが回答の長さを過大評価する傾向(length bias)が、冗長な回答につながりうることを報告。今回の現象を直接説明するものではないが、関連する視点として
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?