話題のAIエージェントの開
発に必須な「コンテキスト・エンジニアリング」とは何か

最近、「コンテキスト・エンジニアリング」という表現を目にする機会が増えてきた。本稿では、博報堂DYホールディングス執行役員Chief AI Officer、Human-Centered AI Institute代表の森 正弥が、この概念を理解する手がかりとして、従来から注目されている「プロンプト・エンジニアリング」との違いに着目しながら、両者の位置づけや関係性について整理する。 


 

博報堂DYホールディングス執行役員Chief AI Officer、
Human-Centered AI Institute代表 森 正弥

 

 

1998年、慶應義塾大学経済学部卒業。外資系コンサルティング会社、グローバルインターネッ企業を経て、監査法人グループにてAIおよび先端技術を活用した企業支援、産業支援に従事。 東北大学 特任教授、東京大学 協創プラットフォーム開発 顧問、日本ディープラーニング協会 顧問。
著訳書に、『ウェブ大変化 パワーシフトの始まり』(近代セールス社)、『グローバルAI活用企業動向調査 第5版』(共訳、デロイト トーマツ社)、『信頼できるAIへのアプローチ』(監訳、共立出版)など多数。 

 


プロンプト・エンジニアリングの基本を振り返る 

 

プロンプト・エンジニアリングとは、大規模言語モデル(LLM)に対して与える入力文を工夫し、出力の質や方向性を制御する技術である。入力文には指示、例示、文体のヒントなどが含まれ、その設計の巧拙が出力に大きな影響を与える。

 

基本的な方法として「役割の付与」がある。「あなたは飲料業界で多くの新商品プロモーションを担当してきたマーケターです」といった定義を与えることで、出力に専門的な視点や用語が反映されやすくなる。 

 

応用として、ユーザー側の立場を明示する工夫も有効である。「わたしは飲料会社のクライアントです。これまで多くの企画に接してきたため、そんじょそこらの一般的な提案では納得しません」と記すことで、モデルはより洗練された応答を生成しようとする。 

 

「少数の例の提示(Few-shot prompting)」も広く活用されている。具体的な入出力の例を提示することでモデルの理解を補助する。JSON形式で出力を得たい場合、事前に同形式の例を2〜3件示すことで、構造や文体に一貫性を持たせることが可能となる。 

 

「思考の連鎖(Chain of Thought)」も有効である。複雑な推論や計算を必要とする問いに対し、「ステップ・バイ・ステップで」といった指示を加えることで、論理的な展開を持つ出力に導く。 

 

「制約の明示」も重要である。「100語以内で回答してください」「与えられた情報のみを使用してください」といった条件を加えることで、出力の範囲や精度を制御できる。

 

 

プロンプト・エンジニアリングは、LLMとの対話の”入口”を整える技術として確立されたテクニックである。対して「コンテキスト・エンジニアリング」は、これをさらに包括的に捉え直す考え方と言える。 

 

コンテキスト・エンジニアリングの登場 

 

コンテキスト・エンジニアリングとは、LLMが応答を生成する際に参照するあらゆる情報──プロンプトだけでなく、外部ツールからのデータ、検索結果、ユーザーメモリ、過去の会話履歴など──を動的かつ構造的に組み立て、最適な推論を支援する技術である。 

 

重要なのは、モデルの「コンテキスト・ウィンドウ(入力可能領域)」全体を、どのような情報でどのような順序で満たすかという設計そのものにまで踏み込む点である。 

 

検索機能と連携したAIアプリケーションや、タスク自律型のAIエージェントでは、必要に応じて関連情報を取得し、文脈に応じたデータを逐次挿入・更新する仕組みが必要となる。この設計は、アプリケーション全体の構造設計やUXの設計とも深く結びつく。 

 

プロンプト・エンジニアリングが「言語による問いの表現の最適化」であるのに対し、コンテキスト・エンジニアリングは「推論に必要な全体設計の最適化」である。後者は、プロンプト設計を土台としつつ、それを包括する高度な情報設計の試みである。 

 

「コンテキスト・エンジニアリングは新しいプロンプト・エンジニアリングである」と言われることもあるが、両者は排他的な関係ではなく、補完し合う関係として捉えるほうが適切である。 

 

 

ChatGPTのような対話型モデルに「自分に合ったランニングウェアを教えてほしい」と問いかける場面では、依然としてプロンプトの工夫が効果的に機能する。サイズや価格帯など、個別の条件について対話を通じて明らかにしていく過程で、プロンプトの設計が大きな役割を果たす。 

 

一方、カスタマーサポート用途のように、AIエージェントが定常的な業務対応を担うケースでは様相が異なる。あらゆる問い合わせやシナリオに対応できるよう、初期段階で包括的な文脈・知識・指示セットを組み込んでおく必要がある。請求や返金対応、ログインの問題、利用規約の参照など、多様な要件に対して網羅的な設計が求められる。 

 

