HUOXIU

LLM エージェントのコラボレーション評価に苦労していませんか? 次の 3 つの評価および監視ツールが役立ちます。

編集者注:大規模な言語モデルに基づくアプリケーションを構築する際、次のような課題に直面したことはありませんか?複数のAIエージェントが連携して動作する際に、期待通りのパフォーマンスを発揮させるにはどうすればよいのでしょうか?また、それらのインタラクションの品質を効果的に監視するにはどうすればよいでしょうか?これらの問題は、製品のパフォーマンスだけでなく、ユーザーエクスペリエンスにも直接影響を及ぼします。

本稿では、実際のプロジェクト経験に基づき、3つの主流評価ツールであるAgentneo、Arize Phoenix、TruLensの機能と適用シナリオを詳細に分析します。具体的なコード例と実践的な提案を通して、対話録音、実行フロー、プロンプトワードの有効性など、AIアシスタントのパフォーマンスを多角的に評価・最適化する方法を示します。

AIエージェントの評価と監視に苦労しているなら、この記事が少しでも参考になれば幸いです。「どのツールを使うべきか」だけでなく、「これらのツールを効果的に使う方法」も解説し、高性能で測定可能なAIアプリケーションシステムの構築を支援します。

著者 | チンメイ・バレラオ

編纂者:岳陽

画像は著者作成、背景画像はハリウッドレポーター[1]による

バーチャルアシスタントのチームが協力して顧客サービスの問い合わせに対応する様子を想像してみてください。各アシスタントにはそれぞれの役割があり、正確で効率的、かつ最適な対応を保証します。これがLLMにおけるエージェンティックモデルの核となるコンセプトです。

検索拡張(RAG)は、LLMアプリケーションの中核コンポーネントとなっています。Arize Phoenix、Ragas、TrueLensなどのツールは、様々な指標を用いてRAGのパフォーマンスを評価できます。RAG技術の継続的な進歩に伴い、エージェントモデルはLLMアプリケーション開発における新たなトレンドになりつつあります。既存製品や新製品をエージェント型ワークフローに変換しようと、誰もが競い合っています。人間の介入の有無にかかわらず、LLMが連携し、効果的なグループディスカッションを行い、最適かつ包括的なソリューションを共同で開発していく姿は、間違いなく刺激的です。

01 エージェントとは何ですか?

エージェントはLLM内の調整プラットフォームです。複数のLLMの機能を統合するように設計されており、LLMがなくてもタスクを自動化できるため、人的介入は最小限で済みます。各エージェントは、特定のタスクを独立して処理しながら、ディスカッション、相談、ブレインストーミングを行い、継続的に作業を改善できます。任意のLLMを使用してエージェントを作成し、様々なタスクを実行させることができます。

出典: Microsoft Autogen[2]。Autogenライブラリにおけるさまざまな種類のエージェントとその役割を説明しています。

02 エージェンティック方式とは何ですか?

エージェンティックアプローチとは、ワークフローをより小さく、より独立したエージェントに分割し、それらが連携して問題解決に取り組むアプローチです。単一のシステムがすべてのタスクを処理するのとは異なり、このアプローチでは、専門能力を持つエージェントに責任を分散することで、より効率的でスケーラブルなソリューションを実現します。つまり、異なるタスクを異なる人に割り当て、チームディスカッションを通して包括的なソリューションを共同で開発していくようなものです。これは、ブレインストーミングセッションで行われる作業に似ています。

例えば:

LLM に基づいた簡単な質疑応答システムを構築したいとします。

LLM RAGプロセスでは、検索エンジンがユーザーの質問に基づいて最も関連性の高いデータを取得します。選択されたデータは質問と共にLLMシステムに送信され、回答が生成されます。回答の構造や内容の最適化が必要な場合は、プロンプトを調整し、同じ手順を繰り返して回答を検証します。

上記の状況に基づいて、エージェンティック アプローチを使用すると、検索タスクを担当する検索エージェント、回答を生成する責任がある回答生成エージェント、回答に関するフィードバックを提供する責任がある回答検証エージェントの 3 つのエージェントを作成できます。

検索エージェントが関連データを提供すると、回答生成エージェントと回答検証エージェントが対話を開始します。複数回のフィードバックとコミュニケーションを経て、適切な回答が得られます。これらの2つのエージェントには、それぞれのタスクを明確にするために、具体的なプロンプトを設定できます。さらに、検索エージェントはLLM機能を必要としないため、LLMへのアクセスは許可しません。検索エージェントは検索タスクを独立して完了するだけで済みます。

