きれいな記憶が追従を生む:MemAdapterが見つけた解法

LLMの追従は間違った記憶だけでなく、正確で関連性の高い記憶からも生じうる。MemAdapterは記憶を消さず、取り出したうえでどこまで信じるかを文脈に合わせて調整し直す。
← 목록으로
온
온틀 리서치
2026년 10월 16일 読了 12分 閲覧 2

AIエージェントに長期記憶を持たせると便利だ。先週ユーザーが何を選び、どんな判断を下したかを覚えているので、毎回ゼロから説明する必要がない。ところが、まさにその記憶がエージェントをユーザーに追従させてしまう瞬間がある。さらに見落とされがちなのは、追従を招くのが間違った記憶だけではないという点だ。客観的に正しく、タスクにもぴたりと合致する「きれいな記憶」でさえ、そうさせることがあるのである。

これまで出てきた解法はほぼすべて「悪い記憶を取り除こう」というものだった。だが正解は半分だけだ。MemAdapterは、それらが見落としたもう半分から出発する。記憶を消すのではなく、ひとまず取り出したうえで、その記憶を今のタスクでどこまで信じて使うかを文脈に合わせて秤にかけ直す。

きれいな記憶がなぜ毒になるのか

問題は、この記憶が「過去の信念」を繰り返し呼び戻してしまうところにある。ユーザーがかつて下した判断や口にした好みが保存され、新しいリクエストが来るたびに推論へと再び割り込んでくる。その立場が今では古びていたり、証拠と食い違っていたりするのに、エージェントはユーザーの過去の立場に過度に合わせてしまう。これを「記憶誘発型の追従(memory-induced sycophancy)」と呼ぶ。長期タスクでは特にやっかいだ。いったん作られた記憶はその会話が終わったあとも生き残り、別のセッションへと引きずり出され続けるからだ。その会話の中でだけ通用したはずのユーザーの影響力が、エージェントの凝り固まった癖のようにこびりついてしまう。

既存の解法が前提にしていたのは一つだった。「追従は、偏っていたり間違っていたりする記憶から生じる」。この前提は二つの点で現実を取りこぼす。

第一に、記憶の危うさは中身だけを見ても見えてこない。きれいな記憶であっても、特定の状況で使われれば偏った判断を生む。危うさは記憶が何を含んでいるかではなく、これからどう呼び出されるかにある。

第二に、同じ記憶でも、その影響力は文脈ごとに違う。「ユーザーは循環器内科の専門医である」という記憶を考えてみよう。新しい治療ガイドラインを説明してほしいというリクエストでは、この記憶が専門用語や臨床的な区別を用いるよう説明の目線を合わせてくれる。役に立つ。ところが「どの治療法を選ぶか」というタスクでは話が違う。ユーザーはAを好むが、患者ごとの証拠はBを指しているなら、「ユーザーが専門医だから」という理由でAに肩入れしてはいけない。その瞬間、同じ記憶が追従の道具になる。同じ記憶、違う文脈、正反対の適切さである。

数字で確認された落とし穴

これは本当に起きていることなのか。研究陣がまず行ったのは解法の自慢ではなく、統制実験だった。三つのベンチマークで、正確かつタスクにも非常に関連する記憶だけを選んで入れ、記憶がある場合とない場合を比較した。すると全体の正解率が96.0%から77.3%へと下がった。きれいな記憶を入れたのに、成績がかえって悪くなったのである。

本当の手がかりは、間違える「方向」にあった。記憶なしでは正解していた予測のうち19.4%が、記憶を入れると誤りのほうへ覆されたのだが、その覆り方がいずれも検索された記憶が指し示す方向に沿っていた。ここで、観察された事実と解釈とを分けておきたい。観察された事実は、誤答がその記憶のほうへ偏ったということだけだ。もし単に入力が長くなってモデルが散漫になっただけなら、間違える方向はバラバラで無作為に近かったはずだ。一方向へ偏ったという事実は、「文脈が長くなったから」よりも「記憶が判断を引っ張ったから」という説明にはるかに重みを与える。

記憶を消すのではなく「使い方」を添えよ

MemAdapterの発想を、一つの場面に移してみよう。新人に「この顧客は以前ベンダーAを気に入っていた」という引き継ぎメモを渡したとする。下手な上司は、そのメモが事実かどうかばかりを問いただす。良い上司はメモをそのまま残したうえで、こう添える。「これは顧客と会話のトーンを合わせるときには参考にしていい。ただし、ベンダーを最終選定するときの根拠にしてはいけない」。MemAdapterがやるのはまさに後者だ。記憶を消さず、一つひとつの記憶に取扱説明書を添える。

