top of page

Microsoft ThinkingBox 基准测试揭示 Agent 宣称与数据库现实之间的鸿沟

21小时前
讀畢需時 14 分鐘

Microsoft 推出了一个围绕顽固矛盾构建的基准测试:AI agent 即使底层数据库记录的是失败,也可能报告任务成功。Microsoft ThinkingBox 基准测试将关注点从具有说服力的回答,转向模拟应用内部经过验证的变更。

这一差异看似细微,却触及 agent 争论的核心。企业聘用 agent,并不是为了让它描述退款、更新或预订;它们期望 agent 在不损坏数据、不忽略约束条件、也不只是声称成功的情况下完成交易。

ThinkingBox benchmark 将数据库视为最终裁决者。其核心理念挑战了这样一类评估:只奖励令人信服的最终回答,却不检查由此产生的系统状态。对开发者和企业买家而言,这改变了“可用”的定义。

Microsoft ThinkingBox 基准测试检验结果,而非叙述

Agent 的最终消息只是其认为发生了什么的证据,并不能证明软件实际记录了什么。

传统语言模型测试通常将回答与预期回复进行比较。这种方法适用于答案是文本的问题;但当模型必须操作软件并修改持久化数据时,其效用就会大幅降低。

Agent 可能会告诉客户地址已更新。它可能描述了正确的新地址,并给出一份措辞精致的确认信息。然而,应用中仍可能保留原始值,因为工具调用失败、指向了错误记录,或根本没有执行。

Microsoft ThinkingBox 基准测试将评估重点放在这种差异上。根据其在 Hugging Face 上的介绍,该基准测试考察 agent 是否完成了能够依据底层数据库状态核验结果的应用任务。

数据库状态是指交互结束后留下的存储记录。与 agent 的叙述相比,这些记录构成更有力的测试,因为它们反映了系统之后实际会使用的内容。

这种方法也更容易发现部分失败。Agent 可能修改了一个必填字段,却让另一个字段保持不变;也可能创建重复记录,而不是更新已有记录。

仅评估文本的系统可能会接受最终确认,因为其中包含了所请求的细节。基于状态的评估器则可以检查相关记录,并确定所要求的结果是否真实存在。

因此,ThinkingBox 将 agent 的回答与应用状态视为两种独立输出。前者揭示模型的理解,后者揭示实际运行结果。

这种区分之所以重要,是因为现代 agent 往往跨越多个层级工作。模型选择操作、格式化参数、调用工具、接收响应,再决定是否需要继续执行。

每一层都可能引入失败。模型可能选错工具;工具可能拒绝请求;应用可能只应用部分更改;agent 也可能误解响应并过早停止。

可靠的评估必须观察的不只是对话。它还需要在 agent 完成后检查环境。

这并非对基准测试的表面改良。它将目标从“生成可信的回复”改为“让应用处于正确状态”。

这种差别类似于:一个测试检查成功通知,另一个测试查询生产记录。凡是一切正常,两者都可能通过;但只有后者能发现虚假确认。

对 AI agent 而言,这种虚假确认尤其危险。流畅的语言能够让未完成的操作听起来像是最终、具体且可信的结果。

为什么 Agent 的成功宣称会令企业工作流承压

该基准测试恰恰在组织面临最大风险的地方提高了标准:那些会改变记录、权限、资金或客户承诺的操作。

Agent 演示通常强调可见的进展。模型打开界面、在不同屏幕间导航、输入信息,并给出自信的总结。这些操作很适合制作引人注目的视频。

企业需要的是另一种保障。它们必须知道正确的记录是否发生变化、政策约束是否仍然完整,以及结果能否接受审计。

搜索失败只会带来不便;错误确认的账户变更则会造成运营问题。客户、员工和下游软件都可能依据数据库并不支持的信息采取行动。

以处理订阅请求的客服 agent 为例。它可能解释取消已完成,但有效订阅实际上仍未改变。