著者による画像

上の図は、先ほど述べた手順を正確に示しています。この図を通して、エージェントを用いて様々なタスクを自律的に完了させる方法を明確に理解できます。

03 評価

インテリジェント エージェントについて理解が深まったところで、次にその評価方法を検討します。

機械学習(ML)や深層学習(DL)の分野では、一般的に離散的な出力を扱うため、評価基準は比較的固定的で一般化が容易です。しかし、RAGプロセスやエージェントの評価となると、状況は一変します。RAG評価では、コンテキスト関連性、忠実度、コンテキスト再現率、再現率、毒性、Recall@K、Precision@Kといった様々な指標が導入されています。エージェントもこれらの指標を用いて、自身のパフォーマンスを効果的に評価できます。コンテキスト関連性、忠実度、再現率など、従来のシステムに用いられてきた多くの評価指標は、エージェント評価にも適用可能です。さらに、エージェントをよりスムーズに評価できる専用ツールも存在します。

次に、これらの評価ツールを 1 つずつ見ていきましょう。

3.1 エージェントネオ

出典: Agentneo公式リポジトリ

ragaAIが開発したAgentneoは、AIエージェントの監視、モニタリング、評価のためのPython SDKです。エージェントとLLMの追跡、ツールの使用、マルチエージェントシステムのデバッグ、セルフホスト可能なダッシュボード、タイムラインと実行フローチャートを備えた高度なデータ分析機能などの機能を提供します。

まず、次のコマンドを実行してインストールします。

この簡単なインストール手順を実行するだけで、Agentneo をローカル環境に正常に展開できます。

次の手順は非常に簡単です。エージェントが初期化され、グループでの会話ややり取りが始まる前に、追跡機能(簡単に言うとログ記録を有効にする)を有効にする必要があります。

これにより、エージェント間の会話の監視を開始できます。多くのアプリケーションと同様に、Agentneo はカスタマイズ可能なダッシュボードを提供し、エージェントのさまざまな側面に関する情報を表示できます。

独自のニーズに応じてエージェントのパフォーマンスを評価し、対応する評価指標を設定できます。

グループチャットとコミュニケーションが完了したら、追跡を終了してダッシュボードを開きます。

ブラウザに http://localhost:3000 と入力するだけで、インタラクティブなダッシュボードにアクセスできます。

Agentneoダッシュボード

このダッシュボードでは、さまざまなデータ(分析データ、時間、LLM 通話ログなど)に加えて、エージェントの会話の非常に重要な部分であるエージェント間のチャット内容を追跡できます。

既にAutogenやCrewaiといった複数のエージェントライブラリと統合されており、今後さらに多くのエージェントライブラリと統合される予定です。私はこのライブラリをAutogenと組み合わせて使用​​し、エージェントのアクティビティを追跡するための優れたツールであることがわかりました。

Github: Agentneo[3] |ラーガアイ[4]

3.2 アリゼ・フェニックス

出典:アライズフェニックス公式サイト

Arize Phoenix は、次の側面から評価を実行するオープンソースの LLM トレースおよび評価ツールです。

  • 実行フローの追跡:実行プロセスに関する詳細な情報を提供し、潜在的な問題の特定と解決を容易にします。また、このツールは、さまざまなメトリクス、ログ、メタデータのサポートも提供します。
  • プロンプトトラッキング:様々なプロンプトのバリエーションを作成、管理、実験するための専用スペースを提供します。詳細については、https://docs.arize.com/phoenix/user-guide#prompt-tracking をご覧ください。
  • ベクトル埋め込み可視化ツール
  • 評価とベンチマーク:ユーザーは評価指標をカスタマイズし、ユーザーからのフィードバックを収集し、様々なLLMを活用して自動評価を行うことができます。Phoenixは、評価結果の分析、傾向の特定、改善の追跡のためのツールを提供するほか、これらの指標を業界標準やカスタムベンチマークと比較する機能も備えています。
  • さらに、Phoenix は、データの探索、クリーニング、ラベル付けのためのデータ準備ツールも提供します。

Phoenixはエージェントの行動追跡にも適しています。これは、Autogenが依存する基盤となるモデルライブラリを検出することで実現されます。

使用を開始する前に、関連するライブラリをインストールする必要があります。

以下はローカルで実行できるコード例です。

コードを実行すると、以下に示すダッシュボード インターフェイスが表示されます。

