首页 › ai-agents › Agent评测即CI门控:六栈Eval-in-Loop实测

Agent评测即CI门控:六栈Eval-in-Loop实测

2026年的Agent战场正在经历一场静默的范式迁移——评测不再是部署后补的仪表盘,而是成了CI管道的硬性门控。Anthropic工程博客在2026年1月发布《Demystifying Evals for AI Agents》,开篇即指出:"让Agent变得有用的那些能力,恰恰也使它们变得难以评估。"这句话击中了要害:传统单元测试在Agent面前形同虚设,你无法用assertEquals检验一个会调用三个API、做两次推理、最终生成自由文本的自主Agent。于是,一批以Eval为核心原语的新工具栈正在重塑Agent的质量门控体系。

本文实测六套主流Agent评测框架——DeepEval、Promptfoo、Braintrust、Langfuse、Google ADK Eval、Inspect AI——从离线评测到CI门控再到在线回归,拆解每套栈的架构哲学、集成路径和成本模型,给出不同团队规模和技术栈下的选型决策树。

六栈总览:四种哲学,一条管线

六套工具不是简单竞品,而是分属四种不同的哲学阵营:

哲学阵营 代表框架 核心隐喻 CI集成方式 上手成本
Tests-as-Code DeepEval pytest插件,评测即测试用例 pytest原生集成,GitHub Actions直跑 低(30分钟)
Config-as-Eval Promptfoo YAML声明式评测,红队+回归一体 专用GitHub Action,PR评论内嵌报告 低(15分钟)
Platform-as-Lab Braintrust 评测平台+实验追踪+部署门控 Webhook+API Gate,支持灰度百分比 中(2小时)
Observe-then-Eval Langfuse 先追踪后评测,从生产trace反哺测试集 开源自部署+CI Webhook 中高(半天)
SDK-Native-Eval Google ADK Eval Agent SDK内置评测器,golden dataset驱动 adk eval CLI嵌入CI 中(3小时)
Safety-as-Eval Inspect AI (UK AISI) 安全能力评测框架,政府级基线 inspect eval CLI+自建评分器 高(1天)

深度分析一:DeepEval——pytest原教旨主义的Agent测试

DeepEval的核心洞察是:Agent开发者已经是Python开发者,他们最熟悉的测试工具就是pytest。因此DeepEval将自己实现为一组pytest插件,让Agent评测看起来和普通单元测试一模一样。

架构原理: DeepEval围绕两个原语构建——TestCase(输入+实际输出+上下文)和Metric(评分器)。一个典型的Agent评测包含多个Metric叠加:TaskCompletionMetric检查任务是否完成、ToolCorrectnessMetric验证工具调用序列是否合理、FaithfulnessMetric检查输出是否与上下文一致、HallucinationMetric检测虚构内容。所有Metric内部使用LLM-as-Judge模式——调用一个独立LLM对被测Agent的输出进行评分,评分范围0-1,可设定阈值作为通过/失败门控。

from deepeval import evaluate
from deepeval.test_case import LLMTestCase
from deepeval.metrics import TaskCompletionMetric, ToolCorrectnessMetric

def test_booking_agent():
    test_case = LLMTestCase(
        input="Book a flight from Beijing to Shanghai tomorrow morning",
        actual_output=booking_agent.run("Book a flight..."),
        tools_called=["search_flights", "check_availability", "create_booking"],
        expected_tools=["search_flights", "create_booking"],
    )
    metrics = [
        TaskCompletionMetric(threshold=0.7),
        ToolCorrectnessMetric(threshold=0.8),
    ]
    evaluate(test_cases=[test_case], metrics=metrics)

CI集成路径: 直接在GitHub Actions中运行pytest --deepeval,失败的Metric会产生非零退出码阻断PR合并。DeepEval还提供deepeval test run命令生成HTML报告上传为Artifact。

优缺点: 优势在于零学习曲线——任何会写pytest的工程师都能在30分钟内写出第一个Agent评测。劣势在于Metric实现较黑盒,LLM-as-Judge的评分稳定性依赖裁判模型的选择(推荐用GPT-4o或Claude作为裁判,小模型评分波动高达±0.15)。另一个隐形成本是裁判LLM的Token开销——每个Metric对每个TestCase都要发起一次LLM调用,100个Case × 4个Metric = 400次LLM调用,约消耗$2-5。

变现/训练营评估: DeepEval是最适合做"Agent测试入门训练营"的框架。工程师已有pytest心智模型,转化成本极低。推荐课程路径:pytest基础 → DeepEval Metric选型 → CI集成 → 金数据集管理。

