【AI测试方法论】五个科学实验思维,通吃CV/RAG/Agent测试

前言:

AI测试跟传统测试最大的区别是什么? 不是工具变了,其实是思维要变。模型输出有随机性、链路有多层依赖、输入空间接近无限,这些特征决定了,做AI测试需要科学实验的思维方式。这篇文章总结的五个思维,来自我在CV大模型动作识别、RAG问答系统、Agent测试中的真实项目经历。不是教科书搬运,每一条都有踩过的坑。

一、控制变量 --先排除干扰,再下结论

做科学实验,最基本的一条:每次只改一个变量,结论才能归因准确。我在做动作识别的休息场景测试时,最早的测试视频设计是一个视频塞三个不同的动作,中间穿插两段休息。结构是:动作1→休息→动作2→休息→动作3。跑完发现4条视频全是N/A。

原因是其中某个动作不在模型支持列表内,整条视频的休息切换无法评估。一条视频里三个变量(三个动作),一个出问题,整条数据作废,根本分不清是动作1的问题还是动作3的问题。

后来改了设计:一个视频只做一个动作,结构变成:动作A→休息→动作A→休息→动作A。效果立竿见影。动作能识别的,切换数据干净;动作不能识别的,直接标N/A,不影响其他条。问题原因也清楚了。N/A是动作模型不支持,不是休息检测的问题。

**这个思维在AI测试里的通用性:**RAG测试里也一样,如果你同时改了prompt模板和检索策略,结果变好了,你不知道是哪个改动起了作用。Agent测试里,如果一个case同时涉及工具调用和状态管理,失败了也定位不到根因。先固定其他变量,一次只测一个维度,我觉得这是所有AI测试的基本功。

二、等价类划分 -- 输入无限,分类有限

我觉得等价类划分在AI 系统中的应用比传统测试更加重要。AI系统的输入空间几乎是无限的。用户可以做任何动作、问任何问题、给任何指令。你不可能穷举所有输入,但是你可以把输入分成几类,每类取一个代表来测。

比如做休息场景测试的时候,用户休息的姿态千变万化,但归纳下来就几类:静坐玩手机、离开画面、蹲下、躺着、站着不动。每类选一个代表拍视频,五类覆盖了,风险就覆盖了。测完发现,离开画面最稳定,静坐基本没问题,但蹲下和躺着容易被模型误判为动作(蹲下→深蹲,躺着→弯举)。如果不做分类,随便拍几条,很可能全是静坐的,蹲下和躺着的风险就漏掉了。

**这个思维在AI测试里的通用性:**RAG测试里,用户问题是无限的,但按风险类型分就几类:

正常问题、边界问题、拒答问题、多文档交叉问题。数据集的目的不是枚举所有用户问题,是覆盖所有风险类型。Agent测试也是,用户指令无限,但按意图分类:正常意图、模糊意图、恶意意图、多步骤意图,每类取代表case 就可以了。

三、边界值分析 -- 模型在类别交界处最容易崩

边界值分析在传统测试里就有,但在 AI 测试里更致命。传统系统在边界上最多报个错,AI模型在边界上会自信地给你一个错误答案。比如在测动作识别的时候,站姿飞鸟这个动作,模型经常识别成站姿转体或推胸。原因是这三个动作的骨骼关键点分布在某些帧上高度相似,导致模型在这几个类别的边界上分不清。

这不是模型"笨",是这几个动作在特征空间里本来就靠近。更隐蔽的一个发现:玩手机的姿势,低头、手臂弯曲,容易被模型识别成单臂弯举。算法确认了,两者的关键点分布确实相似。这种"日常姿态撞上训练动作"的边界case,不专门找根本发现不了。

**这个思维在AI测试里的通用性:**RAG系统里,最容易出问题的不是"法国首都是哪里"这种清晰问题,而是"XX政策适用于什么情况"这种边界问题,答案可能横跨多个文档,检索器不知道该召回哪个。Agent测试里,边界case是那些看似正常但容易触发错误工具调用的指令,比如"帮我删除上一条"------删对话还是删文件?模型在这种语义边界上最容易判错。

四、多次采样取众数 -- 对抗随机性

