AI エージェントはどのように記憶するのか?原理から実践までを徹底解説

@lxfater
中国語2 か月前 · 2026年5月13日
388K
562
168
37
1.1K

TL;DR

本ガイドでは、AI エージェントの記憶のメカニズムを解説します。基本的なセッション管理と、セマンティック統合やスキル蒸留を用いる EverOS のような高度なエンタープライズ向けフレームワークを比較します。

最近、エージェントの長期記憶が非常に注目されており、誰もが話題の記憶システムについて誰もが話題にしています。

しかし、それらの説明を見てみると、ほとんどの場合、ベクトルデータベース、RAG、コンテキストウィンドウ、圧縮、エピソード記憶といった用語をただ並べているだけです。

読んでも、実際にどのように機能するのか正確に説明できませんよね?

あなたのせいではありません。ほとんどの記事は、すでに基礎知識があることを前提としています。

しかし、エージェントの記憶システムは現在、面接で最もホットなトピックです。理解していないと、仕事でも面接でも不利になります。

そこで、この記事では、別のアプローチを取ります。基礎から始めに、専門用語を並べ立てるのではなく、基礎から始めます! 誰にでも理解できるように最善を尽くします!

この記事を読めば、以下の3つの質問に自分で答えられるようになることを保証します。

記憶システムとは何か?

OpenClaw の記憶システムをどのように理解すべきか?

エンタープライズレベルのソリューションとはどのようなものか? 私は EverOS (github.com/EverMind-AI/EverOS) を選びました。

铁锤人 - inline image

この記事はかなり長く、書くのに数日かかりました。エージェントの記憶に興味のある友人がいれば、ブックマークして後で転送してください。

エージェント記憶システムの基本知識

このセクションでは、主にエージェントが単一のセッション内および異なるセッション間でどのように記憶を維持するかについて説明します。すでに理解している場合は、読み飛ばして構いません。

まず、大規模モデルへの2回のAPI呼び出しの間には記憶はありません。どういう意味でしょうか?

例:最初の呼び出しで「オレンジを食べるのが好き」と言ったとします。しかし、2回目の呼び出しでプロンプトに「オレンジを食べるのが好き」を追加しなければ、モデルはあなたの好みを記憶していません。

では、エージェントは会話中にこの記憶をどのように維持するのでしょうか?

まず、質問するたびに、基盤となるシステムは以前のチャット履歴全体を送信します。モデルはそれを確認し、短期記憶を確保します。

しかし、チャット履歴が長くなりすぎてモデルの最大コンテキストウィンドウを超えると、履歴を圧縮します。現在の会話履歴を要約してプロンプトに戻し、チャットを続けるためのスペースを作ります。

これが、モデルが1つの長い会話で記憶を維持する原理です。少し混乱している場合は、以下の図を見てください。

铁锤人 - inline image

これで、単一のセッション内で記憶がどのように維持されるかがわかりました。では、異なるチャットセッション間ではどのように維持されるのでしょうか?

ここで長期記憶システムの出番です!!

その役割は、コンテキストが圧縮されたとき、または何かを記憶するように要求したときに、重要な情報をストレージスペースに保存することです。

そして、新しい会話を開始するときに、適切なタイミングで関連情報を抽出してプロンプトに追加します。

「古いものを新しいものと新しいものを入れ替える」ことで、多くのことを覚えているかのような錯覚を生み出します。これは人間のワーキングメモリと長期記憶に似ています。

铁锤人 - inline image

さて、この記憶の基本知識があれば、記憶システムとは何かを理解するに進むことができます。

以下に、概念的な枠組みを紹介します。読み終えれば、あらゆる記憶システムのソリューションを基本的な理解が理解できることを保証します。

記憶システム

エージェントに長期記憶を与えると主張するソリューションは、少なくとも数十あります。どのようにしてこれほど多くのものを研究するのでしょうか?

