引言:当“穷举”不再有效软件测试领域有一个根深蒂固的信念:只要设计足够多的测试用例,覆盖所有可能的输入组合,系统的缺陷就会被一网打尽。这个信念在确定性系统时代大致成立——你输入 A,系统输出 B,偏差就是缺陷。逻辑链条清晰、可验证、可穷举。但当测试对象从确定性逻辑变成了大语言模型驱动的 AI 系统,这套方法论的地基就彻底松动了。一个由 LLM 驱动的应用,面对同一个问题,在不同的上下文、不同的语气、不同的情绪积累路径下,可能给出截然不同的回答。这些回答未必是“错误”的,但它们可能是“不合适”的、“不一致”的,甚至在某些场景下是“有害”的。传统脚本化测试的异常发现逻辑是:预期输出 X,实际输出 Y,Y ≠ X,触发异常。这个逻辑在确定性系统中精确有效,但在 AI 驱动的系统中,“预期输出”本身就是一个难以精确定义的概念。当一个 NPC 在不同情绪状态下对同一问题给出不同回答,这是正常的行为多样性,还是“人格分裂”式的缺陷?当你的 AI 客服在用户的连续挑衅下最终说了不该说的话,这段对话路径在测试用例中存在的概率是多少?某款开放世界 RPG 在内测阶段,测试团队构造了超过 8000 条 NPC 对话测试用例,覆盖了所有预定义的对话分支。然而上线后,玩家社区在两天内发现了 23 个“人格分裂”式的 NPC 反应——NPC 在特定情绪积累路径下,会对同一个问题给出前后矛盾的回答。这些问题,在 8000 条脚本化用例中无一触及,因为它们都需要特定的情绪状态积累过程才能复现。这就是本文要解决的核心问题:如何发现那些隐藏在长对