什么是上下文工程(Context Engineering)
发生了什么:随着上下文窗口(context window,指模型一次能读入的文本量)增长到几十万个 token(模型处理文本的最小单位),团队不再执着于打磨一个"完美提示词"。他们开始把模型看到的全部内容——系统指令、检索到的文档、工具返回结果、对话历史、记忆——当成一份要精心规划的预算来设计。
为什么重要:窗口变大之后,很容易抱着"以防万一"的心态把什么都塞进去。结果往往适得其反:无关内容会分散模型的注意力,实测会拉低准确率——哪怕答案确实就在窗口里。空间更大,不等于用得更好。
上下文预算里到底有什么
- 系统提示词:角色、约束、输出格式——设置一次,每次调用复用
- 检索文档:为当前这个问题拉取的 RAG(检索增强生成)片段——相关性比数量重要
- 工具结果:函数调用或搜索真正返回的内容——往往是窗口里最"吵"的部分
- 对话历史:之前的轮次——在长时间运行的 agent 循环里要大胆裁剪,不能只追加不删
- 记忆:跨会话保留的事实——要精挑细选,而不是把每一次交互都倒进去
常见错误
- 粘贴整篇文档,而不是只取相关的那一段
- 在长时间的 agent 循环里任由工具输出不断堆积、不做裁剪,直到挤掉真正要做的任务
- 以为模型对所有内容"一视同仁"——位置和相关性都会起作用,光"在窗口里"远远不够
谁该关注
任何把 RAG 或 agent 做到 demo 之外的人。如果你的系统提示词越写越长、准确率却一直往下掉,解决办法通常是做筛选整理,而不是换个更大的模型。
原文发布于 ayraix.com,面向企业开发者的实用 AI 内容。