深度分析二:Promptfoo——声明式评测与红队一体化

Promptfoo在2026年完成了从"prompt测试工具"到"Agent评测+安全扫描一体化平台"的跃迁。其GitHub Star数已突破28K,成为评测工具中增长最快的项目。

架构原理: Promptfoo的核心是一个YAML驱动的评测配置文件promptfooconfig.yaml。用户声明被测Agent的端点、测试用例集、断言类型(包含精确匹配、JSON Schema校验、LLM-as-Judge rubric、模型分级等),Promptfoo在本地或CI中批量执行并生成对比报告。2026年新增的Agent评测模式支持多轮对话轨迹录制和回放——录制一次正确交互,后续每次Prompt变更都回放验证。

# promptfooconfig.yaml - Agent回归测试
providers:
  - id: "my-agent:http://localhost:3000/chat"
    config:
      method: POST
      headers: { "Authorization": "Bearer {{env.AGENT_TOKEN}}" }

tests:
  - vars:
      query: "Refund my last order"
  - assert:
      - type: llm-rubric
        value: "Agent should confirm refund amount before processing"
        threshold: 0.8
      - type: contains-json
        value:
          action: "refund_initiated"
      - type: latency
        threshold: 5000  # ms

# CI/CD: promptfoo eval --max-concurrent 5

CI集成路径: Promptfoo提供了官方GitHub Action promptfoo/promptfoo-action,在PR中自动运行评测并将结果以评论形式内嵌到PR页面——包括通过率、性能回归、安全风险等级。这使得非技术背景的产品经理也能在PR评论中直接看到Agent质量变化。

优缺点: 最大优势是"评测即文档"——YAML配置本身就是Agent的行为规格说明,产品经理可以直接审阅和修改测试用例。其次是红队功能(promptfoo redteam)可以自动生成对抗样本,在一个pipeline中同时做质量门控和安全扫描。劣势在于多轮Agent轨迹的录制回放功能尚在早期,复杂Agent的状态依赖(如数据库副作用)难以在YAML中表达。

变现潜力: Promptfoo的YAML声明式风格使其成为"低代码Agent评测"的最佳切入点。面向非技术产品经理的"Agent质量门控训练营"有明确的付费意愿场景。

深度分析三:Braintrust——评测平台化与实验驱动

Braintrust将自己定位为"Agent的实验平台",而非单纯的测试工具。它提供Web UI、Python SDK和CLI三层接口,覆盖从离线评测到在线灰度的完整生命周期。

架构原理: Braintrust的核心理念是"Experiment"。每次评测是一个Experiment,包含一组Dataset(测试用例集)、一个被测Agent、一组Scorer(评分器)。Experiment的结果(评分、trace、latency)持久化到Braintrust后端,支持跨Experiment对比、统计显著性检验和回归检测。关键创新是"Eval as Gate"功能——在CI中调用Braintrust API,将Experiment的通过率作为部署门控,支持按百分比分级发布。

import braintrust

@braintrust.eval
async def eval_booking_agent():
    dataset = braintrust.init_dataset("booking-agent-evals")
    scorer = braintrust.Scorer(
        name="task_completion",
        eval_fn=lambda input, output, expected: {
            "score": 1.0 if output["status"] == expected["status"] else 0.0,
            "metadata": {"reason": "Status match check"}
        }
    )

    # CI Gate: block deploy if score < 0.85
    experiment = braintrust.init_experiment(
        project="booking-agent",
        metadata={"git_sha": os.environ["GITHUB_SHA"]}
    )
    for data in dataset:
        result = await booking_agent.run(data["input"])
        experiment.log(
            input=data["input"],
            output=result,
            expected=data["expected"],
            scores=[scorer(data["input"], result, data["expected"])]
        )
    experiment.summarize()  # Returns pass/fail for CI gate

优缺点: Braintrust的杀手锏是"评测历史可视化"——每次Agent变更的效果在Web UI中一目了然,支持按时间线、按Metric、按用例类别下钻。这在团队协作场景中极其有效,PM和工程师可以在同一界面上讨论质量趋势。劣势是平台绑定较重——需要将评测数据上传到Braintrust云(或自部署),对于数据敏感型企业存在合规阻力。定价按trace计费,1M traces/month约$200-400。

适用场景: 中大型团队,需要多人协作评测、历史对比、灰度发布的场景。不适合个人开发者或小团队快速验证。

深度分析四:Langfuse——从生产追踪到评测反哺

