Context Engineering
AIがタスクを正しく解決するために必要な情報(コンテキスト)を設計・提供する技術
Vibe Coding: The Future of Programming本の著者によれば
https://addyo.substack.com/p/context-engineering-bringing-engineering
Context engineering means dynamically giving an AI everything it needs to succeed – the instructions, data, examples, tools, and history – all packaged into the model’s input context at runtime.
A useful mental model (suggested by Andrej Karpathy and others) is to think of an LLM like a CPU, and its context window (the text input it sees at once) as the RAM or working memory. As an engineer, your job is akin to an operating system: load that working memory with just the right code and data for the task. In practice, this
コンテキスト エンジニアリングとは、AI が成功するために必要なすべてのもの (指示、データ、例、ツール、履歴など) を実行時にモデルの入力コンテキストにパッケージ化して動的に提供すること
単なるプロンプト作成ではなく、システムプロンプト、指示、会話履歴、ユーザーの好み、外部情報(RAG)、利用可能なツール、出力フォーマットなどを組み合わせて構成する
情報が多すぎても少なすぎてもAIのパフォーマンスが低下するため、必要な情報を厳選し、圧縮・分離・永続化する工夫が求められる
RAG(Retrieval Augmented Generation)、ツールロードアウト、コンテキスト隔離・剪定・要約・オフローディングなどの手法が活用されている
例として、会議調整AIではカレンダーや過去のメール、ツールの利用可否なども含めてコンテキストを設計することで、より自然で有用な応答が可能となる
AIプロダクトやエージェントの成否は、プロンプトやモデル選定だけでなく、どんな情報をどのように整理・構造化してAIに渡すか(コンテキストエンジニアリング)にかかっている
prompt engineeringとの違い
2025-07時点
エージェントの質があがっていくことで従来のようにプロンプトを人間が頑張って磨き上げなくてもよくなりつつある
エージェントが自律的にChain of Thoughtのようなことをやったりしてくれる
プロンプトを磨くよりもコンテキストを適切に設計・提供できていればよい
2025/07/19 Kiroとコンテキストエンジニアリングの時流
プロンプトエンジニアリングをAIエージェント向けに再定義して不足した部分を補う役割を担っています。
https://zenn.dev/kun432/scraps/d462287d9dbfa9
https://simonwillison.net/2025/Jun/29/how-to-fix-your-context/
Simon Willisonはprompt engineeringに代わるコンテキストエンジニアリングという用語を支持している
https://www.philschmid.de/context-engineering
https://x.com/tobi/status/1935533422589399127
https://x.com/karpathy/status/1937902205765607626
How Long Contexts Fail
context engineeringの失敗パターン
Context Poisoning
ハルシネーションやその他のエラーがコンテキスト内に入り込み、繰り返し参照される状態
Context Distraction
コンテキストが長くなりすぎて、モデルがコンテキストに過度に集中し、トレーニング中に学習した内容を無視する状態
Context Confusion
コンテキスト内の余分な情報がモデルによって使用され、品質の低い応答が生成される場合。
Context Crash
コンテキスト内で新しい情報やツールが蓄積され、それがプロンプト内の他の情報と競合する場合
Hot to Fix Your Context
失敗パターンへの対処
Tool Loadout
選択可能なtoolが20を超えると一部のモデルが混乱する可能性があるという調査がある
有効にするツールのサブセットを選択する方法
Context Quarantine
コンテキストをそれぞれの専用スレッドに分離する行為
サブエージェントとも類似
Claude Code が使用したパターンでありAnthropicのHow we built our multi-agent research systemで詳細に研究されている
Context Pruning
コンテキストから無関係な情報や不要な情報を削除すること
類似するものでContext Summarizationとは、蓄積されたコンテキストを簡潔な要約にまとめること
ohbarye.icon Claude Codeの/compactはこれ
これらの手法は会話が長くなりモデルのトークン制限に近づくにつれて特に重要になる
Context Offloading
「LLMのコンテキスト外に情報を保存する行為」です。作業中にメモを保存し、後で参照するための独自の「メモリ」ツールを実装しているシステムをいくつか見てきましたが、最近さらに興味深い例として、さまざまなコーディングエージェントがplan.mdより大きな問題に取り組む際にファイルを作成・更新する方法が挙げられます。
2025-07
Context Engineering for AI Agents: Lessons from Building Manus
ManusがAI Agentを構築するにあたって得た教訓
AIエージェントの効率化には、KVキャッシュ(モデルのキャッシュ機能)のヒット率を高めることが重要
プロンプトの安定化やコンテキストは追加onlyとする
ツールの動的な追加・削除を避ける
「マスクし、削除しない」という原則のもと、
必要に応じて選択肢をマスクすることで、エージェントの安定性と効率を保つ
コンテキストの限界を補うため、ファイルシステムを外部メモリとして活用し、情報の損失を防ぐ
タスクの進行管理や目標の維持のために、ToDoリストのような仕組みを使ってモデルの注意をコントロールする
エージェントの失敗や間違いを隠さず、コンテキストに残すことで、モデルが学習しやすくなる
Few-shot promptingでは過度なパターン化を避けるため、行動や観察に多様性を持たせる