コンテキストエンジニアリングとは

CONTEXT ENGINEERING
読み: コンテキストエンジニアリング

コンテキストエンジニアリングとは、AIのコンテキストウィンドウに「次のステップに必要な、ちょうど良い情報」を設計・配置する技術

読み: コンテキストエンジニアリング

Andrej Karpathyが提唱した概念で、プロンプトエンジニアリングが「何を指示するか」に焦点を当てるのに対し、コンテキストエンジニアリングはその指示が効果を発揮する土台全体を設計する。LLMをCPUに見立てるとコンテキストウィンドウはRAM。そのRAMに何を載せるかを設計するのがこの技術だ。

かんたんに言うと

AIに「この資料を読んで、このルールに従って、この過去の失敗を踏まえて答えて」と指示を出すとき、その指示文だけでなく、資料もルールも過去の失敗記録も全部含めたAIへの入力全体を設計する技術。プロンプトエンジニアリングが「何を聞くか」なら、コンテキストエンジニアリングは「何を読ませた上で聞くか」だ。

プロンプトエンジニアリングとの違い

プロンプトエンジニアリングは「AIへの指示文を工夫する」技術だ。質問の仕方、Few-shotの例示、Chain-of-Thoughtの指示。いずれも「何を聞くか」を最適化する。

コンテキストエンジニアリングはその一段上にある。AIが回答を生成する際に参照する全情報を設計する。システムプロンプト、ユーザーの質問、検索で取得したドキュメント、過去の会話履歴、ツールの出力結果、ルールファイル。これら全てを含めた入力全体を設計するのがコンテキストエンジニアリングだ。プロンプトはその中の一部にすぎない。

AIエージェントの普及が背景

AIエージェントの普及がこの概念を必要にした。エージェントは1回の指示で複数のツールを呼び出し、検索結果を取得し、過去の記憶を参照し、他のAIと連携する。この一連の処理で、コンテキストウィンドウに入る情報は数千から数万トークンに膨れ上がる。

ここで問題が起きる。情報を全部入れるとAIが重要な指示を見落とす。少なすぎると文脈が不足して的外れな回答をする。何を入れて、何を入れないか。その設計が、AIの回答品質を決定的に左右する。

構成要素

Andrej Karpathyの定義をベースに整理すると、6つの要素で構成される。

まずシステムプロンプト。AIの行動ルールや制約条件を定義する。次にユーザーの質問。今回のタスクで何を求められているかを伝える。そして検索拡張(RAG)。外部データベースやドキュメントから取得した関連情報を添える。

さらにツール出力。API呼び出しやコマンド実行の結果もコンテキストに入る。会話履歴は過去のやり取りの要約または全文。そしてメモリ。長期記憶システムから引き出した過去の教訓や判断。

これらを適切な量、適切な順序、適切なフォーマットでコンテキストウィンドウに配置する。配置の設計がコンテキストエンジニアリングの核心だ。

RAGとの違い

RAGは外部のデータベースやドキュメントから関連情報を検索して取得し、AIのコンテキストに追加する技術だ。コンテキストエンジニアリングの構成要素の一つにあたる。

両者の関係を整理すると、RAGは「何を取ってくるか」。コンテキストエンジニアリングは「取ってきた情報を、他の情報とどう組み合わせてAIに渡すか」。RAGで取得した検索結果をそのまま全部入れれば良いわけではない。システムプロンプト、過去の教訓、ユーザーの会話履歴、ツールの出力結果とあわせて、適切な量と順序でコンテキストウィンドウに配置する。その全体設計がコンテキストエンジニアリングだ。

たとえるなら、RAGは図書館から必要な本を探してくる司書。コンテキストエンジニアリングは、その本と手元のメモとルールブックをどの順番で机に並べるかを設計する仕事だ。

当社の見解

当社はAI長期記憶システムを自社開発・運用している。開発のきっかけは、AIと経営戦略の壁打ちで出した結論がセッション切れで消えたことで絶望を感じた。1日かけて議論してきたことを振り返り、では事業計画書に落とし込むように指示を出したところ、「そのような記録はありません」と言われたことで、強烈な危機感を覚えこれは何としても解決しなければならない問題だと感じた。記憶がないAIは毎朝記憶喪失になる新入社員と同じだ。記憶があるAIは、前提条件を理解した上で本題に入れる。短いプロンプトで済むようになり、「前に言ったように実行して」と曖昧で短いプロンプトでも業務を遂行してくれる。同じことを繰り返し伝える回数も減り、開発業務でも同じミスを繰り返しにくくなり、人間の手戻りが減り、ストレスも減る。AIで本当に業務の質を上げるならば、記憶はマストである。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する