プロンプトをいくら変えても、AIが同じミスを繰り返すなら、問題はプロンプトにないかもしれません。
2025年6月、Shopify CEO Tobi LutkeのX投稿がAI開発者の間で一気に広まりましたよ。「コンテキストエンジニアリングの方が正確な呼び方だ。AIがタスクを解けるように、すべてのコンテキストを設計することがこのスキルの本質なんです。」ITとデータリーダーの82%が「プロンプトエンジニアリングだけでは不十分」と答えているのも、こういう背景があるんです。
完璧なプロンプトでもAIが失敗する4つの理由
プロンプトエンジニアリングは「AIに何をどう伝えるか」を最適化する技術です。2023〜2024年はこれが核心スキルに見えていましたよね。でも、AIを実際のシステムに組み込んでみると、プロンプトだけでは解決しない壁にぶつかります。特に複雑なワークフロー、RAG、エージェントを使うときに顕著です。
FirecrawlとDataCampの研究はこの失敗を4つのパターンに整理しています:
| 失敗モード | 症状 | 実際の例 |
|---|---|---|
| 汚染 (Poisoning) | 一度入った誤情報がその後の回答にも影響し続ける | 誤った日付を一度入力すると、その後の推論もその日付ベースで狂う |
| 干渉 (Distraction) | 会話が長くなるほどAIが初期の指示を無視する | 10回やり取りした後、最初に設定したペルソナを忘れてしまう |
| 混乱 (Confusion) | 無関係なドキュメントを含めると的外れな回答が来る | 50ページの文書を丸ごと貼り付けると中間の重要部分を見落とす |
| 衝突 (Clash) | 同一ウィンドウ内に矛盾した情報があると性能が急落 | OpenAI o3が98.1%から64.1%に低下 |
コンテキスト衝突は平均39%の性能低下を引き起こしました。Databricksの分析では、Llama 3.1 405Bのような大型モデルでも32,000トークンあたりから精度が落ち始めることが判明しています。100万トークンのウィンドウがあっても、全部を正確に処理できるわけではないんです。Stanfordの「lost in the middle」研究も同じ結論です — AIはコンテキストの冒頭と末尾は記憶しやすいが、中間は見落とすんです。
コンテキストエンジニアリングって、何が違うの?
Anthropicはこれを「LLM推論時に最適なトークンセットを選別・維持するための戦略の総体」と定義しています。簡単に言うと、プロンプトエンジニアリングが「何を言うか」なら、コンテキストエンジニアリングは「AIに何を見せるか設計すること」なんです。
医者に診察してもらう場面を想像してみてください。「頭痛がします」とだけ伝えるのと、最近の服薬・睡眠パターン・ストレス・過去の病歴を一緒に提供するのでは、結果が全然違いますよね。プロンプトエンジニアリングが「頭痛がします」をより正確に表現することなら、コンテキストエンジニアリングは医師が正確な診断を下すために必要なすべての背景情報を設計することなんです。
| プロンプトエンジニアリング | コンテキストエンジニアリング | |
|---|---|---|
| 核心の問い | どう言えばいい? | AIは何を知るべき? |
| 範囲 | 単一の入出力最適化 | AIが見るすべての情報の設計 |
| 適した場面 | シンプルなチャットボット、一回限りのタスク | エージェント、RAG、複雑なワークフロー |
| 失敗原因 | 指示が曖昧または不明確 | 情報アーキテクチャの問題 |
プロンプトエンジニアリングが時代遅れになったわけではありません。コンテキストエンジニアリングはプロンプトを含む上位概念なんです。ただ、AIを単純な対話以上に使い始めると — 複雑なエージェント、RAG、コパイロット — コンテキストアーキテクチャが結果を決定します。
今すぐ使える5つのコンテキスト技法
Anthropic・Firecrawl・DataCampの研究をもとに、効果が検証された5つを整理しました。開発経験がなくても今日から実践できるものばかりです。
- 重要な情報は最初と最後に配置する
Stanfordの「lost in the middle」研究によると、AIはコンテキストの冒頭と末尾を最もよく処理します。システムプロンプトで最重要ルールを最初のセクションに、ユーザークエリを最後に配置してください。重要な参考文書やデータはクエリの直前に置くのが最も効果的です。 - 少なく入れるほど良い — 最小有効コンテキスト
Firecrawlが「Minimum Viable Context(MVC)」と呼ぶ原則です。文書全体ではなく、クエリに関連するセクションだけを抽出して入れましょう。ツール46個を全部連携するより関連する19〜30個だけを選択した方が、ツール選択精度が300%向上したという実験結果があります。 - 変わらない情報はキャッシングする
同じシステムプロンプト、DBスキーマ、ポリシー文書を毎回送るのはトークンの無駄遣いです。ClaudeとGeminiのコンテキストキャッシング機能を使えば、繰り返しのコンテキストブロックでコストを75〜90%削減できます。変わらない内容を先に、毎回変わる内容を後ろに置くとキャッシング効率が最大化されます。 - 長い会話は切り捨てず要約する (Compaction)
会話がコンテキスト限界に近づいたら、削除ではなく要約して初期化します。保存すべきもの:重要な決定事項、未解決の問題、核心的な選択。削除していいもの:中間的な試み、繰り返しの確認、失敗した実験。Anthropicは最初は記憶優先で要約し、その後不要な内容を削ぎ落とす方向での精練を推奨しています。 - 複雑な作業はサブエージェントでコンテキストを分離する
複雑なタスクは一つのAIにすべて任せず、タスク別の専門サブエージェントを構成しましょう。各エージェントはきれいなコンテキストウィンドウを持ち、結果だけを圧縮してメインエージェントに渡します(通常1,000〜2,000トークン)。この方式で専門エージェントベンチマークにおいて54%の性能向上を達成した事例があります。
今すぐ試せること
ClaudeやChatGPTで長い作業をするとき、システムプロンプトの最初のセクションに「絶対に変わらないルール」だけを明確に書き、文書は全体ではなく関連部分だけを抜粋して入れてみてください。プロンプトを変えなくても回答品質が変わるはずです。
もっと深く知りたい方へ
Effective Context Engineering for AI Agents Anthropicエンジニアリングチームの実践ガイド — コンパクション、ジャストインタイム検索、サブエージェントパターンまで anthropic.com
Context Engineering vs Prompt Engineering for AI Agents 4つの失敗モードとMVC原則、測定指標まで実践的に整理 firecrawl.dev
Context Engineering Guide RAG、メモリシステム、動的コンテキスト構成まで総合ガイド promptingguide.ai
Why AI Teams Are Moving from Prompt Engineering to Context Engineering コンテキストピラミッドモデルとGraphRAGベースのアプローチ neo4j.com
Context Engineering: A Guide With Examples ツールロードアウト最適化、コンテキストオフローディング、実験データが豊富 datacamp.com
Context Engineering: LLM Memory and Retrieval for AI Agents 6つの核心柱とエージェンティックRAGフレームワーク紹介 weaviate.io