眼前的对话看上去可能是成功的。计费系统之后却仍可能向客户收费,支持人员随后就要处理由 agent 缺乏依据的确认所引发的争议。

同样的模式也适用于采购。Agent 可能声称已修改送货地址,却更新了供应商资料而不是待处理订单。每一次单独的工具操作看似都有效,但所要求的业务结果仍然没有完成。

医疗保健、金融服务和公共管理会带来更严厉的后果。错误陈述可能影响访问权限、资格认定或合规性。这些环境早已依赖对账机制,因为人工操作人员和软件集成都可能发生错误。

AI agent 增加了新的不确定性来源。即使其内部计划偏离系统实际状态,它们依然能够生成连贯的解释。

这会给 agent 供应商和内部平台团队带来压力。买家将越来越多地询问系统如何验证完成,而不只是它理解指令的能力有多强。

答案不能完全依赖另一个语言模型来评判对话。基于模型的评审对开放式质量评估很有用,但交易正确性应尽可能依赖确定性证据。

确定性检查会将可观察状态与明确条件进行比较。若任务要求修改某位客户的地址,评估器就可以检查该客户地址,并确认无关记录没有被改动。

这一标准也会对基准测试设计者施压。他们需要可复现的环境、可检查的状态,以及具备精确完成标准的任务定义。

这些要求会让评估更困难,但也会让结果与真实部署更相关。

Anthropic 关于有效 agent的指导区分了具有预定义路径的工作流,与自行决定工具使用方式的 agent。更高的自主性会增加需要验证的决策数量。

ThinkingBox 的框架带来一个重要推论:每一个自主决策都会为 agent 对成功的描述与应用事实之间产生偏离增加一次机会。

因此,探索 AI workflow 的组织应将辅助与授权分开。起草状态更新与修改其背后源记录,承担的风险不同。

这并不意味着每一次 agent 操作都需要人工审查,而是验证方法应与操作后果相匹配。

低风险任务可以接受轻量级检查。高影响力变更则应要求更强的验证、持久化日志和清晰的恢复路径。

真正的对手是未经验证的自信完成宣称

核心冲突并非 Microsoft 与另一家实验室之间的较量,而是 agent 自信的完成宣称与可验证应用状态之间的对比。

这一选择很重要,因为它避免了故事沦为又一次模型排行榜比较。ThinkingBox 指向了一个影响所有构建工具调用型 agent 的供应商的更深层评估问题。

语言模型经过训练,目标是以有帮助的方式延续对话。当某项操作看似成功时,自然的对话回应便是确认完成并总结结果。

软件系统遵循不同的规则。请求可能在到达服务器后超时;工具也可能返回语法有效、却包含应用错误的响应。

更新可能对一个对象成功,却对另一个对象失败。事务也可能在模型接收到中间成功信号之后被回滚。

Agent 必须正确理解这些情况。更重要的是,周边系统不能将模型的理解视为最终权威。

Microsoft ThinkingBox 基准测试通过比较预期结果与存储结果,让这种张力变得可衡量。这将抽象的可靠性担忧转变为具体的通过或失败问题。

所请求的记录是否发生了变化?Agent 是否创建了不需要的重复记录?它是否保留了用户从未要求修改的字段?

这些问题暴露了仅基于轨迹进行评估的弱点。轨迹记录的是 agent 尝试过的操作,例如点击、调用或生成的命令。

看似合理的轨迹并不能保证结果正确。Agent 可以遵循看似明智的步骤,却在静默失败后停止。

反过来,一条令人意外的轨迹仍可能产生正确状态。对路径和结果同时进行评估,有助于区分低效的成功与包装精美的失败。

对于交易型任务,最终状态应具有特别高的权重。用户关心的是结果是否发生,而不是 agent 的推理看上去是否合理。

这与成熟的软件测试相似。单元测试检查孤立行为,而集成测试验证相连组件如何协同工作。

