Cortex Agent 评测:既检查答案,也检查工具执行过程
有效阅读仅保存在当前浏览器,用于「为你」推荐;暂停或清除记录。
DataHot 速览
文章指出,部署 Snowflake Cortex Agents 若没有评估框架,等于把 credits 花在未被衡量的输出上。Snowflake Cortex 提供原生评估、可观测性、追踪、监控与 AI 应用质量度量,可在数据、语义模型和 Agent 旁直接运行评估。作者建议从观察失败开始,先建 20–50 条评估样本,记录输入、标准答案、期望工具与业务上下文,并评估 Agent 的完整轨迹而非只看最终答案。
为什么值得关注:随着企业把 Agent 接入数据与语义模型,工具调用、SQL 执行和最终答案都可能独立失败,系统化评估与可观测性是上线可靠性的关键。文章给出了可落地的评估数据集与轨迹评估方法,适合正在构建 Data Agent 的团队参考。
本文目录 23 节
译文
AI 逐段翻译如果你在没有评估框架的情况下部署 Snowflake Cortex Agents,本质上就是在为未经验证的输出浪费额度。持续评估成为驱动快速迭代和可靠改进的引擎。
Snowflake 的 Cortex 平台现在原生提供评估、可观测性、追踪、监控和 AI 应用质量度量能力。组织无需构建单独的评估基础设施,而是可以直接在 Snowflake 内、与数据、语义模型和 Cortex Agents 一起运行评估。
大多数团队从流程的错误一端开始:
- 更改提示词
- 更换模型
- 添加工具
- 希望情况会好转
拥有 20 多年经验的 ML 工程师 Hamel Husain 建议反过来做:
- 观察失败
- 收集示例
- 构建评估数据集
- 衡量质量
- 系统化改进
- 重新运行评估
目标不是找到一个完美的模型。
目标是创建一个能够持续改进的可重复系统。
对 Snowflake 客户而言,这自然对应为:
Agent 不是带检索步骤的聊天机器人。它会规划、选择工具、通过 Cortex Analyst 运行 SQL、通过 Cortex Search 进行搜索、调用自定义工具,然后组织答案。其中每一步都可能失败,而最终答案看起来仍然没问题。
因此,评估一个 agent 意味着评估整个轨迹:它是否选择了正确的工具、是否正确调用了工具、是否走了高效的路径,并得出了正确的答案?
Snowflake 通过 Agent Evaluations 和 AI Observability 支持这一点,涵盖质量、成本、延迟、追踪、工具使用和评估指标。
Agent 评估有何不同
第 1 步:构建评估数据集
从 20–50 个示例开始。这足以揭示失败模式,又不会让数据集整理本身变成一个大项目。对每个示例,记录:
- 输入:原始用户问题
- 基准真值:预期答案、数据载荷或 SQL 结果
- 预期工具:agent 应调用哪个(些)工具(通过 Cortex Analyst 使用 Semantic View、Cortex Search、存储过程、外部工具)
- 业务上下文:正确回答问题所需的规则、模式或定义
有意识地覆盖以下类别:
- 应路由到 Semantic View 的结构化问题
- 应路由到 Cortex Search 的非结构化问题
- 需要同时使用两种工具的问题
- 正确行为是请求澄清的模糊问题
- 正确行为是拒绝回答的超出范围或访问受限问题
你可以从合成的前生产问题或从 AI_OBSERVABILITY_EVENTS 中捕获的真实生产日志获取用例。真实日志通常是更好的来源。
-- Create the base table holding your test cases
CREATE OR REPLACE TABLE MARKETING_CAMPAIGNS_DB.AGENTS.EVAL_SOURCE_TABLE (
INPUT_QUERY STRING,
GROUND_TRUTH_DATA VARIANT
);
-- Populating synthetic pre-production questions
INSERT INTO MARKETING_CAMPAIGNS_DB.AGENTS.EVAL_SOURCE_TABLE
SELECT
'What was the total revenue for Q3 marketing?',
PARSE_JSON('{"expected tools":["SALES_TOOL"]}');第 2 步:注册评估数据集
CALL SYSTEM$CREATE_EVALUATION_DATASET(
'Cortex Agent', -- Agent type
'MARKETING_CAMPAIGNS_DB.AGENTS.EVAL_SOURCE_TABLE', -- Source table
'MARKETING_CAMPAIGNS_DB.AGENTS.MARKETING_CAMPAIGN_EVALSET', -- Dataset name
OBJECT_CONSTRUCT(
'query_text', 'INPUT_QUERY',
'expected_tools', 'GROUND_TRUTH_DATA'
) -- Column mapping
);该数据集将成为你的回归套件,并可在每次运行中复用。
第 3 步:运行批量评估
评估以无服务器和异步方式运行,由 Snowflake 暂存区中的 .yaml 配置文件驱动。该配置定义 agent、数据集以及要计算的指标。
-- Ensure your session matches your Agent context location
USE DATABASE MARKETING_CAMPAIGNS_DB;
USE SCHEMA AGENTS;
-- Run the evaluation asynchronously
CALL EXECUTE_AI_EVALUATION(
'START',
OBJECT_CONSTRUCT('run_name', 'pre_prod_baseline_run_v1'),
'@MARKETING_CAMPAIGNS_DB.AGENTS.CONFIG_STAGE/eval_config.yaml'
);第 4 步:跟踪状态并获取结果
由于评估以无服务器和异步方式运行,请轮询作业状态并直接通过 SQL 提取性能指标:
-- Check if execution is running, failed, or completed
CALL EXECUTE_AI_EVALUATION(
'STATUS',
OBJECT_CONSTRUCT('run_name', 'pre_prod_baseline_run_v1'),
'@MARKETING_CAMPAIGNS_DB.AGENTS.CONFIG_STAGE/eval_config.yaml'
);
-- Pull per-record results and scores
SELECT *
FROM TABLE(SNOWFLAKE.LOCAL.GET_AI_EVALUATION_DATA(
'MARKETING_CAMPAIGNS_DB',
'AGENTS',
'MARKETING_AGENT',
'cortex agent',
'pre_prod_baseline_run_v1'
));结果包括输入、输出、基准真值、指标得分、评估类型、时长,以及每个得分的解释。解释通常是最有用的列,因为它告诉你 agent 为何被如此评判。
第 5 步:CI/CD 质量门禁(预生产回归防护)
将指标接入 Snowflake 任务或你的流水线工具,使回归能够阻止发布。对于 agent,门禁应关注工具行为,而不仅仅是答案质量。
如果答案正确率或工具选择低于可接受标准,则中止部署
SELECT
AVG(IFF(metric_name='answer_correctness',
eval_agg_score, NULL)) AS ac,
AVG(IFF(metric_name='tool_selection_accuracy',
eval_agg_score, NULL)) AS tsa
FROM TABLE(SNOWFLAKE.LOCAL.GET_AI_EVALUATION_DATA(
'MARKETING_CAMPAIGNS_DB', 'AGENTS', 'MARKETING_AGENT',
'CORTEX AGENT', 'pre_prod_baseline_run_v1'
));上述阈值仅供参考。请根据你自己的基线运行结果来设定。在将其接入自动化之前,还要确认你账户中 GET_AI_EVALUATION_DATA 返回的确切指标列名。
Agent 评估的四个层级
第 1 层:黄金数据集测试
一组精心整理的问题、预期答案和预期工具路由。每当 agent 指令、语义视图、搜索服务或模型配置发生变化时运行它。例如:

