Bad Case
失败模式与分层优化
每个失败先定位它出在 Instruction、Context、Tool、Schema 还是数据层,再用协议或规则修复,并把难例回流到回归评测集。
| Bad Case | 现象 | 根因 | 定位层级 | 处理方案 | 为什么这样处理 |
|---|---|---|---|---|---|
| Analyzer ↔ Strategist 循环 | 策略 Agent 反复要求分析补充,任务无法结束 | 上下游字段定义不一致 / 缺少必填项 | Schema + Context | 固定关键字段;Schema 校验;缺失字段使用结构化补充请求;设置最大循环次数 | 用协议解决系统性问题,而不是继续堆 Prompt |
| 无序提及被判断为推荐 | 回答同时提到多个品牌但被判定为明确推荐 | 语义判断缺少推荐关系边界 | Instruction + Rule | 增加推荐关系定义、反例与规则校验 | 保证指标口径稳定 |
| 引用关系过度判断 | 语义相似内容被误认为 AI 直接引用 | 把相关性当引用 / 因果 | Instruction + Evidence | 区分直接 URL 引用、强关联、弱关联、未知 | 避免过度承诺 GEO 效果 |
| 比例统计漂移 | 同一批样本多次计算结果不一致 | LLM 执行确定性计算 | Tool | 计数 / 比例 / 排序下沉确定性程序 | 确定性任务不应由概率模型承担 |
| URL 解析错误 | 引用 URL 截断 / 格式异常 | 模型抽取不稳定 | Tool + Schema | URL 解析与合法性校验工具化 | 减少格式类错误 |
| 采样结果不完整 | 部分 AI 引擎失败或超时 | 第三方服务不稳定 | Tool + Workflow | 重试、补采、部分完成、状态追踪 | 保证任务可恢复、可解释 |
| 步骤重复、无法收敛 | 同一 Agent 反复执行相同步骤,任务不结束 | 缺少终止条件与最大步数 | Workflow | 显式终止条件 + 最大循环次数 + 重复动作检测 | 用流程控制兜住模型的不确定性 |
| 上下文丢失 | 多轮后忘记早期约束与品牌配置 | 关键状态只存在对话历史里 | Context | 关键状态写入任务对象,按需读取 | 长对话会衰减,状态要显式持久化 |
| Agent 间信息隐瞒 | 上游未把必要参数(如格式要求)交给下游 | 交接缺少显式字段与信息需求定义 | Context + Schema | 交接必须携带必填字段,缺失即阻断 | 明确协议胜过依赖模型自觉 |
| 推理与执行不一致 | 说要执行 A,实际调用 B 工具或参数 | 计划与动作未绑定 | Tool + Schema | 先生成结构化动作,执行器校验后再调用 | 让动作可校验、可回放 |
| 过早终止 | 任务未完成就宣告成功 | 缺少完成条件校验 | Workflow + Rule | 只有满足完成条件才允许结束 | 终态必须被校验 |
| 验证只做表面检查 | 过了格式 / 编译检查但业务不可用 | 缺少目标级验证 | Rule | 引入目标级验收(事实一致、引用核验) | 低级检查挡不住业务错误 |
| 检索引用缺失 | 回答没有引用来源,或引用了无关页面 | 召回不足 / 重排失效 | Retrieval | 混合检索 + 重排 + 引用必填,无来源不下结论 | RAG 类产品的常见失效点 |