Langfuse选择了与Braintrust相反的路径——不是先建评测平台,而是先做生产环境的全链路追踪(tracing),再从追踪数据中提取评测集。这个"Observe-then-Eval"的哲学使其在已有Agent上线运行的团队中独具优势。

架构原理: Langfuse的Agent trace结构是一个树形图——根节点是用户请求,子节点是Agent的每个步骤(LLM调用、工具调用、子Agent调用)。每个trace节点带有input/output/latency/token_usage元数据。评测的起点是从这些trace中"采样"——选取代表性交互(正例和反例),标注为golden dataset,然后用LLM-as-Judge或规则评分器在CI中对新版本Agent进行回归测试。

import langfuse

# Step 1: 从生产环境采集trace并标注
langfuse.score(
    trace_id="trace_abc123",
    name="user-satisfaction",
    value=1,  # 用户点赞
)

# Step 2: 在CI中用golden dataset做回归
from langfuse.decorator import langfuse_context

@langfuse_context.observe()
def eval_agent_regression():
    dataset = langfuse.get_dataset("booking-agent-golden-v2")
    for item in dataset.items:
        result = booking_agent.run(item.input)
        # 自动与生产trace对比
        item.run(result, run_name="pr-1234")

优缺点: Langfuse是唯一开源可自部署的主流评测方案(AGPL v3协议),对数据敏感型企业是刚需。其最大的独特价值是"生产数据驱动评测"——不是凭空编写测试用例,而是从真实用户交互中提取。这意味着评测集天然覆盖长尾场景。劣势在于初始化成本高——需要先在生产环境运行足够长时间积累trace,才能建立有效的golden dataset。空窗期内只能用LLM-as-Judge做基本门控。

CI集成: 开源自部署模式支持通过Docker在CI环境中运行,无需将数据外传。企业版提供托管服务,按Observation计费(1M observations ≈ $100-300)。

深度分析五:Google ADK Eval——SDK原生的Agent评测器

Google在2026年发布的Agent Development Kit (ADK) 2.0中,将评测能力作为一等公民内置。这代表了一种新趋势:Agent框架不再把评测视为外部工具的责任,而是SDK自身必须提供的能力。

架构原理: ADK Eval的核心概念是"Eval Fold"——一个包含Agent定义、测试对话集(JSON格式的多轮交互记录)和评分配置的评测单元。评分器分为两类:Groundtruth-based(精确匹配工具调用序列和输出)和Rubric-based(LLM-as-Judge评分)。

# Google ADK Eval - 评测配置
from google.adk.evaluation import AgentEvaluator

evaluator = AgentEvaluator(
    agent=booking_agent,
    eval_dataset="eval_data/booking_scenarios.json",  # Golden对话集
    metrics=[
        "tool_call_accuracy",      # 工具调用准确率
        "response_quality",         # LLM-Judge响应质量
        "task_completion_rate",     # 任务完成率
        "trajectory_similarity",    # 轨迹相似度(与golden对比)
    ],
    judge_model="gemini-2.5-pro",
)

# CI中运行: adk eval --agent-dir ./agents --eval-dir ./eval_data
results = evaluator.evaluate()
assert results["task_completion_rate"] > 0.85  # 门控阈值

独特优势: ADK Eval的trajectory_similarity指标是六栈中唯一的轨迹级精确对比——不仅检查Agent最终是否完成了任务,还检查Agent是否走了"正确的路径"(与golden轨迹对比工具调用序列和决策节点)。这对高合规场景(如金融Agent)至关重要——你不能接受Agent通过"意外绕路"完成任务。

局限性: ADK Eval深度绑定Google生态(Gemini模型、GCP部署),非Google用户的集成摩擦较大。Golden dataset的构建依赖手动标注或ADK Web UI中的可视化录制器,自动化程度低于Langfuse的trace采样方案。

深度分析六:Inspect AI——政府级安全评测基线

英国AI安全研究所(UK AISI)开发的Inspect AI框架代表了一个特殊维度——不是评测Agent好不好用,而是评测Agent是否安全。在2026年的监管环境下,这个维度正从"锦上添花"变为"强制要求"。

架构原理: Inspect AI的评测模型是Task → Solver → Scorer三段式。Task定义评测场景(如"尝试获取系统权限"),Solver是被测Agent的执行逻辑,Scorer评估Agent是否表现出了危险行为。Inspect Evals仓库提供了数十个预置安全评测——覆盖网络攻击能力、社会工程能力、自主复制能力、欺骗性对齐等前沿风险维度。

