エージェントメモリとは、エージェントが複数の会話やタスクにわたって、ユーザーについての情報——好みや、すでに決めたこと——を覚えておく能力です。チャット履歴をそのまま保存するのではなく、「ユーザーは簡潔な返答を好む」「前回決めたのはA案」といった結論を残し、次回はユーザーが繰り返し説明しなくてもそのまま使えるようにします。理解の鍵は境界線にあります。メモリは繰り返しの確認を省いてくれますが、覚えるのは覚えることを許されたものだけです。
エージェントメモリは3層——混同しないこと
最上層はコンテキストウィンドウ、つまり今回の会話の中でモデルが直接見られるテキストで、会話を閉じれば消えます。中間層は長期記憶で、エージェントが会話から事実を抽出して記憶庫に書き込み、次回の会話で取り出して使います。たとえば職業や、よく使うツール、好みなどです。最下層はメモリファイルまたはユーザープロフィールで、一部のエージェントではユーザーが自分についての説明を直接確認・編集・インポートできます。いわばユーザー自身が書いた「取扱説明書」です。3層のコストは異なります。コンテキストが最も高価で、最も忘れやすい。長期記憶は最も手軽ですが、取り違えると人違いを起こします。メモリファイルは最も管理しやすいですが、ユーザー自身が手入れしなければなりません。
エージェントメモリとRAGは別物
どちらも「探し出してから答える」という点は同じですが、目的が違います。RAGはモデルに外部の知識ベースを接続し、回答の前に文書を検索するもので、「モデルが知らないこと」を解決します。エージェントメモリが解決するのは「モデルがあなたという人を知らないこと」で、保存されるのはユーザーについての情報であり、一般知識ではありません。たとえるなら、RAGは資料を調べること、メモリは人を見分けることです。1つのエージェントが両方を同時に使うこともできます。資料の検索はRAGで、あなたの好みの記憶はメモリで、という具合です。
よくある3つの誤解を先に解いておく
第一に、会話を削除してもメモリは削除されません。多くの製品では会話履歴とメモリは別々に保存されており、会話を消してもチャット画面が消えるだけで、抽出された記憶は残っている場合があり、メモリやプライバシーの設定から別途消す必要があります。会話を消してもMuseがあなたを覚えている場合の対処法は、まさにこの仕組みに沿ったものです。第二に、メモリはモデルが学習したことを意味しません。エージェントに伝えたことが、すぐにその重みの一部になるわけではなく、あなたのそのアカウントの下に記録されるだけで、別のアカウントでは存在しません。第三に、メモリは多ければ多いほど良い、というのは誤解です。古い情報を溜め込みすぎるとかえって判断を誤らせます。たとえば転職したのに、旧職に基づいて推薦され続ける、といった具合です。溜め込むより定期的に整理することのほうが大切です。メモリの価値は量ではなく、正確さと新しさにあります。
同じエージェントと頻繁にやり取りし、タスクに継続性がある人が最も恩恵を受けます。週報の形式、普段のコーディング規約、定例の報告先など、一度覚えさせれば、毎回説明し直す手間が省けます。逆に、プライベートな情報や共用デバイス、たまに一度だけ質問するような場面では、オフにしておくほうが安全です。判断基準はシンプルです。次回の会話で改めて言っても構わないことなら、覚えさせる必要はありません。次回は自ら進んで対応してほしいなら、そのときにメモリをオンにすればよいのです。