プロンプトの設計がより広範で構造化された実装へと拡張された結果として、「コンテキスト・エンジニアリング」という呼称が用いられるようになった。プロンプト・エンジニアリングの進化系として、より複合的かつ動的な情報設計の必要性に応えるための枠組みである。 

 

旅行予約を担うAIエージェントの事例を考える。ユーザーが「来月の出張に合わせて府中市でホテルを予約して」と依頼し、AIが広島県の府中市で予約してしまった場合、それはAIがユーザーの予定表や会議場所といった関連情報を参照していなかったことが本質的な原因である。これはプロンプト設計の限界というよりも、コンテキストの構築の不備に起因する。

 

AIエージェントを実現する8つの構成要素 

 

AIエージェントとは、ユーザーの目標達成を支援するために、自律的に環境を感知し、状況に応じて行動を選択・実行するソフトウェアシステムである。高度に機能するためには、以下の8つの構成要素が不可欠である。 

 

第1に「モデル」。すべてのAIエージェントは、OpenAIのGPT、AnthropicのClaude、GoogleのGeminiなどの基盤モデルを必要とする。 

 

第2に「外部ツール」との連携。カレンダーやメール、API等の外部システムとやり取りするためのインターフェースが不可欠である。 

 

第3に「知識と記憶」。過去の会話やドメイン知識を参照しながら応答を生成する。短期メモリは文脈の整合性を保ち、長期メモリは履歴や趣向を蓄積する。RAG(Retrieval-Augmented Generation)のような手法も重要である。 

 

第4に「状態管理」。マルチステップのタスクでプロセスの進行状況を維持する機能である。

 

 

第5に「音声と発話」。音声インターフェースによって、より直感的なやり取りが可能となる。 

 

第6に「ガードレール」。安全性や倫理性を確保するための制御機構である。 

 

第7に「モニタリングと改善」。運用後も行動ログや応答履歴を継続的に評価し、精度や品質の向上に努める。 

 

第8に「オーケストレーション」。複数のAIエージェントが連携する場合の相互のコンテキスト共有である。 

 

ハンバーガーの比喩とコンテキスト・エンジニアの役割 

構成要素を理解するうえで、しばしば用いられる比喩が「ハンバーガー」である。ハンバーガーには、バンズ、パティ、野菜、調味料といった基本的な要素が必要だが、具体的な中身には多様性が認められる。一定の柔軟性を持ちながらも、共通の構成原則が満たされているからこそ「ハンバーガー」として認識される。 

 

AIエージェントもまた、基本構成要素を備えることで機能的に成立する。この設計において「マニュアル」の役割を担うのが、コンテキスト・エンジニアである。 

 

コンテキスト・エンジニアは、エージェントが用いるツールの仕様、記憶や知識ベースへのアクセス条件、音声入出力の発動基準などを体系的に整理し、構成要素をどのように連携させるかを記述する。その記述は最終的にプロンプトとして出力され、エージェントにとっての「取扱説明書」となる。 

 

 

このプロンプト設計は短期間で完成するものではなく、最適な構成に到達するまでには多くの試行錯誤が必要となる。特に複数のエージェントが協調して動作する場合、文脈の共有は不可欠であり、意図の分岐点では設計者による明確な指針が必要とされる。 

 

エンジニアリング支援ツールの活用 

 

実運用可能なAIエージェントを開発・展開するためには、より複雑で精緻な設計が求められる。深い文脈理解と構造化を支援するツールの活用が不可欠となりつつある。

 

その一例が「Augment Code」である。デバッグ、テストコードの生成、リファクタリング、大規模コードベースのナビゲーション支援など、幅広い機能を備えている。Claude Sonnetモデルと連携し、コード構造に関する文脈情報を動的に提供する。 

 

クラウドエージェントを併用することで、開発者が作業端末を閉じた状態でも、コードのテストや修正、最適化などのタスクが自動で実行される。VS Code、JetBrains製品、Vim、Cursorなどとの連携も可能である。ISOおよびSOC 2の認証を取得しており、顧客のコードが学習データとして再利用されない設計となっている点も信頼性の高い特徴である。 

 

まとめ 

 

プロンプト・エンジニアリングとは「問いを設計する技術」であり、コンテキスト・エンジニアリングとは「仕組みを構築する技術」である。前者はAIとのインタラクションの質を高め、後者はその対話を支える背景構造や環境を整備する。 

 

この二つの技術が相補的に連携することで、AIエージェントはより柔軟かつ精緻に振る舞い、現実世界における課題解決に対して実効的な手段となり得る。今後、AIの社会実装をより一層進めていくうえで、「プロンプト」から「コンテキスト」へと視野を拡張する姿勢が、設計者・実務者の双方にとって重要な鍵となっていく。