端到端测试会执行完整流程并检查其结果。操作应用的 agent 也需要同样的对待,因为它的语言输出只是其中一个组件。

OpenAI 的agent 构建指南将护栏和人工干预描述为生产系统的重要组成部分。ThinkingBox 进一步强化了增加一层机制的理由:工具运行后的结果验证。

验证不应被混同于询问同一个模型它是否成功。那只是在不同提示词中重复原始的信任问题。

更强的模式是直接查询权威系统。应用可以返回所存储的记录、交易标识符、版本号,或与所请求操作相关的其他证据。

随后,agent 可以将这些证据与目标进行比较。当条件具有结构化形式时,也可以由独立的确定性服务执行比较。

这种架构让完成成为一种协议,而非一句话。Agent 提议并执行工作,系统则决定所要求的后置条件是否得到满足。

后置条件是操作结束后必须为真的事实。它们可能要求一条记录发生变化、另一条保持不变,并且存在一项审计事件。

当这些条件不满足时,系统应报告操作未完成,而不应让流畅的回应将不确定性转化为表面上的成功。

这种设计也能改善恢复能力。经过验证的失败可以触发重试、升级、回滚,或请求补充信息。

一次未经验证的“成功”,会将问题隐藏起来,直到客户或下游流程发现它。

数据库验证如何揭示 Agent 可靠性

基于状态的评估能够暴露仅靠回复评分可能遗漏的失败,但它并不能涵盖决定 Agent 是否安全的所有品质。

最明显的优势是可进行客观检查。结构化应用通常会存储判断任务所需的确切事实。

基准测试可以对初始数据库创建快照、运行 Agent,再检查最终数据库。它既可以比较选定字段,也可以搜索非预期的变更。

最后一步至关重要。Agent 不应仅仅因为通过损害无关数据来满足请求,就获得满分。

假设用户要求移动一项预约。目标状态不仅包括新的预约时间,也包括保留患者、服务提供者和其他预约信息。

狭义的评估器可能只检查被请求的时间。更强的评估器还会检查不变量,即在整个操作过程中必须始终成立的条件。

不变量能够发现大范围更新、重复创建、记录删除或字段被覆盖等问题。它们有助于区分精准执行与偶然成功。

基于状态的测试还可以发现幂等性问题。幂等操作在重复执行时会产生相同的预期结果,而不会造成重复影响。

Agent 经常会在工具响应含糊时重试。若缺少幂等操作或唯一请求标识符,一次重试可能创建两笔订单、两张工单或两次退款。

最终数据库状态会让这些重复项显现出来。对话式评估可能会忽略它们,因为 Agent 只描述了一项已完成的操作。

数据库检查还支持错误分类。开发者可以将规划错误、执行失败和过早停止区分开来。

规划错误是指选择了错误的操作。执行失败则发生在已选操作未能完成时。过早停止是指 Agent 在宣称成功前未检查结果。

这些类别对应不同的修复方式。更好的提示词可能改善规划。更完善的工具模式可能减少格式错误的请求。

更明确的错误响应可以改善执行处理。强制性的回读检查则可以减少过早完成。

因此,这一基准测试更大的贡献在于诊断。它可以帮助团队定位:看似成功的一次运行在何处变成了错误的应用状态。

不过,数据库中的事实并非全部事实。即使 Agent 违反了政策、暴露敏感信息,或采取了不必要的高风险路径,最终状态也可能是正确的。

Agent 可能通过使用超出预定权限范围的凭据来获取目标记录。它也可能将机密数据放入日志或模型提示词中。

之后数据库看起来仍可能毫无问题。除非基准测试同时检查权限、追踪记录和信息流,否则仅基于状态的评估器会遗漏这类安全失败。

NIST 的 AI 风险概况鼓励组织在设计、部署和运营全过程中评估风险。对于 Agent 系统而言,这种更广泛的视角仍然必不可少。

