概要
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