「OpenAgents:野生の言語エージェントのためのオープンプラットフォーム」
「OpenAgents:言語エージェントによる創造性を引き出すオープンプラットフォーム」
最近の進展は、特に大規模な言語モデル(LLM)をベースに構築された言語エージェントが、自然言語を使って多様な環境で複雑なタスクを実行する可能性を持っていることを示しています。しかし、現在のほとんどの言語エージェントフレームワークの主な焦点は、概念証明の言語エージェントの構築を容易にすることにあります。この焦点は、しばしばアプリケーションレベルの設計にほとんど注意が払われず、これらのエージェントの非専門家ユーザーへのアクセシビリティが頻繁に無視されることがあります。
言語エージェントが現在経験している制約を埋めるために、開発者たちは野生で言語エージェントをホスティングおよび展開するためのオープンなプラットフォームであるOpenAgentsフレームワークを開発しました。OpenAgentsフレームワークは、以下の3つのエージェントを中心に構築されています。
- データエージェント:データツールやSQLのようなクエリ言語、またはPythonのようなプログラミング言語を使用してデータ分析を支援します。
- プラグインエージェント:デイリータスクに役立つ200以上のAPIツールへのアクセスを提供することで支援します。
- Webエージェント:匿名性を保ちながらウェブを閲覧するのに役立ちます。
OpenAgentsフレームワークは一般ユーザーがエージェントの機能と対話できるようにするために、一般的な障害と迅速な応答に最適化されたウェブユーザーインターフェースを使用しています。同時に、研究者や開発者にはローカル環境でシームレスな展開体験を提供します。OpenAgentsフレームワークは、現実世界での評価を容易にし、革新的で効果的かつ高度な言語エージェントの構築に堅固な基盤を提供する試みと言えるでしょう。
本日の記事では、OpenAgentsフレームワークについてより詳しく掘り下げ、フレームワークについて詳細に説明します。フレームワークの動作とアーキテクチャについて説明し、さらには直面する一般的な課題や結果についても議論します。では、始めましょう。
- 「LeNetのマスタリング:アーキテクチャの洞察と実践的な実装」
- マストゥゴにお会いしましょう:ディフュージョンに基づいた音楽ドメイン知識に触発されたテキストから音楽へのシステムですタンゴのテキストからオーディオへのモデルを拡張します
- エコジェンに会ってください:生物学者や生態学者のためにリアルな鳥の歌を生成するために設計された新しいディープラーニングのアプローチ
OpenAgentsと言語エージェント:紹介
言語エージェントは、その核心でインテリジェントエージェントから派生しています。これらのインテリジェントエージェントは、独自の問題解決能力と環境を感知し、それに応じて決定し、行動する能力を持つと構想されています。大規模な言語モデルの進歩により、グローバルな開発コミュニティはインテリジェントエージェントとLLMの概念を活用して言語エージェントを作成しています。これらのエージェントは自然言語プログラミング(NLP)を利用して、多様な環境で幅広い複雑なタスクを実行し、最近では顕著な潜在能力を示しています。
現在の言語エージェントフレームワーク(GravitasやChaseなど)は、主に開発者向けにカスタマイズされたコンソールインターフェースと概念証明の実装を提供しています。しかし、これらはしばしばコーディングに習熟していない多くの人々に対してアクセスを制限しています。さらに、現在のエージェントベンチマークは、ウェブのブラウジング、コーディング、ツールの利用、またはその組み合わせが必要なシナリオにおいて特定の要件を持つ開発者によって構築されています。
より広範なユーザーベースのためのLLMを活用したインテリジェントおよび言語エージェントを開発するために、OpenAIやMicrosoftなどの既成プレーヤーは、コードインタプリター(Advanced Data Analysisとも呼ばれる)やブラウザプラグインなど、よく設計された製品の展開を行っています。これらのエージェントは機能的には効果的ですが、開発コミュニティには限定的なサポートしか提供していません。その理由は、ビジネスロジックのコードとモデルの実装がオープンソース化されていないため、開発者や研究者がこれらをさらに探求する機会が制限され、ユーザーには無料でのアクセスが制限されているからです。
この問題に取り組むために、開発者たちはOpenAgentsというオープンソースのプラットフォームを開発しました。このプラットフォームはエージェントのホスティングと使用のためのものであり、現在は3つの内部エージェントを基盤に構築されています。
- データエージェント:データツールやSQLのようなクエリ言語、またはPythonのようなプログラミング言語を使用してデータ分析をサポートします。
- プラグインエージェント:デイリータスクに役立つ200以上のAPIツールへのアクセスを提供することで支援します。
- Webエージェント:匿名性を保ちながらウェブを閲覧するのに役立ちます。
以下の図は、一般ユーザー、開発者、研究者向けのOpenAgentsプラットフォームを示しています。
- プログラマー向けのパッケージやコンソールを使用せずに、一般ユーザーはオンラインのウェブインターフェースを使用してOpenAgentsフレームワークの3つのエージェントと対話できます。
- 開発者は、OpenAgentsフレームワークが提供するビジネスロジックと研究コードを利用して、バックエンドおよびフロントエンドをシームレスに展開できます。
- 研究者は、共有コンポーネントと例を使用して新しい言語エージェントをゼロから構築するか、エージェント関連のメソッドを実装し、ウェブUIを使用してパフォーマンスを評価する柔軟性があります。
総括すると、OpenAgentsフレームワークはもともと、人間との連携による言語エージェントの評価のための包括的かつ現実的なプラットフォームであり、ユーザーはこれらのエージェントと対話してさまざまなタスクを完了することができます。これらの人間とエージェントの相互作用およびユーザーフィードバックは、さらなる開発と評価のために保存および分析されます。
知られていない方のために、LLMプロンプティングは、開発者が敵対的または誤った入力に対して保護し、出力の美しさを向上させ、バックエンドのロジックに適合するように指示を作成するプロセスです。開発フェーズでは、OpenAgentsフレームワークで作業する開発者は、LLMプロンプティング技術を使用して、アプリケーション要件の明確化の重要性を強調します。しかし、開発者はしばしばこれらの指示やLLMプロンプトの増加があり、それがLLMフレームワークのコンテキスト処理能力やトークン制限に影響を与える可能性があることに気付きました。開発者はまた、これらのエージェントを現実世界で効果的に展開するためには、エージェントモデルが卓越したパフォーマンスだけでなく、リアルタイムのさまざまな対話シナリオに対応できる必要があることを観察しました。現在のエージェントフレームワークはパフォーマンスに伴っているが、リアルタイムでの真のポテンシャルをLLMフレームワークから引き出すために、応答性や正確性を妥協することがあり、実世界の考慮を頻繁に無視しています。
以下の図では、OpenAgentsフレームワークをエージェントのコンセプトとプロトタイプのベンチマークと直接比較しています。
OpenAgents:プラットフォームの設計と実装
OpenAgentsプラットフォームのシステマティックな設計またはアーキテクチャは、2つの主要なコンポーネントに分割できます。バックエンドとフロントエンドを含むユーザーインターフェースと、ツール、言語モデル、および環境からなる言語エージェントです。OpenAgentsフレームワークは、ユーザーとエージェントとのコミュニケーションのインターフェースを提供します。フレームワーク内での相互作用の流れは次のようになります。
エージェントは、ユーザーからの入力を受け取った後、利用可能なツールを使用して環境で必要なアクションを計画し実行します。フレームワークのアーキテクチャまたはシステマティックな設計は、次の画像で示されています。
ユーザーインターフェース
OpenAgentsフレームワークの開発者は、ホストエージェントや再利用可能なビジネスロジックを取り組んだ後、高機能かつ使いやすいUIを開発するために多くの考えと努力を注いでいます。その結果、OpenAgentsフレームワークは、エラーハンドリング、バックエンドサーバーの操作、データストリーミングなど、さまざまな技術的なタスクのサポートを提供し、主な目標はOpenAgentsフレームワークを使いやすく、効果的かつ利用可能にすることです。
言語エージェント
OpenAgentsフレームワーク内の言語エージェントには、ツールインターフェース、言語モデル、および環境の3つの重要なコンポーネントがあります。OpenAgentsフレームワークで実装されたプロンプティングメソッドは、エージェントが従う順序付けられたプロセスを作成します。このプロセスは観察 -> 熟慮 -> 行動のステップで始まります。フレームワークはまた、LLMに対して解析可能なテキストを効率的に生成するようにプロンプトし、ツールインターフェースには、これらのLLMによって生成された解析可能なテキストをAPI呼び出しやコード生成などの実行可能なアクションに変換できるパーサが含まれています。これらのアクションは、対応する環境の範囲内でフレームワークによって実行されます。
OpenAgentsのエージェント
OpenAgentsの核心には、3つの異なるエージェントがあります:データエージェント(データツールやSQLなどのクエリ言語、またはPythonなどのプログラミング言語を使用してデータ分析を支援する)、プラグインエージェント(日常のタスクに役立つ200以上のAPIツールへのアクセスを提供する)、およびウェブエージェント(匿名性を保ちながらウェブを閲覧する)。これらのエージェントはChatGPTプラグインと同様に個別のドメインの専門知識を持っていますが、ChatGPTとは異なり、OpenAgents上の実装は純粋にオープンな言語APIまたはAPIの上に基づいています。
データエージェント
OpenAgentsフレームワークのデータエージェントは、エンドユーザーが定期的に遭遇するさまざまなデータ関連のタスクに対応するために設計・展開されています。データエージェントは、SQLとPythonという2つのプログラミング言語でのコード生成と実行をサポートしており、さらに、データプロファイリング(基本的なデータ情報の提供)、Kaggleデータ検索(データセットの検索)、EChartsツール(インタラクティブなEChartsのプロット)など、さまざまなデータツールを活用することができます。さらに、OpenAgentsフレームワークは、データエージェントに対してこれらのツールを積極的に使用するよう促すことで、効果的にエンドユーザーの要求に応えることができます。また、網羅的なコーディング要件を考慮して、OpenAgentsフレームワークはデータエージェントに埋め込み言語モデルを採用しており、エージェント自体がコードを生成するのではなく、PythonやECharts、SQLなどのツールがコードを生成する仕組みになっています。このアプローチにより、フレームワークは言語モデルのプログラミング能力を最大限に活用することができ、データエージェントにかかる負荷を軽減することができます。
これらのデータツールの支援を受けて、データエージェントは数多くのデータ中心の要求を管理し、データの可視化、操作、クエリに熟練した対応を行い、コードやテキストの生成の枠組みを超える能力を持つことができます。以下の図は、データエージェントの活動と一般ユーザーが利用できるツールを示しています。
プラグインエージェント
OpenAgentsフレームワークのプラグインエージェントは、インターネット検索、オンラインショッピング、ニュースの閲覧、ウェブサイトやアプリケーションの作成など、ユーザーの多様な日常タスクの要求に適応するために、開発者によって細心の注意を払って設計されています。このエージェントは200以上のプラグインにアクセスできるようになっており、関数呼び出しインターフェース、APIの応答時間などに特に注意が払われています。有名なプラグインの中には以下のものがあります。
- Google検索
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Speak
- AskYourPDF
- BizTok
- Klook
ユーザーは、必要なプラグインの数を選択し、プラグインエージェントに使用させることができます。その動作は以下の図で説明されています。
さらに、ユーザーが自分の要件に最も適したプラグインが何かわからない場合には、OpenAgentsフレームワークはユーザーに対して、自動的に最も関連性の高いプラグインを選択する機能を提供しています。
ウェブエージェント
OpenAgentsフレームワークでは、ウェブエージェントをチャットエージェントの効率と機能を向上させるための専門ツールとして提供しています。チャットエージェントはまだ主要な対話インタフェースを担当しており、必要に応じてウェブエージェントをシームレスに統合しています。最終的な応答はウェブエージェントによってエンドユーザーに提供され、そのプロセスは以下の図で示されています。
これらのウェブエージェントの設計戦略は、チャットエージェントが重要なパラメータを処理したり、URLをシステム的に開始したりする前に、ウェブエージェントにそれらを転送することで、ユーザーの要件と生成される出力の間のより良い整合性を確保することができます。さらに、この戦略により、ウェブエージェントはチャットダイアログとの組み合わせによるダイナミックなマルチターンのウェブナビゲーションを採用することで、階層化で適応性のあるユーザークエリを受け入れることができます。したがって、チャットエージェントとマルチブラウジングエージェントの役割と責任を明確に区別することにより、OpenAgentsフレームワークは各個別モジュールの洗練と発展のための余地を作り出しています。
OpenAgents:実用的なアプリケーションと現実世界での展開
このセクションでは、OpenAgentsフレームワークの理論から実際の展開までの軌跡、遭遇した課題、そして解決した開発者の評価の複雑さについて話します。
大規模言語モデルを実世界のアプリケーションに変換するためのプロンプトの利用
OpenAgentsフレームワークを使用して実世界のアプリケーションをエンドユーザー向けに構築する際、OpenAgentsフレームワークはプロンプト命令を使用して特定の要件を指定します。いくつかの命令の目的は、出力が特定の形式に整合していることを保証することで、バックエンドのロジックが処理できるようにすることです。一方、他の命令は出力の美的魅力を高めることを目的としており、残りの命令はフレームワークを潜在的な悪意のある攻撃から保護することを目的としています。
制御困難な現実世界の要素
開発者たちは、OpenAgentsフレームワークを実世界に展開する際、インターネットのインフラ、ユーザー、ビジネスロジックなどによって引き起こされる制御不能な現実世界の要素に直面しました。これらの制御不能な要素により、開発者は先行研究に基づいていくつかの仮定を再評価し、調整する必要があります。そして最終的には、フレームワークが生成する応答に満足しないエンドユーザーの状況につながる可能性があります。
評価の複雑さ
アプリケーションを直接ターゲットにした構築されたエージェントは、より幅広い用途を持つ可能性があり、評価を容易にするかもしれませんが、LLMを活用したアプリケーションの構築の複雑さも増加させます。これにより、アプリケーションのパフォーマンスを分析することが困難になります。さらに、このアプローチは不安定性を引き起こし、LLMsのシステムチェーンを拡張します。したがって、これらのエージェントのシステム設計および動作ロジックを洗練し、手順を簡素化し、効果的な出力を確保することは理にかなっています。
最終的な考え
この記事では、OpenAgentsフレームワークについて話しました。これは実世界のさまざまな日常のタスクに対応する言語エージェントをホストおよび展開するオープンプラットフォームです。OpenAgentsフレームワークは、データエージェント、データツールやSQL、Pythonなどのクエリ言語を使用したデータ分析を支援するエージェント、プラグインエージェント、日常のタスクに役立つ200以上のAPIツールへのアクセスを提供するエージェント、ウェブエージェント、匿名性を保ちながらウェブを閲覧するのに役立つエージェントの3つのエージェントを中心に構築されています。OpenAgentsフレームワークは、一般のユーザーがエージェントの機能と対話できるようなWebユーザーインターフェースを使用しており、同時に、研究者や開発者がローカル環境でシームレスに展開できる体験を提供しています。透明性、包括性、展開可能性を提供することで、OpenAgentsは研究者や開発者に限定されない範囲のユーザー、技術的な専門知識に制約のあるエンドユーザーにもLLMsの潜在能力を利用できるようにすることを目指しています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- 「Amazon Textractの新しいレイアウト機能は、一般的な目的と生成型のAIドキュメント処理タスクに効率をもたらします」
- 「Amazon SageMaker JumpStartを使用したスケーラブルなテキスト埋め込みと文の類似性検索」
- 「MATLABとAmazon SageMakerによる機械学習」
- Amazon MusicはSageMakerとNVIDIAを使用してMLの訓練および推論のパフォーマンスとコストを最適化しています
- NVIDIAは、Generative AIを用いて薬物探索を加速させるためにGenentechと協力
- 「基本的なアルゴリズムと機械学習の最新のアルゴリズムを使用して、コンピュータ科学の問題に取り組む」
- 「13/11から19/11までの週の最も重要なコンピュータビジョンの論文トップです」