本文にスキップ
AI News HubLIVE
サイト内リライト2 分で読了

Deep AgentsでのRLMの使用方法

記事の要約

再帰的言語モデル(RLM)は、エージェントがコードを書いてコンテキストチャンクに対してサブエージェントをディスパッチすることで、コンテキスト腐敗を修正します。Deep Agentsは現在、動的サブエージェントと軽量コードインタプリタを通じてRLMをサポートし、エージェントが大規模入力に対してgrep、map、reduceのようにプログラム的に作業を分散できるようにします。OOLONGベンチマークでは、RLMは長いコンテキストタスクでターンバイターンエージェントよりも優れた成績を示しました。

Deep AgentsでのRLMの使用方法
誤りを報告

訂正窓口はまだ利用できません。記事情報をコピーして保存できます。

訂正案内
本文へ

再帰的言語モデル(RLM)は、大規模言語モデル(LLM)が長いコンテキストを処理する際に発生する「コンテキスト腐敗」の問題に対処する方法です。エージェントがコンテキストを蓄積するにつれてパフォーマンスが低下します。RLMでは、モデルがREPL環境でコードを実行し、サブエージェントをディスパッチして入力コンテキストの断片に対して再帰的に処理します。例えば、1万件の営業通話記録から平均取引額を求める場合、RLMスタイルのエージェントはオーケストレーションとカウントをコード内で行い、モデルの一時的なコンテキストウィンドウに依存しません。

Deep Agentsは、動的サブエージェントと軽量コードインタプリタを通じてRLMをサポートするようになりました。エージェントはスクリプトを書き、コードインタプリタがそれを実行してサブエージェントをディスパッチします。例えば、300ページのドキュメントを処理する場合、Promise.all(pages.map(page => task({...})))パターンを使用します。論文で提案されたRLMとは異なり、Deep Agentsの実装は「再帰的エージェント(RA)」に近く、サブエージェントが独自のツールとコンテキストを持ちますが、論文のアイデアが基盤となっています。

プログラムによるオーケストレーションには2つの主要な利点があります。確定的なカバレッジ(コードがすべてのバッチを確実に処理する)と、カスタムオーケストレーション(パイプラインがタスクに応じて分岐、並列、順次など任意の形状を取れる)です。

OOLONGベンチマークで評価した結果、64kトークンでは通常のエージェントとRLMエージェントは同程度(0.58対0.67)でしたが、128kトークンでは通常エージェントが0.44に低下したのに対し、RLMエージェントは0.79を維持しました。通常エージェントは長いコンテキストでしばしば回答を放棄するのに対し、RLMエージェントは安定していました。

Deep Agentsの動的サブエージェントを使用するには、QuickJSミドルウェアをインストールし、CodeInterpreterMiddlewareをcreate_deep_agentに渡します。プロンプトに「workflow」という単語を含めると動的サブエージェントがトリガーされます。例えば、ファイルをレビューしてリスクを要約するワークフローを実行します。また、dcodeターミナルコーディングエージェントにはコードインタプリタが組み込まれており、セットアップ不要で試せます。

RLMはルートモデルに自身でループを書く力を与え、コンテキストとタスクの形状に合わせて整理します。これはエージェントループや検証ループなどの概念と一致します。動的サブエージェントとRLMワークフローにより、エージェントが自身のコンテキストとループを自律的に整理できることに期待しています。

さらに読むには、元の論文、Alex Zhangのブログ、Deep Agentsのビデオなどがあります。エージェントの実際の動作を詳しく知るには、LangSmithプラットフォームをお試しください。

要点と分析を開く

記事インテリジェンス

エンジニア上級

要点

  • RLMはコードを使用してコンテキストチャンクに対して再帰的にサブエージェントを呼び出し、コンテキストウィンドウの制限を回避します。
  • Deep Agentsは動的サブエージェントとコードインタプリタでRLMを実装します。
  • OOLONGベンチマークでは、RLMは128kトークンで性能を維持し、通常のエージェントは低下しました。
  • RLMはプログラムコードによる確定的なカバレッジとカスタムオーケストレーションを可能にします。

要点と分析は自動生成され、誤りを含む場合があります。原典をご確認ください。