Anthropic による AI エージェントのための効果的なコンテキストエンジニアリング

TL;DR

Anthropic は、推論中に大規模言語モデルへ供給されるトークンを選択・管理するための一連の手法である コンテキストエンジニアリング を発表し、これが AI エージェントの信頼性とスケーラビリティをどのように向上させるかを示しました。


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

コンテキストエンジニアリング とは、各推論ステップで言語モデルが参照するトークンの正確なセット(システムプロンプト、ツール定義、例、メッセージ履歴など)を厳選する実践です。これは、モデルの限られた注意力予算を効率的に配分すべき希少リソースとして扱うことで、プロンプトエンジニアリングを拡張します。

重要なポイント:

  • コンテキスト = モデルが応答をサンプリングする際に存在するすべてのトークン。
  • エンジニアリング = モデルのコンテキストウィンドウ制限を尊重しながら、望ましい動作の確率を最大化するためにそれらのトークンを最適化すること。
  • このプロセスは反復的であり、モデル呼び出しのたびにトークンセットが再評価されます。

コンテキストエンジニアリングが重要な理由

LLM は コンテキスト劣化 に悩まされます:トークン数が増えるにつれて、想起精度が低下します。これは人間の作業記憶の限界を反映しており、トランスフォーマーアーキテクチャの O(n²) の注意コストと、短いシーケンスへのトレーニングバイアスに起因します。

結果:

  • 追加のトークンはすべて、モデルの「注意力予算」の一部を消費します。
  • コンテキストが長くなると、情報検索や長距離推論の精度が低下します。
  • 拡張ウィンドウを持つモデルでも、明確な限界ではなく段階的な性能勾配を示します。

したがって、コンテキストを有限リソースとして扱い、低シグナルのトークンを最小限に抑えることは、有能なエージェントを構築するために不可欠です。

効果的なコンテキストの主要構成要素