次に、論文を分解して、エージェントの長期記憶の基本的な理解を深め、OpenClaw と他の記憶フレームワークの違いを比較して、より理解しやすくします。

Google は は2025年11月に「Context Engineering, Sessions and Memory」という論文を発表しました。

この論文では、半世紀前の認知科学の手法に従い、エージェントの記憶を3つのカテゴリに分類しています。

  • エピソード記憶:昨日何が起こったか、前回何を話したか。
  • 意味記憶:あなたの名前は何か、何が好きか、身分は何か。
  • 手続き記憶:タスクを完了する方法、プロセスは何か。

これら3つのタイプの記憶が、エージェントの記憶を構成します。

铁锤人 - inline image

しかし、それは話の半分にすぎません。残りの半分は、記憶を維持し使用する方法についてです。

人間と同じように、エージェントはすべてを覚えることはできません。したがって、記憶システムには、会話履歴から重要な情報を抽出して保存するための信頼できる方法が必要です。

このステップを「抽出」と呼びます。

さらに、記憶を整理して統合する必要があります。

例:

3ヶ月前、私は大理にいると言いましたが、後に成都に引っ越しました。この情報が統合されないと、記憶に矛盾したエントリが含まれることになります。

正しいアプローチは、私が引っ越した後に記憶を「ユーザーは成都にいます」に更新することです。

このステップを「更新」と呼びます。

また、「検索」ステップもあり、これには多くの方法があります:キーワード検索、意味検索、ハイブリッド検索、または大規模モデルを使用した検索です。

したがって、記憶システムを理解するには、以下の2つの側面を理解するだけで十分です。

  1. 記憶にはいくつのカテゴリがあり、それぞれ何を保存するのか?
  2. 記憶はどのように抽出、更新、検索されるのか?
铁锤人 - inline image

では、この枠組みを使って、OpenClaw の長期記憶がどのように実装されているかを解き明かしましょう。

OpenClaw の記憶にはいくつのカテゴリがあり、それぞれ何を保存するのでしょうか?

その記憶は以下の3つのタイプに分かれています。

  1. memory.md(記憶):意味記憶に属し、あなたのアイデンティティ、好み、安定した事実を保存します。
  1. daily logs(デイリーログ):エピソード記憶に属し、毎日何が起こったかを日付ごとに記録します。新しいエントリを追加するだけで、削除することはありません。
  1. session snapshots(セッションスナップショット):エピソード層に属し、/new または /reset コマンドを使用して新しいセッションを開始すると、古い会話から最後の15件の「意味のある」メッセージを要約し、マークダウンファイルとして保存します。
铁锤人 - inline image

抽出、更新、検索はどのように行われるのでしょうか?

抽出は3つの状況で発生します。

  1. 会話が圧縮されようとしているとき:価値のある情報が daily logs に書き込まれます。
  2. /new または /reset を使用して新しいセッションを開始するとき:価値のある情報が session snapshots に保存されます。
  3. ユーザーが何かを記憶するように要求したとき:システムがどの記憶タイプに保存するかを決定します。

検索は2つの状況で発生します。

  1. 新しい会話を開始するとき:memory.md が自動的にプロンプトに注入され、今日と昨日の daily logs も読み込んで最近のコンテキストを取得します。
  2. OpenClaw が記憶を確認する必要があると感じたとき:記憶検索を呼び出し、ハイブリッド検索(キーワード + ベクトル)で記憶の場所を見つけ、memory get でファイル内容を読み取ります。

更新はいつ行われるのでしょうか? 私の個人的な理解では、抽出時に、何を記憶する内容を決定する抽出中に行われます。

まだよくわからない場合は、以下の図を見てください。

铁锤人 - inline image

これで記憶システムについてある程度理解できましたが、正直なところ、OpenClaw のシステムにはいくつかの問題があります。

  1. 多くのトークンを消費します。
  2. マークダウンが消えると、記憶も消えます。
  3. よく忘れます。