传统软件测试,同一个输入跑十次结果都一样。AI测试不是。我测休息场景的时候,同一条视频、同一个SDK,昨晚跑和今早跑结果不一样。让cc看了代码,发现两个原因:第一,SDK的帧调度机制会根据设备负载丢帧,不同时间负载不同,处理的帧不一样;第二,VLM云端推理本身有随机性,同样的输入两次可能给不同的结果。所以单次结果不可信。

最终的做法是每条视频跑3次,取出现最多的结果作为最终结论。如果3次结果都不一样,跑第4次,看哪个出现最多用哪个。这不是偷懒,是统计学里最基础的重复实验思想,通过多次采样消除随机误差,让结论更接近真实情况。

**这个思维在AI测试里的通用性:**RAG测试里,同一个问题问两次,检索结果可能不同(向量召回有随机性),答案也可能不同。Agent测试里,同一个指令执行两次,工具调用顺序可能不同。任何涉及大模型的测试,单次结果都不能当结论,都需要多次采样看稳定性。

五、归因分层 -- 问题出在哪一层,决定了谁来修复

科学实验不只是发现"这个药没效果",还要搞清楚"是药的成分不对,还是剂量不够,还是给药方式有问题"。AI测试也一样,发现问题还不够,还要归因到正确的层。做休息场景测试的时候,有几条视频全程显示rest,切换完全失败。表面看是"休息识别有问题",但往下追发现:不是休息识别的逻辑错了,是上游的动作模型根本不支持这几个动作(站姿握把交替弯举、仰卧推胸),classId一直是不变,休息识别只是在忠实地执行"classId=34就是rest"这个规则。

问题在L2(动作分类层),不在L3(场景逻辑层)。更深一步,让cc看了代码发现:状态切换逻辑里只有时序平滑(连续几帧确认),没有置信度门槛。哪怕模型只有51%的置信度,也会触发切换。这个根因在算法设计层,不是模型层也不是应用层。归因不准,修也白修,发现问题在哪一层,修复效率也会更加快。

**这个思维在AI测试里的通用性:**RAG系统里,回答质量差可能是检索层召回了错误文档,也可能是生成层对正确文档做了错误总结,两层原因对应完全不同的修复方案。Agent测试里,任务失败可能是意图理解错了,也可能是工具调用参数传错了,也可能是状态管理丢了上下文。每一层都要独立验证,从下往上排查,才能找到真正的根因。

最后这五个思维

控制变量、等价类划分、边界值分析、多次采样、归因分层不是AI测试独有的,是科学实验几百年沉淀下来的方法论。但在AI测试里,它们比传统测试更重要。因为AI系统的不确定性更大、链路更长、输入空间更广,没有这些思维兜底,测出来的结论经不起推敲。工具会变,框架会变,但思维方式不会过时。

本文案例均来自真实项目实践,涉及CV大模型动作识别、RAG问答系统、Agent工具调用等场景。

相关推荐
Terrence Shen2 分钟前
Hermes agent的tools是怎么落地应用的系列
人工智能·llm·agent·hermes
灵感__idea14 分钟前
《AI工程》:大语言模型,到底是什么?
aigc·openai·ai编程
甲维斯15 分钟前
魔改的DeepSeek桌面版成了!
ai编程
Raink老师18 分钟前
【AI面试临阵磨枪-72】电商全场景 AI Agent 设计(商品咨询 / 订单 / 物流 / 售后 / 退款)
人工智能·面试·职场和发展
仙女修炼史24 分钟前
CNN更看重Texture还是shape:imagenet-trained cnns are biased
论文阅读·人工智能·cnn
怒放吧德德30 分钟前
全程用 Claude Code 自动化部署 Linux 环境
ai编程·claude·deepseek
LT101579744436 分钟前
2026年AI自动化测试工具怎么选?智能化测试工具测评对比
测试工具·ai·自动化
视***间41 分钟前
视程空间 AIR SC6N0-C-MB NX 16GB 规格详解与机器人/机器狗适配说明
人工智能·机器人·边缘计算·机器狗·ai算力·具身机器人·视程空间
视***间42 分钟前
小身板・强算力・全适配 —— 视程空间 AI 算力开发板如何完美适配机器人 / 机器狗
人工智能·机器人·边缘计算·ai算力·视程空间·算力开发板
网宿安全演武实验室1 小时前
当AI跑进容器:全链路容器安全检测与智能运营实
人工智能·安全·容器·k8s