LLM BadCase自动化分析

3 阅读4分钟

本文包含:BadCase 定义与分类、Excel 可直接复制模板、自动化脚本、裁判模型Prompt

一、什么是 LLM BadCase

LLM BadCase 指用户发起请求后,模型输出结果不符合业务需求、功能预期、事实规范,或未遵守预设约束规则的异常案例。它是大模型质量评估、问题定位、迭代优化的核心依据,也是 RAG 类系统测试的重点工作。

二、LLM BadCase 常见分类及示例

1. RAG 检索错误

系统未召回相关知识库内容,召回不相关、不完整内容,导致回答偏离问题。示例:用户问加班餐补报销时间,系统召回办公用品采购规则。

2. 事实错误 / 幻觉

检索内容准确完整,但模型无视参考信息,自行编造、篡改规则与数据。示例:知识库写明年假最多分 3 次休,模型输出可分 5 次休。

3. 情绪识别错误

用户带有明显正向 / 负向情绪,模型识别错误,导致回复与情绪不匹配。示例:用户抱怨流程复杂,模型将负向情绪识别为中性。

4. 语气适配错误

模型正确识别情绪,但回复语气生硬、官方,不符合沟通场景。示例:识别用户不满后,仍使用冰冷制式话术。

5. 指令不遵循(Prompt 失效)

Prompt 明确约束行为规则,模型未按指令执行,自行输出违规内容。示例:要求禁止编造,模型仍在无检索结果时虚构规则。

6. 异常场景失效

对乱码、空输入、超长文本、恶意输入等异常场景未做合理处理。示例:用户输入!@#$%^&*(),模型编造考勤制度进行回复。

三、Excel BadCase 管理模板(可直接复制使用)

表 1:测试用例表 TestCases

用例 ID用户问题预期输出备注
CASE001年假最多可以分几次休?年假最多可分 3 次休基础规则验证
CASE002报销流程太复杂,我完全看不懂非常理解您的困扰,我为您简化说明情绪测试
CASE003!@#$%^&*()请输入有效的问题内容异常输入
CASE004加班餐补的报销时间要求是什么?加班餐补需在 7 天内报销检索相关性
CASE005新员工入职有年假吗暂无相关内容,请咨询 HR无检索结果

表 2:分析结果表 AnalysisResults(脚本自动生成)

用例 ID用户问题检索返回内容模型实际输出预期输出脚本初步分类专家模型分类根因分析优化建议测试状态
CASE001年假最多可以分几次休?年假最多可分 3 次休年假最多可分 5 次休年假最多可分 3 次休事实错误 / 幻觉检索正确,模型篡改规则强化 Prompt 禁止编造已分析
CASE002报销流程太复杂,我完全看不懂报销流程制度1. 提交申请 2. 审核理解困扰,简化说明情绪识别错误未识别负向情绪优化情绪识别已分析
CASE003!@#$%^&*()考勤打卡规则请输入有效问题异常场景失效异常场景失效未处理乱码增加输入校验已分析
CASE004加班餐补报销时间办公用品采购规则采购需经理审批7 天内报销RAG 检索错误RAG 检索错误检索不相关优化检索策略已分析
CASE005新员工有年假吗满 1 个月有年假暂无相关内容指令不遵循指令不遵循无结果仍编造明确 Prompt 统一回复已分析

四、裁判模型 Prompt

你是专业的LLM系统BadCase分类专家。请根据用户问题、检索内容、模型输出,严格按以下分类给出唯一结果,只输出分类名称,不附加任何解释。

分类标准:
1. RAG检索错误:检索内容不相关、不完整、未召回有效信息
2. 事实错误/幻觉:检索内容正确,模型编造、篡改信息
3. 情绪识别错误:未正确识别用户正向/负向情绪
4. 语气适配错误:识别情绪正确,但语气不符合场景
5. 指令不遵循:未遵守Prompt约束,违规输出
6. 异常场景失效:对乱码、空值等异常输入处理失效

用户问题:{user_query}
检索内容:{retrieval_content}
模型输出:{model_output}

五、自动化分析 Python 脚本

code.juejin.cn/api/raw/762…

六、标准执行流程

  1. 写用例:在Excel的TestCases表里填「问题 + 预期答案」
  2. 跑脚本:脚本自动调用业务接口,拿到模型真实返回结果
  3. 自动分类:简单问题脚本规则判,复杂问题裁判模型判
  4. 自动填表:根因、建议、分类全部自动写入 Excel
  5. 人工复核:最后人工审核模糊案例