しかし、真のエンタープライズグレードの記憶システムには、安定性を確保するための多くの最適化が多数の最適化が施されています。その背後にある技術は、テクノロジーを愛する人にとって価値があります。

次に、エンタープライズグレードのエージェント記憶システムを分析します!!

エンタープライズグレードのエージェント記憶システム

AI 時代において、すべてのプログラマーはエンタープライズグレードのエージェント記憶システムの背後にある技術を理解する必要があります。そうしなければ、競争力を失います。

なぜか?

大規模モデルは、私たちのプログラミング作業をどんどん侵食し続けるからです。唯一の選択肢は、それらのための支援システムを構築することです。

説明を簡単にするために、EverOS というオープンソースのソリューションを選んで分解します。

このプロジェクトからエージェント記憶システムの学習を始める予定があれば、ぜひスターを付けてください:

github.com/EverMind-AI/EverOS

前に述べたように、記憶システムを理解するには、2つの質問に答えれば十分です。

EverOS はそれらにどのように答えているのでしょうか?

質問1:記憶はどのように分類されているか?

一般的なフレームワークには3つのタイプがありますが、EverOS はそれぞれをさらに細分化しています。下図の通りです。

铁锤人 - inline image
  1. 意味記憶(Semantic Memory)あなたが誰であるかに関する長期記憶で、2つの層に分かれています。
  2. 安定特性(Stable Traits):夜型である、プログラマーである、北京に住んでいるなど、長期間変わらないこと。
  3. 一時状態(Temporary States):今日は夜更かしした、今週は忙しかった、先週は風邪をひいていた。
  1. エピソード記憶(Episodic Memory)3つのタイプに分かれています。
  2. エピソード(Episode):会話やタスクの凝縮された要約であり、日ログではありません。例:ユーザーがモデルのデプロイ方法を尋ね、環境変数で詰まり、30分費やした。
  3. イベントログ(EventLog):会話から重要な事実を抽出し、それぞれにタイムスタンプが付いています。例:2026-05-10 ユーザーが Mac mini を購入、2026-05-12 ユーザーが GitHub を連携。
  4. 先見(Foresight):時間に関連する「次のステップ」— あなたがやると言ったことや、後に関与すると推測されることで、期限が設定されリマインダーに使用されます。例:来週の金曜日までに提案書を送る。
  1. 手続き記憶(Procedural Memory)2つのタイプに分かれています。
  2. エージェントケース(Agent Case):タスク完了後に、「意図 + ステップごとの行動 + 品質スコア」を記録します。例:メールを送信する— 連絡先を確認し、下書きし、確認を求め、送信する— この一連の流れを品質スコアとともにアーカイブされます。
  3. エージェントスキル(Agent Skill / Distilled Skill):類似したタスクを数回実行すると、これらのアーカイブから一般的なアプローチを自動的に抽出し、成熟度スコアを付けます。実行回数が増えるほど、信頼性が高まります。例:5回のメールタスク後、受信者が重要な人物かどうかを確認してから、フォーマルかカジュアルなトーンを決することを学習します。

ご覧の通り、EverOS は元の3つのカテゴリを6つのタイプに分割し、より正確な保存とより効果的な記憶を可能にしています。

さらに、人間の記憶により近く、未来を予測し、スキルを要約・洗練します。

質問2:抽出、更新、検索はどのように行われるのでしょうか?

記憶はどのように抽出されるのでしょうか?

EverOS は「このセグメントが終了したかどうか」を自動的に判断します。終了すると、それを切り取り、記憶ユニットにパッケージ化します。

各ユニットには4つの要素が含まれています。

  • プロット(Plot):何が議論され、行われたか — 凝縮された要約であり、逐語録ではありません。
  • 主要事実(Key Facts):内部で個別に注目すべき事実。
  • 先見(Foresight):あなたがやると言ったこと、またはやると推測されること。期限が設定され、リマインダーに使用されます。
  • コンテキストタグ(Context Tags):いつ、どこで、信頼性はどの程度か、その時の感情はどうだったか。

