Context 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に渡すか(コンテキストエンジニアリング)にかかっている
2025-07時点
プロンプトを磨くよりもコンテキストを適切に設計・提供できていればよい
プロンプトエンジニアリングをAIエージェント向けに再定義して不足した部分を補う役割を担っています。
コンテキストが長くなりすぎて、モデルがコンテキストに過度に集中し、トレーニング中に学習した内容を無視する状態
コンテキスト内の余分な情報がモデルによって使用され、品質の低い応答が生成される場合。
コンテキスト内で新しい情報やツールが蓄積され、それがプロンプト内の他の情報と競合する場合 失敗パターンへの対処
選択可能なtoolが20を超えると一部のモデルが混乱する可能性があるという調査がある
有効にするツールのサブセットを選択する方法
コンテキストをそれぞれの専用スレッドに分離する行為
コンテキストから無関係な情報や不要な情報を削除すること
これらの手法は会話が長くなりモデルのトークン制限に近づくにつれて特に重要になる 「LLMのコンテキスト外に情報を保存する行為」です。作業中にメモを保存し、後で参照するための独自の「メモリ」ツールを実装しているシステムをいくつか見てきましたが、最近さらに興味深い例として、さまざまなコーディングエージェントがplan.mdより大きな問題に取り組む際にファイルを作成・更新する方法が挙げられます。
2025-07
AIエージェントの効率化には、KVキャッシュ(モデルのキャッシュ機能)のヒット率を高めることが重要
プロンプトの安定化やコンテキストは追加onlyとする
ツールの動的な追加・削除を避ける
「マスクし、削除しない」という原則のもと、
必要に応じて選択肢をマスクすることで、エージェントの安定性と効率を保つ
コンテキストの限界を補うため、ファイルシステムを外部メモリとして活用し、情報の損失を防ぐ
タスクの進行管理や目標の維持のために、ToDoリストのような仕組みを使ってモデルの注意をコントロールする
エージェントの失敗や間違いを隠さず、コンテキストに残すことで、モデルが学習しやすくなる