约束优先级与让步顺序
提示里写多条要求时,它们之间常常互相冲突:要格式完整又要极短、要覆盖全面又要重点突出。冲突时模型会自行折中,而折中方式不可见——看输出只发现少了内容,却不知道该怪哪条要求。解法是提前声明让步顺序,并要求发生让步时在输出中留一行说明。这样模型不必猜,排查时也有据可依。
写法要点
| 为什么 | 模型在冲突约束下会自行折中,排查时难以察觉 |
|---|---|
| 常见冲突 | 格式与字数、完整与简洁、严谨与可读 |
| 透明化 | 要求输出中标注哪条被让步及原因 |
| 排序依据 | 按业务后果排:数据正确性优先于格式,格式优先于风格 |
| 配套 | 让步说明放固定字段,避免混进正文 |
典型使用场景
- 抽取任务:字段齐全优先于字数限制
- 摘要生成:事实保真优先于长度达标
- 报告写作:结论准确优先于篇幅与文采
- 多语言输出:术语准确优先于语句通顺
- 上线前排查:输出异常时先看是哪条约束被让步
优先级声明模板
优先级声明模板
若要求冲突,按以下顺序让步:
① JSON 必须可解析(字段齐全) # 格式问题会直接导致流程失败
② 事实必须来自资料,不得编造
③ 全文尽量不超过 120 字
发生让步时,在 notes 字段写一行说明。 # 让步可见,便于排查常见冲突与推荐序
| 冲突组合 | 推荐优先级 | 原因 |
|---|---|---|
| 格式 vs 字数 | 格式优先 | 格式错误会让下游解析失败,字数问题可后处理 |
| 完整 vs 简洁 | 完整优先 | 漏掉的信息无法事后补回 |
| 严谨 vs 可读 | 严谨优先 | 面向非技术读者的可读性问题可人工润色 |
| 速度 vs 准确 | 看场景 | 在线交互可接受略慢,批处理更应保准确 |
没写让步顺序时,也可以反查输出:如果每次让步的都是同一条要求,说明它与主目标天然冲突,应从提示里删掉或改写法。