AIエージェントのメモリとは?セッションをまたぐ作業文脈の考え方
AIエージェントに永続メモリが必要になる理由を、Claude CodeやCodexで前回の作業文脈が切れる問題から整理します。

永続メモリという言葉が出てきた背景
AIエージェントのメモリとは、セッションをまたいで作業の前提、判断、調査履歴、ユーザーの好みを参照できるようにする記憶層です。Claude Code、Codex、CursorのようなAIコーディングエージェントを毎日使うほど、この層の有無が作業開始の速さに直結します。
AIエージェントは、1つのチャットの中では非常に強力です。しかし、セッションが変わった瞬間に、前回どのファイルを読んだか、どのエラーを見たか、どの方針を捨てたかを失いやすいという問題があります。
Claude Code、Codex、CursorのようなAIコーディングエージェントを毎日使うほど、この問題は目立ちます。毎回プロジェクト構成を説明し直し、昨日読んだIssueを貼り直し、なぜその実装方針にしたかをもう一度説明することになります。
persistent memoryが解く問題
persistent memoryは、AIエージェントがセッションをまたいで参照できる記憶のことです。単にチャットログを保存するだけではなく、次の推論に必要な情報を取り出しやすい形にしておくことが重要です。
たとえば、ユーザーの好み、プロジェクトの設計方針、よく使うコマンド、以前に失敗した実装、調査済みのGitHub Issueなどがメモリ候補になります。これらがあると、エージェントは毎回ゼロから始めずに済みます。
なぜAIエージェントにmemoryが必要なのか
AIエージェントの性能が上がるほど、問題は『答えられるか』から『前提をどれだけ正しく持っているか』に移ります。Claude CodeやCodexは強力ですが、セッションをまたぐと、昨日の調査、捨てた方針、読んだIssue、別agentで見つけた懸念を知りません。
| 困りごと | 実際に起きること | memoryで解決したいこと |
|---|---|---|
| 毎回説明し直す | プロジェクト構成、設計方針、昨日の判断を毎セッション貼り直す | 作業の前提をagentが最初から読める |
| agentをまたぐと文脈が切れる | Claude Codeで決めたことをCodexに説明し、CodexのレビューをCursorに説明する | 複数agentで同じ作業文脈を共有する |
| 会話の外の調査が消える | GitHub Issue、Stack Overflow、公式Docsを読んだ事実がチャット履歴に残らない | ブラウザ履歴や画面状態も作業文脈として残す |
| なぜその判断をしたかが残らない | 最終的な指示だけ残り、比較した選択肢や捨てた案が消える | 判断理由、試行錯誤、直前の画面を復元する |
| 長期メモリが古くなる | 古いルールや誤った仮説が残り続ける | Activity、Hourly Report、LTMを分けて更新しやすくする |
だから、AI memoryは単なる便利機能ではなく、複数agentで仕事をするための作業基盤になります。特に開発では、コード差分だけでなく、調査、ブラウザ、画面、agentとの会話が判断の材料になります。
何を記憶すべきで、何を記憶すべきではないか
永続メモリで難しいのは、記録する範囲を小さくすることではありません。むしろ、作業の文脈を復元するには、チャットログだけでは足りません。画面、ブラウザ履歴、アプリ利用、キーボード入力、複数エージェントの会話履歴まで含めて、あとから辿れる材料を持つ必要があります。
ただし、記録したものをそのまま毎回プロンプトへ入れるわけではありません。Contextbergの考え方は、広くローカルに保存し、Activity、Hourly Report、LTMのような層に整理して、AIには必要な粒度だけを渡すことです。Raw dataは保管と検証のために残し、AIが読むcontextは圧縮・選別された作業文脈にします。
この違いが重要です。『全部を記録する』ことと『全部を毎回AIに読ませる』ことは別です。Contextbergは前者をローカルで実現し、後者を避けるために、検索可能な記録、時間単位の要約、長期メモリ、MCP toolsという出口を分けています。
実装方式を比較する
現在のAI memoryは、同じmemoryという言葉を使っていても、誰のためのmemoryかが違います。Mem0はAIアプリに組み込むmemory layer、Lettaはstateful agentを作るためのagent runtime、agentmemoryはAI coding agentのセッション記憶、ContextbergはユーザーのPC作業環境側に置くlocal work memoryです。
| プロダクト | 主な立ち位置 | 記憶する中心 | 強い場面 | 足りない/異なる点 |
|---|---|---|---|---|
| Mem0 | AI agents & apps向けのmemory layer | 会話、ユーザー事実、好み、アプリ内イベント | 自社AIアプリに長期記憶を組み込む | PC画面、ブラウザ調査、複数agentの作業履歴をOS側から横断取得するものではない |
| Letta | stateful agentを作るためのagent runtime / API | agent state、memory blocks、tool call、会話 | 記憶を持つagentそのものを設計する | 既に使っているClaude Code、Codex、Cursorの外側にあるPC作業文脈を集める層ではない |
| @modelcontextprotocol/server-memory | MCP経由で使う基本的なmemory server | local knowledge graphとしてのユーザー情報や関係 | Claudeなどにシンプルな永続メモリを足す | 作業画面、ブラウザ履歴、agent横断履歴をまとめたwork timelineではない |
| agentmemory | AI coding agents向けのpersistent memory | coding session、hook、skills、MCP tools、検索可能なmemory | Claude Code / Codex / Cursorなどのcoding agent記憶 | agent側の行動記憶に強いが、ブラウザ調査やスクリーンショットまでPC全体から集める方向とは異なる |
| Contextberg | PC作業環境側に置くlocal work memory | 画面、ブラウザ履歴、アプリ利用、キーボード入力、agent会話履歴 | Claude Code、Codex、Cursorをまたいで、会話の前後にあった作業文脈まで渡す | Web AI履歴をブラウザ拡張で取り込み、デスクトップとWeb agentのmemoryをつなげていく |
AgentMemory系を探している人の疑問は、『Claude CodeやCodexが前回の作業を覚えるには何が必要か』です。その答えがagent内のhookやmemory serverで足りる場合もあります。ただ、ブラウザで調べたページ、画面に映っていた状態、別agentでの判断まで含めたいなら、memoryはagent側だけでなくPC作業環境側に必要になります。
だからContextbergにはこの記録範囲がある
上の比較で見える通り、Contextbergの強みは『memoryを持つagentを作る』ことではなく、『人間の作業環境で発生した文脈をagentに渡せる形で持つ』ことです。そのため、会話履歴だけでなく、ブラウザ履歴、スクリーンショット、アプリ利用、agent履歴を同じタイムラインで扱います。
| 機能 | 拾う文脈 | なぜ必要か | 競合との差分 |
|---|---|---|---|
| エージェント履歴 | Claude Code、Codex、Cursorなどの会話turn | どのagentで何を決めたかを、次のagentに渡すため | 単一agentのmemoryではなく、複数agentを横断する |
| ブラウザ履歴 | Chrome / EdgeのURL、タイトル、作業時間との関係 | チャットに貼っていないIssue、Docs、調査過程を復元するため | 会話ログ中心のmemoryでは拾いにくい |
| スクリーンショット | アクティブウィンドウに映っていた状態 | エラー画面、UI、ログ、比較中の資料など、会話にもURLにも残らない情報を確認するため | agent hookだけではPC画面の状態まで取れない |
| アプリ利用 | VS Code、ターミナル、ブラウザ、メモアプリなどの流れ | 作業がどの順序で進んだかを時系列で見るため | ファイル差分だけでは作業の前後関係が欠ける |
| 3層メモリ | Activity、Hourly Report、LTM | 広く記録したRaw dataを、AIが使える粒度に分けるため | 全部を毎回contextに入れる設計ではない |
| ブラウザ拡張 | ChatGPT、Gemini、Manus、PerplexityなどWeb上のAI利用履歴 | デスクトップagentだけでなく、Web agentでの相談も同じmemory層に寄せるため | 将来的にWeb上のAI作業までContextbergの守備範囲に入る |
つまり、Contextbergが広い信号を持つのは『何でもAIに投げる』ためではありません。あとから作業を説明できるだけの材料をローカルに残し、必要なときに必要な粒度へ整えて返すためです。この設計だから、現状でもagentmemory系を検討している読者に対して、ブラウザ調査と画面状態まで含めた別の答えを出せます。
会話履歴だけでは足りない理由
AIエージェントの会話履歴は重要ですが、開発の判断は会話の前にかなり進んでいます。Stack Overflowを読む、GitHub Issueを追う、ログを見る、VS Codeで試して消す、ドキュメントを比較する。こうした前段はチャット履歴には残りません。
つまり、本当に必要なのはagent chat historyだけではなく、work contextです。どの画面を見て、どのページを読み、どのアプリで何をしていたかまで含めて初めて、次のエージェントが判断の背景を追えます。
これからAI memoryで問われること
今後は、AI agent memory、Claude Code memory、Codex MCP、MCP memory server、cross-agent memory、local-first AI memoryのような言葉が増えていくはずです。ただ、読者にとって大事なのは検索語そのものではなく、その裏にある困りごとです。
つまり、AIエージェントがコードを書く能力だけでなく、前回の作業、調査したページ、別agentで決めた方針、画面に出ていた状態をどれだけ思い出せるかが問われるようになります。Contextbergが扱いたいのは、この『作業を覚えているAI』のための個人コンテキスト層です。
よいAI memoryを見分ける観点
よいAI memoryは、保存量ではなく再利用のしやすさで評価します。必要な場面で必要な粒度の情報が返るか、古くなった情報を消せるか、ユーザーが中身を確認できるか、秘密情報を除外できるかが重要です。
また、どのエージェントからでも使えるかも大きな差になります。Claude Codeだけに閉じたmemoryはClaude Codeでは便利ですが、CodexやCursorへ移った瞬間にまた説明し直しになります。複数エージェント時代には、memoryをエージェント側ではなくユーザーの作業環境側に置く発想が必要になります。
最後に、クラウド前提かローカルでも動くかです。memoryは通常のプロンプトよりも個人情報や業務情報を含みやすいので、local-first、OpenAI互換エンドポイント、OpenRouter、自前APIキー、ローカルLLMなどの選択肢があるかは導入判断に直結します。
導入前に見るべきチェックリスト
AI memoryは一度入れると、日々の作業判断に影響します。だから、単に保存できるかではなく、どの粒度で、どの出口から、どれだけ安全に取り出せるかを見るべきです。
| 観点 | 見ること | 弱い実装で起きること |
|---|---|---|
| 粒度 | 生ログではなく、Activity / Hourly / LTMのように用途別に分かれているか | 全部を詰め込み、長くて読めないcontextになる |
| 出口 | Claude Code、Codex、Cursor、Claude Desktopなど複数の接続先から読めるか | 1つのagentを離れるとまた説明し直しになる |
| 鮮度 | 直近の作業と長期記憶を分けて扱えるか | 古い判断が新しい実装を邪魔する |
| 可視性 | ユーザーが記録・要約・LTMを確認、編集、削除できるか | AIが誤って覚えた内容を直せない |
| 安全性 | ローカル保存、除外設定、localhost制限、トークン認証があるか | 便利だが導入前の不安が消えない |