AI News HubLIVE
サイト内リライト2 分で読了

エージェンティックAIシステムにおけるコンテキストエンジニアリングとメモリエンジニアリング

本記事では、エージェンティックAIシステムにおけるコンテキストエンジニアリングとメモリエンジニアリングの違いと関係性を解説します。コンテキストエンジニアリングは単一の推論呼び出しにおける情報の選択、圧縮、配置を扱い、メモリエンジニアリングは呼び出しやセッションをまたいだ情報の永続化、検索、保守を扱います。両者は検索境界で交わり、その境界が適切に管理されないと、情報の陳腐化やコンテキスト汚染などの障害が発生します。

ソースMachine Learning Mastery著者: Bala Priya C

エージェンティックAIシステムが長期ワークフローやマルチセッション利用に進むにつれ、よくあるパターンが現れます。タスクの途中で制約が失われ、取得した情報が不適切なタイミングで再浮上し、前のステップのコンテキストが現在のステップに漏れ込む。これらの障害は特定のコンポーネントに明らかな問題がないため、特定が困難です。ほとんどの場合、問題は二つの領域にあります。コンテキストエンジニアリングとメモリエンジニアリングです。これらは関連していますが異なり、異なる形で失敗し、適切に機能させるには異なるシステムが必要です。

コンテキストエンジニアリングは、単一の推論呼び出しの設計をカバーします。何を含めるか、何を圧縮するか、どこに配置するか、何を破棄するかです。スコープ内のすべては一時的であり、呼び出しが終了するとウィンドウはクリアされます。選択的包含(利用可能な情報すべてをコンテキストに入れるべきではない)、構造的配置(モデルは長いコンテキストの最初と最後をより強く注目し、中間は失われる効果がある)、到着時圧縮(ツール出力は呼び出し後すぐに圧縮すべきで、ウィンドウが満杯になってからではない)、会話履歴管理(長期エージェントでは履歴全体を毎回運ぶとコストと信頼性に問題があり、定期的な圧縮戦略が必要)などの決定が含まれます。

メモリエンジニアリングは、単一のモデルとのインタラクションを超えて存続するものに焦点を当てます。書き込みポリシー設計(何がメモリへの書き込みをトリガーするか、どの情報が保存対象か、形式、信頼性要件、書き込み権限、更新・訂正の処理、保持ルール)、ストレージ層選択(ワーキングメモリ、エピソディックメモリ、セマンティックメモリ、プロシージャルメモリに応じて適切なバックエンドを選ぶ)、検索戦略(ワーキングメモリを最初にチェックし、意味検索にフォールバック、メタデータフィルタを適用し、現在のステップに必要なものだけを注入)、メモリメンテナンス(信頼度の減衰、重複排除、TTLベースの有効期限、古いエピソディックレコードの圧縮)の四つの主要な懸念事項を扱います。

メモリエンジニアリングとコンテキストエンジニアリングはしばしば別個の分野として議論されますが、実際には深く相互接続されています。メモリシステムは候補情報を生成し、コンテキストアセンブリがその情報をプロンプトに含めるか、どの程度含めるか、どこに配置するかを決定します。この境界を適切に管理することが、メモリコンポーネントの集合を一貫したエージェント動作に変える鍵です。二つの一般的な障害モードは、取得情報が古いまたは低関連度である場合と、取得情報が適切に配置されずモデルが効果的に利用できない場合です。両方の分野を理解し、適切に設計することが、現実のワークロードでエージェントが持続可能かどうかを決定します。