拓冰建站拓冰建站
首页 / 资讯中心 / 正文

AI多Agent协作系统实战(四十):AI说“没有错误“,系统判了“测试失败“——一个正则的误判

测试AI提交结论页面没有错误测试通过。系统却把它标记为测试失败——复核被打回、任务重测。折腾半天凶手是系统里一行找’有错误’三个字的关键词判断“没有错误里藏着有错误”。一、结论明明是通过系统判了失败测试AI小牛测试完页面提交结果页面打开正常没有错误测试通过。系统自动判定测试失败。复核流程触发任务被退回重测。测试AI一脸无辜我明明说通过了。系统一脸无辜你明明说有错误。两边都觉得自己对——因为它们说的不是同一个有错误。二、系统的眼睛一行关键词扫描查系统的测试结果判断逻辑发现它判断测试失败的方式简单粗暴if有错误inresult_text:statusfailed只要测试结论文本里出现有错误三个字就判定失败。AI说页面没有错误——这行字里包含有错误三个字符没有错误 → 没 有错误——于是页面没有错误测试通过。 → contains 有错误 → 判定 failed系统不是看到了没有错误它是看到了有错误——子串匹配根本没有否定的概念。三、更离谱的误判正则收紧之前误判的还不止没有错误如果有错误请指出来 → 误判失败假设语气 有错误吗请复核确认 → 误判失败疑问句 没有发现错误 → 误判失败错误单独命中不——是有错误子串AI本来是想表达我检查了没问题——系统读到的是有错误——它不是在读语义它是在找字符。关键词匹配最大的问题就在这它分不清没有X、“有X吗”、“如果有X和有X”——四个完全不同的意思在它眼里是同一个X。四、修复从找字符到读语义第一版修复把否定词排掉# 排除否定/疑问/假设语境failed(有错误intext)and(没有错误notintext)and(有错误吗notintext)能挡住大多数情况但心里没底——“没有出现错误”、“未发现有错误”……否定词的变体无穷无尽正则迟早漏。真正的修复是不让AI用自然语言表达状态改用结构化字段。测试AI提交结果时必须带上明确的机器可读状态测试状态: PASS # 或 FAIL 测试结论: 页面打开正常没有错误。系统只认测试状态字段判断通过/失败结论文本仅供人工查看。判断的依据从扫描文字变成了读取字段——语义的歧义根本没机会发生。五、教训关键词匹配要防子串陷阱。“没有X包含X”——有错误 in 没有错误为True——这类反向误判写正则的人自己都容易忽略。否定/疑问/假设语境正则很难全拦住。“没有”、“未”、“吗”、“如果”——变体无穷——正则是在跟人类的语言习惯赛跑注定输。状态判断用结构化数据别用自然语言扫描。PASS/FAIL字段一个字符就表达清楚——让AI写测试状态: PASS比让它在三百字结论里暗示通过可靠一万倍。误判要有可见性。那次误判要是没有被人工发现测试AI会一直说了通过却被判失败——直到它学会用系统听得懂的方式说话或者学会撒谎。AI说没有错误系统听到的却是有错误——关键词匹配分不清否定。我们教AI用人类的语言说话却忘了系统只听得懂字符——后来我们让AI改口说状态: PASS误会从此消失。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门