TechCrunch · 2026-06-02 · 翻译解读

微软 ASSERT:用自然语言给 AI Agent 写行为测试

微软开源的评估框架,把产品需求文档自动转化为可执行的 AI 行为测试。规范驱动 + OTel 追踪 + LLM 裁判,框架无关,本地优先。

5 步管线规范解析 → 测试生成 → 推理执行 → 轨迹捕获 → LLM 评分
100+ 端点LiteLLM 统一接入,框架无关
OTel 追踪工具调用、路由、延迟全可审查
MIT 开源responsibleai/ASSERT · Python 3.11+

翻译

原文来自 TechCrunch,作者 Ram Iyer,2026 年 6 月 2 日发布。

AI 研究人员和实验室在评估 AI 模型方面已经取得了长足进步——从安全性和合规性到谄媚行为和价值观对齐,方方面面都有所覆盖。但企业和开发者似乎面临着一个新的、更具体的需求:确保 AI 系统在特定的产品或服务中表现符合预期。

为了简化这一测试过程,微软在周二发布了 ASSERT,全称"自适应规范驱动评分与回归测试"(Adaptive Spec-driven Scoring for Evaluation and Regression Testing)。

微软表示,这个开源框架能让应用特定的 AI 行为评估变得简单——它使用 AI 将高级的自然语言描述(目标、策略或预期行为)转化为全面的、可评分的测试。

ASSERT 接收自然语言描述的 AI 模型预期行为和策略,将其转化为结构化的"可接受"与"不可接受"行为集合,生成问题场景和测试用例,对目标系统运行这些测试,然后对结果进行评分。它还能记录 AI 系统的执行路径,包括中间动作和工具调用,让开发者可以检视故障发生的位置。

开发者还可以提供系统上下文、工具和约束条件,进一步自定义评估的覆盖范围。

例如,开发者可以规定:一个文档研究 AI Agent 不应向公司外部人员发送电子邮件;它应将机密信息限于 C 级高管;并应结合先前上下文提供简洁摘要。ASSERT 将使用这些规则生成测试用例,持续检查系统是否遵守这些规则。

该框架填补了更广泛、更通用的评估无法覆盖的空白——当 AI 模型需要在特定应用或产品的上下文、策略和工具约束下运行时。

"我们学到的一件事是,评估对于做出好的决策至关重要。因为如果你不了解 AI 系统的行为,就很难知道它是否达到了你组织的标准……我们发现,如果你真的想要一个可信赖的系统,你应该评估更多特定于应用的维度。"

Sarah Bird, CPO of Responsible AI at Microsoft

Bird 表示 ASSERT 可用于系统构建阶段、部署之后、甚至持续监控。

此次发布正值 AI 行业逐渐但广泛的转变之际。随着模型能力增强,研究人员正聚焦于可重复测试和回归检查——斯坦福的 HELM、MLCommons 的 AILuminate、以及 METR 等评估组织都在推出基准测试,衡量模型在不同条件下的行为表现。

深度解读

2026 年的 AI 行业有个尴尬现实:大家都在喊 eval,但大多数工具解决的是通用问题。没人帮你测"我的 AI Agent 在我的产品里会不会干蠢事"。

压力测试

三个最致命的假设

① 自然语言规范能完整描述预期行为(但 NL 天然有歧义)
② LLM Judge 能可靠评分(但已证存在位置/冗长/自我偏好)
③ 自动生成的测试用例足够全面(但可能遗漏领域专家才知道的 edge case)

利益分析

微软为什么要开源这个

短期:推动行业评估标准。长期:ASSERT 用 OTel 标准追踪 Agent 行为 → Azure AI Foundry 天然支持 OTel → 开发者习惯微软生态。跟 AWS 开源 Firecracker 同一逻辑。

沉默证据

文章没告诉你的

三重 API 调用成本(生成+推理+评分)、竞品对比(Promptfoo/DeepEval/Ragas 已成熟)、LLM-as-Judge 的循环依赖问题、覆盖率量化方法缺失。

运行时模型

ASSERT 实际上在跑什么——五步管线的完整拆解。

规范解析

把自然语言描述拆成"可接受行为"和"不可接受行为"的结构化分类。你的产品需求文档就是输入。

测试生成

基于分类生成单轮和多轮测试用例,覆盖正例和反例。支持你提供系统上下文、工具和约束来自定义。

推理执行

对目标系统运行测试——模型端点、Agent、多 Agent 系统。通过 LiteLLM 支持 100+ 模型端点。

轨迹捕获

OpenTelemetry/OpenInference 抓取中间步骤:工具调用、路由决策、模型调用、延迟。关键差异化。

