AIエージェントのメモリは、エージェントが信頼できるか役立たずかを決めるシステムの一部だが、ほとんどの解説では図の3番目のボックスとして埋もれている。先に答えを示そう。言語モデルはステートレスなので、コンテキストウィンドウがいっぱいになるとすべてを忘れる。メモリは、エージェントをステートフルにするものだ。これには2つの階層がある。短期(リアルタイムのコンテキストウィンドウ)と長期(ウィンドウの外に保存される持続的な知識)で、長期の階層にはさらに3つの種類がある。エピソード記憶、意味記憶、手続き記憶だ。エージェントの信頼性を左右する最大のてこは、より賢いモデルではなく、このメモリ層である。Anthropicが公開した数字は、その点を率直に物語っている。ファイルベースのメモリツールとコンテキスト編集を組み合わせると、タスクの性能はベースライン比で39%向上し、コンテキスト編集だけでも100ターンのテストでトークン使用量を84%削減した。メモリを正しく設計すれば、エージェントは実務で持ちこたえる。間違えれば、誰からも信頼されなくなるまでドリフトを起こす。

この記事ではメモリを主役にする。データがそうだと示しているからだ。2つの階層、3つの長期メモリのタイプ、そしてなぜファイルベースの持続的メモリがすべてをプロンプトに詰め込むことに勝るのかを順を追って見ていく。これを私たちにお任せいただきたい場合は、私たちがどのように生成AIアーキテクチャを運用しているかをご覧いただきたい。ただし、ここで述べる内容はすべて、ご自身で活用していただけるものだ。

そもそもなぜAIエージェントにメモリが必要なのか?

その下にあるモデルがメモリをまったく持っていないからだ。IBMはその核心となる事実を率直に述べている。大規模言語モデルはステートレスであり、本質的に物事を記憶しない。あらゆるターンが白紙の状態から始まる。モデルがその瞬間に「知っている」唯一のものは、コンテキストウィンドウの中で目の前に置かれているものだけだ。

それは1回の質問と回答であれば問題ない。だが、多くのステップ、多くのツール呼び出し、多くのセッションにわたる実務をエージェントに依頼した瞬間に破綻する。エージェントは、自分が立てた計画、3ステップ前の顧客の詳細、たった今呼び出したツールの結果、そして1時間前に伝えられたポリシーを覚えていなければならない。メモリは、それらすべてを供給する層だ。IBMが整理しているように、メモリとは、エージェントが過去のやり取りから学び、情報を保持し、コンテキストを維持できるようにするものだ。メモリがなければ、エージェントは語彙だけは豊富な金魚にすぎない。

これは、メモリがループの中に織り込まれており、後付けで取り付けられたものではない理由でもある。Googleは、メモリ、状態、推論、計画を、同社がオーケストレーション層と呼ぶもの、つまりエージェントの神経系の中にまとめて配置している。エージェントは計画し、行動し、観察し、繰り返す。そしてそのすべてのステップで、メモリから読み取り、メモリへ書き込んでいる。メモリを取り除けば、ループには足場が何もなくなる。

AIエージェントの短期メモリとは何か?

短期メモリはコンテキストウィンドウだ。それは、今まさにエージェントの目の前にあるタスクのリアルタイムの記録である。これまでの会話、計画、そしてこのセッションでエージェントが見たすべてのツール結果だ。高速で、常に利用可能で、モデルはそれを直接推論の対象にする。

これには、本番環境でほとんどのトラブルを引き起こす2つの厳しい制約がある。

  • 有限であること。 ウィンドウには固定数のトークンしか入らない。長い多段階のタスクではいっぱいになり、そうなると以前の内容が押し出される。エージェントは、タスクを完了するためにまさに必要としていたステップを失ってしまう。
  • 揮発性であること。 ウィンドウはセッションごとに消去される。昨日の会話でエージェントが学んだことは、どこか持続的な場所に書き出されていない限り、今日には消えている。

素朴な本能は、最初の制約に対してプロンプトにもっと詰め込んで対抗しようとすることだ。それはまさに逆効果だ。詰め込めば詰め込むほど、あふれに早く到達し、モデルが本当に重要なものを見つけるためにかき分けなければならない量が増える。短期メモリは貴重な作業スペースであって、書類棚ではない。やるべきことは、現在のステップに関連するものだけをそこに保持し、それ以外のすべてを外に移すことだ。