システムプロンプト

  • 明確で簡潔であり、適切な抽象度 で書かれる必要があります:動作を導くのに十分具体的でありながら、脆いロジックを避けるために柔軟性を保つこと。
  • 推奨構造:XML タグや Markdown 見出しを使用してセクションを分離する(例:<background_information>、<instructions>、## Tool guidance、## Output description)。
  • 最小限のプロンプトから始め、失敗モードを特定した後にのみ指示や例を追加します。

ツール

  • ツールはエージェントとその環境との間の契約として機能します。トークン効率が良く、曖昧さがないものであるべきです。
  • ツールは自己完結型で堅牢、かつ説明的な入力パラメータを持つように設計します。
  • 肥大化したツールセットは避けます。最小限の実行可能なツールスイートは、決定の曖昧さとコンテキストのオーバーヘッドを減らします。

例(Few-Shot プロンプティング)

  • 網羅的なエッジケースのリストではなく、多様で標準的なセット の例を提供します。
  • 例は LLM にとって「百聞は一見に如かず」として機能し、期待される動作を効率的に伝えます。

メッセージ履歴と検索

  • 高シグナルのやり取りを保持し、冗長なツール呼び出しや結果を破棄するように履歴を厳選します。
  • ジャストインタイム 検索を使用:軽量な識別子(ファイルパス、URL)を保持し、必要なときにのみツールを介してデータをロードします。

動的コンテキスト取得とエージェント検索

Anthropic のエージェントは現在、推論前の埋め込み検索 と ランタイムでの 「ジャストインタイム」ロード を組み合わせています。エージェントは参照(ファイルパスなど)を保持し、ツールを使用してオンデマンドでコンテンツを取得します。これは人間の認知を模倣しています。

利点:

  • ストレージ効率 – 大規模なデータセットがコンテキストウィンドウに完全にロードされることはありません。
  • メタデータシグナル – ファイル名、タイムスタンプ、階層が関連性の判断を導きます。
  • 段階的開示 – エージェントはコンテキストを段階的に発見・組み込み、焦点を絞った作業記憶を維持します。

トレードオフ:

  • 実行時検索はレイテンシを追加します。
  • 行き止まりによるコンテキストの無駄を防ぐため、慎重なツール設計が必要です。

ハイブリッド戦略(事前ロードされた必須データ + ジャストインタイム探索)は、法律や金融などの比較的静的なドメインでうまく機能します。


長期的タスクのためのテクニック

タスクがモデルのコンテキストウィンドウを超える場合、Anthropic は3つの補完的な戦略を推奨しています。

1. 圧縮(コンパクション)

  • 限界に近い会話履歴を高忠実度の要約に圧縮します。
  • 要約と直近の重要なトークンを加えてコンテキストウィンドウを再初期化します。
  • 例:Claude Code は古いツール結果をクリアし、簡潔な要約を注入して、アーキテクチャ上の決定を保持しながらノイズを破棄します。

2. 構造化ノートテイキング(エージェントメモリ)

  • エージェントはコンテキストウィンドウの外部に永続的なメモ(例:NOTES.md)を書き込みます。
  • メモは必要なときに再インポートされ、軽量なメモリレイヤーを提供します。
  • これは、エージェントが外部メモを介して数千のステップを追跡する、Claude がポケモンをプレイするデモで実証されました。
  • Anthropic は、このワークフローを簡素化する メモリツール を Claude Developer Platform(パブリックベータ)でリリースしました。

3. サブエージェントアーキテクチャ

  • 大きな問題を、それぞれが独自の焦点を絞ったコンテキストを持つ専門のサブエージェントに分解します。
  • サブエージェントは深い調査を実行し、要約された結果(1〜2k トークン)を調整役のリードエージェントに返します。
  • このパターンは、複雑なリサーチタスクで大きな成果をもたらしました(Anthropic のマルチエージェントリサーチシステムを参照)。

手法の選択はタスクに依存します:

  • 圧縮は、対話的なやり取りに適しています。
  • ノートテイキングは、明確なマイルストーンがある反復開発に適しています。
  • サブエージェントは、並列で研究集約的なワークロードに適しています。

エンジニアのための実践的ガイダンス

  1. コンテキストを予算として扱う – 高シグナルの最小トークンセットを目指す。
  2. 反復する – 失敗のたびに、トークンを追加する前にプロンプト、ツール定義、または検索ロジックを改善する。
  3. 最小限から始める – 最小限のプロンプトで最良のモデルをテストし、必要に応じて拡張する。
  4. ツールを厳選する – ツールセットを簡潔に保ち、各ツールの出力がトークン効率的であることを確認する。
  5. メモリツールを活用する – 要約、メモ、メタデータをコンテキストウィンドウの外に保存し、汚染を避ける。
  6. ハイブリッド検索 – 事前計算された埋め込みとジャストインタイムローディングを組み合わせ、速度と関連性のバランスを取る。

将来の AI エージェントへの影響

  • モデルがより高性能になるにつれて、プロンプト中心からコンテキスト中心のエンジニアリングへの移行。
  • エージェントの自律性は向上します。よりスマートなモデルは、規範的なプロンプトをあまり必要としなくなりますが、効率的なコンテキストキュレーションには依然として依存します。
  • ツールとメモリのエコシステムは、スケーラブルなエージェントの中核インフラとなるでしょう。
  • 「高シグナルのトークンの最小セットを見つける」という原則は、コンテキストウィンドウが拡大しても、引き続き基礎であり続けます。

はじめに

Anthropic は、開発者に対し、Claude Developer Platform でコンテキストエンジニアリングを試すことを推奨しています。リソースには以下が含まれます:

上記のテクニックを適用することで、チームは長期的なタスクにわたって集中力、信頼性、スケーラビリティを維持するエージェントを構築できます。


今後の AI エージェントへの影響

  • モデルがより高性能になるにつれて、プロンプト中心からコンテキスト中心のエンジニアリングへの移行 が進む。
  • エージェントの自律性は向上する;よりスマートなモデルは、規範的なプロンプトをあまり必要としなくなるが、効率的なコンテキストキュレーションには依然として依存する。
  • ツールとメモリのエコシステム は、スケーラブルなエージェントの中核インフラとなるでしょう。
  • 「高シグナルのトークンの最小セットを見つける」という原則は、コンテキストウィンドウが拡大しても、引き続き基礎であり続けるでしょう。

効果的なコンテキストの主要コンポーネント

システムプロンプト

  • 明確で簡潔であり、適切な抽象度 で書かれる必要があります:動作を導くのに十分具体的でありながら、脆いロジックを避けるのに十分柔軟であること。
  • 推奨構造:XML タグや Markdown 見出しを使用してセクションを分離する(例:<background_information>、<instructions>、## Tool guidance、## Output description)。
  • 最小限のプロンプトから始め、失敗モードを特定した後にのみ指示や例を追加します。

ツール

  • ツールはエージェントとその環境との間の契約として機能します。トークン効率が良く、曖昧さがないものであるべきです。
  • ツールは自己完結型で堅牢、かつ説明的な入力パラメータを持つように設計します。
  • 肥大化したツールセットは避けます。最小限の実行可能なツールスイートは、決定の曖昧さとコンテキストのオーバーヘッドを減らします。

例(Few-Shot プロンプティング)

  • 網羅的なエッジケースのリストではなく、多様で標準的なセットの例を提供します。
  • 例は LLM にとって「百聞は一見に如かず」の役割を果たし、期待される動作を効率的に伝えます。

メッセージ履歴と検索

  • 高シグナルのやり取りを保持し、冗長なツール呼び出しや結果を破棄するように履歴を厳選します。
  • ジャストインタイム 検索を使用:軽量な識別子(ファイルパス、URL)を保持し、必要なときにのみツールを介してデータをロードします。

動的コンテキスト取得とエージェント検索

Anthropic のエージェントは現在、推論前の埋め込み検索 と ランタイムの「ジャストインタイム」ロードを組み合わせています。エージェントは参照(ファイルパスなど)を保持し、ツールを使用してオンデマンドでコンテンツを取得します。これは人間の認知を模倣しています。

利点:

  • ストレージ効率 – 大規模なデータセットがコンテキストウィンドウに完全に読み込まれることはありません。
  • メタデータシグナル – ファイル名、タイムスタンプ、階層が関連性の判断を導きます。
  • 段階的開示 – エージェントはコンテキストを段階的に発見・組み込み、焦点を絞った作業記憶を維持します。

トレードオフ:

  • 実行時の取得はレイテンシを追加します。
  • 無駄なコンテキスト消費を防ぐため、慎重なツール設計が必要です。

ハイブリッド戦略(事前ロードされた必須データ + ジャストインタイム探索)は、法律や金融などの比較的静的なドメインでうまく機能します。


長期的タスクのためのテクニック

タスクがモデルのコンテキストウィンドウを超える場合、Anthropic は3つの補完的な戦略を推奨しています。

1. 圧縮(コンパクション)

  • 限界に近い会話履歴を高忠実度の要約に圧縮します。
  • 要約と直近の重要なトークンを加えてコンテキストウィンドウを再初期化します。
  • 例:Claude Code は古いツール結果をクリアし、簡潔な要約を注入することで、ノイズを捨てつつアーキテクチャ上の決定を保持します。

2. 構造化メモ(エージェントメモリ)

  • エージェントはコンテキストウィンドウの外部に永続的なメモ(例:NOTES.md)を書き込みます。
  • メモは必要なときに再インポートされ、軽量なメモリレイヤーを提供します。
  • これは、エージェントが外部メモを介して数千ステップを追跡する、Claude がポケモンをプレイするデモで実証されました。
  • Anthropic は、このワークフローを簡素化する メモリツール を Claude Developer Platform(パブリックベータ)でリリースしました。

3. サブエージェントアーキテクチャ

  • 大きな問題を、それぞれが独自の焦点を絞ったコンテキストを持つ専門のサブエージェントに分解します。
  • サブエージェントは深い調査を実行し、要約された結果(1〜2k トークン)を調整役のリードエージェントに返します。
  • このパターンは、複雑な調査タスクで大きな成果をもたらしました(Anthropic のマルチエージェント研究システムを参照)。

手法の選択はタスクに依存します:

  • 圧縮は、対話的なやり取りに適しています。
  • メモ書きは、明確なマイルストーンがある反復開発に適しています。
  • サブエージェントは、並列で調査集約的なワークロードに適しています。

エンジニアのための実践的ガイダンス

  1. コンテキストを予算として扱う – 高シグナルの最小トークンセットを目指す。
  2. 反復する – 失敗のたびに、トークンを追加する前にプロンプト、ツール定義、または検索ロジックを改善する。
  3. 最小限から始める – 可能な限り最小限のプロンプトで最良のモデルをテストし、必要に応じて拡張する。
  4. ツールを厳選する – ツールセットを簡潔に保ち、各ツールの出力がトークン効率的であることを確認する。
  5. メモリツールを活用する – 要約、メモ、メタデータをコンテキストウィンドウの外に保存して、汚染を避ける。
  6. ハイブリッド検索 – 事前計算された埋め込みとジャストインタイムローディングを組み合わせ、速度と関連性のバランスを取る。

AI エージェントの未来への影響

  • モデルがより高性能になるにつれて、プロンプト中心からコンテキスト中心のエンジニアリングへの移行が進む。
  • エージェントの自律性は向上する;より賢いモデルは、規範的なプロンプトをあまり必要としなくなるが、効率的なコンテキストキュレーションには依然として依存する。
  • ツールとメモリのエコシステムは、スケーラブルなエージェントの中核インフラとなるでしょう。
  • 「高シグナルのトークンの最小セットを見つける」という原則は、コンテキストウィンドウが拡大しても基盤であり続けます。

はじめに

Anthropic は、開発者に対し、Claude Developer Platform でコンテキストエンジニアリングを試すことを推奨しています。リソースには以下が含まれます:

上記のテクニックを適用することで、チームは長期的なタスクにわたって集中力、信頼性、スケーラビリティを維持するエージェントを構築できます。

Sources