コンテキストエンジニアリング、視覚的説明付き: (以下に図版付きガイド)
では、コンテキストエンジニアリングとは何でしょうか? それは、適切な情報を適切な形式で、適切なタイミングでLLMに届けるという技術であり科学的な技術です。 こちらはアンドレイ・カルパシーによるコンテキストエンジニアリングに関する引用です...👇
コンテキストエンジニアリングを理解するには、まずコンテキストの意味を理解することが不可欠です。 今日のエージェントは単なるチャットボット以上の存在へと進化しています。 以下の図は、エージェントが適切に機能するために必要な6つのコンテキストタイプをまとめています。 これがいいと思います 👇
今や、エージェントに「促す」だけでは不十分だとご存知でしょう。 入力(コンテキスト)をエンジニアリングしなければなりません。 こう考えてみてください: 🧠 LLM = CPU 💾 コンテキストウィンドウ = RAM 本質的には、AIに完璧な命令を割り当てて「RAM」をプログラムしているのです。 続けた。。。👇
では、どうやってそれを実行すればよいのでしょうか? コンテキストエンジニアリングは、4つの基本的な段階に分けられます: - 執筆文脈 - コンテキストの選択 - コンプレッシングコンテキスト - 文脈の隔離 一つずつ理解してみましょう...👇
1️^ 執筆の文脈: コンテキストを書くとは、コンテキストウィンドウの外に保存してエージェントがタスクを実行するのを助けることを意味します。 以下に書くことでできます: - 長期記憶(セッションを越えて持続する) - 短期記憶(セッション内に持続) - 状態オブジェクト これ👇を見て
2️http コンテキストを読む: コンテキストを読むとは、コンテキストウィンドウに引き込んでエージェントがタスクを実行するのを助けることを意味します。 この文脈は以下から引用できます: - 道具 -記憶 - ナレッジベース(ドキュメント、ベクターデータベース) これ👇を見て
3️¶ 圧縮コンテキスト コンテキストを圧縮するということは、タスクに必要なトークンだけを保持することを意味します。 取得されたコンテキストには重複情報や冗長な情報(複数ターンツール呼び出し)が含まれ、トークンが増えコストが増加することもあります。 ここで文脈の要約が役立ちます。 これ👇を見て
4️^ 文脈を分離する コンテキストを分離するには、エージェントがタスクを実行するのを助けるためにコンテキストを分割することが含まれます。 その代表的な方法には以下のようなものがあります: - 複数のエージェント(またはサブエージェント)を使い、それぞれが独自のコンテキストを持つこと - コードの保存と実行にサンドボックス環境を使用すること - そして状態オブジェクトを使用 これ👇を見て
まとめると、最後にコンテキストエンジニアリングのグラフィックをお伝えします。 また、コンテキストエンジニアリング用のオープンソーススタックもこちらです: - メモリー:@zep_ai - 知識ベース:@milvusio - エージェントのオーケストレーション:@crewAIInc - 観測可能性とトレーシング:@deepeval
7.26K