首页/AI/提示词工程速查/关键要求首尾强化

关键要求首尾强化

长提示中开头的设定与结尾的复述都更容易被模型遵守,中段内容容易被忽略;把硬约束放首尾、资料放中间。

提示词工程速查AI更新于 2026-10-13

为什么位置影响遵守率

长提示里,开头的设定与结尾的复述更容易被遵守,夹在中间的要求最容易被忽略——这是长上下文的位置效应(Lost in the Middle,Liu et al., TACL 2024)。可操作的排布是:硬约束放开头、长资料放中间、结尾用一行复述硬约束。前提是提示确实长(含大段资料或多轮历史);几百字的短提示做首尾复述只会增加输入长度。

基本信息

适用长提示:含大段资料、多轮历史或长示例
依据长上下文中段信息更容易被忽略(位置效应)
做法硬约束开头声明 + 结尾一行复述
复述范围只复述硬约束,不重抄整段提示
不适用短提示无需复述,重复只增加成本

典型使用场景

  • 大段资料抽取:把「仅输出 JSON」放开头与结尾,资料用标签包住夹在中间
  • 多轮长对话:结尾提醒「只依据本轮提供的资料作答」,防止引用历史里的旧数据
  • 长报告生成:开头声明章节与字数上限,结尾复述禁止添加原文外事实
  • 提示模板化:渲染后仍要保证硬约束在首尾,模板里必须留固定槽位
  • 评审与回归:把最关键的 2-3 条约束提炼成结尾自检清单,便于人工抽查

长提示排布模板

长提示排布模板
# 开头:硬约束,越短的规则越要放在最前面
【硬约束|开头】输出必须是可通过 JSON.parse 的数组;数字不加千分位。
# 中间:资料放中间,用标签包住,避免与指令混排
【资料|中间】
<data>……较长材料……</data>
# 结尾:复述只针对硬约束,一行写完
【复述|结尾】再次确认:仅输出 JSON 数组;数字不带千分位;不要附加解释。
# 变量槽位:模板渲染后要检查首尾段落是否仍然存在
# 自检:渲染完成后抽读首尾各三行,确认约束逐字一致

位置与效果对照

位置放什么注意事项
开头 1-3 行硬约束、输出格式、角色设定越靠前越显著,别把这里用在罗列背景上
中段参考资料、对话历史、示例数据内容最长的一段,用标签与编号隔离
结尾 1-2 行硬约束复述、自检清单只复述硬约束,且与开头表述逐字一致
不推荐的位置关键约束只出现在中段遵守率最低,也是提示事故最常见的来源
首尾表述必须逐字一致:一处写两位小数、一处写一位时,模型会在两者间随机取舍,评测结果也会跟着抖动。
复述不等于重抄。把中段资料再写一遍只会拉长上下文、抬高成本,还会稀释真正的约束。

易错点

  • 复述与开头表述不一致(一处「两位小数」一处「一位小数」),模型随机取舍,表现为同一提示偶发不合规
  • 硬约束只写在提示中段,资料一长就被忽略;应提到开头并在结尾复述
  • 短提示也做首尾复述,输入长度与成本上升却没有对应收益
  • 把结尾复述写成整段重抄,重新引入中段信息,反而遮蔽真正的硬约束

数据来源与参考

  • Lost in the Middle: How Language Models Use Long Contexts(Liu et al., TACL 2024)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