AI エージェント評価ツールの比較:LangSmith、Langfuse、Phoenix、Potato
LangSmith、Langfuse、Arize Phoenix、Braintrust、Opik、W&B Weave、Potato を、エージェントのトレースの人手レビューについて比較します。アノテーションキュー、ステップ単位のラベル、一致度、セルフホストをまとめました。
AI エージェントを評価するツールは 2 種類に分かれます。LangSmith、Langfuse、Arize Phoenix、Braintrust、Opik といったオブザーバビリティ基盤は、本番環境でエージェントをトレースし、レビュアーが実行やスパンにスコアを付けられるようにします。Potato のようなアノテーションツールは、人による調査を出発点にしています。1 本のトレースに複数のレビュアーが付き、各ステップにラベルを付け、レビュアー同士の一致度を測ります。 両者は組み合わせて使えます。トレースは今の場所で続け、判定したい実行を書き出し、調査はアノテーションツールで行います。
エージェントのトレース(軌跡)には、エージェントが取った各ステップが記録されます。推論の内容、呼び出したツール、その戻り値です。人による評価では、実行全体にスコアを付けることも、ステップごとにラベルを付けることも、二つの実行を並べて比べることもできます。LLM-as-a-Judge はトレースを自動で採点しますが、それを検証するための人手のラベルが必要です。AI エージェントの評価方法を参照してください。
このページはエージェントと LLM の評価を扱います。すべてのデータの種類を 1 ページで比べたものは AI アノテーションツールの比較にあります。
比較する価値のあるエージェント評価ツールは?
| ツール | 目的 | 人手レビュー |
|---|---|---|
| LangSmith | LangChain と LangGraph のアプリケーションのトレースと評価 | ルーブリック付きフィードバックのアノテーションキュー、実行ごとに複数のレビュアー、ペア比較のキュー |
| Langfuse | オープンソースのトレース、プロンプト管理、評価 | アノテーションキューと、カテゴリ型または数値型のスコア設定 |
| Arize Phoenix | トレースと評価 | 人、LLM、コードからのカテゴリ型・連続値・自由記述のフィードバック用のアノテーション設定 |
| Braintrust | 評価とログ | 人手レビューのスコア:カテゴリ型、連続値、自由記述 |
| Comet Opik | オープンソースのトレースと評価 | 分野の専門家とリンクで共有できるアノテーションキュー |
| W&B Weave | トレースと評価 | UI または API で作成する人手アノテーション用スコアラー |
| Label Studio | 汎用のアノテーション | ステップ単位のレビューのため、LangGraph、CrewAI、AutoGen のトレースを取り込む |
| Potato | 人によるアノテーション調査 | エラー分類付きのステップ単位ラベル、マルチエージェントのグラフ、ペア比較、レビュアー間の一致度 |
私たちの機能比較表に含まれるツールのセルフホストと価格:
| セルフホスト | 価格 | |
|---|---|---|
| LangSmith | Enterprise プランのみ | 1 シート月額 39 ドル |
| Langfuse | 無料(MIT) | セルフホストなら無料 |
| Comet Opik | 無料(Apache-2.0) | セルフホストなら無料 |
| Galileo | Enterprise 契約 | 月額 100 ドル |
| Potato | 無料(GPL-3.0) | 無料 |
各プラットフォームは人手のスコアをどう扱うか
LangSmith のアノテーションキューは、ルーブリックのフィードバックキー、実行ごとのレビュアー数の設定、ペア比較のキュー、互いのフィードバックが見えないレビュアーに対応しています。
Langfuse はスコア設定でスコアを定義し、アノテーションキューを通じてトレース、観測、セッションをレビュアーに振り分けます。コミュニティフォーラムでは 2025 年 11 月に、1 本のキューの中で 2 人が同じトレースを独立にアノテーションすることはまだできない、という報告がありました。そこで議論された回避策は、アノテーターごとに別々のスコア設定を用意することです(ディスカッション #4348)。Langfuse は、人のスコアと LLM ジャッジのスコアの間の Cohen の κ を、一度に 2 系列ずつ計算できます。
Arize Phoenix は、人、LLM、コードによるアノテーションに共通の構造を持たせ、アノテーション設定でレビュー間のラベルを一貫させます。アノテーション済みのスパンはデータセットに書き出して、実験に使ったり、人の判断に沿った評価器を作ったりできます。
Braintrust は、ログと実験に人手レビューのスコアを付けます。ドキュメントには、一部のレビュアーからスコアを隠すのはレビュー画面を整理するためで、アクセス制御ではない、と書かれています。どのレビュアーでもすべてのスコアを表示できるからです。
Comet Opik は、トレースやスレッドをアノテーションキューに入れ、分野の専門家とリンクで共有できます。レビュー画面は技術者でないレビュアー向けに作られています。
W&B Weave は、UI または API で作成する人手アノテーション用スコアラーで、人のフィードバックを記録します。
2026 年 8 月と 9 月に確認した範囲では、LangSmith、Langfuse、Phoenix、Braintrust、Opik のアノテーション関連ドキュメントに、人間のレビュアー同士の一致度の統計は見つかりませんでした。いずれも人の判断をスコアとして集めています。Labelbox と Scale AI は、エージェント評価用のデータをマネージドサービスとして販売しています。これはレビュアーも含めて提供されるので、別種の購入です。
Potato が違う点
- 多くのフレームワークのトレースに対応。 変換器は 15 形式を読み込みます。ReAct、OpenAI、Anthropic、LangChain(LangSmith の書き出しを含む)、Langfuse、CrewAI・AutoGen・LangGraph のマルチエージェントのログ、SWE-bench、SWE-Agent、Claude Code、Aider、WebArena、Mind2Web などのブラウザ記録、MCP、OpenTelemetry、ATIF です。
- ステップごとのラベル。
trajectory_evalスキームは、各ステップが正しかったか、階層的な分類から選んだエラーの種類、重大度、累積スコアを記録します。同じラベルがプロセス報酬モデルの学習データになります。 - マルチエージェントの構造。 レビュアーは相互作用グラフを編集し、クリティカルパスに印を付け、失敗をエージェントとステップに帰属させ、引き継ぎをレビューします。Langfuse の Agent Graphs はマルチエージェントの実行をデバッグ用のグラフとして表示しますが、レビュアーがそこにアノテーションすることはできません。マルチエージェントシステムの評価方法を参照してください。
- レビュアー間の一致度。 各トレースを、互いのラベルが見えない複数のレビュアーに割り当て、アノテーター間一致度を報告できます。ジャッジのキャリブレーションでは、LLM ジャッジを盲検の人手ラベルと比較します。LLM ジャッジと人間のアノテーターの一致度を測る方法を参照してください。
- コーディングエージェントとコンピュータ操作エージェント。 シンタックスハイライト付きのユニファイド diff、ターミナル出力、行に紐づいたレビューコメントを表示します。コンピュータ操作の実行では、クリック位置付きのスクリーンショットを表示します。コーディングエージェントの評価とコンピュータ操作エージェントの評価を参照してください。
トレースを Potato に取り込む
オブザーバビリティツールからレビューしたい実行を書き出し、変換します。
python -m potato.trace_converter \
--input langfuse_traces.json \
--output data/traces.jsonl \
--input-format langfuseLangSmith の実行の書き出しには --input-format langchain を使います。フレームワークが一覧にない場合は、--auto-detect がフィールド名から変換器を選びます。
Potato でのステップ単位のレビュータスク
annotation_schemes:
- annotation_type: trajectory_eval
name: step_evaluation
description: "Evaluate each step for correctness and mark any errors."
steps_key: steps
error_types:
- {name: reasoning, subtypes: [logical_error, factual_error, planning_error]}
- {name: execution, subtypes: [wrong_tool, wrong_args, api_error]}
severities:
- {name: minor, weight: -1}
- {name: major, weight: -5}
show_score: trueエラー分類の設計についてはエージェントの軌跡のアノテーションを参照してください。
エージェントで Potato ができないこと
- 本番監視サービスではありません。 OpenTelemetry に書き出せるトレース用 SDK はありますが、ホスティングされたクラウドや、本番トラフィックのレイテンシとコストのためのダッシュボードはありません。セルフホスト専用です。
- レビュアーの提供はありません。 自分で集めるか、Prolific で募集してください。
よくある質問
人手レビューについて、LangSmith と Langfuse の違いは?
どちらもアノテーションキューを通じて、トレースやスパンに人のスコアを付けます。LangSmith はプロプライエタリで、Enterprise プランならセルフホストでき、実行ごとの複数レビュアーとペア比較のキューに対応しています。Langfuse は MIT ライセンスで無料でセルフホストできますが、フォーラムでは、1 本のキューの中で 2 人が同じトレースを独立に採点することはまだできない、と報告されています。どちらも、人間のレビュアー同士の一致度の統計はドキュメントに記載していません。
エージェント評価で LangSmith のオープンソースの代替はありますか?
トレースと採点なら、Langfuse(MIT)と Comet Opik(Apache-2.0)がオープンソースで、無料でセルフホストできます。1 本のトレースに複数のレビュアーが付き、ステップ単位のラベルと一致度を扱う人による評価調査なら、Potato がオープンソースで無料です。Potato は LangSmith と Langfuse の書き出しを読み込めるので、どちらとも併用できます。
エージェントのトレースについて、人間のレビュアー同士の一致度はどう測りますか?
各トレースを、互いのラベルが見えない 2 人以上のレビュアーに割り当て、質問ごとに、2 人なら Cohen の κ、3 人以上なら Krippendorff の α を計算します。ステップ単位のラベルでは、先にステップを対応づける必要があります。係数の選び方はアノテーター間一致度の解説で扱っています。
LangSmith や Langfuse のトレースを Potato で使えますか?
はい。python -m potato.trace_converter は、LangSmith の実行の書き出しを --input-format langchain で、Langfuse の書き出しを --input-format langfuse で変換します。本番のトレースは今の場所に残し、判定したいトレースだけを Potato に取り込めます。