Demo跑通,不等于Agent可上线
AI Agent最容易给团队一种错觉:第一次演示很顺,似乎已经能交付。可一旦接入真实业务流程,问题会变得分散而难查——它可能选错工具、漏掉中间步骤、把检索结果理解错,也可能在权限边界附近做出不该做的动作。
QECon全球软件质量效能大会北京站的议题介绍里,把这个矛盾说得很直白:AI Agent领域存在“开发易、落地难”,“一周出demo,半年难实用”成了常见问题。原因不只是模型能力不够,更多时候是评估体系还停留在传统软件测试的思路里。
传统测试习惯验证确定输入和确定输出。Agent不一样。它有任务规划、工具调用、上下文记忆、执行反馈,有时还会进入多步骤工作流。只测最后一句回答,往往看不出中间已经偏了。
先把“胡说八道”拆开
验证Agent不会胡说八道,不能只问“答案准不准”。这个问题至少要拆成几类:
- 它是否理解了任务边界?
- 它是否调用了正确的工具?
- 它是否按合理顺序完成规划?
- 它是否在证据不足时承认不确定?
- 它是否会被异常输入、诱导提示或攻击样本带偏?
- 它的行为在相似场景下是否稳定?
IBM关于AI智能体评估的内容中,强调评估需要覆盖智能体的行为、性能和安全性,而不是只盯着一次输出。对开发团队来说,这意味着测试对象要从“模型回答”扩展到“Agent执行过程”。
这里有个很实际的判断:如果日志里只能看到用户问题和最终回复,这套Agent还没有进入可测试状态。至少要能看到规划、工具调用、输入输出、错误处理和关键决策点。
对抗性测试不是找茬,是上线前的体检
Agent越接近生产环境,越需要对抗性测试。
普通测试集会验证常见任务能不能完成;对抗性测试集则故意放入异常场景、边界条件和诱导输入,观察Agent是否会偏离预期。比如用户绕开规则、构造模糊指令、要求访问不该访问的信息,或者把多个互相冲突的目标塞进一个任务里。
AIGC开放社区关于微软AI Agent可观测性的报道提到,Azure AI Foundry的AI红队智能体支持自动化对抗性测试,可以模拟攻击,测量风险,并生成准备情况报告;它还可用于验证单个智能体响应和复杂工作流的生产准备情况。
这类测试的价值不在于证明Agent“聪明”,而在于尽早暴露它在哪些输入下会失控。对企业应用来说,这比一次漂亮的演示更重要。
工具调用链路要能被看见
很多Agent问题并不发生在最终回答,而发生在工具调用链路里。
例如,一个Agent表面上给出了合理答案,但它可能调用了错误的数据源;或者工具调用成功了,Agent却误读了返回结果;再或者它在多工具之间来回跳转,最终生成了一个看似完整、实际没有依据的结论。
因此,可观测性不是锦上添花。它是Agent测试的基础设施。
AIGC开放社区的报道提到,微软发布AI Agent 5大可观测性,关注的正是“智能体盲跑”问题。对测试团队来说,至少要把几件事记录下来:Agent选择了什么工具、传入了什么参数、工具返回了什么结果、Agent如何解释这些结果,以及失败时有没有进入兜底流程。
没有链路,就只能事后猜。能追踪链路,才能判断问题出在模型、提示词、检索、工具接口,还是权限设计。
分层测试比一次性打分更靠谱
Agent测试不适合只给一个总分。
QECon北京站“AI原生应用的质量评测”专场提到,Agent从起步开始就会面对规划与链路复杂度的增长,因此需要“分层测试”;同时也要打破“AI无需清晰结果”的误区,重视“千人千面”场景下的行为与结果设计。
这句话落到工程里,可以理解为三层:
第一层,看工作流结构。任务有没有被拆对?关键节点有没有遗漏?工具和权限配置是否符合预期?
第二层,看行为过程。Agent遇到信息不足、工具失败、用户追问时,会不会重试、澄清或停止?
第三层,看结果质量。最终输出是否符合业务目标,是否有依据,是否出现编造、越权或自相矛盾。
AiDD峰会关于Agent评测和质量保障的议题,也提到一种“三位一体”的思路:静态拓扑解析、动态行为Mock和智能生成。静态层面向工作流结构,动态层面向行为验证,智能生成层则用于覆盖更多测试场景。
这比“问一批题,看回答像不像”更接近Agent本身的运行方式。
CI/CD里要拦的不是所有错误,而是高风险变化
把Agent评测接入CI/CD,不是为了让每次提交都跑一场大考。更现实的做法,是把高风险变化拦住。
比如提示词改了、工具接口改了、知识库更新了、权限策略调整了、工作流节点变了,这些都可能改变Agent行为。此时自动化评估应该触发回归测试,重点看核心任务、异常输入和已知风险样本。
如果评估只在上线前人工跑一次,问题往往发现得太晚。Agent系统的变化来源很多,模型、RAG、工具、业务规则都会影响结果。测试要进入研发流程,而不是停留在验收环节。
这里不必追求“完全证明Agent可靠”。更可操作的目标是:每次变更后,知道哪些能力没有退化,哪些链路出现异常,哪些风险必须人工复核。
一个更务实的判断标准
Agent自动化测试的核心,不是让智能体永远不犯错,而是让团队知道它会在什么情况下犯错、错误能不能被发现、发现后能不能定位。
如果一个Agent只能展示最终答案,不能解释执行链路,不能接受对抗性输入,不能在CI/CD里做回归评估,那它离生产可用还差一段距离。
真正值得上线的Agent,不是演示时最会说的那个,而是出问题时能被看见、被拦截、被修正的那个。