あなたはただチャットするだけで、EverOS がセグメンテーションの詳細を処理します。

铁锤人 - inline image

記憶はどのように更新されるのでしょうか?

例:

1ヶ月前、あなたはAIに「運動を始めようと思っている」と伝えました。2週間後、「忙しくてジムに行っていない」と言いました。今日、「やっぱりやめる」と言いました。

一般的なソリューションは、3つすべてをログに詰め込みます。モデルが検索した方事実と見なします。しかし、実際には最新のものが答えであるべきです。

EverOS は「意味的統合(Semantic Consolidation)」に依存しており、3つのことを行います。

  • 最新の最新のもの(運動をやめた)を自動的に判断します。
  • 重複や同じイベントを指すものをマージします。
  • ユーザープロファイルを維持し、安定した好みと一時的な状態を分離します(正式には Profile Evolution と呼ばれます)。

詳細は以下の通りです。

铁锤人 - inline image

記憶はどのように検索されるのでしょうか?

EverOS は、シナリオに応じて選択できる4つの検索方法を提供しています。

  • キーワード:完全一致。特定の名前やIDに適しています。
  • ベクトル検索:意味的な一致。異なる言葉でも同じ意味なら一致します。
  • ハイブリッド:キーワードとベクトルを組み合わせ、リランクモデルでフィルタリング。推奨されるデフォルトです。
  • エージェンティック:複雑な多部質問に使用。LLM が何をどのように検索するかを判断し、見つかるまで反復します(ハイブリッドでは不十分な場合に使用)。

しかし、4つの方法が鍵ではありません。鍵は検索ロジックです。

一般的なソリューションは受動的です。キーワードを与えると、一致するドキュメントを返して終わりです。

EverOS は能動的にコンテキストを再構築します。

  1. 今回あなたが何をしたいのかを分析します。
  2. 関連するテーマシナリオをアクティブにします。
  3. 期限切れの情報をフィルタリングします(例:1年前の好みは無効かもしれません)。
  4. 十分な情報が集まるまで反復的に検索します。

一般的なソリューションは、一度検索して終わりの検索エンジンのようなものです。EverOS は、十分な情報が見つかるまで、異なる角度から繰り返し探します。

铁锤人 - inline image

EverOS は、長期記憶ベンチマーク LoCoMo で全体の精度 93.05% を達成し(GPT-4o-mini 使用)、比較対象のソリューション Zep(85.22%)を約8ポイント上回りました。

このセクションを読めば、プロダクショングレードのエージェント記憶システムについてよく理解できたはずです。しかし、これらは実際のエンジニアリングにどのように落とし込まれ、何ができるのでしょうか?

実際のプロダクション実装

このオープンソースプロジェクトを使い続けて説明します。その理由は、API が無料で公開されており、リポジトリには20の実世界のユースケースが含まれているため、実装について議論するのに最適だからです!!

無料のオープン API

EverOS の Cloud API は無料で公開されています。

铁锤人 - inline image

3つのステップで開始できます。

  1. ブラウザで everos.evermind.ai を開いて登録します。ページで API Key が発行されるので保存します。
  2. コマンドラインで SDK をインストールします:pip install everos
  3. Python でクライアントをインスタンス化して使用を開始します。

EverOS は無料で試せるだけでなく、最近人気のスキル自己進化機能もサポートしています!!

スキル自己進化(Skill Self-Evolution)はどのように使用するのでしょうか?

エージェントが類似したタスクを繰り返し実行すると、EverOS は自動的に経験を再利用可能なスキルに抽出します。次回類似したタスクが来たときは、ゼロから始める代わりにそのスキルを直接使用します。

コードで使用するには、3つの API を連鎖させます。

