Microsoft ASSERT:通过纯文本规格测试AI代理
摘要
微软在Build 2026大会上发布了ASSERT,这是一个开源框架,可将自然语言行为规范转化为AI代理的可执行评估。
暂无内容
查看缓存全文
缓存时间: 2026/06/03 15:47
# 微软 ASSERT:用纯文本规范测试 AI 智能体
来源:https://globalgpt.online/microsoft-assert-open-source-ai-agent-testing-framework
微软在 Build 2026 发布了 ASSERT,一个开源框架,可将自然语言行为规范转换为 AI 智能体的可执行评估。以下是它的工作原理及与现有工具的对比。
## 什么是 ASSERT,为什么它很重要?
在 2026 年微软 Build 大会上,该公司发布了 **ASSERT**(自适应规范驱动的评估与回归测试评分),这是一个开源框架,允许开发者使用纯文本描述来测试 AI 智能体的行为。你无需手动编写复杂的测试套件,只需用自然语言描述智能体应该和不应该做什么。ASSERT 会将这些描述转换为结构化、可执行的评估。
它解决的问题是真实存在的。大多数构建 AI 系统的团队一开始都持有明确意图,这些意图写在产品需求、策略文档或系统提示中。但将这些意图转化为实际可运行、可检查、可更新的测试用例非常困难。通用基准无法捕捉特定于应用的策略。手动测试用例会随着时间的推移偏离原始意图。ASSERT 通过将行为规范作为评估的一等输入来弥合这一差距。
微软负责任 AI 首席产品官 Sarah Bird 直接表示:“我们学到的一件事是,评估对于做出正确决策绝对至关重要。如果你不了解 AI 系统的行为,就很难知道它是否达到了组织的标准。”ASSERT 旨在让团队在代码进入生产环境之前就获得这种理解。
**ASSERT 框架概览** ✅ 发布:2026 年 6 月,于微软 Build 2026 ✅ 许可证:MIT(完全开源) ✅ 输入:自然语言行为规范 ✅ 输出:可执行的测试用例、轨迹、分数和指标 ✅ 框架支持:LangChain、CrewAI、OpenAI Agents SDK、DSPy、LlamaIndex、AutoGen、Semantic Kernel 等 ✅ 模型支持:通过 LiteLLM 支持 100 多个端点(Bedrock、Azure、OpenAI、VertexAI、Anthropic、HuggingFace 等) ✅ 定价:免费(开源,自托管)
## ASSERT 如何工作:四阶段管道
ASSERT 通过四个不同的阶段处理你的规范。每个阶段都会产生可检查的工件,你可以审查、编辑和版本控制。
### 阶段 1:系统化
你从一个广泛的行为描述开始。例如:“智能体不应向公司外部人员发送电子邮件”或“机密信息只能与 C 级高管共享”。ASSERT 将其转换为一个明确的概念规范,该规范基于结构化定义、边缘情况和操作区分。此阶段遵循 Agarwal 等人(2026)的方法,将多个实际定义整合为足够具体以进行评估的内容。
### 阶段 2:分类化
概念规范会转化为一个允许和不允许行为的分类草案。此分类是可编辑的。策略专家和开发者可以在生成任何测试用例之前审查和修改它。输出是一个结构化文档,精确地映射出哪些行为是可接受的,哪些违反了策略。
### 阶段 3:测试集生成
ASSERT 将分类实例化为可执行的测试用例。它生成单轮提示和多轮场景,包括良性交互和对抗性探测。你可以指定对你的应用重要的维度:任务类型、角色、工具可用性、请求类别或环境配置。该框架构建一个分层的用例集,以便在声明条件下测试行为,而不仅仅是简单的示例。
### 阶段 4:推理与评分
生成的用例针对你的目标系统运行,该系统可以是模型、智能体或应用级工作流。ASSERT 记录完整的轨迹:工具调用、检索到的上下文、路由行为和中间动作。然后,一个 LLM 裁判根据行为分类对每个轨迹进行评分,不仅产生通过/失败标签,还提供理由、策略引用以及导致失败的具体轮次或动作的标识。
## 你得到什么:本地优先的工件
每个阶段都会在本地写入 JSON 和 JSONL 文件。默认情况下,没有任何内容发送到远程服务器。工件包括:
- **taxonomy.json** — 系统化产生的概念规范
- **test_set.jsonl** — 分层的提示和多轮场景
- **inference_set.jsonl** — 每个场景的轨迹,包含工具调用和中间状态
- **scores.jsonl** — 每个轨迹的裁决,包含理由和策略引用
- **metrics.json** — 汇总指标
这些文件可以在任何编辑器中检查,提交到版本控制,跨团队共享,并在 CI 管道中使用。ASSERT 还提供了一个捆绑的本地查看器,允许你并排浏览运行、固定基线、深入分析每个行为维度的细分,并阅读针对捕获轨迹引用的裁判理由。
这种本地优先的方法对于有数据主权要求的团队很重要。该项目默认不会收集或向微软发送遥测数据。运行会将本地工件写入 `artifacts/results/`,可选的 OpenTelemetry 轨迹捕获完全由你的配置控制。
## 框架和模型兼容性
ASSERT 设计用于在整个生态系统中工作,而不仅仅在微软的堆栈内。通过其 LiteLLM 集成,它支持来自亚马逊 Bedrock、Azure OpenAI、OpenAI、谷歌 VertexAI、Anthropic、Cohere、HuggingFace、SageMaker、VLLM 和 NVIDIA NIM 等提供商的 100 多个模型端点。
对于智能体和多智能体系统,ASSERT 与 OpenInference 和 OpenTelemetry 集成。它可以评估 LangGraph 智能体、CrewAI 系统、OpenAI Agents SDK 应用、DSPy 管道、LlamaIndex 工作流、AutoGen 编排以及自定义多智能体设置。Phoenix 和 OpenInference 可以用两行代码自动检测 33 个以上的框架。如果你的框架未涵盖,你可以使用 OpenTelemetry SDK 自行发出 spans。
基于智能体轨迹的评判是一个关键差异化因素。由于 ASSERT 捕获 OpenTelemetry spans,裁判可以引用特定的工具调用、路由决策、模型调用和延迟作为证据。它不仅评估最终响应,还评估智能体到达那里的整个路径。
## ASSERT 与其他 AI 评估工具的对比
2026 年的 AI 智能体评估领域已经人满为患。Langfuse、Braintrust、Arize Phoenix、DeepEval 和 Anthropic Bloom 都解决了测试问题的部分。以下是 ASSERT 的定位。
| 功能 | ASSERT | Langfuse | Braintrust | Arize Phoenix | DeepEval |
|------|--------|----------|------------|---------------|----------|
| **重点关注** | 策略驱动评估 | 观察+评估 | 评估+实验 | 观察+分析 | 测试+CI/CD |
| **开源** | 是(MIT) | 是(MIT) | 否 | 是(Apache 2.0) | 是(Apache 2.0) |
| **自托管** | 是(本地优先) | 是 | 仅企业版 | 是 | 是 |
| **规范到评估的管道** | 原生 | 手动 | 手动 | 手动 | 手动 |
| **轨迹定位评分** | 是(OTel) | 基础 | 是 | 是(OTel) | 否 |
| **LLM 充当裁判** | 是(带引用) | 是 | 是 | 是 | 是(50+ 指标) |
| **CI/CD 集成** | CLI + 本地工件 | 基于 API | 原生(PR 评估) | 基于 API | pytest 插件 |
| **多轮场景** | 是(可生成) | 基础 | 是(轨迹) | 是(spans) | 是(步骤级) |
| **框架锁定** | 无 | 无 | 无 | 无 | 无 |
| **免费层/成本** | 免费(MIT) | 免费自托管 / 云服务 $29/月 | 每月 100 万 spans 免费 | 免费自托管 | 免费自托管 |
关键差异化因素是规范到评估的管道。大多数工具要求你手动编写测试用例或定义评估标准。ASSERT 从自然语言策略开始,自动完成整个流程:分类生成、分层测试用例创建、执行以及带引用证据的评分结果。在此比较中,没有其他工具能提供从纯文本规范到可执行评估的端到端自动化。
也就是说,ASSERT 并不能替代所有这些工具。它侧重于策略驱动的评估和回归测试。如果你需要生产监控,Braintrust 或 Langfuse 是更好的起点。如果你需要与 pytest 进行深度 CI/CD 集成,DeepEval 是为此而生的。最好将 ASSERT 视为在部署前运行以验证策略合规性的工具,而不是用于监控实时流量的工具。
## ASSERT 与智能体控制规范:开放信任栈
ASSERT 与 Build 2026 同期发布的另一个项目一起推出:**智能体控制规范(ACS)**,这是一个开放的行业标准,用于在智能体工作流的检查点放置确定性的安全和安全控制。将 ACS 视为工具连接的 MCP(模型上下文协议)或智能体间通信的 A2A(智能体对智能体)的安全等效物。
ACS 在智能体的生命周期中定义了五个验证检查点:输入、LLM、状态、工具执行和输出。策略以标准 YAML 文件的形式表达,使其可移植、可版本化、可审计。该规范支持分类器端点、LLM 裁判和自定义内容过滤器,它们被精确放置在需要的位置。
这两个项目设计为闭环协同工作:
1. **运行 ASSERT** 以确定你的智能体在哪些方面未能满足策略要求
2. **使用 ACS** 在正确的检查点放置正确的控制以解决这些失败
3. **重新运行 ASSERT** 以通过前后指标对比确认改进
这创建了一个持续的信任生命周期:识别风险、评估智能体、应用控制、观察行为并随时间改进。ACS 为开发者提供了一个可移植的控制层,该控制层随智能体一起移动,不锁定在任何单一供应商的基础设施上。
微软在发布时为主要平台提供了 ACS 的参考实现,合作伙伴生态系统包括 Infosys、KPMG、IBM、Aviatrix、BigSpin 和 CrewAI。
## 裁判准确性与局限性
微软报告,ASSERT 的 LLM 裁判与人类标注者之间的一致性在 80% 到 90% 之间。人类标注者彼此之间的一致性约为 90%。这些是第一方数据,因此应将其视为方向性而非确定性。
该框架还映射了大约 1.2 倍于内部基线的预期行为空间,意味着它捕捉到了更窄测试套件遗漏的边缘情况。但 LLM 作为裁判的方法存在固有局限性。裁判在模糊案例上可能不一致,评分质量取决于分类质量。如果你的初始规范模糊,生成的测试用例也会反映这种模糊性。
可编辑的分类阶段旨在解决这个问题。通过在测试生成之前审查和优化行为分类,你可以及早发现歧义。但这需要人力投入。ASSERT 自动化了管道,但并未消除在定义特定应用“良好行为”方面所需的领域专业知识。
## 谁应该使用 ASSERT?
**在以下情况下使用 ASSERT:**
- 你已为 AI 智能体的行为编写了策略或需求,并希望自动测试合规性
- 你需要特定于应用的评估,而不是通用的基准分数
- 你的组织要求数据主权和本地优先的工件存储
- 你在多个智能体框架上工作,需要一个框架无关的评估工具
- 你需要基于轨迹的评分,该评分引用特定的工具调用和中间动作,而不仅仅是最终的输出
**在以下情况下寻找其他工具:**
- 你需要生产监控和告警(使用 Braintrust 或 Langfuse)
- 你需要与 pytest 进行深度 CI/CD 集成(使用 DeepEval)
- 你需要一个设置开销最小的托管 SaaS 平台(使用 Braintrust 或 Langfuse Cloud)
- 你正在评估一个简单的单个提示,没有复杂的多轮智能体行为(轻量级工具可能就足够了)
**2026 年用于预生产智能体评估的最强免费栈:** ASSERT 用于策略驱动的行为测试 + Arize Phoenix 用于轨迹可视化 + DeepEval 用于 CI/CD 断言。三者都是开源的,都运行在本地,并且共同覆盖从规范到部署门控的整个生命周期。
## 入门
ASSERT 现已在 MIT 许可证下可用。仓库位于 [github.com/responsibleai/ASSERT](https://github.com/responsibleai/ASSERT),项目网站位于 [responsibleai.github.io/ASSERT](https://responsibleai.github.io/ASSERT)。仓库中包含一个使用五个工具的旅行规划智能体的工作示例。
安装遵循标准的 Python 模式:
``
pip install -e ".[otel,langgraph]"
cp .env.example .env
# 添加你的提供商密钥
``
然后,你在 YAML 中定义行为规范,将其指向你的智能体,并运行管道。工件会落在本地,准备好进行检查、CI 集成或与团队共享。
微软正在积极征求将 ASSERT 集成到发布流程中的团队的反馈。该框架被定位为微软围绕智能体治理构建的“开放信任栈”的起点,其发展很可能在未来几个月内由实际采用模式塑造。
相似文章
微软新工具让开发者通过文本描述快速创建AI行为测试
微软发布了ASSERT,这是一个开源框架,可根据自然语言描述生成AI行为测试,使开发者能够创建特定于应用程序的评估并持续监控AI系统。
微软为开发者提供更好的方式来控制AI智能体行为
微软推出了Agent Control Specification (ACS),这是一个开源标准,为开发者提供了一种统一的方式来定义和执行跨不同框架和环境的AI智能体策略。
@SigGravitas: https://x.com/SigGravitas/status/2061554698285404289
Microsoft Build 2025 将设立开源专区,展示四个开源 AI 项目:OpenClaw、AutoGPT、Open WebUI 和 prompts.chat,突出它们在个人智能体、自主智能体、本地 AI 平台和提示工程方面的作用。
microsoft/ai-agents-for-beginners
微软在GitHub上发布了一门面向初学者的开源课程,涵盖构建AI智能体所需的全部内容,并提供50多种语言翻译。
@bibryam: AI Agent Governance Toolkit - 由微软提供,通过确定性策略执行、...
微软发布了 Agent Governance Toolkit,这是一个面向AI智能体的开源运行时执行工具,提供确定性策略执行、零信任身份验证和沙箱隔离,覆盖全部10项OWASP Agentic风险,并拥有超过13,000个测试。