Arize Phoenix を使った smolagents のトレースと評価
Hugging Face は、Arize Phoenix と smolagents ライブラリを統合し、AI エージェントのリアルタイム オーサーバビリティと体系的な評価を提供するワークフローを詳細に説明しています。この統合により、開発者はエージェントのステップバイステップの意思決定プロセスを可視化し、LLM ベースのジャッジを使用してツール出力の関連性と精度を測定できます。
エージェント オーサーバビリティのためのリアルタイム トレース
トレースは、エージェントの内部ワークフローの細かいビューを提供し、ツールの呼び出しから最終的な応答生成までの各ステップを追跡することで、開発者が問題をデバッグし、パフォーマンスを最適化できるようにします。
smolagents でトレースを実装するには、開発者はインストゥルメンテーションに OpenTelemetry と OpenInference を使用し、可視化プラットフォームとして Arize Phoenix を利用します。セットアップには、smolagents[telemetry] モジュールをインストールし、Phoenix インスタンスを指すトレース プロバイダーを登録することが含まれます。設定が完了すると、エージェントの呼び出しはすべて自動的に Phoenix ダッシュボードのトレースとしてキャプチャされ、エージェントの意思決定プロセスの「X線」ビューを得ることができます。
LLM-as-a-Judge を用いた体系的な評価
評価(evals)は、エージェントが情報をどれだけ効果的に取得、処理、提示するかを測定するために使用されます。これを達成する主要な方法は、「LLM-as-a-judge」アプローチで、高性能なモデル(たとえば GPT-4o)を使用して、別のモデルまたはツールのパフォーマンスをスコアリングします。
ツールの関連性の評価
実際の実装では、検索ツール(たとえば DuckDuckGoSearchTool)の関連性は、次の手順に従って評価できます。
- 実行スパンの取得:
SpanQueryを使用してツールが呼び出された特定のトレースを抽出し、入力(クエリ)と出力(結果)を分離します。 - プロンプト テンプレートの適用: 裁判 LLM をガイドするために、
RAG_RELEVANCY_PROMPT_TEMPLATEのような専用のプロンプト テンプレートを使用します。 - 結果の分類: 裁判 LLM は入力と出力を分析し、結果を「関連」または「無関係」に分類します。
- 結果のログ記録: 得られたバイナリ スコア(関連の場合は 1、無関係の場合は 0)は、体系的な分析のために Arize Phoenix に再ログされます。
汎用的な評価テンプレート
Arize Phoenix は、さまざまなエージェント タイプやユースケースに適応できる、事前に作成および事前にテストされた評価テンプレートのライブラリを提供します。プロンプト テンプレートを交換することで、開発者は単純な関連性を超えたさまざまなパフォーマンス指標を測定できます。
| 評価テンプレート | 適用可能なエージェント タイプ |
|---|---|
| Hallucination Detection | RAG エージェント、一般的なチャットボット、知識ベースのアシスタント |
| Q&A on Retrieved Data | RAG エージェント、リサーチ アシスタント、ドキュメント検索ツール |
| RAG Relevance | RAG エージェント、検索ベースの AI アシスタント |
| Summarization | 要約ツール、ドキュメント ダイジェスター、会議ノート ジェネレーター |
| Code Generation | コード アシスタント、AI プログラミング ボット |
| Toxicity Detection | モデレーション ボット、コンテンツ フィルタリング AI |
| AI vs Human (Ground Truth) | 評価およびベンチマーク ツール、AI 生成コンテンツ バリデーター |
| Reference (Citation) Link | リサーチ アシスタント、引用ツール、学術的な執筆支援 |
| SQL Generation Evaluation | データベース クエリ エージェント、SQL 自動化ツール |
| Agent Function Calling Evaluation | マルチステップ推論エージェント、API 呼び出し AI、タスク自動化ボット |