长背景掩盖了真正的任务:4 个原因 + 对症修复

三段背景结尾加一句"那你起草一下发布邮件吧"——模型却返回 400 字背景总结。本文讲为什么长上下文会埋掉任务,并给出几种把任务放到模型必看位的结构化模板。

你贴了三段背景——公司介绍、团队配置、项目当前状态、为什么要做这件事——结尾问了一句”那你能起草一下发布邮件吗?“模型回了你 400 字关于公司的总结。不是邮件,不是草稿,是总结。任务的确写了,但它是第 50 句 prompt 里的第 47 句,模型跟丢了。背景占主导时,模型把请求解读为”讲讲这个背景”,因为换个人收到同样一面墙的文字也会这么反应。

本文讲为什么长上下文会埋掉任务,以及就算上下文必要也要怎么结构化让任务清晰可见。

常见原因

1. 背景第一段读起来像散文开头

如果开头 200 字是”我们公司成立于 2019 年,使命是……”,模型锚定”这是公司 X 的简介”,产出匹配这个锚。后面的真任务改变不了锚。

如何判断:你 prompt 前 3 句是描述性 prose,不是祈使。

2. 任务只说一次,散文式,靠后

一个句子——“能起草一下发布邮件吗?“——出现在第 47 句,赢不过前 46 句背景。它需要被晋升到顶部,并有结构强调。

如何判断:搜你 prompt 里的交付动词。只出现一次且在第 2 段之后,就是被埋了。

3. 没分块标题分隔任务和背景

没有”背景:”/“任务:”/“输出:“标签时,模型自己推断结构。推断挑主导主题——通常是背景。

如何判断:你 prompt 是一整块 prose。

4. 上下文确实必要但不聚焦

你贴了 5 段因为它们都”看起来相关”。其中一半不会改变输出。会改变的那一半藏在不会改变的那一半里。

如何判断:每段都问”删掉它输出会变吗?“不会就剪。

5. 约束在交付前出现

你写了约束、然后背景、然后任务。约束把模型锚到一个框架,靠后的交付指令翻不动。

如何判断:结构倒置——约束在任务之上。

动手前先确认

  • 用一句话写出真正的交付物。
  • 假装第一次读这 prompt。交付物出现在哪?
  • 标出对答案没影响的背景——剪除候选。
  • 决定:上下文里 50 字承重?
  • 重复性工作建一个把”交付物在前”的模板。

需要收集的信息

  • 发送的完整 prompt。
  • 拿到的输出(多半是总结)。
  • 你想要的输出。
  • 剪枝后的上下文(只保留会改变答案的)。
  • 模型和 system prompt。

最短修复路径

Step 1:用祈使句开头

第一句祈使最重要。背景之前先写它:

任务:起草一封 200 字的发布邮件,发给工程团队。
语气:直接,无营销腔。
输出:只要邮件正文,无主题行。

背景:<剪过的背景>

模型先读”起草一封 200 字发布邮件”,后面一切都是这个任务的输入。

Step 2:用分块标签

具体结构帮模型解析:

## 任务
起草发布邮件。

## 受众
内部工程团队,12 人。

## 背景(只用相关的)
- 下周二发布 Feature X。
- 替代旧的重试逻辑。
- 工程团队已知道下线计划。

## 输出格式
- 纯文本邮件正文。
- 150-200 字。
- 无主题行。

标签把 prose 变成参考资料。

Step 3:无情剪枝

每段背景都问:“删了答案会变吗?“不会就删。600 字 prompt 里 200 字有用,胜过 1000 字 prompt 里 200 字有用 + 800 字噪音。

Step 4:末尾重申任务

底部再说一次也锚住近期偏好:

[顶部:任务和背景]

[底部]
提醒:只起草发布邮件正文。无主题行。
无评论。150-200 字。

头尾都打到注意力两端。

Step 5:大块参考挪到文件或引用块

如果背景真有 2000 字,挂文件或用 <reference> 圈起来,让模型当参考资料而不是要总结的内容:

任务:起草一封发布邮件,参考下面的政策。

<reference>
... 2000 字政策 ...
</reference>

输出:只要邮件正文。

Step 6:找陌生人测

把 prompt 发给同事(无上下文)。如果他 10 秒内说不出要做什么,模型也说不出。

怎么确认已经修好

  • 陌生人读前 3 句能正确指出交付物。
  • 输出是交付物,不是背景总结。
  • 删冗余背景段不改变输出。
  • 同 prompt 跑 3 次,3 次都是正确”类型”的产物。

如果还是没修好

  1. 上下文可能大到模型注意不到任务。再剪。
  2. 换更大上下文 + 长上下文注意力更强的模型。
  3. 两步:第一 prompt 把上下文总结,第二 prompt 用总结 + 任务。
  4. 任务本身多部分时拆 prompt。

预防建议

  • 默认模板:任务先、上下文次、输出格式末。
  • 节制上下文:只放会改变答案的。
  • 重复性工作存模板,不要每次现编结构。
  • 每次发送前回读前 3 行;陌生人应该知道要做什么。
  • 上下文超 200 字就用分块标题。
  • 警惕”我得提一下”和”补一下背景”——常是可删段。

相关阅读

标签: #排查 #Prompt #Prompt 质量 #长 Prompt