Agentneoは以前試したことがありますが、正直なところPhoenixはあまり使っていません。なぜでしょうか?Phoenixを使いたいと思った頃は、Googleモデルを全くサポートしておらず、OpenAIモデルへのアクセスも制限されていました。しかし、今はおそらく全てのモデルをサポートしているようです。

ノートブック[5] | 手続き型フェニックス[6] | LLM評価[7]

3.3 トゥルーレンズ

多くのアプリケーションでは、TrueLens を使用して RAG プロセスを追跡および監視します。

出典: TrueLens githubリポジトリ[8]

TruLensは、フィードバックメカニズムを通じてLLMベースのアプリケーションのパフォーマンスを客観的に評価するソフトウェアツールです。これらのメカニズムは、アプリケーションの入力、出力、中間処理の品質を自動的に分析することで、評価実験を加速し、スケーラビリティを実現します。TruLensは、自動質問応答、コンテンツ要約、検索強化生成、エージェントベースアプリケーションなど、様々なシナリオに適しています。

TruLens は、次のフィードバック メカニズムを通じて LLM アプリケーションのパフォーマンスを向上させ、リスクを軽減します。

  • コンテキストの関連性
  • 根拠(情報が実際のデータや事実に基づいているかどうかを評価する)
  • 回答の関連性(提供された回答が質問に密接に関連しているかどうかを確認します)
  • 網羅性(情報が必要な内容を網羅的にカバーしているか確認)
  • 有害または有害な言語(不適切または有害な言語の存在の監視)
  • ユーザーの感情
  • 言語の不一致(言語使用の不一致の特定)
  • 公平性と偏り(申請に偏りや不公平さがないか評価する)
  • その他のカスタムフィードバック

画像クレジット: TrueLens公式サイト[9]

公式ウェブサイトでは、エージェント評価プロセスでTrueLensを使用することが推奨されています。TrueLensを使用する場合、その使いやすさは他のツールに匹敵します。

まず、必要な依存関係をインストールします。

次に、追跡する指標を設定します。

次に、アプリケーションをビルドします。

リーダーボードで結果を表示し、実行中のダッシュボードを確認できます。

これらの手順を完了すると、以下に示すようなダッシュボードが表示されます。

この記事ではすべてのコードを提供しているわけではありませんが、NOTEBOOK[10]ではTrueLensアプリケーションのセットアップと実行の手順を説明します。

写真提供:アダム・シルバーマン

04 最後の言葉

この記事で紹介したツールはすべて独自のユーザーインターフェースを備えており、ローカルマシンで表示できます。アプリケーションに多数のエージェントが含まれている場合、トラッキングは非常に重要です。監視すべき項目は、アプリケーションの複雑さや具体的なニーズによって異なります。評価プロセスでは、会話ログを評価することが一般的に有用です。会話ログは各エージェントの具体的な動作を示してくれるため、プロンプトを適切に調整したり、会話ラウンド数を決定するのにも役立ちます。エージェントを評価するための他のツールをご存知でしたら、ぜひコメントをお寄せください。

読んでくれてありがとう!

このブログを楽しんで、新しいことを学んでいただければ幸いです。

著者について

チンメイ・バレラオ

AI/ML研究者兼エンジニア | AI、CV、物体検出分野で3回トップライターに輝く | 洞察とシミュレーションでテクノロジーを簡素化 |

終わり

今週のインタラクティブコンテンツ🍻

❓エージェントを評価するための他のツールをご存知の場合は、お気軽にコメントを残してください。

🔗記事内のリンク🔗

[1]https://www.hollywoodreporter.com/lifestyle/lifestyle-news/distracted-boyfriend-meet-stars-meme-summer-1033623/

[2]https://microsoft.github.io/autogen/0.2/docs/Use-Cases/agent_chat/

[3]https://github.com/raga-ai-hub/AgentNeo

[4]https://raga.ai/agentneo

[5]https://github.com/Arize-ai/phoenix/blob/main/tutorials/tracing/autogen_tutorial.ipynb

[6]https://docs.arize.com/phoenix/tracing/integrations-tracing/autogen-support

[7]https://phoenix.arize.com/

[8]https://github.com/truera/trulens

[9]https://www.trulens.org/

[10]https://colab.research.google.com/github/truera/trulens/blob/main/examples/quickstart/quickstart.ipynb#scrollTo=wiL9tL_8xrRP

オリジナルリンク:

https://medium.com/towards-artificial-intelligence/evaluating-and-monitoring-llm-agents-tools-metrics-and-best-practices-a61f508cccb0