コンテキストエンジニアリングとは|プロンプトの次に来る設計の基本

「良いプロンプトを書く」だけでは、複数ステップで動くAIエージェントの品質を安定させにくくなってきました。エージェントは1回のやり取りで終わらず、ツールの実行結果や過去の履歴をどんどん抱えていきます。そこで重要になるのが、モデルに渡すコンテキスト全体をどう設計するか、という視点です。この記事では、プロンプトエンジニアリングの発展形として語られる「コンテキストエンジニアリング」の考え方を、実務で使える形に整理します。
プロンプトから、コンテキストへ
プロンプトエンジニアリングは「どう書くか」に焦点がありました。コンテキストエンジニアリングはもう一段広く、システム指示・ツール定義・外部データ・過去のメッセージ履歴まで含めた、モデルが読む情報の状態全体を対象にします。エージェントが何ターンも動く間、絶えず増えていくデータの中から関連する情報だけを残し続ける、反復的な作業だと考えると分かりやすいです。
メモ
前提となる「コンテキストの劣化」
コンテキストエンジニアリングが必要になる根っこには、context rot(コンテキストの劣化)という現象があります。渡すトークンが増えるほど、モデルが情報を正確に思い出す力は下がっていきます。これはモデルの手抜きではなく、すべてのトークンが互いに関係を計算し合うアーキテクチャ上の制約から来るものです。
ここから導かれる原則はシンプルです。多く詰め込むほど良いのではなく、望ましい振る舞いを引き出す、情報量の多い最小限のトークン群を探す。これがコンテキストエンジニアリングの目標になります。
何を、どの順で渡すか
渡す情報は、おおまかに次の順で構成すると整理しやすくなります。
| 要素 | 役割 | 設計の勘所 |
|---|---|---|
| システム指示 | 振る舞いの土台 | 具体的すぎる場当たり的な分岐を避け、行動を導く強い指針を明確な言葉で。セクションで構造化する |
| ツール定義 | できることの提示 | 単一責任・入出力を明確に。機能が重複するツールは曖昧さの元 |
| 事例(例示) | 期待する出力の見本 | 大量のエッジケースより、少数の代表的で質の高い例を厳選 |
| 外部データ | 判断に必要な材料 | 全部を先に積まず、必要なときに必要な分だけ |
| メッセージ履歴 | これまでの経緯 | 増え続ける前提で、要約や整理の仕組みを持つ |
例示について補足すると、想定される例外を延々と並べるより、代表的なパターンを少数そろえるほうが効きます。良い例は、長い説明文に勝る見本になります。
必要なときに取りに行く
コンテキストを軽く保つ有効な考え方が、都度取得(just-in-time)です。関連データを最初から全部プロンプトに載せるのではなく、ファイルパス・検索クエリ・URLといった軽い参照だけを持たせ、実行時にツール経由で必要な分だけ読み込ませます。ファイルの階層構造や命名規則そのものが、エージェントにとっての手がかりになります。RAGで外部知識を渡す設計とも地続きの発想です。
あわせて読みたい
RAGとは何か|仕組み・向き不向き・導入判断の考え方
長時間動くエージェントの手法
タスクが長く続き、コンテキストの上限が見えてくると、次のような手法で文脈を絞り続けます。
- 1
圧縮(compaction)
上限に近づいた会話を要約し、要点だけを引き継いで新しいコンテキストで再開します。設計上の決定や未解決の課題は残し、冗長なやり取りは落とすのがコツです。まずはツール実行結果の整理から始めると軽く効きます。 - 2
構造化メモ(外部メモリ)
重要な情報をコンテキストの外にメモとして書き出し、必要なタイミングで読み戻します。コンテキストがリセットされても一貫性を保つための土台になります。 - 3
サブエージェント
焦点を絞った作業は専門のサブエージェントに任せ、詳細な探索を切り離します。各サブエージェントは要点だけ(目安として千数百トークン規模)を親に返し、親は統合と判断に集中します。 - 4
都度取得(just-in-time)
前述のとおり、必要になったデータだけを実行時に読み込み、コンテキストの肥大を防ぎます。
どれを使うかはタスクの性質で決まります。対話の継続性が大事なら圧縮、反復的な開発ならメモ、複雑な分析の分担ならサブエージェント、という使い分けが目安です。
実務での始め方
考え方は、最小のコンテキストから始め、観測された失敗モードに応じて段階的に足していくことです。先に作り込むのではなく、実際の失敗を見てから必要な要素を加えます。相談役の上位モデルに方針だけ委ねるといった構成も、コンテキスト設計の一つの形です。
あわせて読みたい
Claudeのadvisorツールとは|速い実行役に賢い相談役を組み合わせる
よくある質問
プロンプトエンジニアリングはもう学ばなくてよいですか
コンテキストは長ければ長いほど有利ではないのですか
小さなツールやチャット利用でも関係ありますか
どの手法から試すべきですか
まとめ
コンテキスト設計のチェックリスト
- 渡す情報を、望ましい振る舞いを引き出す最小限に絞ったか
- システム指示・ツール・例示・外部データ・履歴の構成と順序を整理したか
- データを先に全部載せず、都度取得できる設計にしたか
- 長時間タスク向けに、圧縮・メモ・サブエージェントのどれを使うか決めたか
- 最小構成から始め、失敗モードを見てから足す進め方にしたか
コンテキストエンジニアリングは、特定のモデルや流行に依存しない、息の長い設計スキルです。プロンプトの書き方を磨くのと並行して、モデルに何を見せるかを設計する視点を持っておくと、エージェントの品質を安定させやすくなります。まずは手元のエージェントのコンテキストを一度書き出し、削れる情報がないかを見直すところから始めてみてください。
あわせて読みたい
プロンプト設計の基本|役割・制約・出力形式・例示の4要素で安定させる
出典・参考
関連する記事
プロンプト設計の基本|役割・制約・出力形式・例示の4要素で安定させる
業務でLLMの出力を安定させるためのプロンプト設計を解説します。役割・制約・出力形式・例示という4要素の組み立て方、書き直しの手順、テンプレート化して共有するまでの実務をまとめます。
RAGとは何か|仕組み・向き不向き・導入判断の考え方
社内文書をAIに答えさせる代表的な手法であるRAG(検索拡張生成)を解説します。検索と生成を組み合わせる仕組み、向いている用途と向かない用途、導入前に確認したい判断ポイントをまとめます。
Chain-of-Thought(思考の連鎖)とは|CoTプロンプトの基本と推論モデル時代の使いどころ
最終回答だけでなく途中の推論ステップを言語化させるChain-of-Thought(CoT)プロンプトを、原典の主張・実務での効果と限界・推論モデル時代の使い分けまで整理します。few-shot/zero-shot CoTやself-consistencyの違い、向かない場面も冷静に切り分けます。