数据库评估也依赖于任务设计。研究人员必须足够精确地定义正确结果,才能将其编码实现。

一些业务任务存在合理的替代结果。库存、政策、用户偏好和时间条件都会改变“正确”的定义。

围绕固定快照构建的基准测试可以衡量受控条件下的一致性。但它无法自动代表真实组织内部的所有模糊情形。

此外,还存在为基准测试而优化的风险。Agent 可能学会在模拟应用中奏效的模式,却未必因此在其他环境中变得更可靠。

这一担忧适用于大多数基准测试。当基准任务只类似于一小部分界面或数据库模式时,问题会更加严重。

因此,ThinkingBox 的结果应被视为其测试环境中的证据,而不应成为通用的可靠性认证。

更有力的结论其实更聚焦,也更实用:如果 Agent 在结果可被直接检查的受控任务中失败,团队就不应在风险更高的系统中相信其未经验证的声明。

通过真实部署架构理解 ThinkingBox

实际经验很简单:生产环境中的 Agent 需要在工具执行与向用户确认之间设置独立的完成验证层。

安全的工作流始于将用户请求转化为明确的验收条件。这些条件应明确目标对象、所请求的变更、受保护字段以及可接受的证据。

随后,Agent 选择并调用所需工具。工具应返回结构化信息,而不是模糊的成功提示。

有用的响应包括记录标识符、更新后的版本、受影响的行数和错误代码。这些细节有助于系统将一次操作与特定结果关联起来。

执行之后,系统应读取权威状态。该读取可以通过专用验证端点完成,其权限应比主要操作工具更为受限。

验证器会将存储的结果与验收条件进行比较。它还应测试重要不变量,并搜索非预期的副作用。

只有在此之后,界面才应显示最终确认。如果验证失败,Agent 应说明哪些部分尚未完成,以及接下来会采取什么措施。

这一模式降低了对话自信超过运营证据的可能性。它还会生成可供工程师在事故发生后检查的审计记录。

一个客户支持示例说明了这些组件如何协同工作。用户要求 Agent 修改现有订单的配送地址。

验收条件会确定订单和预期的新地址。它们还要求客户资料及其他订单保持不变。

Agent 调用订单更新工具。应用返回订单标识符和新的记录版本。

验证器从权威数据库读取该订单。它检查地址、记录版本、订单状态和受保护字段。

若每项条件均通过,Agent 即确认变更。若地址仍为旧地址,系统则报告更新未能完成。

同样的设计也可以支持人工审批。敏感操作可以在规划完成后、执行之前暂停。

另一类操作可能自动执行,但在验证结果含糊时要求人工审查。

关键边界不在于“人工”还是“自主”,而在于“已验证”还是“被假定”。

该设计还支持可观测性,即通过系统输出、追踪记录和内部信号理解系统的能力。团队需要看到 Agent 的意图、尝试、观察结果以及最终造成的变更。

精简的审计轨迹可以记录原始请求、所选操作、参数、工具响应、验证查询和最终决定。

与仅有对话记录相比,这一序列会让调试容易得多。它可以揭示模型是误解了任务,还是应用拒绝了一个正确请求。

Microsoft 自身的 Agent 生态系统包括用于编排工具使用和多个组件的框架。无论使用何种框架,ThinkingBox 的启示都相同。

编排并不保证正确性。更多 Agent、工具或规划步骤可能提升能力,也会增加失败边界的数量。

开发者应使验证独立于被评估的组件。如果同一个 Agent 既选择操作又在之后定义成功,它可能会为不完整的结果自圆其说。

独立检查不必复杂。一项数据库查询加上一小组断言,可能比另一段冗长的模型提示词提供更有力的证据。

团队也可以将这些断言保存为可复用测试。当提示词、模型、工具或政策发生变化时,同一批任务可用于衡量可靠性是否提升。

这就在 AI 评估与传统软件质量保证之间建立了一座实用桥梁。Agent 行为仍然具有概率性,但业务结果通常可以被确定性地检查。

