AI Agent 上线前要同时测试结果、过程和边界。准备一组有期望结果的真实任务,记录模型选择、检索片段、工具调用和最终产物;再加入权限不足、工具超时、输入缺失与重复提交。只验证正常问题能回答,无法覆盖真实运行中的风险。

测试集不用一开始就追求很大。二十到五十条真实任务已经能发现不少问题,关键在于每条任务都有明确的验收条件,并保留运行记录。

概念示意图:正常、边界、故障、权限和重复任务依次进入同一套验收流程。

概念示意图:正常、边界、故障、权限和重复任务依次进入同一套验收流程。

先写清什么叫完成

“回答看起来不错”很难复测。资料问答可以检查是否引用正确文件、关键字段有没有遗漏;报告生成可以检查时间范围、公式、单位和文件格式;工单任务可以检查对象、字段和是否经过确认。

同一任务最好同时保留输入、期望结果和禁止出现的行为。客服助手需要给出处理建议,也不能虚构退款状态;数据助手需要生成汇总,还不能访问未授权表。正向要求与禁止项一起写,边界会清楚很多。

结果有随机性时,不必要求每个字相同。可以把验收拆成必填事实、允许变化的表达和必须拦截的动作。多跑几次,观察错误是否集中在同一环节。

五类样本缺一块都会留下盲区

正常样本来自日常高频任务,检查主路径能否完成。边界样本包含超长文件、缺少字段、模糊指令和相互冲突的资料,观察 Agent 会补问、停止还是自行猜测。

故障样本主动断开模型、知识库和工具,检查超时、重试与任务状态。权限样本使用不同角色运行同一问题,确认资料和工具访问范围随身份变化。

重复样本会连续提交相同请求,或在任务执行中途再次点击。涉及发消息、建工单和写数据时,需要确认系统会查询上次回执,避免产生两份结果。

样本类型

主要检查

正常

结果、格式、来源是否符合预期

边界

缺少信息时是否询问或停止

故障

超时、重试、恢复状态是否清楚

权限

不同身份能看到和执行什么

重复

外部写操作是否产生重复结果

过程记录比最终答案多一层价值

Agent 的最终答案相同,过程可能完全不同。一次只查了授权知识,另一次调用了多余工具;一次成本可控,另一次在循环里反复检索。只保存结果,问题出现后很难还原。

运行记录至少包含任务 ID、输入版本、使用模型、检索来源、工具参数摘要、节点状态、人工确认和最终产物。涉及敏感数据时,日志还要脱敏,并设置查询权限与保留期限。

评估指标也要贴近任务。结构化抽取可以计算字段准确情况,知识问答可以在标注集上计算检索指标,外部操作更关心成功率、重复率和人工接管。把所有 Agent 都放进一个“回答准确率”里,会掩盖任务差异。

把异常当成验收项目

测试环境中主动制造中断。模型返回一半时断开连接,工具成功后丢弃回执,人工审批等待时重启服务,并让两个执行器同时领取任务。观察系统从哪里恢复,记录能不能解释当时的决定。

再检查停止条件。Agent 是否会在工具连续失败后停下,资料冲突时是否提示来源,达到调用次数和成本上限后能否转人工。无限重试和无限规划在演示里不常出现,长期运行时会变成真实消耗。

上线方案里还要写清负责人。谁维护测试样本,谁处理权限问题,模型或提示词更新后由谁触发回归测试。没有固定维护人,测试集很快就会和业务脱节。

用 Runtime 承接持续测试

ZGI 把模型路由、知识、数据、Skill、工作流与工具执行放进可自托管 Agent Runtime。团队可以围绕同一个任务查看检索来源、工具调用、节点状态和最终产物,并在模型、知识或流程变化后重复运行同一批测试。

准备上线时,先让少量真实用户使用低风险任务。把失败样本、人工修改和中断原因继续加入测试集。每次模型、知识、工具或流程发生变化,都用同一批基准任务回归一次,才能看到改动到底影响了哪里。

GitHub:https://github.com/zgiai/zgi

Gitee:https://gitee.com/zgiai/zgi

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