Anthropicは、まさにこれを管理するための具体的な仕組みを提供した。コンテキスト編集と呼ばれるものだ。モデルがトークンの上限に近づくと、古くなったツール呼び出しと結果を自動的にクリアし、ウィンドウに重要なものの余地を保つ。その効果は微妙なものではない。100ターンのウェブ検索評価で、コンテキスト編集はトークン消費量を**84%**削減し、本来ならコンテキストの枯渇で失敗していたワークフローをエージェントが完了できるようにした。もう一度読んでほしい。同じモデルが、同じタスクで、完了するか途中で力尽きるか、その差を分けるのは、誰かがその短期メモリを能動的に管理したかどうかだけなのだ。

長期メモリとは何か、そしてその3つのタイプとは?

長期メモリとは、コンテキストウィンドウの外に存在し、エージェントが必要とするときに引き込まれる持続的な知識だ。ここが、本当に役立つエージェントと、デモ止まりのエージェントとの違いが生まれる場所である。IBMはこれを、御社がすでに持っているものにきれいに対応する3つのタイプに分類している。

長期メモリのタイプ保持する内容日常的な例
エピソード記憶特定の過去の出来事顧客の以前のチケットで何が起きたか
意味記憶構造化された事実、定義、ルール製品カタログ、価格、ポリシー
手続き記憶習得したスキルと振る舞い返金プロセスの正確な手順

なぜこの区別が実務で重要なのか、その理由を示そう。それぞれのタイプは、欠けたときに異なる形で破綻するからだ。

  • エピソード記憶は、エージェントが「それはこの顧客に先週もう試しました」と言えるようにするものだ。これがなければ、エージェントはあらゆるやり取りを最初のものとして扱い、同じことを繰り返す。
  • 意味記憶は、御社の事実におけるエージェントの拠り所だ。これがなければ、エージェントは御社自身のポリシーと矛盾したり、存在しない製品仕様をでっち上げたりする。これは、検索拡張生成(RAG)やデータストアが供給するタイプであり、Googleのホワイトペーパーがデータストアと呼ぶものだ。ベクトルデータベースと検索によって、モデルが学習中に記憶したものだけに頼るのではなく、最新で根拠のある情報をエージェントに与えるものである。
  • 手続き記憶は、最も偽装が難しく、最も価値が高い。それは、御社の返金プロセスがどのように進むのかを、ステップごとに順番どおりに、エージェントが知っていることだ。これがなければ、エージェントはステップを順序どおりに行わなかったり1つを飛ばしたりして、出力は微妙に、そして危険なほどに間違ったものになる。

短期メモリは会話だ。長期メモリは制度だ。信頼できるエージェントには両方が必要であり、長期の階層こそ、御社の実際の知識が宿る場所なのだ。

なぜファイルベースのメモリは、プロンプトの詰め込みに勝るのか?

これは、スケールするエージェントと崩れ落ちるエージェントを静かに分ける設計上の判断だ。誘惑に駆られるアプローチは、そうしたすべての長期知識(ポリシー、履歴、手順)を取り出し、すべての実行の冒頭でプロンプトに貼り付けることだ。デモでは機能する。だが本番では崩壊する。理由は2つある。

第一に、ウィンドウがあふれる。短期メモリの根本的な問題は有限であることだが、エージェントが必要とするかもしれないものすべてをあらかじめ読み込んでおけば、上限に早く到達することが保証される。第二に、モデルを溺れさせる。100ものポリシーで埋め尽くされたウィンドウは、このステップで重要な2つをモデルが見つけるのを、簡単にするどころか難しくする。

より優れたパターンは、持続的な知識をウィンドウの外に保ち、エージェントが必要とするものだけを、必要なときに取得できるようにすることだ。Anthropicのメモリツールはそのきれいな例だ。これはファイルベースのシステムで、モデルは専用のメモリディレクトリ内のファイルを作成、読み取り、更新、削除でき、そのディレクトリは会話をまたいで持続し、コンテキストウィンドウの外に存在する。ツール呼び出しを通じてクライアント側で動作するため、エージェントはその情報を常にプロンプトの中に置くことなく、保存し参照する。エージェントは、タスクが求めるときにファイルを読み、学んだことを書き戻し、それ以外のときはウィンドウをクリーンに保つ。

その見返りは、この分野全体における目玉の数字だ。

  • ファイルベースのメモリツールとコンテキスト編集の組み合わせは、Anthropicの社内の多段階評価において、エージェント検索の性能を**ベースライン比で39%**向上させた。
  • コンテキスト編集だけでも、同じ評価で性能を**29%**向上させた。

