インテリジェントエージェントの洗脳:記憶をクリーンに保つ方法 @CamelAIOrg チームは、コンテキストエンジニアリングに焦点を当てています。これは、エージェントのメモリ管理を最適化することで、エージェントのパフォーマンスと効率を向上させるものです。著者の @Hesamation は、エージェントは真に「忘れる」のではなく、むしろコンテキスト管理の不備に悩まされていると強調しています。開発者は、エージェントのコンテキストを制御することで、その「知能」レベルに大きな影響を与えることができます。 本稿では、CAMELフレームワークにおけるメモリを「クリーン」に保つための3つの手法、すなわちコンテキスト要約、ワークフローメモリ、そしてツール出力のキャッシュについて紹介します。これらの手法は、エージェントがタスク処理時に一般的に遭遇するコンテキスト肥大化の問題に対処し、効率性の向上とコスト削減を目指しています。 なぜメモリ管理が必要なのでしょうか?エージェントのワークフローにおける一般的な問題としては、タスクの脱線、反復作業、ツール出力の過負荷などが挙げられます。これらの問題により、コンテキストウィンドウがすぐにいっぱいになり、大量のトークンと時間が消費される可能性があります。 3つの主要技術 1. コンテキスト要約:コアコンテンツの保持。問題と用途:エージェントは、テキストから絵文字に変換するアプリケーションを構築する際、データベースのデバッグに過度に気を取られるなど、いわゆる「サイドタスク」に追われ、メインタスクの遅延を引き起こすことがあります。これは多くのリソースを消費します。 • トリガー条件: コンテキストがウィンドウの 80% 以上を使用している場合、コンテキストが軌道から外れてリセットする必要がある場合、または古いセッションが新しいセッションで参照されている場合。 • CAMEL実装:トークンしきい値に基づく自動要約、手動API呼び出し、エージェントが利用可能なツールキットを用いた要約の3つの方法を提供します。要約プロセスでは、ユーザーの主なリクエスト、残りのタスク、現在の進捗状況などの重要な情報を抽出するために、綿密に作成されたプロンプトを活用します。同時に、LLM要約への依存を軽減し、潜在的な不正確さを回避するために、ユーザーメッセージは最小限に抑えられます。 利点: エージェントがすぐに集中力を取り戻し、無関係な詳細による注意散漫を軽減するのに役立ちます。 2. ワークフローメモリ:過去の経験からの学習。問題と用途:エージェントは、機械学習の無料書籍のリストを作成するなど、反復的なタスクで作業を繰り返すことがよくあります。その場合、毎回archive.orgへのアクセスが必要になりますが、経験は保持されません。 • コア設計: ワークフロー メモリは、タスクのタイトル (簡潔で概要)、タスクの説明 (ユーザーの目標の概要、実装の詳細はなし)、ソリューションの手順 (番号付きの一般的なアクション)、ツール リスト (使用方法の説明)、障害回復戦略 (オプション)、メモの観察 (オプション)、およびタグ (3 ~ 10、分類と照合用) を含む、過去のタスクの構造化された要約です。 • 読み込みメカニズム: 開発者はエージェントの役割に基づいてセッションを指定したり、ファイルを読み込むことができます。エージェントはワークフロー リストから最も関連性の高い N 個のファイルを選択します (シンプルにするため、RAG の使用は避けます)。 • 研究アプリケーション: この論文では、この方法によりネットワークナビゲーションタスクのパフォーマンスが大幅に向上すると述べており、関連する論文を引用しています。 利点: インテリジェント エージェントが経験を再利用できるようにし、反復的なタスクの効率を向上します。 3. ツール出力のキャッシュ: 警告 • 問題と用途: ツール出力 (Web 検索結果やファイル コンテンツなど) は冗長になることが多く (4250 文字の検索結果など)、それをコンテキスト内に長時間保持するとトークンが爆発的に増加する可能性があります。 • CAMEL実装:2000文字を超える出力を監視し、古い出力は外部ファイル(Markdownなど)に保存し、コンテキスト内では参照IDとプレビュー(最初の160文字)のみを保持します。完全な出力を取得するためのコマンドを提供します。 課題とリスク:トークンを節約できる一方で、情報の損失(エージェントがプレビューに依存し、詳細を無視する)や認知負荷の増大(IDの追跡と取得の判断が必要となる)につながる可能性があります。本稿では、これを効率性と精度のバランスをとる試みと捉えており、CAMELではロールバックされており、さらなる最適化が必要です。 利点と警告: 高出力の処理に適していますが、パフォーマンスの低下を避けるため注意が必要です。
スレッドを読み込み中
X から元のツイートを取得し、読みやすいビューを準備しています。
通常は数秒で完了しますので、お待ちください。