可搜索的工程知识库可以保存任务定义、失败轨迹和修复决策。这些上下文有助于团队识别反复出现的失败模式。

最终应形成一种发布流程,将 Agent 变更视为应用变更。团队应测试具有代表性的工作流、检查副作用,并保留回归证据。

以这种方式理解 ThinkingBox,它关注的就不再是单一分数,而是让运营事实成为 Agent 契约的一部分。

Microsoft ThinkingBox 基准测试后值得关注什么

接下来的考验是:基于状态的评估会不会成为部署要求,而不仅仅是又一个研究排行榜。

第一个信号将是更广泛的任务覆盖。一个有用的基准测试需要多样化的应用、多步骤操作、可恢复的失败,以及带有合理约束的任务。

扩展覆盖范围将加强这样的主张:以数据库为基础的评估可泛化至各类业务工作流。覆盖范围狭窄则会将结论限制在已测试环境中。

第二个信号是 Agent 平台是否将验证作为标准功能提供。工具调用已经在模型 API 和编排框架中获得大量关注。

更困难的问题是工具返回后会发生什么。平台可以要求提供证据、支持后置条件检查,并区分“已尝试完成”与“已验证完成”。

这种区别应当出现在开发者界面和面向用户的产品中。系统不应为已确认收到的请求与已验证的结果使用相同的视觉确认。

如果平台采用这些模式,ThinkingBox 将影响部署架构。若它们仍将模型的最终消息视为完成,则该基准测试的核心警示仍未得到解决。

第三个信号是独立复现。Microsoft 和 Hugging Face 的发布提供了框架,但外部团队需要测试不同模型和 Agent 技术栈。

复现可以揭示失败主要源于模型推理、工具设计、应用反馈,还是评估设置。

它还可以检验简单干预是否能改善结果。强制状态回读、更强的模式、事务标识符和更好的错误处理,都是合理的候选方案。

独立结果将增强该基准测试的价值,尤其是在报告完整轨迹和状态变化的情况下。缺失实现细节则会让比较变得不那么可靠。

采购方还应关注供应商选择发布哪些指标。单一成功率无法说明失败是无害、可恢复还是具有破坏性的。

信息量更高的报告应区分正确完成、部分完成、虚假确认、非预期副作用和安全拒绝。

虚假确认尤其值得关注。它将运营失败与误导性沟通结合在一起,使用户更难发现错误。

团队应向供应商直接提出一个问题:每一条完成消息由哪些独立证据支持?

可信的回答应说明权威系统、已检查的条件,以及验证失败时的响应。“模型会检查自己的工作”并不够。

Microsoft ThinkingBox 基准测试并未证明 Agent 不可用。它提出了一种更严格、更实用的成功定义。

智能体在任务边界明确、工具设计良好且结果经过验证时,仍能创造显著价值。描述其能力时,应与现有证据的强度相匹配。

行业已投入大量精力教会智能体如何行动。下一阶段必须教会系统:何时一项行动才真正算完成。

这一转变将影响基准测试、API、界面设计和采购决策,也会让演示少一些戏剧性,多一些实用价值。

对开发者而言,当务之急是检查一个当前依赖智能体最终回复的工作流程。找出权威记录,并定义能够证明任务完成的后置条件。

对采购方而言,应在成功演示之外要求提供一次失败运行的示例。观察产品是否能在用户发现之前识别出失败。

对每一位使用智能体的人来说,都应牢记该基准测试的核心矛盾。Microsoft ThinkingBox 基准测试提出了每个生产系统都应回答的问题:当智能体说自己完成了,数据库又是怎么说的?

 
 

免费开始使用

一款本地优先的AI助手

为了获得更好的人工智能体验,

remio 目前仅支持Windows 10+ (x64)和M-Chip Mac 。

你的 AI 工作伙伴

和 remio 一起高效工作

规划、创作、交付

一站式完成

bottom of page