エージェントメモリのロックイン

概要 LangChain 創設者 Harrison Chase が提唱する概念。AI エージェントのメモリ(長期記憶)はハーネスの設計と不可分であり、クローズドなハーネスを使うことで将来的な移行が困難になるリスクを指す。ハーネスとメモリを「分離できるプラグイン」ではなく「車と運転」のように一体的なものと捉える。 メモリの4層構造 エージェントのメモリは実際には4層に分かれており、それぞれがハーネスの実装に深く依存する。 層 実体 ハーネス依存の理由 第1層 コンテキストウィンドウ内のメッセージ履歴 構成方法でモデルの応答が変わる 第2層 コンパクション(会話の要約圧縮) 何を残し何を捨てるかで「記憶の質」が変わる 第3層 永続ファイル・データベース(長期メモリ) エージェントの「人格」を形成する 第4層 設定・スキルのロード方式 エージェントの能力を規定する ロックインの3段階 1. ステートフル API のロックイン OpenAI の Responses API や Anthropic のサーバーサイドコンパクションのように、状態をプロバイダーのサーバーに保存する方式では、モデルを切り替えて以前のスレッドを再開できなくなる。 2. クローズドソースハーネスの不透明性 Claude Agent SDK のように内部でクローズドソースのコードを使うハーネスでは、メモリとの相互作用が不透明で、別のハーネスへの移行が困難になる。 3. API の背後に隠されたメモリ ハーネス全体(長期メモリを含む)が API の背後に置かれるケース。Claude Managed Agents が例として挙げられており、メモリの所有権も可視性もゼロになる。 コンパクション方式の違い 各ハーネスでのコンパクション実装の違いが移植性に影響する: ハーネス コンパクション方式 移植性 Claude Code 会話要約をシステムメッセージとして挿入 高(ローカルファイル) OpenAI Codex 暗号化コンパクションサマリー生成 低(OpenAI 以外で復号不可) Claude Managed Agents サーバーサイドで状態保持 低(外部からアクセス不可) Letta / Deep Agents オープン標準での保存 高(移行可能) ロックイン回避のための実践 メモリの所在を把握する: 自分のエージェントのメモリがどこに保存され、誰がコントロールしているかを確認する エクスポート可能な設計を選ぶ: メモリのエクスポート・インポートが可能なハーネスを優先する ステートフル API 依存を最小化する: サーバーサイドのコンパクションや状態管理に過度に依存しない オープン標準を採用する: agents.md などのオープン標準規格に対応したハーネスを検討する メモリがロックインの源泉になる理由 メモリによりエージェントはユーザーとの対話を通じて改善される ユーザーごとのパーソナライズが可能になり、データフライホイールが構築される メモリがなければ同じツールにアクセスできる誰もがエージェントを複製できる メモリがあれば、ユーザーインタラクションと嗜好の独自データセットが蓄積される 関連ページ ハーネスエンジニアリング — ハーネス設計の全体像 Claude Managed Agents — クラウド側でメモリを管理するアプローチ AI エージェント — エージェント基盤の概念 MemPalace — ローカルメモリシステムの実装例 ソース記事 エージェントハーネスとメモリのロックイン問題 — 2026-04-12 Claude Managed Agents: パブリックベータ公開 — 2026-04-10 Anthropic vs OpenAI:Harness 戦略はなぜ真逆なのか — 2026-04-13

2026年4月15日 · 1 分

エージェントハーネスとメモリのロックイン問題 ― Harrison Chase「Your harness, your memory」を読む

LangChain の創設者 Harrison Chase が 2026年4月11日に公開した記事「Your harness, your memory」を読んだ。AI エージェント開発におけるハーネス(harness)とメモリの密接な関係、そしてクローズドなハーネスがもたらすロックインの危険性を指摘する内容だ。本記事ではその要点を整理し、エージェント開発者が考慮すべきポイントを解説する。 エージェントハーネスとは何か エージェントハーネスとは、LLM がツールやデータソースとやり取りするための「足場」を提供するシステムだ。テストハーネスがテスト実行環境を支える外枠であるように、エージェントハーネスはエージェントの実行環境を支える外枠を指す。Chase は以下のような進化の流れを示している。 RAG チェーン時代(2023年〜): ChatGPT 登場直後、シンプルな検索拡張生成(LangChain) 複雑なフロー時代: モデルの改善に伴い、より複雑なワークフローが可能に(LangGraph) エージェントハーネス時代(現在): モデルの大幅な性能向上により、新しい種類の足場が登場 具体的なエージェントハーネスの例として、Claude Code、Deep Agents、Pi(OpenClaw を駆動)、OpenCode、Codex、Letta Code などが挙げられている。 Chase は「モデルがハーネスの機能を吸収していく」という意見に反論する。2023年に必要だった足場の多くは不要になったが、それに代わる新しい種類の足場が登場している。エージェントは定義上、LLM がツールやデータとやり取りするものであり、その相互作用を仲介するシステムは常に必要だ。Chase はその根拠として、Claude Code のソースコードが51万2000行に及ぶ規模を挙げている。 エージェントハーネスとメモリが切り離せない理由 Chase は Letta の CTO Sarah Wooders のブログ「memory isn’t a plugin (it’s the harness)」を引用し、ハーネスとメモリは不可分だと主張する。 メモリをエージェントハーネスにプラグインしてほしいと頼むのは、運転を車にプラグインしてほしいと頼むようなものだ。コンテキストの管理、すなわちメモリの管理は、エージェントハーネスの中核的な能力であり責任だ。 メモリはコンテキストの一形態に過ぎない。ハーネスが管理するコンテキストには以下が含まれる。 短期メモリ: 会話内のメッセージ、大きなツール呼び出し結果 長期メモリ: セッションをまたぐ記憶(クロスセッションメモリ) 設定ファイル: AGENTS.md や CLAUDE.md のロード方法 スキルメタデータ: エージェントへの提示方法 コンパクション(要約による圧縮): 長い会話履歴を要約して短縮する際、何が残り、何が失われるか これらすべてがハーネスの設計に依存しており、メモリを独立したサービスとして切り離すことは現時点では現実的ではない。 エージェントにおける「メモリ」の実体 Chase の記事では「メモリ」が抽象的に語られているが、その実体は大きく4つの層に分けられる。それぞれの層がなぜハーネスと切り離せないのかを具体的に見ていこう。 第1層: コンテキストウィンドウ内のメッセージ履歴 最も基本的なメモリの実体は、LLM に渡される会話メッセージの配列だ。ユーザーの発言、アシスタントの応答、ツール呼び出しの結果がすべてこの配列に格納される。 ...

2026年4月12日 · 2 分