この記事についてClaude(Anthropic)との共同編集により作成されました。
要約
- 生成AIアプリの評価は、正確さや RAG の忠実性を見る品質評価と、ジェイルブレイクや情報漏洩を探すレッドチーミングの2系統に分かれる。DeepEval が前者、DeepTeam が後者を担当する
- DeepEval は pytest に載る評価ライブラリで、メトリクスは50種以上。RAG・エージェント・会話・MCP・音声まで揃い、OSS では最も幅が広い。弱点は LLM-as-judge のコストとスコアの揺れ、そして破壊的変更の多さ(4.2.0 でスコアの向きが反転した)
- DeepTeam は Python のコールバック1つでアプリをつなげるレッドチーミングツールで、OWASP LLM Top 10 や EU AI Act のプリセットがある。ただしドキュメントとコードの食い違いが目立ち、既定のモデルすらずれている
- 代替は、品質評価なら promptfoo・Langfuse・Opik・Ragas・Inspect AI など、レッドチーミングなら promptfoo・PyRIT・garak・Giskard など。DeepEval / DeepTeam には本番監視の機能がないので、本番は Langfuse か Opik と組み合わせるのが現実的
- 代替を探していて一番驚いたのは業界再編の激しさ。promptfoo は OpenAI が買収、Langfuse は ClickHouse が買収、Arize は Dynatrace が買収予定、Galileo は Cisco へ、OpenAI Evals は 2026-11-30 に停止する。ツールを選ぶときは機能だけでなく「誰の傘下か、ベンダー中立のまま続くか」を確認したい
- 調査の外の思いつきとして、ジャッジのコストはローカルLLMで削れるかもしれない。DGX Spark のような機材がすでにある企業なら、オープンなフロンティアモデルをジャッジにすれば API 代が浮き、ジャッジの固定とデータの社内完結もついてくる。ただしキャリブレーションは必須
はじめに
『生成AIアプリケーション評価入門』(松木晋祐、技術評論社)を読んだ。混同行列や BLEU / ROUGE といった従来の評価指標から入って、ISO/IEC 25059 の品質モデル、OWASP LLM Top 10、そして実践編として DeepEval と DeepTeam を使った評価とレッドチーミングまでを扱う本だった。体系的な入門書として読みやすく、分厚くもないので、評価の全体像をつかむにはちょうどよかった。
※Amazon アソシエイトのリンクを含みます
本を読み終えて、2つ気になった。1つは、DeepEval と DeepTeam が実際にどこまでできて、どこに弱点があるのか。もう1つは、他に選択肢はないのか。評価ツールが DeepEval だけということはないはずで、比べてみないと DeepEval の立ち位置もわからない。
そこで、DeepEval と DeepTeam を公式ドキュメントと配布パッケージのソースコードで深掘りし、そのうえで代替ツールを探索した。探していくと、ツールの機能差よりも先に、この業界が2026年にものすごい勢いで再編されていることが目に入ってきた。主要ツールの半分くらいが、この1年で買収されたか、サービスを畳んだか、開発が止まっている。
なお、DeepEval / DeepTeam は手元で動かしていない。本と、公式ドキュメント・PyPI・GitHub・ソースコードから調べた段階のまとめである。バージョン・Star 数・価格はすべて 2026-10-05 時点の値。
評価は2系統に分かれる
最初に整理しておくと、生成AIアプリの「評価」は大きく2つに分かれる。本でも DeepEval と DeepTeam を別の章で扱っていた。
| 軸 | 何を見るか | 担当 | 主な競合 |
|---|---|---|---|
| 品質評価(Eval) | 正確さ・忠実性・RAG の検索品質・エージェントのタスク達成など | DeepEval | Ragas, promptfoo, Langfuse, LangSmith, Opik, MLflow, Braintrust, Inspect AI, 各クラウドの評価サービス |
| 安全性評価(Red Teaming) | ジェイルブレイク・プロンプトインジェクション・情報漏洩・過剰な権限行使など | DeepTeam | promptfoo, PyRIT, garak, Giskard, 商用(Prisma AIRS, Lakera) |
どちらも Confident AI という同じ会社の OSS で、DeepTeam は実行時に DeepEval に依存している。以下、まず2つを深掘りしてから、それぞれの代替を見ていく。
DeepEval を深掘りする
概要
| 項目 | 内容 |
|---|---|
| 開発元 | Confident AI |
| 位置づけ | 「LLM アプリ向けの Pytest」。メトリクスはローカルで実行される1 |
| ライセンス | Apache-2.02 |
| 最新版 | Python 4.2.8(2026-10-02)。Python 3.9 以上2。TypeScript SDK もある |
| GitHub | 約 18.6k stars、リリースはほぼ毎週13 |
2026-05 の 4.0 では、Claude Code / Cursor / Codex といったコーディングエージェント向けの評価ハーネスが入った3。評価対象が「チャットボット」から「エージェント」に移ってきているのが、ツールの側からも見える。
基本の使い方
中心になる概念は少ない45。
- LLMTestCase:1往復の入出力。
input、actual_output、expected_output、retrieval_context、tools_calledなどを持つ - ConversationalTestCase:マルチターン会話。
ConversationSimulatorで会話を自動生成できる - Golden / EvaluationDataset:期待値だけを持つテストデータ。実行時にアプリを動かして出力を埋める
evaluate():スクリプトから評価する入口assert_test()とdeepeval test run:pytest に載せて CI で回す入口。並列実行(-n)、キャッシュ(-c)、繰り返し(-r)のフラグがある6@observe():トレースを取り、スパン単位やトレース全体にメトリクスを当てる
公式の書き方に沿うと、テストはこうなる(4.2.x 時点)。
# test_app.py → `deepeval test run test_app.py`from deepeval import assert_testfrom deepeval.metrics import GEval, AnswerRelevancyMetric, FaithfulnessMetricfrom deepeval.test_case import LLMTestCase, SingleTurnParams
correctness = GEval( name="Correctness", criteria="Determine if the 'actual output' is correct based on the 'expected output'.", evaluation_params=[SingleTurnParams.ACTUAL_OUTPUT, SingleTurnParams.EXPECTED_OUTPUT], threshold=0.5,)
def test_refund(): tc = LLMTestCase( input="What if these shoes don't fit?", actual_output="You have 30 days to get a full refund at no extra cost.", expected_output="We offer a 30-day full refund at no extra costs.", retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."], ) assert_test(tc, [correctness, AnswerRelevancyMetric(threshold=0.7), FaithfulnessMetric()])エージェントを評価するときは、トレースと組み合わせる。
from deepeval.tracing import observefrom deepeval.dataset import EvaluationDataset, Goldenfrom deepeval.metrics import TaskCompletionMetric
@observe()def agent(q): ...
ds = EvaluationDataset(goldens=[Golden(input="Plan a two-day trip to Paris")])for g in ds.evals_iterator(metrics=[TaskCompletionMetric()]): agent(g.input)評価がふつうのユニットテストと同じ顔をしているのが DeepEval のいちばんの特徴で、CI に組み込むときの心理的な壁が低い。
メトリクス
公式は「50+」とうたっている7。カテゴリ別に主なものを並べる。
| カテゴリ | メトリクス |
|---|---|
| 汎用・カスタム | G-Eval(評価基準を自然言語で書く)、DAG(決定木で判定手順を固定)、Arena G-Eval(ペア比較)、自作メトリクス |
| RAG | Answer Relevancy, Faithfulness, Contextual Precision / Recall / Relevancy |
| エージェント | Task Completion, Step Efficiency, Plan Adherence, Plan Quality(軌跡全体)/Tool Correctness, Argument Correctness(コンポーネント単位) |
| 会話 | Knowledge Retention, Role Adherence, Conversation Completeness, Turn Relevancy など |
| 安全性 | Bias, Toxicity, PII Leakage, Misuse, Non-Advice, Role Violation |
| MCP | MCP Task Completion, MCP Use, Multi-Turn MCP Use |
| マルチモーダル | 画像生成・画像編集の評価、音声エージェント向けメトリクス(4.1.10〜) |
| 非 LLM | JSON Correctness, Exact Match, Pattern Match |
| 分類器(4.2〜) | スコアではなくラベルを返す判定器。Refusal, Escalation, Prompt Injection, Data Leakage など8 |
仕組みについて押さえておくこと。
- ほぼすべてがLLM-as-judge。主張を抽出して1つずつ判定する QAG、G-Eval、DAG のいずれかの方式をとる
- スコアは 0〜1 で理由付き。閾値の既定は 0.5、
strict_mode=Trueで 0/1 判定になる - 4.2.0 で全メトリクスが「高いほど良い」に統一された。それ以前は Bias や Toxicity が逆向きだったので、古いコードの閾値は見直しが要る
- ジャッジの既定は OpenAI(4.2.8 では
gpt-5.4)。Anthropic、Bedrock、Gemini、Ollama、vLLM などのローカル OpenAI 互換サーバ、LiteLLM なども組み込みで、deepeval set-<provider>で切り替える1
ほかに、ドキュメントから評価データ(Golden)を作る合成データ生成、MMLU や GSM8K などのベンチマーク、GEPA / MIPROv2 によるプロンプト最適化、LangChain / LlamaIndex / OpenAI Agents SDK / Anthropic SDK などとの連携もある910。合成データについては、公式自身が「まず人手で整えたデータ、次に本番トラフィック、合成データは最後」の順を推奨しているのが誠実だと思った9。
データの扱いと有料クラウド
DeepEval 自体は無料だが、チームでのダッシュボード・オンライン評価・アノテーションは有料の Confident AI 側にある。価格は 2026-10-05 時点で次のとおり11。
| プラン | 月額 | 主な内容 |
|---|---|---|
| Free | $0 | 2席、1プロジェクト、テスト実行は週5回 |
| Starter | $200 | 席数無制限、5プロジェクト、オンライン評価、アノテーションキュー |
| Team | $2,000 | プロジェクト無制限、バージョン管理、RBAC、SSO |
| Enterprise | 個別見積 | オンプレ、データ所在地の指定(日本を含む)。レッドチーミングモジュールは「Enterprise++」 |
以前は1ユーザーあたり月 $19.99 からだったので、価格体系はかなり変わっている。
データの扱いで注意したいのは次の3点12。
deepeval loginやCONFIDENT_API_KEYを設定しない限り、評価データはクラウドに送られない- ただし匿名テレメトリは既定でオン(PostHog に送信)。
DEEPEVAL_TELEMETRY_OPT_OUT=1で止める - import 時に
.env/.env.localを自動で読み込む。CI ではDEEPEVAL_DISABLE_DOTENV=1を推奨
強みと弱み
強み:
- OSS で最も広いメトリクス群。エージェント・MCP・音声まで揃う
- 評価をコードとして書き、pytest でそのまま CI に載せられる
- ジャッジモデルの選択肢が多く、Ollama や vLLM でローカル完結もできる
- AWS の Bedrock AgentCore Evaluations に、サードパーティ評価器として DeepEval のメトリクスが採用されている13
弱み:
- コストと待ち時間。QAG 系は1ケースで何度もジャッジを呼ぶので、テスト件数が増えるとトークン代とレート制限が効いてくる14
- スコアが揺れる。ジャッジモデルが更新されるとスコアがずれるので、リリース判定に使う前に人手ラベルとの突き合わせが要る14
- API の変更が多い。
LLMTestCaseParamsからSingleTurnParamsへの改名、4.2.0 のスコア向き反転、DAG の刷新など。古いチュートリアルは動かないことが多い - 評価を書けるのはエンジニアだけ。チームでの共有・履歴・本番監視は有料側にある15
本で学んだコードが今のバージョンでそのまま動くとは限らない、というのは、本で入門した身としては覚えておきたい。
DeepTeam を深掘りする
概要
| 項目 | 内容 |
|---|---|
| 位置づけ | 「LLM のためのペネトレーションテスト」。攻撃を自動生成し、アプリの脆弱性を洗い出す16 |
| ライセンス | Apache-2.017 |
| 最新版 | 1.0.9(PyPI 2026-08-12)。Python 3.9 以上 3.14 未満17 |
| GitHub | 約 3.0k stars。2025-03 作成、初の安定版 1.0.0 は 2025-11-121617 |
| DeepEval との関係 | 別パッケージだが実行時に DeepEval に依存。モデル基盤やテストケース型を流用している18 |
GitHub の Releases は3件しかなく、v1.0.9 タグに 1.0.0 のリリースノートが付いている状態なので、バージョン情報は PyPI を正とするのがよい。
基本の使い方
from deepteam import red_teamfrom deepteam.vulnerabilities import Bias, PIILeakagefrom deepteam.attacks.single_turn import PromptInjection, ROT13from deepteam.attacks.multi_turn import LinearJailbreakingfrom deepteam.test_case import RTTurn
async def model_callback(input: str, turns: list[RTTurn] | None = None): reply = await my_app.generate(input) # 評価対象のアプリ return RTTurn(role="assistant", content=reply) # str を返すだけでもよい
ra = red_team( model_callback=model_callback, vulnerabilities=[Bias(types=["race", "gender"]), PIILeakage(types=["direct_disclosure"])], attacks=[PromptInjection(weight=2), ROT13(), LinearJailbreaking(num_turns=3)], simulator_model="gpt-4o-mini", evaluation_model="gpt-4o", attacks_per_vulnerability_type=2, target_purpose="Retail bank support bot",)print(ra.overview.to_df())ra.save(to="./results/")
# 規格プリセットで回す場合(vulnerabilities とは併用不可)# from deepteam.frameworks import OWASPTop10# red_team(model_callback=model_callback, framework=OWASPTop10(categories=["LLM_01"]))構成要素は4つ181920。
model_callback:対象アプリをつなぐ口。戻り値のRTTurnにretrieval_contextやtools_calledも入れられるので、RAG やツール呼び出しの文脈まで評価できる- 脆弱性(Vulnerability):サブタイプごとに専用の 0/1 判定ジャッジを持つ
- 攻撃(Attack):シングルターンはベース攻撃をエンコードしたり LLM で書き換えたりする。マルチターンは相手の応答を見ながら攻撃を練り直す
- RiskAssessment:脆弱性別・攻撃手法別の合格率と、各ケースの入出力・判定理由を返す。1.0.9 から CVSS 風のスコアも付く
ほかに、YAML で同じ内容を回す deepteam run config.yaml、ソースコードを LLM で静的スキャンして CI ゲートにできる deepteam scan --diff main..HEAD -f sarif(1.0.7〜)21、7種のガードレール22がある。
カバー範囲
1.0.9 のソースコードから数えると、組み込み脆弱性は36種+カスタム1種(サブタイプ計124)、攻撃はシングルターン22種+マルチターン5種だった。README の「50+ vulnerabilities」「20+ attacks」とは数え方が違う162319。
| 分類 | 主な脆弱性 |
|---|---|
| データ・プライバシー | PII Leakage, Prompt Leakage(シークレット・システムプロンプトの漏洩) |
| 責任あるAI | Bias, Toxicity, Child Protection, Ethics, Fairness |
| セキュリティ | BOLA, BFLA, RBAC, Shell Injection, SQL Injection, SSRF, Tool Metadata Poisoning, Cross-Context Retrieval |
| ビジネス | Misinformation, Intellectual Property, Competition, Hallucination |
| エージェント | Goal Theft, Recursive Hijacking, Excessive Agency, Indirect Instruction(RAG・ツール出力経由の注入), Tool Orchestration Abuse, Insecure Inter-Agent Communication など |
攻撃手法は、Base64 / ROT13 / Leetspeak といったエンコード系、Roleplay / Multilingual / Emotional Manipulation といった LLM 書き換え系、Permission Escalation / Goal Redirection などのエージェント向け、Linear / Tree / Crescendo Jailbreaking などのマルチターン系がある。
規格プリセットは次の6種類24。本で OWASP LLM Top 10 を学んだあとだと、これがそのままテスト設定になるのはありがたい。
| クラス | 内容 |
|---|---|
OWASPTop10 | OWASP Top 10 for LLM 2025(LLM01〜10) |
OWASP_ASI_2026 | OWASP Top 10 for Agentic Applications 2026(ASI01〜10) |
NIST | NIST AI RMF のうち Measure 機能(M.1〜M.4)のみ |
MITRE | MITRE ATLAS の6戦術 |
EUAIAct | EU AI Act の第5条(禁止行為)と附属書 III(高リスク領域)。1.0.7 で追加されたが README には未記載 |
Aegis / BeaverTails | 実データセットのプロンプトを使う(合成攻撃ではない) |
注意点:ドキュメントとコードが食い違っている
DeepTeam で一番気になったのはここ。
red_team()の既定モデルは、コード上では simulator・evaluator ともgpt-4o-mini、ignore_errors=True。ところがドキュメントにはgpt-3.5-turbo-0125/gpt-4o、Falseと書かれている- ドキュメントの例にある
MITREATLASというクラスは、コードに存在しない(実際はMITRE) - EU AI Act プリセットは README に書かれていないので、README を見て書かれた他の比較記事では「なし」とされている
実際の挙動はソースで確かめるのが安全で、本の内容と食い違ったときも、まずソースを見るのがよさそう。
ほかの注意点。
- テキストのみ。画像・音声を使ったマルチモーダル攻撃はない
- シミュレータに賢すぎるモデルを使うと、そのモデル自身の安全フィルタが効いて攻撃を生成しにくくなる(公式の注意書き)18
- コストはおおむね「脆弱性タイプ数 × 攻撃数 ×(攻撃生成 + 対象呼び出し + 判定)」。
run_all_attacks=Trueで全組み合わせを回すと件数が一気に増える - テレメトリ(Sentry と PostHog)は既定でオン。
DEEPTEAM_TELEMETRY_OPT_OUT=YESとDEEPEVAL_TELEMETRY_OPT_OUT=YESの両方を設定する25 - ガードレールはすべて LLM-as-judge で、ガードごとに LLM 呼び出しが走る。本番の遅延とコストに注意22
他に何がある? 品質評価の代替
ここから探索編。まず DeepEval の代替になる品質評価ツールを並べる。
| ツール | 形態・ライセンス | Stars | 主眼 | 本番オンライン評価 | セルフホスト・価格 |
|---|---|---|---|---|---|
| DeepEval1 | OSS ライブラリ, Apache-2.0 | 18.6k | pytest 型のユニットテスト | 有料 SaaS で | ライブラリは無料、SaaS $0〜$2,000/月 |
| Ragas26 | OSS ライブラリ, Apache-2.0 | 15.9k | RAG メトリクスとテストセット生成 | なし | 無料。開発停滞 |
| promptfoo27 | OSS CLI, MIT(OpenAI 傘下) | 25.7k | プロンプト・モデルの回帰テスト、モデル比較、レッドチーム | Enterprise | 無料、Enterprise は個別 |
| Inspect AI28 | OSS, MIT(英国 AISI) | 2.9k | モデル・エージェントのベンチマーク | なし | 無料 |
| LangSmith29 | SaaS(SDK は MIT) | — | トレース+評価+実験 | あり | $0、$39/席。セルフホストは Enterprise のみ |
| Langfuse30 | OSS プラットフォーム, MIT | 35.4k | 可観測性+評価 | あり | セルフホスト無料、Cloud $0〜$2,499/月、東京リージョンあり |
| Arize Phoenix31 | ソース公開(ELv2) | 11.7k | OTel トレース+評価 | 2026-07 から | セルフホスト無料 |
| TruLens32 | OSS, MIT(Snowflake) | 3.6k | RAG Triad、エージェント評価 | ライブラリ内 | 無料 |
| MLflow GenAI33 | OSS プラットフォーム, Apache-2.0 | 28.3k | ML ライフサイクルの一部として評価 | あり | 無料、Databricks は有料 |
| Opik34 | OSS プラットフォーム, Apache-2.0 | 22.4k | 可観測性+評価+プロンプト最適化 | あり | セルフホスト無料、Cloud $0 / $19〜 |
| Braintrust35 | SaaS(SDK は MIT) | — | 実験比較の UX、本番ログ | あり | $0 / $249 |
| Evidently36 | OSS, Apache-2.0 | 8.0k | ML のドリフト監視+LLM 評価 | セルフホストで | 無料。Cloud は終了 |
3大クラウドにもマネージドの評価サービスがある(AWS Bedrock / AgentCore Evaluations、Azure Foundry Evaluation、Google Gen AI Evaluation)373839。OpenAI Evals は API が 2026-11-30 に停止するので表から外した40。
主要なものを、DeepEval との関係で見ていく。
- Ragas:RAG メトリクスの共通語彙になったライブラリで、Langfuse・MLflow・Braintrust などが Ragas のメトリクスを取り込んでいる。ただ 2026-01 以降リリースがなく、リポジトリも移転した26。単独で依存するのはリスクがある
- promptfoo:YAML で「プロンプト × モデル × テストケース」を回す設定駆動のツール。評価とレッドチームを1つでこなせるので、DeepEval + DeepTeam に最も近い競合。Node.js 前提27
- Inspect AI:英国 AI Security Institute 製。サンドボックスでエージェントを走らせ、200以上のベンチマークが揃う2841。モデルやエージェントの能力・安全性を再現性高く測るのに向き、アプリの RAG 品質評価には向かない
- Langfuse:最大の OSS コミュニティを持つ可観測性プラットフォーム。2025-06 以降、LLM-as-judge・アノテーションキュー・実験を含む全機能が MIT になり、2026-04 に東京リージョンを開始した3042。セルフホストには ClickHouse・Postgres・Redis・S3 の運用が要る
- MLflow GenAI:
mlflow.genai.evaluate()の中で DeepEval・Ragas・Phoenix・TruLens のスコアラーをまとめて実行できるハブ的な存在43 - Opik:Apache-2.0 で機能が最も揃った OSS プラットフォーム。Cloud の有料プランも $19/月からと安い3444
- Braintrust:実験比較の UI と、PR にスコアをコメントしてマージをゲートする CI 連携の完成度が高い SaaS45
並べてみると、DeepEval は「開発時のユニットテスト」に強く、Langfuse・Opik・LangSmith・Braintrust は「本番のトレースと監視」に強い、という棲み分けが見えてくる。DeepEval の OSS 版には本番監視がないので、DeepEval と Langfuse / Opik は競合というより組み合わせる相手になる。
他に何がある? レッドチーミングの代替
次に DeepTeam の代替。
| ツール | 形態・ライセンス | Stars | マルチターン | エージェント・MCP | 規格プリセット | 価格 |
|---|---|---|---|---|---|---|
| DeepTeam16 | OSS, Apache-2.0 | 3.0k | あり(5種) | あり | OWASP LLM 2025 / Agentic 2026 / NIST / ATLAS / EU AI Act | 無料 |
| promptfoo46 | OSS, MIT(OpenAI 傘下) | 25.7k | あり(Crescendo, GOAT, Hydra など) | MCP・コーディングエージェントまで | 上記すべて+ISO 42001 / GDPR など | 無料(攻撃生成は月1万プローブまで)、Enterprise |
| PyRIT47 | OSS, MIT(Microsoft) | 4.6k | あり(Crescendo, PAIR, TAP) | XPIA, A2A | 個別のスコアラーのみ | 無料 |
| garak48 | OSS, Apache-2.0(NVIDIA) | 9.4k | あり(TAP, PAIR, GOAT) | agent_breaker | OWASP(2023年版の番号), EU AI Act | 無料・ローカル完結 |
| Giskard OSS v349 | OSS, Apache-2.0 | 5.9k | あり | Python callable | OWASP LLM 2025 のタグ | 無料、Hub は Enterprise |
| PurpleLlama / CyberSecEval 450 | OSS, MIT(Meta) | 4.4k | 限定的 | サイバー攻撃エージェント | MITRE ATT&CK | 無料 |
| Inspect + inspect_evals41 | OSS, MIT | 2.9k | あり | AgentDojo, AgentThreatBench | OWASP Agentic に対応 | 無料 |
DeepTeam との違いを一言ずつ。
- promptfoo:カバー範囲(プラグイン157種)、規格対応、CI・Web UI の成熟度はいずれも promptfoo が上46。ただし高度な攻撃生成は既定で promptfoo(現 OpenAI)のリモート推論を使い、無料版は月1万プローブの上限がある51。データを外に出したくない、Python で完結させたい、特定ベンダーに寄せたくない場合は DeepTeam が候補になる
- PyRIT:専門家が手で攻撃キャンペーンを組むためのツールキット。マルチモーダルや高度なマルチターン攻撃に強いが、規格プリセットはなく、書く量が多い47。DeepTeam は「すぐ回せる」のが強み
- garak:「LLM 版の Nmap」で、静的なプローブを大量に持ち、モデル単体の監査に強い48。RAG の文脈やツール呼び出しを含むアプリ単位の評価は DeepTeam のほうが向いている
- Giskard v3:品質評価とセキュリティスキャンを1つで扱い、スキャンの生成器として DeepTeam と garak を呼び出せる49。2026-08 にエージェント向けに全面書き直しされたばかり
探していたら、業界が再編だらけだった
代替ツールを1つずつ調べていくと、「このツールは今どこの会社のものか」が毎回変わっていることに気づいた。並べるとこうなる。
| 出来事 | 時期 | 影響 |
|---|---|---|
| OpenAI が promptfoo を買収52 | 2026-03-09 発表 | MIT ライセンスは維持と明言27。ベンダー中立性は今後の注視点 |
| OpenAI Evals(ダッシュボードと API)の廃止40 | 2026-10-31 読み取り専用、2026-11-30 停止 | 公式の移行先は promptfoo53 |
| ClickHouse が Langfuse を買収54 | 2026-01-16 | ライセンス変更の予定はないとの表明あり |
| Dynatrace が Arize AI を買収55 | 2026-08-13 契約 | Phoenix の扱いはプレスリリースに記載なし |
| Cisco が Galileo を買収56 | 2026-04 発表 | 製品名は Splunk Agent Observability に |
| W&B が CoreWeave 傘下に57 | 2025-05 完了 | Weave の後継として CoreWeave Agent Lens が案内されている |
| Evidently Cloud(SaaS)終了36 | 時期は未確認 | OSS とセルフホストは継続 |
| Ragas のリポジトリが移転26 | — | 最終リリースは 0.4.3(2026-01-13) |
| Check Point が Lakera を買収58、Palo Alto が Protect AI を買収59 | 2025 | ガードレール・レッドチーム製品が大手セキュリティベンダーに統合 |
| LLM Guard(Protect AI)がアーカイブ60 | — | 新規採用は不可 |
| Guardrails AI チームが Harvey に参加61 | 2026-09-09 発表 | OSS の今後は不明。ホスト型推論は 2026-08-25 に終了 |
| Giskard OSS v3 リリース49 | 2026-08-26 | エージェント向けに全面書き直し。v2 はメンテナンス終了 |
1年のあいだに、品質評価・可観測性・レッドチーム・ガードレールのどの分野でも、主要プレイヤーが買収されるか畳まれるかしている。とくに印象に残ったのは3つ。
1つ目は、OpenAI が自社の評価サービス(OpenAI Evals)を畳み、移行先として買収した promptfoo を案内していること4053。モデルを作る会社が、モデルを評価するツールを持つ形になった。promptfoo は OpenAI 以外のモデルも横並びで比べられるツールなので、その中立性がこの先どうなるかは見ておきたい。
2つ目は、可観測性の OSS がデータ基盤・監視の大手に吸収されていること。Langfuse は ClickHouse(Langfuse 自身がバックエンドに使っている DB の会社)へ、Arize は Dynatrace へ、Galileo は Cisco(Splunk)へ。LLM のトレースは、既存の監視基盤の一機能になりつつある。
3つ目は、防御側(ガードレール)の入れ替わり。レッドチームで見つけた穴を本番で塞ぐ側のツールも、こうなっている。
| ツール | 状況 |
|---|---|
| NVIDIA NeMo Guardrails62 | 活発(0.24.1、2026-09)。garak と組み合わせる前提のドキュメントあり |
| DeepTeam Guardrails22 | 7種の LLM 判定ガード。手軽だが、ガードごとに LLM 呼び出しが増える |
| Meta LlamaFirewall50 | PyPI の最終リリースが 2025-05。継続性が不明 |
| Guardrails AI61 | チームが Harvey に移り、ホスト型推論は終了 |
| LLM Guard60 | アーカイブ済み |
本で学んだツールの外側を見に行ったら、地面ごと動いていた、という感覚だった。半年後にはこの表もまた変わっているはずで、記事に書いた状況も 2026-10 時点のスナップショットとして読んでほしい。
用途別のおすすめ
調査資料の推奨をまとめると、こうなる。
| やりたいこと | 第一候補 | 補足・代替 |
|---|---|---|
| Python アプリの評価を CI に組み込む | DeepEval | YAML で複数モデルを並べたいなら promptfoo |
| RAG の品質評価 | DeepEval の RAG メトリクス | Ragas(停滞に注意)、TruLens、MLflow で複数ライブラリを併用 |
| エージェントの軌跡評価 | DeepEval(トレース+Task Completion など) | LangGraph なら LangSmith、AWS なら AgentCore Evaluations |
| 本番の可観測性+オンライン評価 | Langfuse(セルフホストまたは東京リージョン) | Opik(安い・Apache-2.0)、LangSmith(LangChain 利用時) |
| アプリ・エージェントのレッドチーム(Python) | DeepTeam | 静的プローブの網羅には garak を併用 |
| 規格準拠レポート付きのレッドチーム | promptfoo | OpenAI 傘下・リモート生成が気になるなら DeepTeam |
| 専門家主導・マルチモーダルの攻撃検証 | PyRIT | Azure なら AI Red Teaming Agent63 |
| モデル選定のためのベンチマーク | Inspect AI + inspect_evals | 日本語は llm-jp-eval、Nejumi Leaderboard など64 |
| 本番のガードレール | NeMo Guardrails | 軽量に済ませるなら DeepTeam Guardrails |
DeepEval と DeepTeam を軸に、OSS だけで組むならこういう構成になる。
開発時 : DeepEval(pytest で回帰テスト、PR ごとに実行)リリース前: DeepTeam(OWASP LLM / Agentic プリセットで red_team、deepteam scan で差分コードを確認) + garak(モデル・エンドポイント単位の静的プローブ)本番 : Langfuse(トレース、オンライン評価、アノテーション) + NeMo Guardrails または DeepTeam Guardrails集約 : 本番トレースから Golden を作り、DeepEval のデータセットへ戻すConfident AI に課金すれば開発・本番・レッドチームを1つの画面で見られるが、Starter でも月 $200、レッドチーミングモジュールは Enterprise++ になる11。OSS で組むなら、本番側を Langfuse か Opik に任せるのが費用面で無理がない。
日本語で使うときの注意
- ジャッジのプロンプトはほぼ英語前提。どのツールも日本語で動くが、判定の質は公式には検証されていない。Ragas は
adapt()でプロンプトを対象言語に合わせられ65、DeepEval は G-Eval の評価基準を日本語で書くか、DAG で判定手順を固定する方法がとれる。いずれにしても、日本語の人手ラベル数十〜数百件でジャッジとの一致率を確かめてから閾値を決めたい - クラウドの安全性評価は英語向け。Azure Foundry の安全性評価器は日本リージョンで使えず、英語での利用が最適とされている66
- データを日本で完結させたい場合の選択肢は、Langfuse Cloud Japan(東京)42、AWS AgentCore Evaluations(東京)38、Azure の評価(東日本・西日本、安全性評価器は除く)66、Confident AI Enterprise11。LangSmith は APAC でもシドニーで、日本リージョンはない67
- レッドチームの攻撃文は英語中心。DeepTeam の Multilingual 攻撃は言語を変えて防御をすり抜ける手法で、日本語アプリ向けの攻撃セットではない。日本語アプリでは CustomVulnerability や独自の攻撃プロンプトを足す必要がある
ジャッジをローカルLLMにすれば、APIコストを削れるかもしれない
ここからは調査資料の外の、自分の思いつき。
DeepEval の弱点の筆頭はジャッジのコストだった。QAG 系のメトリクスは1ケースで何度もジャッジを呼ぶので、費用は「テストケース数 × メトリクス数 × 1メトリクスあたりの呼び出し回数」で膨らむ。PR ごとに CI で回すなら、この掛け算が毎回走る。
一方で、ローカルLLMもかなり発展してきた。DeepEval はジャッジに Ollama や vLLM などのローカル OpenAI 互換サーバを使えるし、DeepTeam もモデル基盤を DeepEval から流用している。なので、DGX Spark のような機材をすでに持っている企業なら、ギリギリ動かせるレベルのオープンなフロンティアモデルをジャッジにすると、API コストを削れるかもしれない。
そう思う理由は3つある。
- 負荷の形が合っている。ジャッジの仕事は、検索コンテキストや回答を長めに読ませて、判定と短い理由を返させる形をしている。DGX Spark 2台で Qwen3.8 Flash Next を業務投入した記事で、コードレビューのように「長いプロンプトを読ませて短く返させる」仕事は、ローカルでも体感が速いと書いた。効いていたのは TTFT・プレフィル・並列時の集約スループットで、
deepeval test run -nで並列に投げる評価はまさにそこを使う - ジャッジを固定できる。API のジャッジはモデル更新でスコアがずれるのが弱点だった。ローカルの重みは自分で更新しない限り変わらないので、リリース判定の物差しとしてはむしろ安定するかもしれない
- データを外に出さずに済む。評価データには本番の入出力が混ざりがちで、外に出せないから評価自体をやれていなかった、というケースもありそう。これは業務投入記事で書いた「出せないから今までやれていなかった仕事」と同じ構図になる
ただし前提がある。DGX Spark 2台の損益を計算した記事のとおり、ハードを新しく買ってまで API 代を浮かせる話にはならない。成り立つのは、機材がすでにあって、空いている時間に評価を流せる場合だと思う。それから、ジャッジをオープンモデルに替えるなら、人手ラベルとの一致率を確かめるキャリブレーションは必須になる。もっとも、これは API のジャッジでも日本語で使うならどのみち必要な手順なので、追加の手間というより、どうせやる作業の対象が変わるだけとも言える。
導入するときのチェックリスト
- ジャッジモデルと費用の見積もり(テストケース数 × メトリクス数 × 1メトリクスあたりの呼び出し回数)
- ジャッジのキャリブレーション(人手ラベルとの一致率)と、ジャッジモデルを固定するかどうか
- テレメトリのオプトアウト(
DEEPEVAL_TELEMETRY_OPT_OUT、DEEPTEAM_TELEMETRY_OPT_OUT、RAGAS_DO_NOT_TRACKなど) - バージョンの固定。DeepEval は破壊的変更が多いので、CI では
deepeval==4.2.xのように固定する - DeepTeam は既定値をドキュメントではなくコードで確認する
- 使うツールの買収・サービス終了の状況(promptfoo、Langfuse、Phoenix、Weave、OpenAI Evals)
おわりに
本で DeepEval と DeepTeam を知り、深掘りしてから外を探索した。
深掘りしてわかったのは、DeepEval は Python で CI に評価を組み込むなら今でも第一候補で、メトリクスの幅は OSS で一番広いこと。DeepTeam は DeepEval ユーザー向けの手軽なレッドチーミングとして妥当で、OWASP や EU AI Act のプリセットがそのまま使えること。一方で、どちらも本番監視の機能は持たないので、本番まで含めるなら Langfuse か Opik と組み合わせるのが現実的になる。
探索してわかったのは、この分野が2026年に激しく再編されていること。promptfoo は OpenAI、Langfuse は ClickHouse、Arize は Dynatrace、Galileo は Cisco へ。OpenAI Evals は来月末に止まる。評価ツールを選ぶときは、機能の比較表に加えて「今は誰の傘下か、ベンダー中立のまま続きそうか」を必ず確認したい。もう1つ、ジャッジのコストについては、DGX Spark のような機材を持っている企業ならローカルのオープンモデルに任せる手もありそうで、これは今後試してみたい。DeepEval / DeepTeam も例外ではなく、Confident AI がこの先どうなるかは誰にもわからない。
入門書で地図をもらって、外に出たら地形が毎月変わっていた。地図は捨てずに、現在地だけこまめに確かめるのがよさそうだ。
参考文献
- DeepEval GitHub https://github.com/confident-ai/deepeval
- DeepEval PyPI https://pypi.org/project/deepeval/
- DeepEval Releases https://github.com/confident-ai/deepeval/releases
- DeepEval Test Cases https://deepeval.com/docs/evaluation-test-cases
- DeepEval LLM Tracing https://deepeval.com/docs/evaluation-llm-tracing
- DeepEval Unit Testing in CI/CD https://deepeval.com/docs/evaluation-unit-testing-in-ci-cd
- DeepEval Metrics Introduction https://deepeval.com/docs/metrics-introduction
- DeepEval Classifiers https://deepeval.com/docs/classifiers-introduction
- DeepEval Synthetic Data Generation https://deepeval.com/docs/synthetic-data-generation-introduction
- DeepEval Integrations https://deepeval.com/integrations
- Confident AI Pricing https://www.confident-ai.com/pricing
- DeepEval Data Privacy https://deepeval.com/docs/data-privacy
- AgentCore Third-party Evaluators https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/third-party-evaluators.html
- Rubin Lake Technology Radar: DeepEval https://www.rubinlake.com/en/technology-radar/data-platforms-and-mlops/deepeval
- PromptLayer: DeepEval Review https://www.promptlayer.com/blog/deepeval-review-what-it-is-and-the-best-alternatives-in-2026/
- DeepTeam GitHub https://github.com/confident-ai/deepteam
- DeepTeam PyPI https://pypi.org/project/deepteam/
- DeepTeam Red Teaming Introduction https://www.trydeepteam.com/docs/red-teaming-introduction
- DeepTeam Adversarial Attacks https://www.trydeepteam.com/docs/red-teaming-adversarial-attacks
- DeepTeam Risk Assessment https://www.trydeepteam.com/docs/red-teaming-risk-assessment
- DeepTeam Code Scanning https://www.trydeepteam.com/docs/code-scanning-introduction
- DeepTeam Guardrails https://www.trydeepteam.com/docs/guardrails-introduction
- DeepTeam Vulnerabilities https://www.trydeepteam.com/docs/red-teaming-vulnerabilities
- DeepTeam Frameworks https://www.trydeepteam.com/docs/frameworks-introduction
- DeepTeam Data Privacy https://www.trydeepteam.com/docs/data-privacy
- Ragas GitHub https://github.com/vibrantlabsai/ragas
- promptfoo GitHub https://github.com/promptfoo/promptfoo
- Inspect AI GitHub https://github.com/UKGovernmentBEIS/inspect_ai
- LangSmith Pricing https://www.langchain.com/pricing
- Langfuse Pricing https://langfuse.com/pricing
- Arize Phoenix License https://arize.com/docs/phoenix/self-hosting/license
- TruLens GitHub https://github.com/truera/trulens
- MLflow GenAI Evaluation https://mlflow.org/docs/latest/genai/eval-monitor/
- Opik GitHub https://github.com/comet-ml/opik
- Braintrust Pricing https://www.braintrust.dev/pricing
- Evidently OSS vs Cloud https://docs.evidentlyai.com/faq/oss_vs_cloud
- Agent and model evaluations in Gemini Enterprise Agent Platform are now GA https://developers.googleblog.com/agent-and-model-evaluations-in-gemini-enterprise-agent-platform-are-now-ga/
- AgentCore Evaluations GA https://aws.amazon.com/about-aws/whats-new/2026/03/agentcore-evaluations-generally-available
- Microsoft Foundry Built-in Evaluators https://learn.microsoft.com/en-us/azure/foundry/concepts/built-in-evaluators
- OpenAI API Deprecations https://developers.openai.com/api/docs/deprecations
- inspect_evals GitHub https://github.com/UKGovernmentBEIS/inspect_evals
- Langfuse Cloud Japan https://langfuse.com/blog/2026-04-27-langfuse-cloud-japan
- MLflow Third-party Scorers https://mlflow.org/blog/third-party-scorers/
- Comet Pricing https://www.comet.com/site/pricing/
- Braintrust Run in CI https://braintrust.dev/docs/evaluate/run-in-ci
- promptfoo Red Team Plugins https://www.promptfoo.dev/docs/red-team/plugins/
- PyRIT GitHub https://github.com/microsoft/PyRIT
- garak GitHub https://github.com/NVIDIA/garak
- Giskard OSS GitHub https://github.com/Giskard-AI/giskard-oss
- PurpleLlama GitHub https://github.com/meta-llama/PurpleLlama
- promptfoo Pricing https://www.promptfoo.dev/pricing/
- OpenAI to acquire Promptfoo https://openai.com/index/openai-to-acquire-promptfoo/
- Moving from OpenAI Evals to promptfoo https://developers.openai.com/cookbook/examples/evaluation/moving-from-openai-evals-to-promptfoo
- Langfuse joins ClickHouse https://langfuse.com/blog/announcing-acquisition
- Dynatrace to acquire Arize https://www.dynatrace.com/news/press-release/dynatrace-to-acquire-arize/
- Splunk / Galileo https://www.splunk.com/en_us/about-splunk/acquisitions/galileo.html
- CoreWeave completes acquisition of Weights & Biases https://coreweave.com/blog/coreweave-completes-acquisition-of-weights-biases
- Check Point acquires Lakera https://www.checkpoint.com/press-releases/check-point-acquires-lakera/
- Palo Alto Networks completes acquisition of Protect AI https://www.paloaltonetworks.com/company/press/2025/palo-alto-networks-completes-acquisition-of-protect-ai
- LLM Guard GitHub https://github.com/protectai/llm-guard
- Guardrails AI joins Harvey https://www.harvey.ai/blog/guardrails-ai-joins-harvey
- NeMo Guardrails GitHub https://github.com/NVIDIA-NeMo/Guardrails
- Azure AI Red Teaming Agent https://learn.microsoft.com/azure/ai-foundry/concepts/ai-red-teaming-agent
- Nejumi LLM Leaderboard https://nejumi.ai
- Ragas Metrics Language Adaptation https://docs.ragas.io/en/stable/howtos/customizations/metrics/metrics_language_adaptation/
- Microsoft Foundry Evaluation Regions and Limits https://learn.microsoft.com/en-us/azure/foundry/concepts/evaluation-regions-limits-virtual-network
- LangSmith Regions FAQ https://docs.langchain.com/langsmith/regions-faq