上下文工程的核心问题可以压缩成一句话:
在有限的注意力预算中,怎样让模型看到此刻最需要看到的信息?
信息不是越多越好
输入越长,并不自然意味着结果越好。无关信息会干扰判断,过时信息会制造冲突,缺乏结构的信息则会增加模型寻找重点的成本。
一个实用的上下文通常需要处理四类内容:
| 类型 | 作用 |
|---|---|
| 任务目标 | 说明现在要完成什么 |
| 行为约束 | 划定允许与禁止的边界 |
| 当前状态 | 告诉模型已经发生了什么 |
| 外部知识 | 补充完成任务需要的事实 |
从静态 Prompt 到动态选择
真正有意思的地方,不是写出一份永远不变的长提示词,而是根据任务阶段动态决定:哪些信息应该进入上下文,哪些应该被压缩,哪些应该暂时留在外部存储中。
这也是上下文工程与记忆、RAG、工具调用逐渐汇合的位置。