该数据集将成为你的回归测试套件。
Snowflake 提供创建和管理评估数据集的功能,这些数据集可在多次评估运行中复用。
第 2 层:轨迹分析
Agent 轨迹揭示规划决策、工具选择、SQL 生成与执行、搜索调用和响应生成。要审查轨迹,而不仅仅是输出。
健康轨迹:
- ✅ 选择了正确的 Semantic View
- ✅ 仅在需要非结构化内容时使用 Cortex Search
- ✅ 使用了最少的工具调用次数
- ✅ 遵守了治理和基于角色的访问控制
不健康轨迹:
- ❌ 一次调用即可时却调用了五个工具
- ❌ 查询了错误的数据集或语义视图
- ❌ 生成的 SQL 运行成功但回答了另一个问题
- ❌ 忽略工具错误并临时编造答案
第 3 层:基于指标的评判
LLM 评判员依据基准真值和标准对 agent 行为评分,并为每个得分返回解释。对于 agent,评判员同时考察答案和执行路径。要问“是否使用了正确的工具、计划是否连贯、结果是否有工具输出支撑?”,而不是“文本是否完全匹配?”
第 4 层:生产监控
你的用户会生成最好的测试用例。AI Observability 让你监控已部署 agent 的请求、轨迹、反馈、成本、延迟和工具使用情况。将失败案例反馈回你的黄金数据集。
关键指标
1. 工具选择准确率(最高优先级)
agent 是否为任务调用了正确的工具:Semantic View、Cortex Search、存储过程或外部工具?工具选择错误应导致评估失败,无论答案质量如何,因为来自错误来源的正确答案只是运气。
2. 答案正确性
最终答案是否与基准真值一致?
问题:7 月销售额是多少?
预期:$12.4M
实际:$12.3M → 根据与基准真值的一致性评分
对于分析型智能体,要预先定义你的容差。决定 1230 万美元与 1240 万美元之间是算通过、部分得分,还是算失败。
3. 逻辑一致性
智能体在各个步骤之间是否推理连贯?这一点已内置于智能体轨迹中,并会标记不必要的工具调用、低效执行和不连贯的规划。
4. 工具执行质量
工具调用是否成功,并返回了智能体所需的内容?在你的评估设置支持的情况下,检查以下各项:
- 可生成有效且正确 SQL 的 Semantic View 查询
- 可返回可用结果的搜索调用
- 对工具错误和空结果的妥善处理
5. 效率:成本与延迟
一个在 40 秒内通过六次工具调用得到正确答案的智能体,可能不如一个在 6 秒内通过一次工具调用得到答案的智能体。在跟踪质量的同时,还要跟踪工具调用次数、延迟和 token 成本。
6. 治理遵从
智能体是否遵守了调用方的角色和权限,并在应当拒绝时恰当地拒绝?要包含明确的负向测试用例。
关于检索指标的说明: 基于事实性和上下文相关性仍然重要,但对于智能体而言,它们仅适用于 Cortex Search 工具步骤。要将它们视为该工具上的子检查项,而不是智能体的主要指标。
构建你的第一个评估数据集
从 20–50 个示例 开始。不是 5 个。不是 5,000 个。只要足以揭示有意义的失败模式即可。
对于 Snowflake Sales Agent,你的评估数据集应为每个示例捕获以下核心组成部分:
- 输入: 原始用户提示或问题。
- 预期输出: 理想的 SQL 查询、数据载荷或自然语言响应。
- 业务上下文: 准确回答所需的底层逻辑、数据模式或操作规则。
在 Snowflake 中运行评估
Snowflake 为 Cortex Agents 提供原生评估执行能力。
示例:
CALL EXECUTE_AI_EVALUATION(
'START',
OBJECT_CONSTRUCT(
'run_name','sales_agent_eval_01'
),
'@eval_stage/sales_agent_config.yaml'
);这会针对已配置的数据集和指标启动一次评估运行。
检查评估结果
Snowflake 会公开详细的评估数据。轨迹级可观测性正是智能体评估回报最大的地方:
--Get evaluation details for a run
SELECT *
FROM TABLE(
SNOWFLAKE.LOCAL.GET_AI_EVALUATION_DATA(
'AI_DB',
'EVALS',
'SALES_AGENT',
'CORTEX AGENT',
'marketing_agent_eval_01'
)
);
-- Get traces for a specific record
SELECT * FROM TABLE(SNOWFLAKE.LOCAL.GET_AI_RECORD_TRACE(
'AI_DB', 'EVALS', 'SALES_AGENT', 'CORTEX AGENT', '9346efc3-5dd6-4038-9b1a-72ca3d3b768c'
));结果包括:
- 输入
- 输出
- 真实基准
- 指标得分
- 评估类型
- 持续时间
- 评估解释
这让你可以检查用户请求、智能体推理流程、工具执行、反馈和评估运行。寻找带有负面反馈、工具调用次数异常偏高或延迟较长的问题。那些就是你下一批黄金数据集的候选。
实用的评估成熟度模型
这是 Hamel 所倡导的状态,也是 Snowflake 的评估架构所支持的状态。
最终要点
评估是一项产品开发活动,而不是一项报告工作。对于智能体而言,关键的转变在于 轨迹就是产品。将工具选择、执行路径和答案质量一起衡量的团队会进步得更快。只检查最终答案的团队会停滞不前,因为他们看不到智能体为何失败。
Cortex Agent Evaluations、AI Observability、智能体轨迹、基于评判的指标、评估数据集以及成本与用量可见性共同为你提供一个完整生命周期:观察、衡量、改进、重复。
评估 Snowflake Cortex Agents:衡量行为,而不仅仅是答案 最初发布于 Snowflake Builders Blog: Data Engineers, App Developers, AI, & Data Science(Medium),人们正在那里通过高亮和回应这个故事来继续对话。
补充来源
1 个信源 · 1 篇报道这篇内容对你有用吗?
反馈只用于改善内容筛选,不等同于收藏