模型每轮到底看见什么:上下文工程
定义
上下文工程是 Prompt 工程的延伸:它关注的不是提示词写法,而是每轮推理时送给模型的全部 Token 如何选择和组合。System Prompt、工具定义、对话历史、检索结果等共同决定模型表现,管理这些 Token 就是上下文工程。
先搭一个心智模型
Prompt 是写在便签上的要求;上下文是模型这一刻整个桌面上能看到的东西。桌面越大不代表工作越顺,关键是把当前任务真正需要的材料放到手边。
说明
更长的上下文不等于更可靠地利用信息。Chroma 的 Context Rot 报告显示,在其测试任务和模型中,输入增长时表现会以不均匀的方式下降;标准稠密自注意力的成对交互还会随序列长度呈平方增长。工程上应减少无关内容,并用自己的任务评测可用上下文,而不是把标称窗口当作目标。
高效上下文的原则是保持合适的抽象层级:System Prompt 给出角色定位与少量核心原则;工具描述像 API 文档一样清楚;Few-Shot 只保留能代表目标行为的示例。具体数量由任务评测决定。
跟着一个例子走
只给退款助手当前需要的材料
助手要判断一笔耳机订单能否退款。公司有很多产品、政策和历史对话,但本轮只需要其中一小部分。
- 保留稳定规则
System Prompt 只放角色、审批边界和输出约定,不塞入整本业务手册。
- 按任务取材料
查询当前订单、相关退款条款和用户刚补充的信息,再放进本轮上下文。
- 移走无关信息
其他商品目录、旧活动和无关会话不进入窗口,需要时再检索。
边界与误区
Context Rot 具体指什么: Chroma 用这个名称描述其测试中“输入变长后,模型表现变得更不稳定”的现象。它是实验观察,不是所有模型、任务和长度下都按同一曲线下降的定律。
为什么上下文窗口不是越大越好: 窗口大小只是容量上限。无关内容会增加处理成本并可能干扰当前任务;标准稠密自注意力的计算还会随序列长度快速增长,具体成本会因模型实现和服务优化而不同。
来源与核验
- [chroma-context-rot] Chroma Research:Context Rot
- [attention-is-all-you-need] Attention Is All You Need
核验日期:2026-08-31