from inspect_ai import Task, task
from inspect_ai.solver import generate
from inspect_ai.scorer import includes

@task
def agent_safety_eval():
    return Task(
        dataset=dataset_from_json("safety_probes.json"),
        solver=[
            agent_solver(my_agent),  # 包装你的Agent
        ],
        scorer=[
            includes("exploit"),     # 检查是否包含漏洞利用
            includes("bypass"),      # 检查是否尝试绕过安全机制
            includes("deceptive"),   # 检查是否展示欺骗行为
        ],
        # 安全阈值: 任何一项触发即阻断部署
        fail_on_score=True,
    )

# CI: inspect eval safety_eval.py --model my-agent

CI集成路径: Inspect AI提供VS Code插件和CLI,可直接嵌入CI pipeline。但由于安全评测的特殊性(评测本身就是对Agent的"压力测试"),通常不与功能评测共用同一个pipeline,而是作为独立的安全门控步骤。

现实定位: Inspect AI不是面向普通开发者的日常工具,而是面向安全团队和合规部门的审计框架。但它正在影响行业标准——Anthropic、OpenAI、Google的安全报告都开始引用Inspect Evals的评分结果作为第三方验证。

六栈架构全景图

graph TD
    subgraph "Agent评测CI/CD管线"
        A[代码变更 PR] --> B{评测触发}
        B --> C[离线评测层]
        B --> D[安全评测层]

        C --> C1[DeepEval<br/>pytest-native<br/>Tests-as-Code]
        C --> C2[Promptfoo<br/>YAML声明式<br/>Config-as-Eval]
        C --> C3[Braintrust<br/>平台实验<br/>Platform-as-Lab]
        C --> C4[Langfuse<br/>生产反哺<br/>Observe-then-Eval]

        D --> D1[Inspect AI<br/>UK AISI安全基线<br/>Safety-as-Eval]

        C1 --> E{评分聚合}
        C2 --> E
        C3 --> E
        C4 --> E
        D1 --> F{安全门控}

        E --> G[功能门控<br/>Task Completion > 0.85<br/>Tool Accuracy > 0.80]
        F --> H[安全门控<br/>无高危行为触发]

        G --> I{部署决策}
        H --> I
        I -->|通过| J[灰度发布 / 全量上线]
        I -->|阻断| K[回滚 + 告警]

        J --> L[在线评测]
        L --> L1[Braintrust<br/>A/B实验]
        L --> L2[Langfuse<br/>Trace采样]
        L --> L3[Google ADK<br/>轨迹对比]
        L2 -->|新golden| C4
    end

关键对比维度

维度 DeepEval Promptfoo Braintrust Langfuse ADK Eval Inspect AI
开源协议 Apache 2.0 MIT 闭源核心 AGPL v3 Apache 2.0 MIT
自部署 否(SDK) 否(CLI) 否(SaaS) 是 否(SDK) 是
LLM-Judge 内置(13+种) 内置(rubric) 自定义 自定义 Gemini内置 自定义
轨迹评测 基础 录制回放(早期) 高级 Trace级 轨迹相似度 行为探测
PR集成 pytest原生 官方Action Webhook Webhook CLI CLI
数据敏感 本地运行 本地运行 云上传 可自部署 GCP绑定 本地运行
适合团队 1-5人 1-10人 10-50人 5-50人 GCP用户 安全团队
月成本 $0+Token费 $0+Token费 $200-400 $100-300 GCP计费 $0+Token费

LLM-as-Judge的可靠性陷阱

六套框架中有五套依赖LLM-as-Judge评分,这带来一个根本性问题:用AI评判AI,裁判本身的可靠性如何?

根据2026年初的多项研究(包括CMU的rating indeterminacy研究和Anthropic的工程实践报告),当前LLM-as-Judge的关键数据:

实战建议: 不要将LLM-as-Judge作为唯一的门控。最佳实践是"三层混合门控"——第一层规则匹配(JSON Schema校验、精确匹配、正则表达式),第二层LLM-Judge评分(质量、有用性),第三层人类抽样审核(每周抽取5%的评测结果人工复核)。

从零搭建Agent评测CI管线的实操路径

第一周:基础评测建立。 选择DeepEval或Promptfoo(根据团队技术栈偏好),为Agent的3-5个核心任务编写10-20个基础测试用例。先用手写golden output,不急于引入LLM-Judge。配置GitHub Actions在每个PR上自动运行。

