按问题学习
先保存一次失败的输入、实际证据、模型或工具输出,再按下面的路径缩小问题范围。每一步只改变一个主要变量;跳过定位直接换模型,容易让成本增加却不知道哪里改善。
回答不准确:先看证据在哪一步丢失
| 观察到的现象 | 下一步阅读 | 最小验证实验 |
|---|---|---|
| 原文存在答案,但候选里没有 | 切分 → 检索策略 | 固定 20 个问题,对照标准证据计算 Recall@K,保留未命中样本 |
| 候选里有答案,最终上下文没有 | 重排序 → 上下文工程 | 同时保存召回、重排及截断后三份证据列表 |
| 上下文正确,但回答漏条件 | Prompt 基础 → RAG 评估 | 将必要条件列成字段,逐项检查回答与证据是否一致 |
| 找不到证据,却编出答案 | 生产实践 → 评估指标 | 单列无答案问题,统计错误作答与正确拒答,不混入普通召回率 |
完成标志:能把每个失败归到切分、召回、重排、上下文或生成中的一个主要阶段,并拿出对应记录。
工具重复执行:区分调用失败与响应丢失
- 为业务动作建立稳定的动作 ID,保存调用参数、执行状态和返回结果。
- 用“写入已经成功,但响应丢失”测试恢复行为,不能只测试工具在执行前抛异常。
- 对读取和写入分别制定重试规则;把幂等校验和授权放在执行端。
- 在恢复后检查业务对象只创建一次,审批记录和结果能够关联到同一个动作。
完成标志:系统能够恢复执行,而且不会因模型再次提出相同调用就重复提交业务动作。
延迟和成本过高:按阶段计时再做取舍
先拆出排队、检索、重排、首 token、生成和工具耗时;同时记录成功、失败与重试请求。固定同一批输入和质量门槛,分别比较减少上下文、缓存、并行只读步骤和替换模型的效果。缓存实验必须覆盖权限变化和知识更新,不能只展示命中率。
完成标志:能够说明哪一步占主要耗时,以及降低成本是否损失了答案质量、失败率或长尾延迟。
是否应该微调:先判断缺的是知识还是行为
| 问题 | 起步方案 | 需要的证据 |
|---|---|---|
| 需要频繁更新的私有知识 | RAG | 证据召回与引用是否达到要求 |
| 输出格式不稳定 | 结构化提示 | 结构校验、缺失字段和拒绝响应是否正确处理 |
| 稳定重复的领域行为或风格 | 训练数据 → SFT → LoRA | 独立验证集、提示基线、目标改善和旧任务回退 |
| 同一输入下存在可靠的优劣偏好 | DPO → 训练评估 | 偏好一致性、长度偏差、测试集泄漏和真实胜率 |
这不是互斥选项:RAG 与微调可以组合,但每一步都需要独立对照,证明新增复杂度解决了已定位的问题。
图表与扫描件误读:检查输入信息是否保留下来
对同一文档保留页码、图片区域和文本抽取结果。把失败分为小字不可读、表头丢失、跨页关系缺失和视觉推理错误,再比较文本检索、页面图像检索与混合路径。不要用只包含清晰截图的样本证明扫描件能力。
完成标志:回答中的数字和条件能定位到具体页面或区域;无法辨认的部分会明确报告缺失。
用一份真实产物结束阅读
从 可运行知识助手 开始,或用 实验记录模板 保存假设、配置、逐题结果和失败样本。读完相关章节后,回到原失败样本验证,再将结论写入自己的项目记录。