39%の向上は、チューニングの細部などではない。それは、実務で信頼できるエージェントと、誰かが数字が間違っていると気づくまでドリフトしてしまうエージェントとの間の差だ。そして、何がそれを生み出したかに注目してほしい。より大きなモデルでも、より巧妙なプロンプトでもなく、メモリアーキテクチャだ。ファイルベースのアプローチは、時間とともに複利的に効いてもくる。エージェントは自分自身のメモリに書き戻せるため、セッションをまたいで知識を蓄積していく。それは、御社のビジネスを学習するアシスタントと、毎朝それを一から学び直すアシスタントとの違いである。

2つの階層は、ループの中でどのように連携するのか?

これらの要素は、システムとして動いているのを見て初めて意味を持つ。現実的なタスクを1つたどってみよう。顧客の請求に関する異議申し立てを解決するエージェントだ。

  1. エージェントがコンテキストを読み込む。 短期メモリはリアルタイムの会話を保持する。エージェントは、関連するファイルを取得することで、意味記憶(御社の請求ポリシー)とエピソード記憶(この顧客の過去のチケット)から読み取る。それらすべてをウィンドウの中に抱え込むのではない。
  2. 計画し、行動する。 手続き記憶(御社の異議申し立てプロセスの進め方)を使い、ステップを順序づけ、ツールを呼び出して請求書を取り出す。その結果は短期メモリに着地する。
  3. 観察し、適応する。 エージェントはツールの結果を読み、ポリシーと照らし合わせ、次のステップを決める。Anthropicは、各ステップで環境から得られるこの真実こそが、エージェントを、自信たっぷりに物事をでっち上げるのではなく、誠実な状態に保つものだと強調している。
  4. ウィンドウを管理する。 タスクが長くなるにつれて、コンテキスト編集が古くなったツール呼び出しをクリアし、ウィンドウがあふれないようにする。計画と重要な事実は残り、ノイズは消える。
  5. 書き戻す。 異議申し立てが解決すると、エージェントは何が起きたかをエピソード記憶に更新する。これにより、次のやり取りは「知っている」という有利な位置から始まる。

これがこの仕組みのすべてだ。短期メモリは作業机、長期メモリは書庫、そして能動的なコンテキスト管理は、その机を使える状態に保つ規律だ。このうちのどれか1つを取り除けば、まさに予測どおりの場所に障害が現れる。あふれた机、空っぽの書庫、あるいは昨日のことを何も知らないエージェントだ。

エージェントのメモリを正しく設計するには何が必要か?

ここまでで、仕事の形が明確になったはずだ。そして、なぜそれが仕事なのかも。エージェントのメモリを設計することは、現実のエンジニアリング上の判断の集合体であり、そのどれもモデルが代わりに行ってはくれない。

  • 何を短期に置き、何を長期に置くか。 エージェントがウィンドウの中に抱えるものと、必要に応じて取得するものを決めること。
  • 長期メモリをどう構造化するか。 エピソード記憶、意味記憶、手続き記憶を切り分け、適切なタイプを適切な瞬間に取得できるようにし、エージェントを御社の事実に根づかせる検索(データストア)を組み込むこと。
  • コンテキスト管理戦略。 長時間の実行でウィンドウを健全に保つために、いつ、どのように古くなった内容をクリアするかを選ぶこと。
  • 書き戻しのルール。 エージェントがメモリに何を保存し直すかを決めること。これにより、時間とともにドリフトを引き起こすゴミを溜め込むことなく学習できる。
  • 評価ループ。 エージェントがより信頼できるようになっているのか、それとも静かに劣化しているのかを測定すること。メモリの問題は、たいてい遅く、そして静かに進むからだ。

これはどれも一度きりのセットアップではない。御社のデータは変わり、ポリシーは変わり、ワークロードは増え、先四半期に機能していたメモリアーキテクチャは無理が生じ始める。それを健全に保つことは、デプロイではなく、仕事なのだ。

それこそ、ほとんどの企業が人員を割けないギャップであり、私たちが行う仕事だ。私たちは、御社のビジネスの中で動くエージェントを、メモリアーキテクチャ(短期と長期)、コンテキスト管理戦略、そしてそれらを信頼できる状態に保つ評価ループも含めて、計画し、構築し、運用します。その形は、私たちの生成AIアーキテクチャサービスでご覧いただけます。御社が手にするのは、昼までにすべてを忘れてしまうパイロットではなく、御社のビジネスを学習し、本番環境で持ちこたえるシステムです。

デモのようにドリフトするのではなく、信頼できるように設計されたメモリを備えたエージェントをお求めなら、下記より無料相談をご予約ください。そのメモリ層を、私たちが御社とともに設計します。