回答流畅,并不能证明 AI 智能体使用了规定的流程。AWS 9 月 22 日发布的指南介绍了如何根据已记录的运行过程,使用 Strands Evals 和 Amazon Bedrock AgentCore 评估技能选择和指令执行。两套系统对缺少评估的情况处理不同,这会影响人们如何解读它们的通过标记。
重大变化
- 变化内容:这些工具会区分一个流程是否已加载、是否适合当前任务,以及其中步骤是否得到遵循。
- 为何重要:经检查的 Strands 代码可能会将未评判的案例标记为通过。如果仅依据这一标记作出发布决策,可能忽略从未加载的必需技能。
- 关注事项:除了评分,还要检查评估覆盖情况:观察到了哪些预期加载行为?哪些调用记录了足够证据,因而可以作出判断?
三种检查回答不同问题
《Agent Skills 规范》将技能定义为围绕一个SKILL.mdSKILL.md 文件。其名称和描述帮助智能体判断何时使用该技能;激活后才会加载指令正文。这种分离意味着,成功加载、恰当选择和正确执行是三个不同的问题。
检查项 | 证据与结果 | 局限 |
|---|---|---|
Strands | 有记录的指定技能成功加载事件;以确定性方式判定通过或失败 | 不评估技能是否适用,也不评估执行情况 |
AgentCore 技能选择准确度 | 被调用的技能、请求、先前上下文和可用时的技能目录;由模型判断“是”或“否” | 不评判不调用任何技能的决定 |
AgentCore 指令遵循度 | 已加载的指令和完整会话;按五个等级评估,从完全遵循到未遵循 | 评估记录到的步骤遵循情况,不评估底层工作的正确性 |
锁定版本的SkillInvoked实现要求存在状态为loaded的匹配加载事件。如果没有成功加载,缺失、失败或尚未解决的尝试都会导致此断言失败。该检查不会调用评判模型。若测试案例要求使用特定技能,这便提供了直接核验方式。
AgentCore 可能不返回任何结果
根据AgentCore 文档,如果没有检测到技能调用或技能正文信号,两个评判器都会跳过该工具调用。未检测到技能调用的会话会得到零项结果。
缺少技能目录不会阻止技能选择评估:评估器仍会使用请求和对话上下文。指令遵循评估则需要同时提供被调用的技能及其已加载正文;完整会话提供后续步骤的证据。
Strands 可能返回一个标记为通过的 N/A 行
对 Strands Evals 提交版本9ea55c9源码的检查时间为 9 月 23 日。以下内容描述的是该版本的实现,并不代表每个已安装 SDK 版本的行为。
如果存在运行轨迹,但没有技能调用,技能选择评估器会返回一个不适用行:分数为占位值0.0,通过标记为test_pass=true。该评判器的范围不包括判断不使用某项技能是否正确。
该指令遵循评估器对于没有技能调用、加载被拒绝或正文不可用的情况,也会返回标记为通过的 N/A 行。如果缺少运行轨迹,两个评估器都会返回 N/A,但通过标记为 false。
它们的聚合函数不会将 N/A 行计入平均分。若所有行均为 N/A,函数会保留占位分数 0,并合并各行的通过标记。因此,数字和标记必须结合标签与原因才能正确解读。
若路由要求必须使用某项技能,应将评判器与指定技能加载断言配合使用。若要评估遵循程度,应先检查是否记录了指令和执行证据,再将通过标记视为评判结果。BIG CHANGE 审查了文档和源代码,但未实际运行这些评估器。



