无关内容为什么有害
长提示里的无关段落会稀释注意力并抬高成本:信息被忽略的概率与它在上下文中的位置和数量有关,无关内容越多,真正约束被忽略的概率越高。做法是按需裁剪——只保留影响答案的约束、字段定义、例外情况与读者信息,历史讨论与已废弃方案默认删掉。
基本信息
| 保留 | 影响答案的约束、字段定义、例外情况、读者信息 |
|---|---|
| 删除 | 与本次问题无关的背景故事、已废弃的历史讨论 |
| 依据 | 长上下文中段信息更易被忽略,无关内容越多越不利 |
| 易漏项 | 多轮对话中用户最近一次明确更正 |
典型使用场景
- 多轮对话:只保留与当前任务相关的轮次,历史结论压缩成一行
- 工单处理:把解决过程中的试错记录裁掉,只留现象与结论
- 知识库问答:召回文档按需截取相关段落,避免整篇塞入
- 提示模板维护:清理已废弃的规则与旧字段说明
- 评测复现:只保留最能触发问题的上下文,减少比对干扰
裁剪自检三问
裁剪自检三问
1. 删掉这段后,模型还能给出正确结果吗?
2. 这段是“背景”还是“约束”?背景默认删,约束保留。
3. 这段是本次要用,还是“以后可能用到”?以后用的移出当前调用。
# 多轮历史裁剪时,必须保留用户最近一次的明确更正
# 已废弃的规则要整条删除,不能只标注「已作废」留在提示里
# 裁剪后跑一遍回归集,确认没有把必要上下文一起删掉内容分类与处理
| 内容类型 | 处理方式 | 理由 |
|---|---|---|
| 硬约束与格式要求 | 保留 | 直接影响输出形态 |
| 字段定义与例外 | 保留 | 影响判定边界 |
| 历史讨论 | 压缩成结论句或删除 | 过程信息对本次输出无贡献 |
| 已废弃方案 | 整条删除 | 留着会被模型当作可选项 |
| “以后可能用到”的资料 | 移出当前调用 | 抬高成本并引入冲突 |
「宁多勿少」地堆材料会引入互相矛盾的信息片段,模型对冲突信息的取舍不可控,输出在多次运行间反复变化。
裁剪多轮历史时要保留用户最近一次明确更正,否则旧错误表述会被带回并再次生效。