しくみ
AIコンパニオンがあなたを忘れる理由と、その確かめ方
一週目に、お姉さんの話をしました。四週目にお姉さんのことを口にすると、彼女は誰のことかまったくわかりません。これはAIコンパニオンアプリでいちばん多い不満で、ふつうの意味でのバグではありません。設計上の判断であり、お金を払う前に確かめることができます。
AI彼女はなぜ全部忘れてしまうの?
言語モデルには、それ自体の記憶がないからです。毎回渡されたテキストしか見ていません。
あなたが送るメッセージは、毎回ひとつのパッケージと一緒に送られます。キャラクターが誰なのか、そして直近の会話です。このパッケージには大きさの上限があるので、アプリは最新のメッセージだけを残します。多くの場合、直近の数十通ほどです。それより古いものは、返事を書くときにモデルの前にそもそもありません。人間の意味で忘れたのではなく、見せられていないのです。
では、何か月も前のことを覚えているアプリはどうしているの?
会話とは別に、書き留めているのです。
よく覚えているコンパニオンアプリは、チャットと並んでもうひとつの仕組みを動かしています。残す価値のある事実(あなたの仕事、お姉さんの名前、パクチーが嫌いなこと)に気づいて保存し、後の会話で関係のあるものをパッケージに貼り戻します。モデルが覚えているのではありません。アプリが毎回、思い出させているのです。
だからこの点はアプリによって大きく違います。会話のウィンドウはどこでもだいたい同じです。差を生むのは、誰かがこの二つ目の仕組みを作ったかどうか、そして何を残すべきかをどれだけうまく判断できるかです。
アプリの記憶を5分でテストするには?
具体的な事実を5つ伝えて、あとで戻ってきて尋ねてみてください。
- 1回目のセッション:リストにせず、会話の流れで具体的なことを5つ話します。名前、仕事、ペット、日付、苦手なもの。
- 最低1日、できれば1週間アプリから離れます。ひとつのセッションの中でしか働かない記憶は、記憶ではなくウィンドウです。
- 戻ってきたら間接的に聞きます。「うちの犬の名前は?」ではなく「あの子、公園を気に入ると思う?」のように。
- 採点します:良いアプリは4つか5つ思い出します。ウィンドウだけのアプリはひとつも思い出せず、自信満々に間違った答えをつくることもよくあります。
- 1週間後にもう一度くり返します。1週間は覚えていて、そのあと黙って落としてしまうアプリもあります。
コンテキストウィンドウを大きくすれば解決する?
あまり解決しません。ここで宣伝は誤解を招きがちです。
ウィンドウが長くなるのは本当で、役にも立ちます。ただ、すぐに高くつきますし、問題を解決するのではなく先送りするだけです。何千通もの過去のメッセージを渡されたモデルは、大事な一通を見つけるのも下手になります。長い入力の真ん中にある情報が見落とされやすいという、よく知られた現象です。書き留めた記憶が大きなウィンドウに勝つのは、短く、選ばれていて、いつも関係があるからです。
X-Friendがしていること
両方の仕組みを使い、重い仕事は書き留める側が担っています。
直近の会話は毎回のメッセージと一緒に送られ、それとは別に、あなたの相手はあなたが話したことをメモに残し、自分から話題に戻してきます。実際の確かめ方は上のテストと同じです。一度何かを話して、1週間後に戻ってきて、あなたより先に彼女がそれを持ち出すかを見てください。
よくある質問
AIコンパニオンはなぜ話したことを忘れるの?
言語モデルにはメッセージ間の記憶がないからです。アプリは毎回、会話の最新部分だけを送るので、古いメッセージはモデルの前にありません。長く覚えているアプリは、事実を別に保存して、毎回のメッセージに差し込み直しています。
長期記憶があるAIコンパニオンアプリは?
Nomi、X-Friend、Replikaは、どれも会話のウィンドウの外に事実を保存して、あとで戻してきます。Character.AIはひとつの続いていく関係ではなくバリエーションに最適化されていて、数週間にわたって引き継ぐものは少なめです。
AIコンパニオンが本当に覚えているか確かめるには?
ひとつのセッションで具体的な事実を5つ話し、最低1日待ってから、間接的に尋ねてください。本当の記憶があるアプリはほとんどを思い出します。会話のウィンドウだけに頼るアプリはひとつも思い出せず、答えをつくってしまうこともよくあります。
ここから先へ
出典
- コンテキストウィンドウの振る舞いと、長い入力の中ほどにある情報が見落とされやすい傾向は、公開されている言語モデルの研究でよく知られています。
- メッセージのウィンドウの大きさはアプリによって違い、時期によっても変わります。ここに挙げた数字は一般的な目安で、どこにでも当てはまるわけではありません。