2つの注意点:

  • 最初に軌跡を入力すると、ケース(単一タスクのアーカイブ)のみが生成されます。スキルは、類似したタスクを数回実行した後にのみクラスタリングされ抽出されます。
  • /memories/agent エンドポイントを使用する必要があります。通常の /memories ではスキルは抽出されません。

スキル自己進化機能がわからない場合は、以下の図を見てください。

铁锤人 - inline image

コードの使用法について簡単に触れましたが、エージェントインフラストラクチャとして、このプロジェクトは非常に価値のある実世界のユースケースを持っています。

そして、これらのケースはすべてオープンソースで、学習に利用できます!!

20の実ユースケース

リポジトリの README には20のユースケースがリストされています。いくつか紹介します。

  • MemoCare(アルツハイマー記憶アシスタント):認知機能が低下した患者に忘れることのない外部記憶を提供します。これは最も心温まる公益プロジェクトの1つです。
  • Claude Code プラグイン:Claude Code に長期記憶を追加し、セッションをまたいで記憶します。
  • ゲーム・オブ・スローンズ:GoT のプロットを AI に与え、長期的に自分が誰かを覚えているキャラクターを演じさせます。
  • OpenHer:AI ガールフレンド、感情的な伴走 + 記憶の進化。
  • Computer-Use with Memory:エージェントにコンピュータを操作させ、各操作の経験を記憶させます。
  • Memory Graph Visualization:記憶システムをグラフとして可視化します。

完全なリストは、github.com/EverMind-AI/EverOS の README にあります。

ちなみに、いくつかの公式プラグインもあります。

API だけでは不十分なので、EverOS は記憶機能をいくつかのすぐに使えるプラグインにパッケージ化しました。

  • Claude Code プラグイン:Claude Code に長期記憶を追加します。各返信後に自動的に保存し、各質問に対してコンテキストを呼び出し、視覚的な Memory Hub パネルを備えています。1つのコマンドでインストールできます。
  • OpenClaw プラグイン:EverOS を OpenClaw の「記憶スロット」として接続します。エージェントは実行前に関連記憶(プロット、プロファイル、ケース、スキル)を自動的に取得し、実行後に会話とツール呼び出しを保存します。
  • OpenClaw スキル:EverOS の記憶ツールを OpenClaw / Claude Code に「スキル」として接続し、エージェントが常に記憶を保持するのではなく、必要に応じて記憶を呼び出せるようにします。

冒頭の3つの質問に戻ります。

記憶システムとは何か? OpenClaw の記憶システムはどうか? エンタープライズレベルのソリューションとはどのようなものか?

今なら答えがわかるはずです。

EverMind は優れたプロジェクトです。

  1. プロジェクト全体は Apache 2.0 でオープンソース化されており、現在 4500 以上のスターを獲得しています。
  2. EverMind は学術的およびアルゴリズム的に強力な基盤を持ち、継続的に論文を発表しています。以前の MSA も非常に先進的な概念でした。
  3. EverMind は Shanda 傘下の AI ネイティブ企業であり、豊富なリソースを持っています。

このプロジェクトからエージェント記憶システムの学習を始める予定があれば、ぜひスターを付けてください。

github.com/EverMind-AI/EverOS

また、月末には新製品をリリースする予定です。楽しみにしています!!

今回が初めての技術概念を記事で説明する試みです。ほとんどの人に理解できるように、多くの詳細を省略しました。

関わる技術は複雑です。コメントで誤りを指摘していただければ修正します。

私の記事が気に入ったら、ブックマーク、コメント、友人への転送、そしてフォローをお願いします。

Save to YouMind

Use YouMind to read viral articles deeply

Save the source, ask focused questions, summarize the argument, and turn a viral article into reusable notes in one AI workspace.

Explore YouMind

解読すべきパターンをもっと

最近のバイラル記事

バイラル記事をもっと見る