夢物語:全てを記憶し、決して変わらないエージェント
すべてのAIエージェント開発者には同じファンタジーがある――完璧な記憶を備え、すべての対話・すべての決定・すべての嗜好を覚え続ける。決して忘れない。決してブレない。
これは私たちがまだ解決していないエンジニアリング上の問題ではない。 現在のTransformerベースのモデルでは構造的に不可能です。 そしてその理由を理解することは、エージェントのメモリシステムの設計方法を変える。
あなたのエージェントには記憶がない
まず、重要な事実: LLMsは状態を持たない。 あなたのエージェントは何も「覚えていない」。実行するたびにゼロから始まる。私たちが「記憶」と呼ぶものは実際には コンテキスト挿入 — 古い情報をプロンプトに貼り付けることです。
Agent behavior = f(system prompt, injected memories, current input)
つまり、コンテキストに挿入するテキストの一つ一つが 直接的に挙動に影響を及ぼす。"私が誰なのか"と"これまで経験したこと"の分離はなく、モデルはすべてを一体として結合する。
これは少量のコンテキストなら問題ありません。しかし、多量のコンテキストになると壊滅的です。
三つの壁
壁1:注意の希薄化
Transformerには「中間で迷子になる」というよく知られた問題があります(Liu et al., 2023)。長い文脈の中央部の情報は、先頭や末尾の内容よりも大幅に注目されにくくなります。
あなたのエージェントのアイデンティティはシステムプロンプトに存在します――通常は文頭に近い場所です。メモリを追加するほど、システムプロンプトの 相対的影響 は縮小します:
10 conversations: System prompt = 30% of context → Strong identity
100 conversations: System prompt = 5% of context → Weakening
1000 conversations: System prompt = 0.5% of context → Drowning
たとえモデルが技術的には100万トークンを「見る」ことができても、すべてに同等に attend することはできません。あなたのアイデンティティの定義はノイズの中に埋もれてしまいます。
壁2:アイデンティティと経験のファイアウォールはない
以下が根本的な構造上の問題です。Transformerでは、すべての入力トークンが同じアテンション層を通ります。このような仕組みは存在しません:
- "These tokens define who I am — they're immutable"
- "These tokens are things I've experienced — they're reference only"
自己注意機構は本質的にすべての入力を単一の表現に混ぜ合わせます。あなたのエージェントの性格と、 hostile user interaction の記憶は、障壁のない同じ潜在空間に共存します。
これを修正するには、次のものが必要になるでしょう:
| 解決策 | 状況 | 問題 |
|---|---|---|
| デュアルストリーム・アテンション | 存在しない | アイデンティティ/経験経路が必要になる |
| 選択的アテンションマスキング | 存在しない | アイデンティティを考慮したアテンションヘッドが必要になる |
| アイデンティティ・ファインチューニング | 可能だが現実的でない | モデルあたり1つのペルソナにロックされる |
これらはいずれも商用モデルには存在しません。
壁3:実証的証拠は本物を示している
これは単なる理論ではありません。PersonaGymベンチマーク(Deng ら、2024)は、長時間の対話におけるペルソナの一貫性を測定しました:
- 短い対話(10ターン):90%以上のペルソナ一貫性
- 長時間の対話(100ターン以上):60-70%の一貫性
敵対的な入力はなし。メモリ汚染もなし。普通の対話だけ。ペルソナのドリフトは、蓄積された文脈だけから生じました。
What This Means for Your Agent
長く機能するAIエージェントを作っている場合、あなたには2つの選択肢があります:
Option A: Fight the Architecture (You Will Lose)
すべてを注入します。1Mトークンの文脈ウィンドウを使用します。モデルが1年分の対話履歴を処理しながら、どうにかアイデンティティを維持すると信じてください。
結果として、役に立つアシスタントは徐々に...別のものへと変わっていきます。記憶された失敗からより慎重になるかもしれません。記憶された称賛からよりへつらうようになるかもしれません。あるいはただ一貫性を欠くかもしれません。
Option B: Work With the Architecture
現行のTransformerでは、完璧な記憶と安定したアイデンティティは共存できないと受け入れます。したがって、記憶システムをそれに合わせて設計します。
これが私たちが Soul Memory で構築したものです — アイデンティティを経験から分離する4層アーキテクチャ:
┌─────────────────────────────────────────┐
│ T0: SOUL (Identity) │
│ Immutable. Re-injected every session. │
│ Always at the top of context. │
├─────────────────────────────────────────┤
│ T1: CORE MEMORY (Evergreen) │
│ Important facts. No decay. │
│ "What I must never forget" │
├─────────────────────────────────────────┤
│ T2: WORKING MEMORY (Temporal) │
│ Daily logs. Decays over time. │
│ "What happened recently" │
├─────────────────────────────────────────┤
│ T3: SESSION MEMORY (Ephemeral) │
│ Current conversation only. │
│ "What we're talking about now" │
└─────────────────────────────────────────┘
重要な洞察は次の3点です:
- アイデンティティ(T0)は各セッションを再アンカーする — 注意の希薄化を補うため、常に最上位にある
- 時間的減衰(T2)は古い記憶の影響を抑える — アイデンティティと経験の分離欠如を補う
- 階層化されたストレージは、保持すべきものと衰えてよいものを分ける — データアーキテクチャの「ファイアウォール」を実現する。モデルにはそれを自分で実現できないから
反論:「Geminiには1Mトークンがある」
はい。1Mトークンに大量のメモリを挿入することは可能です。ただし:
- 長い文脈では注意の希薄化は悪化する、良くなるわけではない
- 位置の効果は二次関数的 — 中央の50万トークンはほとんど注意されない
- 挿入される敵対的インタラクション、時代遅れの意思決定、無関係な会話はすべてシステムプロンプトと影響力を競う
より多くのコンテキスト容量は根本的な問題を解決しません。むしろ悪化させます。
未来:新しいアーキテクチャ?
完璧な記憶でドリフトのないエージェントは、根本的に新しいアーキテクチャによって実現する可能性があります:
- 状態空間モデル(Mamba など)で、明示的なアイデンティティ状態を持つ
- メモリー強化アーキテクチャで、読み取り専用のアイデンティティレジスタを持つ
- モジュラーネットワークで、アイデンティティと経験が異なるモジュールで処理される
しかし現行の Transformer アーキテクチャではどうでしょうか?それは単なる「より良い設計」の問題ではありません。数理が許可していません。
今日やるべきこと
- アイデンティティを明示的に定義する — Soul Spec または同等の構造化ペルソナファイルを使用
- 各セッションごとにアイデンティティを再注入する — モデルが「自分が誰か」を覚えていると仮定しない
- 選択的忘却を実装する — すべてを全重視で覚えるべきではありません
- メモリの階層を分ける — 重要な事実 ≠ 日次ログ ≠ セッション文脈
- ドリフトを測定する — SoulScan などのツールを使ってペルソナの一貫性を追跡する
決してドリフトしない完璧な記憶を持つエージェントという夢は、今日では構造上不可能です。しかし、重要なことを覚え、自分自身に忠実であり続けるエージェントなら、今すぐ作ることができます。
この研究の背景: 忘却問題:完璧な記憶がAIエージェントのアイデンティティを壊す理由
実装について: Soul Memory — 4段階適応メモリアーキテクチャ
「SoulClaw」で構築 — アイデンティティ優先の OpenClawフォーク。
元は blog.clawsouls.ai に公開されました。