2026年3月,OpenAI收购Promptfoo的消息像一颗深水炸弹,把"Agent评测"从幕后推到了台前。当自主智能体从实验demo走向生产流水线,评测不再是一个工具的事——它分裂成了三层完全不同的栈:CI层的快速回归、实验层的A/B对比、生产层的在线监控。问题在于,市面上没有一个平台同时做好三层。六个主流评测引擎——DeepEval、LangSmith、Braintrust、Langfuse、AgentEvals、Patronus AI——正在各自占据不同的部署形态,选错栈的代价不是多花几美元,而是在模型更新后用一周时间才能发现你的Agent已经悄悄变蠢。
graph TB
subgraph "Agent评测三栈架构"
CI["CI栈<br/>DeepEval / AgentEvals<br/>秒级回归 | Git审计"]
EXP["实验栈<br/>Braintrust / Langfuse<br/>A/B对比 | Prompt竞赛"]
PROD["生产栈<br/>LangSmith / Langfuse<br/>在线监控 | 漂移检测"]
end
CODE["代码提交"] --> CI
CI -->|通过| STAGING["预发环境"]
STAGING --> EXP
EXP -->|胜出| PROD
PROD -->|回归信号| CI
style CI fill:#4CAF50,color:#fff
style EXP fill:#2196F3,color:#fff
style PROD fill:#FF5722,color:#fff
2026年之前的Agent团队通常只选一个评测工具——这是致命错误。原因是三层评测的约束完全不同:
| 维度 | CI栈 | 实验栈 | 生产栈 |
|---|---|---|---|
| 速度要求 | <30秒/测试 | 分钟级可接受 | 实时/近实时 |
| 数据来源 | 黄金数据集 | 实验数据集 | 真实流量采样 |
| 评判方式 | 自动化断言 | LLM-as-Judge | 人工+自动混合 |
| 成本敏感度 | 极低(每次运行<0.01美元) | 中等 | 高(持续运行) |
| 审计需求 | Git可追溯 | 实验日志 | 合规报告 |
| 失败后果 | 阻断部署 | 影响实验结论 | 影响线上用户 |
Agent评测领域的关键洞察来自agentmode.ai的AM-122报告:"四个可信的2026 Agent评测平台不是在能力排名上竞争,而是各自适配不同的部署形态。按能力矩阵采购会得到错误答案。"
定位:工程团队首选的CI栈评测引擎
DeepEval是2026年增长最快的开源Agent评测框架,GitHub星标超过18K。它的核心设计哲学是"评测即代码"——所有评测用例都是pytest测试,可以像普通单元测试一样在CI中运行。
架构原理:
DeepEval的评测体系建立在"LLM-as-Judge"范式之上,但做了关键的工程化封装。每个评测metric都是一个pytest fixture,支持断言语法:
from deepeval import assert_test
from deepeval.metrics import AnswerRelevancyMetric, ToolCorrectnessMetric
from deepeval.test_case import LLMTestCase, LLMTestCaseParams
# 定义Agent测试用例
def test_research_agent():
metric = AnswerRelevancyMetric(
threshold=0.7,
model="gpt-4o",
include_reason=True
)
tool_metric = ToolCorrectnessMetric(
threshold=0.8,
should_call_tools=["search", "scrape"]
)
test_case = LLMTestCase(
input="What are the latest AI agent frameworks?",
actual_output=agent.run("What are the latest AI agent frameworks?"),
expected_output="A summary covering LangGraph, CrewAI, AG2...",
tools_called=agent.get_tool_calls(),
expected_tools=["search", "scrape"]
)
assert_test(test_case, [metric, tool_metric])
核心优势: - pytest原生集成,零学习成本进入CI流水线 - 内置14种评测指标(AnswerRelevancy、Faithfulness、ToolCorrectness等) - 支持轨迹级评测(trajectory evaluation),验证Agent的工具选择序列 - 本地运行零API费用(使用本地Judge模型时) - Confident AI云平台提供可视化仪表盘
实战痛点: - LLM-as-Judge本身不稳定——同一个Judge模型在不同时间可能给出不同评分 - 轨迹评测需要手动定义"正确路径",对于开放式任务难以穷举 - 数据集管理较弱——黄金数据集的版本控制需要自己搭
变现/训练营评估:高。DeepEval的学习曲线平缓,"从0到Agent评测CI"的教程路线清晰,适合包装为"Agent质量工程"训练营的核心模块。目标学员:有Python基础的测试工程师、AI工程师。
定位:LangChain生态的观测评测一体化平台
LangSmith在2026年的定位已从"LLM可观测性工具"进化为"Agent引擎"。它不是纯粹的评测平台,而是把追踪(Tracing)、评测(Evaluation)和部署(Deploy)打包成统一栈。
架构原理:
LangSmith的核心差异化在于"trace-native eval"——所有评测都建立在完整的Agent执行轨迹之上:
from langsmith import Client
from langsmith.evaluation import evaluate
client = Client()
# 定义评测函数
def evaluate_agent(inputs: dict) -> dict:
result = my_agent.invoke(inputs["question"])
return {
"output": result["answer"],
"trajectory": result["intermediate_steps"],
"tool_calls": result["tool_calls"]
}
# 定义评判器
def trajectory_correctness(run, example):
"""检查Agent是否按正确顺序调用工具"""
expected_order = ["search", "scrape", "summarize"]
actual_order = [step["tool"] for step in run.outputs["trajectory"]]
# 检查核心工具是否被调用
used_correct = set(expected_order).issubset(set(actual_order))
return {"score": 1.0 if used_correct else 0.0}
# 运行评测
results = evaluate(
evaluate_agent,
data="my-agent-dataset",
evaluators=[trajectory_correctness],
experiment_prefix="agent-v2"
)
核心优势: - 与LangGraph/LangChain深度集成,Agent trace自动采集 - 内置Prompt Playground,支持可视化Prompt迭代 - 人类反馈循环(Human Feedback Loop)——在评测中直接标注 - 支持在线A/B测试,把评测结果连回部署决策 - 2026年新增的"Agent Deploy"功能,评测和部署在同一个平台
实战痛点: - 强绑定LangChain生态——非LangChain Agent的接入成本高 - 云版定价对高频评测不友好(按trace计费,大量评测会快速累积) - 自托管版部署复杂,依赖较多
变现/训练营评估:中高。LangSmith的受众主要是LangChain生态用户,市场已被LangChain官方培训覆盖。差异化机会在于"LangSmith生产级Agent评测流水线"的进阶课程。
定位:SaaS优先的评测基础设施
Braintrust在2026年以8亿美元估值成为评测赛道估值最高的独立公司(非LangChain系)。客户包括Notion、Stripe等。它的核心主张是"评测优先(Eval-First)"——把评测作为产品构建的原语而非附加功能。
架构原理:
Braintrust的架构围绕"实验(Experiment)"和"评分(Score)"两个原语构建:
import Braintrust from "braintrust";
const bt = new Braintrust();
// 创建实验
const experiment = await bt.experiment("agent-eval-v3");
// 定义评分函数
const toolAccuracyScore = {
name: "tool_accuracy",
scorer: async (input, output, expected) => {
const correctTools = expected.tools.filter(t =>
output.tools_called.includes(t)
).length;
return correctTools / expected.tools.length;
}
};
// 运行评测
const results = await experiment.evaluate({
task: async (input) => myAgent.run(input),
scores: [toolAccuracyScore],
dataset: "agent-golden-v2"
});
// 自动对比基线
await experiment.compare("agent-eval-v2");
核心优势: - 真正的SaaS原生体验——API设计简洁,5分钟上手 - 内置基线对比——每次评测自动与历史版本对比 - "Loop Agent"自动优化——2026年新增的自主Prompt优化功能 - 支持结构化评分(不依赖LLM-as-Judge时更稳定) - 原生支持TypeScript和Python双语言
实战痛点: - 纯SaaS,不支持自托管——对数据合规敏感的企业是硬伤 - 免费额度有限,大规模评测成本快速攀升 - 与LangChain生态没有原生集成,非LangChain项目接入反而更简单
变现/训练营评估:中。Braintrust更适合已有AI产品的团队做评测基础设施升级,不太适合"从零开始"的训练营场景。
定位:最成熟的开源Agent评测+可观测性平台
Langfuse是2026年开源Agent评测赛道当之无愧的领导者。GitHub星标超过75K,支持完全自托管。它同时覆盖了实验栈和生产栈——本地评测、线上追踪、成本监控三合一。
架构原理:
Langfuse的核心是"Score-based Evaluation"——所有评测都抽象为对trace的评分:
from langfuse import Langfuse
langfuse = Langfuse()
# 创建评测数据集
dataset = langfuse.create_dataset(name="agent-eval-v1")
# 添加测试用例
for case in golden_cases:
dataset.create_item(
input=case["input"],
expected_output=case["expected"]
)
# 定义Agent执行函数
def run_agent(input_str):
with langfuse.trace(name="eval-run") as trace:
result = my_agent.run(input_str)
trace.update(output=result)
return result
# 运行评测
execution = langfuse.evaluate(
name="agent-quality-check",
data=dataset,
func=run_agent,
scores=[
{"name": "accuracy", "config": {"model": "gpt-4o"}},
{"name": "tool_efficiency"}
]
)
核心优势: - 完全开源(MIT协议),支持Docker一键自托管 - 底层使用ClickHouse,百万级trace查询秒级响应 - 评分体系灵活——支持LLM-as-Judge、人工标注、自定义规则三种模式 - 成本追踪精确到每次LLM调用、每个token - 与OpenAI Agents SDK有官方集成教程
实战痛点: - 自托管需要维护ClickHouse实例,运维成本不低 - 云版和自托管版功能差异正在缩小但仍存在 - 评测用例管理UI不如Braintrust直观
变现/训练营评估:高。开源+自托管是很多企业的刚需,"Langfuse自托管Agent评测平台搭建"可以作为2-3天企业内训的标准课程。
定位:专注Agent行为轨迹评测的开源库
AgentEvals是LangChain团队在2026年推出的轻量级轨迹评测库,独立于LangSmith运行。它解决的核心问题是:Agent评测不只看最终输出,更要看它走了什么路径到达终点。
架构原理:
from agentevals import TrajectoryMatch, ToolCallMatch
# 轨迹匹配评测
evaluator = TrajectoryMatch(
# 参考轨迹:Agent应该走的"正确路径"
reference_trajectory=[
{"tool": "search", "input": "AI agent frameworks 2026"},
{"tool": "scrape", "input": "top-3-urls"},
{"tool": "summarize", "input": "scraped-content"}
],
# 实际轨迹
actual_trajectory=agent.get_trajectory(),
# 匹配策略:strict | partial | semantic
matching_strategy="partial"
)
score = evaluator.evaluate()
# score = 0.85 → Agent走了85%的正确路径
# 工具调用精确度评测
tool_eval = ToolCallMatch(
expected_calls=["search", "scrape", "summarize"],
actual_calls=[step["tool"] for step in agent.get_trajectory()],
check_args=True # 是否检查参数正确性
)
核心优势: - 极度轻量,pip install即用,不依赖任何云服务 - 轨迹匹配支持三种策略:严格匹配(exact)、部分匹配(partial)、语义匹配(semantic) - 与LangGraph集成时自动捕获Agent轨迹 - 支持轨迹距离计算——不只测"对不对",还测"偏了多少"
实战痛点: - 需要手工定义参考轨迹,维护成本高 - 对非LangGraph Agent的轨迹采集需要自己适配 - 目前只支持Python
变现/训练营评估:中低。作为评测工具链的一部分有价值,但独立作为训练营内容太薄。更适合嵌入到综合Agent工程课程中。
定位:研究级幻觉检测与模拟评测前沿
Patronus AI在2026年完成了一个关键转型——从"LLM幻觉检测器"进化为"数字世界模型前沿实验室"。它的核心竞争力是Synthetic Evaluation:用AI模拟各种极端场景来测试Agent的鲁棒性。
架构原理:
Patronus的核心产品是"Piec"——一个能自动生成对抗性测试用例的引擎:
from patronus import PiecClient, EvaluationSuite
client = PiecClient(api_key="...")
# 自动生成对抗性评测用例
suite = EvaluationSuite(
agent=my_customer_service_agent,
scenario="financial_customer_service",
adversarial_modes=[
"prompt_injection", # 注入攻击
"hallucination", # 幻觉诱导
"tool_misuse", # 工具滥用
"data_leakage", # 数据泄露
"regulation_violation" # 违规操作
]
)
# 运行模拟评测
results = client.evaluate(suite)
# 输出:每种对抗模式下的Agent失败率
# {
# "prompt_injection": 0.34, # 34%的注入攻击成功
# "hallucination": 0.12, # 12%的场景出现幻觉
# "tool_misuse": 0.08,
# "data_leakage": 0.22,
# "regulation_violation": 0.15
# }
核心优势: - 对抗性评测是独有的——其他平台都不做"主动攻击"式评测 - 金融行业合规场景有明确需求(SEC、FINRA审计) - 2026年新增的"数字世界模拟"功能可以模拟整个业务环境 - OpenAI收购Promptfoo后,Patronus成为独立红队测试的首选
实战痛点: - 定价偏贵,主要面向企业客户 - 对抗性测试用例的质量依赖Piec模型本身 - API文档在2026年初仍不完善
变现/训练营评估:中。更适合嵌入到"AI安全"或"Agent安全工程"主题课程中。
2026年Agent评测领域最被低估的问题不是"用什么工具",而是"测什么"。公共基准正在经历严重的信任危机:
graph LR
subgraph "评测信任链断裂"
A["模型训练"] -->|"数据可能包含<br/>benchmark答案"| B["基准测试"]
B -->|"分数虚高"| C["排行榜"]
C -->|"误导决策"| D["生产部署"]
D -->|"实际表现<br/>远低于预期"| E["线上事故"]
end
subgraph "断裂点"
F["解决方案污染<br/>SWE-bench答案<br/>在git历史中"]
G["环境漂移<br/>WebArena冻结在<br/>2023年的web"]
H["方法论不透明<br/>多数提交不公开<br/>运行配置"]
end
F -.-> B
G -.-> B
H -.-> C
style F fill:#f44336,color:#fff
style G fill:#f44336,color:#fff
style H fill:#f44336,color:#fff
benchmarkingagents.com在2026年4月的独立分析揭示了四个结构性问题:
1. 环境漂移:WebArena冻结在2023年的web应用快照,而真实web环境在2026年已面目全非。一个在WebArena上得分90%的Agent,在真实网站上可能只有40%的完成率。
2. 方差掩盖:Agent任务的输出天然不确定——同一个任务可能50%时间通过、50%时间失败。大多数基准分数不报告置信区间,一个"72%"的分数可能意味着[65%, 79%]的波动范围。
3. 解决方案泄漏:SWE-bench的任务来自公开GitHub仓库的issue,解决方案就在同一个仓库的git历史中。任何在任务创建之后训练的模型都可能"见过答案"。Verified子集部分缓解了这个问题,但风险是结构性的。
4. 基准-生产落差:SWE-bench Verified上72%的得分不意味着Agent能解决72%的真实软件工程工作。基准任务分布(12个Python仓库、特定issue类型)与现实工程团队的backlog分布完全不同。
来自独立评测的数据(benchmarkingagents.com,2026年4月):
| 基准 | 任务数 | 评测维度 | SOTA(2026.4) | 可信度 |
|---|---|---|---|---|
| SWE-bench Verified | 500 | 补丁通过率 | ~72-80% | 中(污染风险) |
| WebArena | 812 | 页面状态/API | ~65-70% | 中低(环境冻结) |
| AgentBench | 1,091 | 多环境完成 | ~60-65% | 中 |
| OSWorld | 369 | 桌面操作 | ~38% | 高(任务新鲜) |
| Tau-Bench | - | 工具增强NLP | ~70-75% | 中高 |
| Terminal-Bench | - | Shell操作 | ~55-60% | 中高 |
OSWorld的SOTA只有38%,恰恰说明它是当前最难"作弊"的基准——真实的桌面操作没有git历史可以泄露。
graph TD
START["Agent评测需求"] --> Q1{"团队技术栈?"}
Q1 -->|"Python/pytest"| DE["DeepEval<br/>+ AgentEvals"]
Q1 -->|"LangChain/LangGraph"| LS["LangSmith<br/>+ AgentEvals"]
Q1 -->|"TypeScript/SaaS"| BT["Braintrust"]
Q1 -->|"自托管/合规"| LF["Langfuse<br/>自托管"]
DE --> Q2{"需要生产监控?"}
LS --> Q2
BT --> Q3{"需要对抗性测试?"}
LF --> Q4{"需要CI集成?"}
Q2 -->|"是"| LF_PROD["Langfuse云版<br/>或LangSmith"]
Q2 -->|"否"| DE_ONLY["DeepEval独立使用"]
Q3 -->|"是"| PAT["Patronus AI"]
Q3 -->|"否"| BT_ONLY["Braintrust独立"]
Q4 -->|"是"| DE_CI["DeepEval CI集成"]
Q4 -->|"否"| LF_ONLY["Langfuse独立"]
style DE fill:#4CAF50,color:#fff
style LS fill:#FF9800,color:#fff
style BT fill:#2196F3,color:#fff
style LF fill:#9C27B0,color:#fff
style PAT fill:#f44336,color:#fff
推荐栈:DeepEval(CI)+ Langfuse云版(生产)
这套组合的总成本在免费额度内就能覆盖:DeepEval开源免费,Langfuse云版免费额度足够日处理1000条trace的团队。关键是在CI中加入轨迹评测,确保Prompt修改不会导致Agent行为退化。
避坑指南:不要在CI中用LLM-as-Judge——太慢太贵。CI中只跑精确匹配和规则断言,LLM-as-Judge留给实验栈的离线评测。
推荐栈:Langfuse自托管(全栈)+ Patronus AI(对抗测试)
自托管Langfuse确保数据不出内网,Patronus AI的对抗性测试满足金融/医疗行业的合规审计要求。部署成本:一台4核16G服务器即可运行Langfuse(含ClickHouse),月成本约200美元。
避坑指南:ClickHouse的磁盘IO是瓶颈——如果评测流量大(每天>10万条trace),建议用NVMe SSD。
推荐栈:DeepEval(CI)+ Braintrust(实验)+ Langfuse(生产)
三层评测完全分离,每层用最合适的工具。这个架构的成本最高但覆盖最全:DeepEval负责每次代码提交的回归测试,Braintrust负责Prompt/模型版本的A/B对比实验,Langfuse负责线上Agent的实时监控和异常检测。
避坑指南:三套系统意味着三套数据格式——需要自建统一的评测指标定义层,否则各平台的"准确率"不可比。
2026年Paxrel的实战指南提出了Agent测试的5级金字塔,这是目前最实用的Agent质量工程框架:
| 级别 | 名称 | 测什么 | 工具 | 运行频率 |
|---|---|---|---|---|
| L1 | 单元测试 | 解析器、格式化器、工具包装器 | pytest | 每次提交 |
| L2 | Eval测试 | LLM输出质量(准确性、完整性) | DeepEval | 每次提交 |
| L3 | 轨迹测试 | Agent工具选择序列是否正确 | AgentEvals | 每次提交 |
| L4 | 集成测试 | 端到端工作流在模拟环境中的表现 | Langfuse | 每日/每周 |
| L5 | 回归测试 | 线上Agent行为是否发生漂移 | LangSmith/Langfuse | 持续 |
关键洞察:L1-L3是CI的职责,L4是实验栈的职责,L5是生产栈的职责。大部分团队的错误是把L4/L5的事情塞进CI——导致CI运行时间从30秒膨胀到30分钟,最终被开发者绕过。
代码示例——三栈联动的评测流水线:
# GitHub Actions CI 配置
name: Agent Eval Pipeline
on: [push, pull_request]
jobs:
# L1-L3: CI栈(DeepEval + AgentEvals)
ci-eval:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install deps
run: pip install deepeval agentevals pytest
# L1: 单元测试
- name: Unit tests
run: pytest tests/unit/
# L2: Eval测试
- name: DeepEval quality checks
run: deepeval test run tests/evals/
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
# L3: 轨迹测试
- name: Trajectory evals
run: pytest tests/trajectory/
# L4: 实验栈(Braintrust)- 仅在main分支
experiment-eval:
needs: ci-eval
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Run Braintrust experiment
run: |
npx braintrust evaluate \
--experiment "agent-v${{ github.sha }}" \
--dataset "golden-v2" \
--compare "agent-v_baseline"
2026年3月9日,OpenAI宣布收购Promptfoo。这次收购的战略意图很明确:把Promptfoo的红队测试和合规评测能力嵌入OpenAI Frontier企业Agent平台。对市场的影响是双重的:
正面影响:Promptfoo的开源项目将继续维护(创始人Ian Webster确认),但新功能会优先集成到OpenAI生态。
负面影响:Promptfoo是唯一一个同时支持"LLM输出评测"和"Agent安全红队测试"的独立工具。它退出后,需要两个独立工具才能覆盖同样的功能面——评测用DeepEval/Braintrust,安全用Patronus AI。
dev.to的调查显示,Promptfoo退出后市场正在寻找的五个替代方向: 1. DeepEval(红队模块正在开发中) 2. Langfuse(自定义Score函数可以实现部分红队功能) 3. Braintrust(结构化评分+Loop Agent的自动优化) 4. Patronus AI(最接近Promptfoo安全测试能力的独立替代品) 5. 开源Promptfoo(社区fork继续维护,但长期可持续性存疑)
2026年的Agent评测正在重走软件测试工程的发展路径——从"手工测试"到"自动化测试"到"测试驱动开发"到"持续测试"。对应关系是:
如果你是测试工程师,现在是进入Agent评测赛道的最佳窗口——传统测试的确定性和Agent评测的非确定性之间的鸿沟,正是你的经验最有价值的地方。不是去学LangChain怎么搭Agent,而是去学怎么用DeepEval给Agent写测试——这个技能在2026年比写Agent本身更稀缺。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