LLM 裁判评分

用 LLM 根据 OTel 追踪证据给每次对话打分。评分可审查——能看到基于什么证据给了多少分。

本地产物

每步写 JSON/JSONL 文件到本地。内置 Viewer 可 side-by-side 对比、pin baseline、drill into breakdowns。

# Quick Start — 10 分钟从零到有评估报告
pip install -e ".[otel,langgraph]"
cp .env.example .env  # 填你的模型 API key
assert-ai run --config examples/travel_planner_langgraph/eval_config.yaml

# 产物在 artifacts/results/ 下
# 打开内置 Viewer 查看评估报告

手搓版 vs ASSERT

在 ASSERT 出现之前,你怎么手动做这件事?它到底省了什么?

你手动要做的事ASSERT 帮你做了什么
从产品需求文档里手动写 50 个测试 prompt用 LLM 自动生成,覆盖正例和反例
写 Python 脚本调 API 跑测试assert-ai run --config eval_config.yaml 一行搞定
自己设计评分标准,写评分 prompt内置 LLM Judge,基于你的规范自动评分
看着一堆 JSON 日志猜哪步出了问题OTel 追踪 + 本地 Viewer,可视化每步决策
每次改了 Agent 还要手动回归测试产物可版本化,CI/CD 集成
场景该用 ASSERT该用其他工具
你有清晰的产品规范/策略文档✅ 规范驱动的测试生成是核心
你需要测多 Agent 系统的复杂交互✅ OTel 追踪是杀手锏
你需要跟 CI/CD 集成做回归测试✅ 本地 JSON 产物 + CLI
你只需要简单的 prompt 对比测试Promptfoo 更轻量
你需要生产环境实时监控Braintrust / LangSmith 更适合
你在做 RAG 质量评估Ragas 更专业
你不想依赖 LLM 做评分DeepEval 提供传统指标

苏格拉底对话

用师生对话拆解核心争议——LLM 评估 LLM,到底靠不靠谱?

核心洞察

  • 偏见可以被管理:面试官也是人,有偏见。关键是"偏见可不可以被量化和管理"。ASSERT 的 OTel 追踪让评分基于过程证据,不只是最终输出。
  • 从 0 到有测试的门槛极低:你今天可能没有任何测试——ASSERT 让你在 10 分钟内从零变成有覆盖。覆盖率够不够是第二步。
  • OTel 追踪是降维打击:大多数评估工具只看输入输出。ASSERT 能看到 Agent 内部决策——哪个工具被调了、延迟是多少。对调试复杂 Agent 行为是质的飞跃。
  • 开源动机不纯 ≠ 工具不好:微软开源 ASSERT 培养了 OTel 标准习惯 → Azure 天然受益。但 AWS 开源 Firecracker 也是同一逻辑。

需要警惕的

  • LLM-as-Judge 循环依赖:用 GPT-4 给 GPT-4 打分,你能信多少?学术界已证明存在位置偏差、冗长偏好、自我偏好。
  • 规范质量决定测试质量:"简洁"是多简洁?"机密信息"的边界在哪?NL 规范的歧义会传播到生成的测试用例。
  • 三重 API 成本:生成测试 + 运行推理 + LLM 评分 = 三次 API 调用。复杂 Agent 系统的一次完整评估可能烧掉不少 token。
  • 领域专家直觉不可替代:LLM 生成的测试可能覆盖常见情况,但漏掉只有真正用过产品的人才知道的 edge case。

个性化洞察

基于你的技术背景和当前项目,ASSERT 能怎么帮到你。

立即可试

10 分钟接上你现有的 Agent 产品

你已经有 product spec 和 system prompt——那就是 ASSERT 需要的全部输入。pip install → 写个 YAML config → 看到第一份评估报告。比手动写测试 prompt 快一个数量级。

QA 直觉工程化

OTel 追踪 = 你的测试方法论

你作为 QA 出身,天然对"测试不能只看表面"有敏感度。ASSERT 的 trace-grounded judgment 本质上就是把你"不能只看输出,要看中间过程"的直觉工程化了。

工作流集成

Sandcastle 开发流加一步

/to-issues 之后、npm run sandcastle 之前,加一个 ASSERT 评估步骤。先把 system prompt 和 behavior spec 喂进去跑一遍,确保 Agent 行为符合预期再构建。

生态关注

微软评估工具三件套

ASSERT(规范驱动)+ eval-recipes(基准测试)+ eval-guide(Copilot Studio 插件)。三个组合起来是一个完整的评估策略。值得持续跟踪。