Anthropic社が「AIエージェントコンテキストエンジニアリングガイド」をリリース
人工知能の応用分野では、プロンプトエンジニアリングが長らく重要な位置を占めてきたが、現在ではコンテキストエンジニアリングという新しい用語が徐々に登場しつつある。言語に基づいて…
存在する人工的な知的応用分野では、これまで迅速なエンジニアリングが長らく注目されてきたが、現在、新たな用語が徐々に登場しつつある。コンテキストエンジニアリング言語モデル構築の作業は、もはや完璧なモデルを見つけることだけに留まらない。プロンプトワード個々の文に焦点を当てるのではなく、よりマクロレベルの質問に答えることに焦点が移る。どのようなコンテキストエンジニアリング構成が、モデルの期待される動作を引き出す可能性が最も高いでしょうか?
コンテキストとは、大規模な言語モデルから派生したコンテキストを指します(LLMサンプリング中に含まれるトークンのセット。現在の技術的な問題は、どのように...LLM固有の制約の下でこれらのシンボルの有用性を最適化し、目標とする成果を安定的に達成する。効果的に管理し…LLM通常、文脈的思考つまり、包括的な検討LLMある時点における全体的な状態、およびその状態が引き起こす可能性のある動作。
この記事では、この新しいコンテキスト エンジニアリング技術を探求し、制御可能で高効率の人工的な知的エージェント。
コンテキストエンジニアリング vs. ヒントエンジニアリング
Anthropicによると、コンテキストエンジニアリングはキューエンジニアリングの自然な進化形である。キューエンジニアリングは、文章作成と構成に焦点を当てている...LLM最適な結果を得るための手順(概要と詳細については、ドキュメントを参照してください...)実用的(戦略)一方、コンテキストエンジニアリングは一連の戦略である。LLM推論プロセスにおいて、手がかり以外の文脈に入り込む可能性のある他のすべての情報を含め、最適な記号(情報)のセットを計画し維持するための戦略。
存在するLLMプロジェクトの初期段階では、デザインは...AIエンジニアリング作業の中核となるのは、日常的なチャット以外のほとんどのユースケースでは、単一ラウンドの分類またはテキスト生成タスクに最適化されたヒントが必要となるため、ヒントエンジニアリングはその名の通り、効果的なヒント(特にシステムヒント)の書き方に主に焦点を当てています。しかし、複数の推論ラウンドとより長い時間範囲にわたって機能するヒントの構築へと移行するにつれて…知的体We need a strategy to manage the entire context state (system instructions, tools, Model Context Protocol (MCP), external data, message history, etc.).
ループ知的体これにより、次の推論段階に関連する可能性のあるデータが絶えず増加し、この情報は繰り返し精査されなければなりません。コンテキストエンジニアリングとは、まさに、絶えず変化する情報世界から、限られたコンテキストウィンドウにどのコンテンツを取り込むべきかを計画する技術と科学なのです。
コンテキストエンジニアリングが構築において重要な理由強力知的体重要
それでもLLMそれらは非常に高速で、増え続けるデータ量を処理する能力を備えている一方で、人間と同様に、ある時点で集中力を失ったり、整理整頓が難しくなったりすることがあることがわかっています。「干し草の山から針を探す」ベンチマークに関する研究では、次のようなことが明らかになっています。コンテキスト腐敗現象:コンテキストウィンドウ内のシンボルの数が増えるにつれて、モデルがコンテキスト情報を正確に想起する能力が低下する。
一部のモデルでは減衰が遅いものの、この特性は広く見られます。したがって、コンテキストは限界収益逓減の有限なリソースとして考慮する必要があります。人間のワーキングメモリの有限な容量と同様に、LLM大量の文脈を解析するには「注意予算」が必要となる。新たに導入される記号はそれぞれこの予算の一部を消費するため、綿密な計画の必要性が高まる。LLM記号を用いる必要性。
この注目度の低さは、LLM建築上の制約。LLMTransformerアーキテクチャに基づくと、各シンボルはコンテキスト全体において他のシンボルに注意を向けることができ、n²組の関係を形成します(nはシンボルの数)。コンテキストの長さが増加するにつれて、これらの関係を捉えるモデルの能力は低下し、コンテキストの規模と注意の焦点の間に自然な緊張が生じます。さらに、モデルの注意パターンはトレーニングデータの分布(短いシーケンスが頻繁に出現する)から導き出されるため、モデルはコンテキスト間の依存関係に関する経験が限られており、十分な特殊化パラメータを備えていません。
位置符号化補間などの手法を用いることで、モデルは元の学習データの短いコンテキストに合わせてより長いシーケンスを処理できるようになりますが、これは記号的な位置理解を弱める可能性があります。これらの要因により、パフォーマンスは急激に低下するのではなく、段階的に変化します。つまり、モデルは長いコンテキストでも高い実用性を維持しますが、情報検索や長距離推論における精度は、短いコンテキストにおけるパフォーマンスよりも低くなる可能性があります。
これらの現実から、綿密なコンテキストエンジニアリングが構築に不可欠であることが示唆される。強力知的体それは極めて重要です。
高効率コンテクスト
与えられたLLM限られた注意予算の中で、優れたコンテキストエンジニアリングとは、次のようなことを見つけることである。高信号シンボルの最小セットこれは、望ましい結果を達成する可能性を最大限に高めることを目的としています。この実践は言うは易く行うは難しです。以下では、この指導原則がさまざまな状況において具体的にどのような意味を持つのかを説明します。
システムプロンプト非常に明確であるべきである、単純直接的な言葉、適切な知的体適切な理解レベルとは、2つの一般的な障害モードの中間にある「ちょうど良い」範囲のことです。一方では、エンジニアが複雑で脆弱なロジックをヒントとしてハードコーディングし、正確な動作を引き出そうとしますが、これは脆弱性を招き、保守の複雑さを増大させます。他方では、エンジニアは曖昧で高レベルのガイダンスを提供するだけで、十分なサポートを提供できません。LLM出力は、具体的なシグナルを提供するか、誤った前提に関する背景情報を提供するべきである。最適なバランスを見つける必要がある。つまり、行動を効果的に導くのに十分な具体性を持ちながら、強力なヒューリスティックなガイダンスを提供できる柔軟性も兼ね備えていなければならない。
プロンプトは、<背景情報>、<手順>、##ツールガイダンス、##出力説明など、異なるブロックに整理し、XMLタグやMarkdownの見出しなどの手法を使用してこれらのブロックを区切ることをお勧めします。ただし、モデルの機能が向上するにつれて、プロンプトの正確な形式はそれほど重要ではなくなる可能性があります。
システムプロンプトがどのように構築されているかにかかわらず、目標は達成すべきである...最小情報セット期待される動作の完全な概要を提供するため(注:最小限とは必ずしも短いという意味ではありません。十分な情報を提供することで、…を確実にすることができます)。知的体(想定される動作に準拠する)。まずは最小限のテスト手順から始め、初期テストで発見された不具合に基づいて明確な指示と例を追加していくことで、パフォーマンスを向上させるのが最善です。
道具させて知的体環境と相互作用し、作品に新たな追加的な文脈を導入する。なぜなら、ツールは…知的体それ自体と情報/行動空間との間の契約は、ツールが効率を向上させることを必要とする。つまり、シンボルを返すことと、高効率この情報はまた、高効率の知的体行動。
使用においてAI知的体書くAI知的体ツールでは、構築について議論しましたLLM理解しやすく、機能的な重複が最小限に抑えられたツール。適切に設計されたコードベースの関数と同様に、ツールは自己完結型で堅牢であり、明確な目的を持つべきである。入力パラメータも、説明的で明示的であり、モデル本来の強みを活かすものでなければならない。
最も一般的な失敗例は、機能が多すぎるためにツールセットが肥大化し、どのツールを使うべきか判断が曖昧になることです。人間のエンジニアが特定の状況でどのツールを使うべきかを判断できない場合、成功は期待できません。AI知的体より良くするために。後ほど説明するように、知的体必要最小限のツールセットを計画することで、長時間のやり取りにおけるコンテキストの維持と整理をより確実に行えるようになる。
例を挙げてください(つまり、少数のサンプルヒント)はよく知られたベストプラクティスであり、引き続き強く推奨します。しかし、チームは明確化しようとして、ヒントに長いエッジケースのリストを詰め込むことがよくあります...LLM特定のタスクを実行する際に従うべきすべてのルール。推薦するこのアプローチを推奨する代わりに、効果的に描写するための多様な標準例を開発することが推奨される。知的体想定通りの動作です。LLMこの文脈において、例となるのは「一枚の絵は千の言葉に匹敵する」という考え方を体現する「一枚の絵」である。
コンテキストコンポーネント(システムプロンプト、ツール、例、メッセージ履歴など)に関する全体的なガイドラインは、「慎重に検討し、コンテキスト情報を豊富かつ簡潔に保つ」ことです。それでは、実行時の動的なコンテキスト取得について詳しく見ていきましょう。
文脈検索と知的体検索
建設高効率AI知的体記事では、それがLLMワークフローと知的体その違い。この記事の発表以来、私たちは一方を信じるようになってきた。単純の知的体意味:ループ内でのツールの自律的な使用LLM。
クライアントとの協働を通じて、私たちはこの分野の融合を目の当たりにしてきました。単純パラダイム。基盤となるモデルの能力が向上するにつれて、知的体自律性のレベルはスケーリング可能:よりスマートなモデルでは知的体詳細な問題領域を自律的に探索し、エラーから回復することができる。
エンジニアが設計するのを目にする知的体コミュニケーションの方法は変化している。今日、多くの…AIネイティブアプリケーションは、何らかの埋め込みベースの事前推論検索方式を採用して、...知的体推論は重要な文脈から生まれる。この分野がより…へと移行するにつれて知的体その結果、チームはこれらの検索システムを強化するために、「ジャストインタイム」のコンテキスト戦略をますます活用するようになっている。
「インスタント」方式を使用して構築知的体Anthropicは、関連するすべてのデータを事前に処理する代わりに、軽量な識別子(ファイルパス、ストレージクエリ、Webページリンクなど)を保持し、これらの参照を使用して、実行時にツールを介してコンテキストにデータを動的にロードします。知的体エンコーディング方式Claude Codeはこの手法を用いて、大規模データベースに対する複雑なデータ分析を実行します。このモデルは、対象を絞ったクエリを作成し、結果を保存し、`head`や`tail`などのBashコマンドを使用して膨大な量のデータを分析できます。その際、データオブジェクト全体をコンテキストに読み込む必要はありません。この方法は人間の認知を模倣しています。私たちは通常、情報リポジトリ全体を記憶するのではなく、必要に応じて関連情報を取得するために、外部の整理システムやインデックスシステム(ファイルシステム、受信トレイ、ブックマークなど)を利用します。
ストレージ効率に加えて、これらの参照のメタデータは高効率動作を最適化するためのメカニズム(明示的に提供されるもの、または直感的に認識されるもの)。これはファイルシステム内の操作に適用されます。知的体`tests`フォルダ内の`test_utils.py`というファイルと、`src/core_logic.py`にある同名のファイルは、暗黙のうちに異なる目的を果たしています。フォルダ階層、命名規則、タイムスタンプはすべて、人間と...知的体情報をどのように、いつ使うべきかを理解する。
させて知的体自律航行とデータ取得もサポートしています段階的な情報開示(段階的開示)つまり、知的体関連するコンテキストは、探索を通じて徐々に発見される。それぞれの操作によって、次の決定を導くコンテキストが生成される。ファイルサイズは複雑さを示唆し、命名規則は目的を示し、タイムスタンプは関連性の指標として機能する。知的体理解を段階的に構築し、作業記憶に必要な内容のみを保持し、メモを取る戦略を活用して記憶の持続性を高めることができます。この自己管理型のコンテキストウィンドウにより、…知的体詳細ではあるものの、場合によっては無関係な情報に惑わされるのではなく、関連性の高いサブセットに焦点を当てましょう。
もちろん、トレードオフは存在する。実行時探索は、事前に計算されたデータを取得するよりも時間がかかる。さらに、…を確実にするためには、慎重なエンジニアリングが必要となる。LLM情報環境を効果的にナビゲートするための適切なツールとヒューリスティックを備えている。適切なガイダンスがないため、知的体ツールの誤用、行き詰まりの追求、あるいは重要な情報の特定失敗などにより、文脈が失われてしまう可能性がある。
特定のシナリオでは、最も効果的な知的体考えられる方法ハイブリッド戦略処理速度を向上させるために部分的なデータを事前に取得し、その後の探索を自律的に決定する。「適切な」自律性のレベルは、タスクによって異なる。Claude コードはこのハイブリッドモデルを採用しています。知的体CLAUDE.md ファイルは...単純コンテキストを事前に設定することで、globやgrepなどのプリミティブは環境内をナビゲートしてファイルをその場で取得することを可能にし、期限切れのインデックスや複雑な構文ツリーの問題を効果的に回避します。
ハイブリッド戦略は、コンテンツのダイナミズムが低い状況(法律や金融業務など)により適している可能性があります。モデルの機能が向上するにつれて、知的体デザインは知的モデル知的手作業による計画立案を段階的に削減するための措置を講じるべきである。この分野の範囲を考慮すると…速い発展、「最高を目指す」単純「効果的なもの」こそが、私たちが理解の基盤とするものであるかもしれない…。Claude建てる知的体チームからの最高のアドバイス。
長サイクルタスクのためのコンテキストエンジニアリング
長期サイクル作業の要件知的体記号の数が超過した場合LLMコンテキストウィンドウ内のアクションシーケンスにおいて、一貫性、文脈、および目標指向的な動作を維持してください。これは、数十分から数時間かかるタスク(大規模なコードベースの移行や包括的な研究プロジェクトなど)において特に重要です。知的体コンテキストウィンドウのサイズ制限を回避するには、特殊な技術が必要となる。
より大きなコンテキストウィンドウを待つのは、当然の戦略のように思える。しかし、あらゆるサイズのコンテキストウィンドウは、少なくとも…の文脈においては、コンテキスト汚染や情報関連性の問題に悩まされることが予想される。知的体これは、極めて高いパフォーマンス要件が求められるシナリオにおいて当てはまります。知的体長期間にわたって効果的に作業を行うために、私たちはこうした状況的な汚染の制約に直接対処するいくつかの手法を開発しました。圧縮、構造化されたノートの取り方そして多くの知的体マルチエージェントアーキテクチャ。
圧縮
圧縮とは、コンテキストウィンドウの限界に近づく対話を要約し、その要約を使用して新しいコンテキストウィンドウを再初期化する手法です。圧縮は、コンテキストエンジニアリングにおける長期的な一貫性を向上させる主要な手段となることがよくあります。圧縮の本質は、コンテキストウィンドウの内容を高精度で抽出し、…知的体最小限の性能低下で動作を継続できます。
例えばClaude コードでは、メッセージ履歴をモデルに渡すことで、最も重要な詳細情報を要約・圧縮します。モデルは、アーキテクチャ上の決定事項、未解決の脆弱性、実装の詳細を保持しつつ、冗長なツール出力やメッセージを破棄します。知的体ユーザーは圧縮されたコンテキストと直近にアクセスした5つのファイルを使って作業を続けることができます。コンテキストウィンドウの制限を気にすることなく、作業の継続性を確保できます。
圧縮の真髄は、コンテンツを選択的に保持し、不要なものを破棄することにあります。過剰な圧縮は、微妙ながらも重要な文脈(その重要性は後になって初めて明らかになる場合もある)の喪失につながる可能性があるからです。圧縮システムを実装するエンジニアの皆様には、複雑な状況においては…知的体軌道上の手がかりを慎重に調整します。まず、圧縮された手がかりが軌道上のすべての関連情報を捉えるように、想起率を最大化し、次に精度を向上させ、冗長なコンテンツを排除するために反復します。
冗長なコンテンツの簡単な例としては、ツール呼び出しと結果のクリアが挙げられます。ツールがメッセージ履歴の奥深くで呼び出されると、知的体なぜ元の結果を再度確認する必要があるのでしょうか?最も安全で軽量な圧縮方法は結果の消去であり、これは最近機能として実装されました...Claude開発者向けプラットフォームがリリースされました。
構造化されたノート
構造化されたノート(または知的体記憶は一種の知的体定期的にメモを取り、それをコンテキストウィンドウ外のメモリに保存する手法。これらのメモは後でコンテキストウィンドウに取り戻される。
この戦略は、最小限のオーバーヘッドで永続メモリを提供します。例えば...Claude コードは、ToDoリスト、またはカスタムリストを作成します。知的体NOTES.md ファイルを維持すると、単純このパターンにより知的体複雑なタスクの進捗状況を追跡し、多数のツール呼び出しの中で失われてしまう可能性のある重要なコンテキストや依存関係を維持することができます。
Claudeポケモンをプレイすることは、非コード化領域において記憶がどのように変化するかを示す好例である。知的体能力。知的体数千ものゲームステップにわたって正確なカウントを維持し、「過去1234ステップ、ルート1でポケモンをトレーニングし、ピカチュウは目標レベル10に向けて8レベルアップした」といった目標を追跡します。記憶構造の指示なしに、探索したエリアのマップを作成し、解除した重要な実績を記憶し、さまざまな相手に対してどの攻撃が最も効果的かを学習するために、戦闘戦術に関する戦略的なメモを保持します。
コンテキストがリセットされた後、知的体自分のメモを読み返し、トレーニング手順やダンジョン探索について何時間も考え続けることができます。このように要約の各段階に一貫性を持たせることで、長期的な戦略を立てつつ、すべてをバックグラウンドで管理することが可能になります。LLMコンテキストウィンドウ内では不可能です。
Sonnet 4.5 リリースの一環として、Claude開発者プラットフォームは、ファイルベースのシステムを通じてコンテキストウィンドウ外での情報の保存と取得を容易にするメモリツールを公開テストしました。これにより、...知的体時間をかけて知識ベースを構築し、セッション間でプロジェクトの状態を維持し、すべてを文脈に沿って保持することなく過去の作業を参照することができます。
息子知的体建築
息子知的体建築は、文脈上の制約を回避する別の方法を提供する。知的体プロジェクト全体の状態を維持するよう努め、専用のサブプロジェクト知的体フォーカスタスクは、クリーンなコンテキストウィンドウを使用して処理できます。メイン知的体高レベルの計画と調整、サブレベル知的体詳細な技術作業を実行するか、ツールを使用して関連情報を見つけます。各サブ知的体数万個以上の記号を用いて広範囲に探索を行う場合もあるが、結果として得られるのは、その作業の要約(通常1,000~2,000個の記号)のみである。
この方法は関心の分離を実現し、詳細な検索コンテキストはサブコンセプト内に保持される。知的体内部的に、そして支配的知的体重点は結果の統合と分析に置かれています。このモデルについては、「マルチ…の構築方法」で説明しています。知的体「研究システム」と題されたこの研究では、よりシンプルなアプローチで複雑な研究課題をどのように処理できるかについて論じている。知的体システムは大幅に改善されました。
これらの方法の選択は、タスクの特性によって異なります。例えば、次のようになります。
- 圧縮は、対話の流れを維持するために頻繁なやり取りが必要なタスクに適しています。
- メモを取ることは、明確なマイルストーンを設定した反復的な開発に適しています。
- 多くの知的体このアーキテクチャにより、複雑な研究や分析を並行して進めることができ、大きなメリットが得られます。
モデルが継続的に改善されても、より効果的なインタラクションを構築する上で、拡張されたインタラクション全体で一貫性を維持することは依然として課題となるだろう。知的体その核心部分。
コンテキストエンジニアリングは、当社の建設を表していますLLMアプローチの根本的な変化。モデルの能力が向上するにつれて、課題はもはや完璧な手がかりを作成することだけではなく、各ステップで限られた注意予算内でどの情報をモデルに入力するかを慎重に計画することになります。長時間のタスクに圧縮を実装する場合でも、シンボルを設計する場合でも、あるいは...高効率ツール、または知的体リアルタイムで環境を探索するが、基本原則は変わらない:見つける高信号シンボルの最小セット目標とする結果が得られる可能性を最大化するため。
私たちが概説する技術は、モデルの改善に伴って進化し続けるでしょう。よりスマートなモデルは、より少ない規定的なエンジニアリングで済むことがすでにわかっています。知的体より高い自律性で運用するため。しかし、機能が拡張されたとしても、コンテキストを貴重かつ限られたリソースとして捉えることは、信頼性が高く効果的なシステムを構築する上で依然として重要となるだろう。知的体その核心部分。
すぐにClaude当社の開発者プラットフォームでコンテキストエンジニアリングの旅を始めましょう。メモリおよびコンテキスト管理マニュアルから、役立つヒントやベストプラクティスを入手してください。
人間による応用AI執筆:プリトヴィ・ラジャセカラン、イーサン・ディクソン、カーリー・ライアン、ジェレミー・ハドフィールド。チームメンバーのラフィ・アユブ、ハンナ・モラン、カル・ルーブ、コナー・ジェニングスが協力。モリー・ヴォルワーク、スチュアート・リッチー、マギー・ヴォーの支援に感謝いたします。