重复与冲突的两种形态
提示里的重复有两种:同义重复(「不要编造」写了三次)和隐性冲突(「输出完整字段」与「全文控制在 80 字内」)。前者让提示冗长并稀释真正的约束,后者会让模型在两者之间随机取舍。维护提示时先合并同类项,再二选一或写明让步顺序,改完跑回归用例观察优先级是否变化。
基本信息
| 同义重复 | 合并为一条可判定的规则 |
|---|---|
| 隐性冲突 | 量化后二选一,或写明让步顺序 |
| 验证时机 | 每次合并后跑回归用例 |
| 常见后果 | 改完文本,优先级却变了 |
典型使用场景
- 提示模板长期迭代后清理:合并历次追加的同类约束
- 多人协作维护同一提示:去掉不同作者写的重复要求
- 字数与完整性冲突:明确先保证必填字段,再压缩长度
- 多语言版本同步:各语言版本里的约束条数不一致时对齐
- 评审清单:把「无重复无冲突」作为合并前的检查项
清理示例
清理示例
清理前:
1. 不要编造事实。
2. 所有内容必须来自资料。
3. 严禁添加资料中没有的信息。
清理后:
1. 所有事实必须能在 <data> 中找到原文依据;找不到的写「未提及」。
# 合并时给可判定的动作,而不是留下三条同义禁止句
# 冲突要显式排序:如「字段完整性优先于字数上限」
# 合并后跑回归集,确认没有改变原有优先级
# 保留变更记录:哪几条合并成一条、原因是什么问题类型与处理
| 问题 | 表现 | 处理 |
|---|---|---|
| 同义重复 | 三条意思相同的禁止句 | 合并为一条带判定标准的规则 |
| 隐性冲突 | 完整性要求与字数上限并存 | 写明让步顺序或量化后二选一 |
| 残留旧规则 | 已废弃的口径仍在提示里 | 整条删除,不要只标「已作废」 |
| 多次追加 | 同一约束在不同位置各写一遍 | 留一处,位置固定在硬约束区 |
把重复当作强调手段会让提示冗长,并稀释真正关键的约束;约束的强度来自可判定性,而不来自重复次数。
只做文本合并、不做行为验证,合并后可能与原优先级不一致;合并属于改动,应当走一遍回归集。