AI 简明手册
Agent 工程:从能跑到可控 · 先选控制方式模型每轮到底看见什么:上下文工程

模型每轮到底看见什么:上下文工程

定义

上下文工程是 Prompt 工程的延伸:它关注的不是提示词写法,而是每轮推理时送给模型的全部 Token 如何选择和组合。System Prompt、工具定义、对话历史、检索结果等共同决定模型表现,管理这些 Token 就是上下文工程。

先搭一个心智模型

Prompt 是写在便签上的要求;上下文是模型这一刻整个桌面上能看到的东西。桌面越大不代表工作越顺,关键是把当前任务真正需要的材料放到手边。

说明

更长的上下文不等于更可靠地利用信息。Chroma 的 Context Rot 报告显示,在其测试任务和模型中,输入增长时表现会以不均匀的方式下降;标准稠密自注意力的成对交互还会随序列长度呈平方增长。工程上应减少无关内容,并用自己的任务评测可用上下文,而不是把标称窗口当作目标。

高效上下文的原则是保持合适的抽象层级:System Prompt 给出角色定位与少量核心原则;工具描述像 API 文档一样清楚;Few-Shot 只保留能代表目标行为的示例。具体数量由任务评测决定。

跟着一个例子走

只给退款助手当前需要的材料

助手要判断一笔耳机订单能否退款。公司有很多产品、政策和历史对话,但本轮只需要其中一小部分。

  1. 保留稳定规则

    System Prompt 只放角色、审批边界和输出约定,不塞入整本业务手册。

  2. 按任务取材料

    查询当前订单、相关退款条款和用户刚补充的信息,再放进本轮上下文。

  3. 移走无关信息

    其他商品目录、旧活动和无关会话不进入窗口,需要时再检索。

回到概念

上下文工程的目标不是“装满窗口”,而是让每一段输入都能解释自己为什么必须在这一轮出现。

边界与误区

  • Context Rot 具体指什么: Chroma 用这个名称描述其测试中“输入变长后,模型表现变得更不稳定”的现象。它是实验观察,不是所有模型、任务和长度下都按同一曲线下降的定律。

  • 为什么上下文窗口不是越大越好: 窗口大小只是容量上限。无关内容会增加处理成本并可能干扰当前任务;标准稠密自注意力的计算还会随序列长度快速增长,具体成本会因模型实现和服务优化而不同。

来源与核验

  1. [chroma-context-rot] Chroma Research:Context Rot
  2. [attention-is-all-you-need] Attention Is All You Need

核验日期:2026-08-31