先に要点
AI エージェントの話を見ていると、コンテキストを分ける isolated context context isolation のような表現が出てきます。
特にマルチエージェントや長時間の AI コーディングでは、ここがかなり重要です。
でも、単に 情報を減らすこと と理解するとズレます。
この記事では、2026年4月21日時点の Anthropic と OpenAI の公式ドキュメントを確認しながら、AI エージェントにおけるコンテキスト分離の意味、なぜ必要なのか、どこで失敗しやすいのかを整理します。
コンテキスト分離とは何か
コンテキスト分離とは、エージェントごとに見せる情報や会話履歴を分けて、その担当に必要な材料だけを持たせる考え方です。
AI は、その場で見えている材料を前提に判断します。
だから、関係ないログ、古い仮説、途中で否定された案まで全部見せると、次の判断がぶれやすくなります。
たとえば次のような分け方です。
- 調査担当には関連ログと仕様書だけ見せる
- 実装担当には確定した方針と対象ファイルだけ見せる
- レビュー担当には差分と確認観点だけ見せる
このように 担当に必要な材料だけを見せる のが、コンテキスト分離です。
なぜ必要になるのか
1. ノイズを減らせる
長いセッションでは、失敗した案や途中の寄り道が大量に残ります。
それらが全部次の担当にも見えていると、今は不要な前提まで引きずりやすいです。
2. 役割をぶらしにくい
調査担当に実装上の細かい試行錯誤まで見せる必要はないことが多いです。
逆にレビュー担当に、調査時点の未確定仮説を大量に見せると、確認観点が散りやすくなります。
役割ごとに情報を分けた方が、その担当は何をする役か がぶれにくくなります。
3. コンテキスト肥大化を抑えやすい
AI エージェントは、情報が多ければ多いほどよいわけではありません。
OpenAI Agents SDK の context management でも、ローカルの app context と LLM が見る会話コンテキストは別物として整理されています。
また Anthropic の multiagent sessions でも、各 agent は context-isolated な thread で動くと説明されています。
つまり、全部共有するのが自然 ではなく、分ける前提で考えた方が設計しやすいケースが多いです。
共有しすぎると何が起きるか
古い前提を引きずる
途中で否定された仮説や古い仕様メモが残っていると、次の担当がそれを正しい前提として扱うことがあります。
無関係な失敗ログに引っ張られる
前の担当が試した失敗コマンドや誤修正が大量に残っていると、今の担当がそこに注意を奪われます。
誰が何を担当するのか曖昧になる
全員が全部見えていると、調査担当がレビューっぽいことを始めたり、レビュー担当が再調査を始めたりしやすくなります。
分離しすぎても失敗する
ここも大事です。
コンテキスト分離は、情報を削るゲームではありません。
必要な前提まで消してしまうと、
- handoff 先がまた最初から聞き直す
- 実装担当が仕様制約を知らないまま進める
- レビュー担当が意図を知らずにズレた指摘をする
といった問題が起きます。
つまり、目指すのは 少ないコンテキスト ではなく、その担当にちょうど必要なコンテキスト です。
マルチエージェントとどう関係するか
マルチエージェント では、複数の担当が並列や分業で動きます。
このとき全員に同じ長い履歴を見せると、分業の意味が薄れます。
Anthropic の multiagent sessions では、各 agent が own conversation history を持つ context-isolated event stream で動くと説明されています。
これは、担当ごとに文脈を分けることで、品質や完了速度を改善しやすいという考え方です。
マルチエージェントをうまく使いたいなら、何体にするか と同じくらい、誰に何を見せるか が重要です。
Handoff とどう関係するか
Handoff は、担当を切り替える仕組みです。
そのため、コンテキスト分離とかなり相性が深いです。
handoff の設計で重要なのは、全部の履歴を渡すか ではなく、
- 次の担当に必要な要約は何か
- どの制約を必ず残すか
- 不要な試行錯誤をどこまで落とすか
を決めることです。
OpenAI Agents SDK でも handoff input filter で次の担当へ渡す履歴を調整できるようになっています。
OpenAIのcontextとAnthropicのisolated threadは同じ意味か
ここは少し整理が必要です。
OpenAI Agents SDK の docs では、local context と agent/LLM context を分けて説明しています。
前者はアプリ側の依存情報や状態で、後者は LLM が実際に見る会話履歴や instructions です。
Anthropic Managed Agents の multiagent docs では、各 agent が context-isolated thread を持つと説明されています。
これは 各担当が別の会話履歴を持つ という意味合いが強いです。
厳密には表現の粒度が違いますが、実務的にはどちらも 全部を一つの履歴に押し込まない方がよい という設計のヒントになります。
実務で先に決めたいこと
コンテキスト分離を入れる前に、少なくとも次は決めておくと崩れにくいです。
- 誰に何を見せるか
- 全員で共有する最低限の前提は何か
- handoff 時に何を要約して渡すか
- どの失敗履歴や途中ログを切り落とすか
- どこで人間確認を挟むか
この整理をしないまま とにかく分離した方がよい と進めると、今度は必要な情報不足で失敗しやすくなります。
まとめ
AI エージェントのコンテキスト分離とは、担当ごとに見せる情報や履歴を分けて、必要な材料だけで判断しやすくする設計 です。
マルチエージェントや handoff では特に重要ですが、単に情報を減らすこととは違います。
大事なのは、
- 何を共有するか
- 何を分けるか
- 次の担当に何を引き継ぐか
を先に決めることです。
AI のコンテキスト全体から見たい場合は、AIのコンテキストとは?プロンプト・会話履歴・RAGとの違いを整理 もあわせて読むとつながりやすいです。
参考リンク
- Anthropic Docs: Multiagent sessions
- OpenAI Agents SDK: Context management
- OpenAI Agents SDK: Agent orchestration
- OpenAI Agents SDK JS: Context management