コンテキストマネジメントとは?|MCP入門 3.2|履歴と外部情報を活かす生成AI設計

3.2 コンテキストマネジメント:履歴と外部情報の融合
生成AIにおける出力の質は、そのときモデルが「何を知っているか」に大きく依存します。 つまり、どんな知識、履歴、文脈、制約、ユーザー情報を「参照しながら」出力しているかが、生成内容の一貫性・正確性・ユーザー満足度に直結します。 この「モデルが知っている(とみなされる)情報」をどう設計・制御するかが、MCP(Model Context Protocol)におけるコンテキストマネジメントの中心テーマです。
このセクションでは、セッション履歴、外部ベクターストア、ユーザー属性など、多様な文脈情報をどのように統合し、モデルに与えるかを見ていきます。
コンテキストとは何か?
MCPにおけるコンテキストは、単に「チャット履歴」だけを指すわけではありません。 むしろ、以下のような情報群を構造化し、文脈としてモデルに与える仕組み全体を指します:
- 過去の対話履歴(チャットログ)
- 明示的なユーザープロファイル(名前、役職、関心分野など)
- セッション固有の状態(進行中のタスク、前提条件など)
- 外部ナレッジ(FAQデータ、ベクターデータベース、構造化JSON)
- フィードバック履歴(前回の応答に対する評価)
このように、文脈には動的(会話履歴など)と静的(ユーザープロフィールなど)の2種類が存在し、 それらを適切に組み合わせてモデルに渡すことが、高度なMCP設計には不可欠です。
コンテキスト統合の代表的パターン
パターン1:セッション履歴の最適化と要約
LLMはトークン制限があるため、すべての履歴をそのまま保持することはできません。 そこで、過去のチャットログを要約・抽象化してコンテキストとして渡す手法が用いられます。
{
"summary": "ユーザーは商品返品処理に困っており、倉庫とのやりとりが煩雑だと感じている。次は返品フローの自動化を希望。"
}
このように、文脈の要点だけを抽出し、構造化してモデルに渡すことで、一貫性と効率性を両立させます。
パターン2:外部ナレッジ統合(RAG構成)
Retrieval-Augmented Generation(RAG)では、外部のベクターデータベースやFAQを検索し、関連情報を文脈として挿入します。
{
"context": "返品ポリシー:お客様は商品到着後30日以内であれば返品可能です。ただし、使用済み商品は対象外です。"
}
この情報があることで、モデルは一貫した応答が可能になります。 RAG構成は、モデル自身が学習していない情報を動的に補うという点で、MCPの文脈統合戦略において非常に有効です。
パターン3:ユーザープロファイルとの統合
MCPでは、ユーザー情報を静的な文脈として設計し、応答に個別性を持たせることができます。
{
"user_profile": {
"name": "田中一郎",
"職種": "中小企業経営者",
"関心": ["補助金活用", "業務効率化"]
}
}
これにより、同じ質問でも、異なるユーザーには異なる観点から答えることが可能になります。 これは、UXの質を高めるうえで極めて重要です。
コンテキスト統合の注意点
- 過剰な情報挿入に注意:文脈を盛り込みすぎると、ノイズやモデルの混乱を招く可能性があります。
- 構造化とスロット化:文脈は可能な限り構造化し、プレースホルダー({{user_name}}など)で再利用性を担保しましょう。
- 動的挿入のトリガー設計:履歴や外部知識の「どのタイミングで何を挿入するか」は明示的なルール化が必要です。
ここまでで、MCPにおける“何を知っているか”の設計が見えてきました。 次は、その文脈をどう柔軟に差し込むかという実装テクニック、「テンプレートとスロット設計」へと進みましょう。 → 3.3 テンプレートとスロットの設計へ進む

下田 昌平
開発と設計を担当。1994年からプログラミングを始め、今もなお最新技術への探究心を持ち続けています。カテゴリー
検索履歴
チーム

任 弘毅
株式会社レシートローラーにて開発とサポートを担当。POSレジやShopifyアプリ開発の経験を活かし、業務のデジタル化を促進。

下田 昌平
開発と設計を担当。1994年からプログラミングを始め、今もなお最新技術への探究心を持ち続けています。