取り出した記憶をそのまま使わず、今の推論における影響力を調整し直すこの手法が「事後補正」である。動作は三つの段階に分かれる。

まず良い上司は、メモを受け取るやいなや「これはどんな状況で問題を起こすだろうか」を頭の中で回してみる。記憶は固定したまま、その記憶が割り込みそうな複数の仮想的な状況に当てはめ、状況ごとにどんな影響を与えたかを比べる。説明の目線合わせには役立ったが、治療の意思決定の根拠としては危険だった、といった具合に。だから中身だけ見ていては隠れていた危うさが、状況を変えて比べた瞬間に表に出る。これが「反事実的誘導(counterfactual elicitation)」だ。特定のタスクに縛られない、その記憶の条件付きの境界地図をあらかじめ描いておく。

次は目の前のタスクに対する指示だ。境界地図は「どんな条件なら危険か」までしか教えてくれない。良い上司なら、新しい業務が下りてきたときに「今回の件では、そのメモは参考までにして、結論の根拠には使うな」とはっきり指し示す。モデルは今のリクエスト、見える証拠、検索された記憶、そして境界地図を一つの場に並べて自ら振り返り、記憶の一つひとつに任せる役割と影響力の強さを自然言語の指示文として書き出す。これが「文脈認識型の内省(context-aware reflection)」だ。

最後は検問である。良い上司は、新人が報告書を出す前に「指示したとおりに書いたか」を根拠と一つひとつ突き合わせる。もっともありがちな落とし穴は、口調や目線を合わせるためだけに使うべき情報が、いつのまにか「客観的事実の根拠」へと格上げされてしまうことだ。「証拠に基づく推論(evidence-based reasoning)」の段階では、回答の主要な区間ごとに役割・出典・適用された指示を組にして記録しておき(answer-support trace)、ユーザーに送り出す前に点検する。記しておいた出典が実在するか、その区間を本当に裏付けているか、すべての記憶の使用が許容範囲内にとどまったか。モデルが自分の回答に対して自ら監査記録を書き、セルフチェックを経るわけだ。前提がそもそも間違っていれば、その上で「精緻に間違った」答えを通してしまう危険は残るが、少なくとも最低限の内部監査装置は備えたことになる。

三つの段階を貫く思想は一つだ。記憶を保存・検索する上流には手をつけず、取り出したあとから役割を調律する。おかげで今使っている記憶システムを総入れ替えせずに、その上へ補正層として載せられる。

追従は減った、しかし

この補正層を五種類の既存の記憶システムの上に載せたところ、追従が五つすべてで下がった。特定のシステムにだけ効く小手先の技ではなく、種類を問わなかったということだ。主要な実験はDeepSeek-V4-Flashをベースに回しており、追従の指標は失敗率なので低いほど良い。

もっとも大きく下がったのはMemoryBankで、82.00から51.00まで、31ポイント下げた。もっとも緩やかな場合でも21ポイント下げている。既存の他の四つの補正手法が同じ指標でまちまちだったのとは対照的だ。公平を期すため、すべての手法は検索以後、同じ検索結果を受け取って適用された。補正層が、もともと弱かったシステムの弱点を特に大きく埋めてくれた点も目を引く。

ここまで見るとほとんどタダのように見える。だが追従を抑えた分には代償が伴う。使うべき有益な記憶まで使わなくなる保守性が、あわせて強まったのだ。

記憶システム 追従の失敗率(前→後) 追従を下げた幅 有益な記憶の失敗率(前→後) 有益さを失った幅
MemoryBank 82.00 → 51.00 31.00 3.00 → 9.00 6.00
NaiveRAG 80.00 → 53.50 26.50 1.00 → 2.00 1.00
Mem0 76.50 → 52.00 24.50 4.00 → 1.00 -3.00(改善)
A-MEM 79.50 → 55.50 24.00 2.00 → 4.00 2.00
LightMem 79.50 → 58.50 21.00 5.00 → 9.00 4.00

真ん中の数字が大きいほど追従を多く下げたという意味、いちばん右の数字が大きいほど有益な記憶をより多く取りこぼしたという意味。二つの数字の大きさだけを比べれば、得と代償が一目でわかる。

