什么是上下文工程?
上下文工程是刻意设计 AI 模型在单次请求中看到的一切:系统提示、你的输入、检索到的文件、对话历史、工具定义以及记忆。提示工程优化的是问题本身,上下文工程优化的则是模型作答时所处的整个信息环境。
如果你花了几个月打磨提示,输出质量却依然时好时坏,这正是你缺少的一层。问题从来不只是提示,围绕提示的东西才是关键。
根据 2026 年一项针对信息科技与数据主管的调查,82% 受访者认同,单靠提示工程已不足以支撑正式生产环境的 AI,而 89% 团队计划在一年内投资于上下文管理。
上下文工程和提示工程有何不同?
提示工程问的是「这句话该怎么写?」上下文工程问的是「模型此刻眼前需要哪些信息?」前者调整措辞,后者调整每次推理送进去的整份内容,而后者才决定任务重复执行时的稳定度。
对于一次性任务,提示工程依然完美。写一句精准的提示,拿到好答案,就结束了。
但只要任务会重复、需要引入外部资料,或跨越多轮对话,上下文工程就变得关键。这时候措辞不再是瓶颈,信息设计才是。
有个实用的看法:一句好提示配上错误的上下文仍然会失败,而一句普通提示配上正确的上下文往往成功。Sourcegraph 与 deepset 的工程博客都把 2026 年代理系统的失败,归因于状态管理问题,而非措辞问题。
AI 的上下文里实际放了什么?
每次请求都由六样东西填满上下文,而每一样都是你能操控的杠杆。把它们当成一份预算来看,因为上下文窗口有限,每个 token 都在争夺模型的注意力。
你要亲手设计的六个组成部分是:
--- 系统提示:角色、规则与输出格式,保持固定不变。
--- 用户输入:这一轮的具体任务或问题。
--- 检索文件:你注入的参考材料,通常透过 RAG。
--- 对话历史:模型维持连贯所需的先前对话。
--- 工具定义:模型获准调用的动作。
--- 记忆:跨越多次对话保留的长期事实。
真正的技巧在于决定放什么、舍弃什么、压缩什么。塞满无关历史的上下文,表现反而不如一份只保留任务所需信息的精简版本。
如何把上下文工程用在实际工作上?
先为一个你每周都要重复的任务写一份可重用的上下文模板,例如撰写客户更新邮件。不必每次重新打提示,而是组装一个固定的系统层,加上一小组经过挑选的输入。
以每周要发活动报告的市场人员为例。他一次性设计好的上下文包含:角色定义、内部风格指南、上周报告作为格式范例,以及仅限本周的数字作为新输入。其他一切都被刻意排除。
以下是一份你今天就能改用的可复制上下文模板:
[系统/角色]
你是我的报告助手。一律使用书面中文,语气平实而有自信。绝不虚构数字。
[风格参考]
比照这份已核准范例的结构:{贴上一份过去的报告}
[固定规则]
- 开头先写最重要的一项结果。
- 段落简短,一段一个重点。
- 标示任何按周跌幅超过 10% 的项目。
[本周数据]
{只贴上本周数字}
[任务]
依照上述规则与风格,草拟本周活动报告。
留意只有最后两个区块每周会变。系统层、风格参考与规则都锁定不动。正是这份稳定性,让输出一次又一次保持一致。
上下文工程最常见的错误有哪些?
头号错误是上下文超载:把整份文件、冗长聊天记录、每个档案都「以防万一」丢进去。上下文并非越多越好。超过一个临界点,有用的信号被淹没,模型反而抓错重点。
第二个错误是记忆过时。把上个月的项目细节带进本周任务,会悄悄污染答案,因为模型会把上下文里每个 token 都当成当下的事实。
第三个错误是缺少格式锚点。少了一个你想要的输出的具体范例,模型只能猜测形状,而形状每次都会飘移。
这三者的解方都是精选。每次执行前先问一个问题:模型真的需要这项信息才能答好吗?若否,就删掉。
今天如何开始做上下文工程?
挑一个你至少每周执行一次的任务,在接下来二十分钟内为它建立一份上下文模板。把永远不变的部分和每次都变的部分分开,锁定前者,填入后者。
现在就试:打开你某个重复任务的最近三次输出,找出它们在哪里开始分歧。几乎每次,分歧都能追溯到上下文不一致,而非提示不一致。把那个任务重建成模板,飘移就会消失。
上下文工程不是一个要花钱购买的新工具,而是注意力投放位置的转移:从打磨句子,转向设计模型立足的那份信息。
在 UD,我们懂 AI,更懂你;UD 相伴,AI 不冷。把一个聪明技巧变成每天都靠得住的工作流程,这段最麻烦的路,你不必独自面对。
把技术变成能运作的系统
懂得上下文工程是一回事,把它建成每次都以同样方式运作的工作流程又是另一回事。UD 团队会手把手带你完成每一步,从盘点你的重复任务、设计上下文模板,到部署到你的各项工具。