第二周:LLM-Judge引入。 将规则断言逐步替换为LLM-Judge rubric评分。建立rubric校准集——20-30个人类标注的样例,每周验证裁判一致性是否>0.7。推荐使用DeepEval的G-EvalMetric作为起点,其评分稳定性优于自定义rubric。

第三周:回归检测建立。 在主分支上建立"基线评测"——每次合并后自动运行完整评测集并记录分数。后续PR的评测结果与基线对比,任何Metric下降>5%自动标黄警告,下降>15%自动阻断。

第四周:安全门控叠加。 对于面向用户的Agent,使用Promptfoo Redteam或Inspect AI叠加安全评测。红队扫描覆盖OWASP LLM Top 10(提示注入、越狱、数据泄露等),安全门控与功能门控并行运行。

推荐方案:按场景选型

团队画像 推荐方案 理由
独立开发者/小团队 DeepEval + Promptfoo组合 DeepEval做日常回归,Promptfoo做安全扫描,零成本起步
Python原生团队(5-15人) DeepEval为主 + Promptfoo红队 pytest集成零摩擦,Metric生态丰富,团队无需学新工具
跨职能团队(PM+工程师) Promptfoo为主 + Braintrust实验 YAML评测PM可直接审阅,Braintrust的UI适合协作讨论
已有生产Agent的团队 Langfuse自部署 + DeepEval CI 从生产trace提取评测集,避免凭空编造测试用例
GCP生态团队 Google ADK Eval + DeepEval SDK原生集成最紧密,轨迹相似度指标对高合规场景有价值
金融/医疗等强监管 Braintrust平台 + Inspect AI 平台化治理+安全审计基线,满足合规报告需求
安全团队专用 Inspect AI + Promptfoo Redteam 安全评测双保险,可输出审计报告给监管机构

成本模型:评测不是免费的

一个常被忽视的事实:Agent评测本身是有持续成本的。以100个测试用例、每Case 4个Metric为例:

成本项 月频率 单价 月成本
LLM-Judge Token(裁判调用) 400次 × 30天 = 12,000次 ~$0.005/次 $60
平台费用(Braintrust/Langfuse) 固定 $200-400 $200-400
CI运行时间(GitHub Actions) ~200分钟/月 $0.008/分钟 $1.6
人类标注校准 20小时/月 工程师时薪 隐形成本
总计 $260-460/月

关键降本策略:1) 高频评测集(smoke test)控制在20个用例以内,PR级别只跑高频集;2) 完整评测集(100+用例)只在主分支合并和发版时运行;3) LLM-Judge缓存——相同输入+相同裁判模型的结果缓存7天,避免重复调用;4) 使用小模型(如GPT-4o-mini)做初筛,大模型只复检低分样本。

结论:评测是Agent工程的最后一公里

2026年的Agent评测工具栈正在经历和2015年前后Web测试框架相似的收敛过程——从百花齐放到分层共存。DeepEval/Promptfoo占据了"开发者日常工具"层(类比当年的Jest/Mocha),Braintrust/Langfuse占据了"团队协作平台"层(类比当年的CircleCI/Travis CI),Inspect AI占据了"行业合规标准"层(类比当年的SOC 2审计)。

对于正在构建Agent产品的团队,核心建议只有一条:今天就开始写评测。不要等Agent"做完"再补——评测应该和Agent代码同步增长。第一个PR就带上5个评测用例,比发布后写500个用例更有价值。因为在Agent的世界里,没有评测的部署不是部署,是赌博。


本文由AI智能体实战分析专家撰写,数据基于2026年5-6月公开信息采集。

参考来源

  1. Demystifying evals for AI agents — Anthropic Engineering — Anthropic官方Agent评测方法论,涵盖任务选择、评分设计、LLM-as-Judge校准
  2. Agent-Native Testing Frameworks 2026 — AgentMarketCap — 57%组织将Agent投入生产但质量仍是首要障碍,Eval-as-CI模式分析
  3. Agent Evaluation Frameworks 2026: 6 Compared — FutureAGI — 六大Agent评测框架横向对比,含轨迹评测和CI集成路径
  4. LLM-as-Judge 2026: When Automated Scoring Replaces Human Eval — AgentMarketCap — LLM裁判与人类标注者一致性数据,含Cohen's Kappa统计
  5. CI/CD for AI Agents: Automated Testing & Rollback — CallSphere — Agent评测CI/CD管线搭建实战,含Prompt回归测试和灰度发布策略

[!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 等场景全覆盖。

51学通信知识星球海报-扫码加入