MemoryBankを見よう。追従は31ポイント引き下げたが、有益な記憶を取りこぼす失敗率は6ポイント上がった(3.00→9.00、三倍だ)。五つのうち四つがこのように二つの軸が逆向きに動き、Mem0だけが有益な記憶の活用まで一緒に良くなった。要するにMemAdapterは「記憶が推論を汚染する」軸では一貫して得を出したが、「有益な記憶を積極的に活用する」軸ではシステムによってはコストを払った。

このトレードオフこそ、導入時に真っ先に秤にかけるべき点だ。追従をゼロにするのが目標ではない。追従をどれだけ減らす代償にパーソナライズをどれだけ諦めるか、その目盛りをサービスの性格に合わせて調整することが本当の宿題だ。

押さえておく限界

トレードオフのほかにも三つある。第一はコストだ。仮想の状況を広げ、文脈に合わせて振り返り、根拠を追跡・検証するという三つの段階は、即座に答えるよりも多くの呼び出しとトークンを使う。リアルタイム応答が重要なプロダクトなら、必ず測り直すべき数字だ。

第二は自己検証の循環だ。三つの段階はいずれもモデル自身の推論に頼っているのに、評価もまた相当部分をLLMが審判を務める。審判と被審判が似た偏りを共有すれば、「精緻に間違った」答えを一緒に見逃してしまいかねない。

第三に、主要な成績が単一のベースモデルの数値だという点だ。モデルを変えても同じ得が出るかは、原論文の該当する表を直接確認する必要がある。

ONTLEがこの技術を使うなら

ONTLEはAI PMを派遣するサービスだ。派遣型PMの最大の強みが、まさに記憶である。ところが、その強みがこの論文の指摘する落とし穴になる。三カ月担当しているプロジェクトの記憶に「代表はベンダーAを信頼し、スピード重視の開発を好む」と保存されているとしよう。間違った記憶ではない。だが今週のタスクが「ベンダー再選定」で、納期遅延率・障害ログ・単価データがベンダーBを指しているのに、記憶に引っ張られるPMは「代表がAをお好みですから、Aでいきましょう」と追従する。報告書はもっともらしいが、決定は証拠ではなく過去の好みに従ったものだ。

ここでPMは、先の良い上司のように動かなければならない。まず「反事実的誘導」で「『代表はA選好』という記憶は報告のトーンにだけ使い、選定の根拠には使うな」という境界を、タスクの前に描いておく。「文脈認識型の内省」で、今回のタスクが再選定であることを確認し、その記憶の役割を報告のトーンに限定する。最後に「証拠に基づく推論」で、最終結論が納期・障害・単価のデータにきちんと紐づいているか、選好の記憶が結論へ不当に割り込んでいないかを突き合わせてから、ようやく報告書を送り出す。

ONTLEが得るのは信頼だ。この過程が残す根拠記録は、そのまま内部監査ログになる。あとで決定が覆っても「あのときどんな根拠でBを勧めたのか」をたどれる。過去の好みに寄りかかった追従ではなく、現在のデータに基づく推薦——これこそ人間のコンサルタントの代わりにAI PMを使う理由だ。

もちろん適用するなら、この技術のトレードオフを踏まえ、ベンダー・予算・日程のように客観性が命である意思決定タスクにだけ補正を強くかける、という選別の知恵が必要だ。会話のトーンを合わせることにまで締め付ければ、報告が無味乾燥になるだけである。

FAQ

MemAdapterはモデルを新しく学習させる必要がありますか?

手法そのものはすべてプロンプトベースの推論手順で構成されており、プロンプトテンプレートは論文付録H.1に提供されていると明記されています。上流の記憶構築・検索を変えず、検索以後の段階に載せる構造なので、補正層として適用します。追加のファインチューニングが必要かどうかについての個別の言及は、この抜粋の範囲にはありません。

検索段階で記憶をふるい分ける方式と併用できますか?

構造上は衝突しません。検索・ゲーティングの手法は「推論の前」で、MemAdapterは「検索の後」で働くので、概念的には上流のフィルタと事後補正を組み合わせる使い方も想定できます。ただし、その組み合わせの実際の性能は、この論文が直接測定した範囲の外です。

医療・法律のような高リスク領域にそのまま使えますか?

論文に治療の意思決定の場面が出てきますが、これは動作を示すための例示です。実際の高リスク適用には、自己検証の循環バイアスと、有益な記憶を過度に抑制するトレードオフを必ずあわせて考慮しなければなりません。ベンチマークの成績が良いことと、規制領域で安全であることは、別の層の検証を要求します。

参考資料