2025还在学提示词? 现在进化到「上下文工程」了, 重塑AI应用开发的新范式

  • 2025-07-08 05:21:32
  • 384

上下文工程正重塑AI应用开发,它整合任务描述、样本示例、检索数据等多要素,构建动态信息供给系统,解决大模型输出效果依赖提示词质量的问题,成为AI应用从“玩具”迈向“生产力工具”的关键。

你是不是也觉得,现在做个AI应用,就是找个大模型“套个壳”,然后天天琢磨怎么写“魔法提示词”?

如果你还这么想,那可能要被时代甩在身后了。

最近,圈子里的大佬们,比如AndrejKarpathy(前特斯拉AI总监),都在反复强调一个新概念:上下文工程(ContextEngineering)。简单来说,决定一个AI应用牛不牛的关键,已经不是“你怎么问”,而是“你给AI喂了什么料”。

这套“喂料”的学问,就是我们今天要深挖的上下文工程。它可比写几句提示词复杂多了,也是决定你的AI应用是“小玩具”还是“生产力工具”的分水岭。

下图就是我根据上下文工程的核心逻辑,画出的一个AI智能体(Agent)信息流转的框架图。看完这篇文章,你就能明白这张图背后的“科学”。

一、什么是上下文工程?其核心要素为何?

很多人一听“上下文工程”,可能觉得又是啥高大上的新名词。别怕,我们用一个接地气的比喻来理解。

想象一下,大模型(LLM)就像一个顶级大厨,能力超群,但它自己不会找食材。

提示工程(PromptEngineering):相当于你给大厨递了张纸条,上面写着“请做一道顶级的川菜”。大厨可能会做出一道麻婆豆腐,也可能是水煮鱼,结果有点像“开盲盒”。

上下文工程(ContextEngineering):则相当于你为大厨搭建了一个“中央厨房”。你不仅告诉他要做川菜,还把所有需要的、处理好的食材(新鲜的辣椒、花椒)、精确的菜谱(麻婆豆腐的正宗做法)、甚至特制的厨具(一口好铁锅)全都准备好,摆在他面前。这样,大厨才能稳定、高效地做出你想要的那道菜。

所以,上下文工程的核心就是:构建一个动态系统,以正确的格式,为大模型(LLM)提供恰当的信息和工具,让它能可靠地完成任务。

这个“中央厨房”里到底有哪些“料”呢?远不止几句提示词那么简单。

我们来看一个更专业的拆解框架:

从这张图就能看出来提示词和上下文的区别:

提示工程主要聚焦在“指令上下文”里的那句核心Prompt怎么写得更精妙。

而上下文工程,则需要管理和调度所有这些信息流,确保在对的时间,把对的信息,用对的格式,喂给大模型。

所以,别再说先进的AI应用是“ChatGPT套壳”了,背后庞大而精密的上下文工程体系,才是真正的护城河。不理解这个,你做的AI应用就永远是个“半成品”。

上下文构成要素极为丰富,远超单一的文本提示,具体包括:

任务描述与解释:清晰界定目标。

少样本示例(Few-shotexamples):提供具体范例供模型参考。

检索增强生成(RAG):从外部知识库动态注入相关信息。

相关数据:引入其他(可能是多模态的)数据来丰富背景。

工具(Tools):赋予模型调用外部API或函数的能力。

状态与历史记录(Stateandhistory):确保模型理解任务的进展与对话的延续性。

这个过程强调动态性与精确性。上下文信息实时生成,最终输入给模型的提示也必须动态构建。正如“垃圾进,垃圾出”的原则,信息的质量和格式直接决定了模型的输出质量。

更简洁地来讲:

上下文工程=提示工程⊇{指令上下文,知识上下文,操作上下文}

其中:

–指令上下文=提示词+记忆+少样本示例

–知识上下文=RAG+检索+记忆

–操作上下文=工具调用+环境反馈+状态管理

二、构建可靠AI智能体(Agent)的核心原则

当我们想做一个能长时间、连贯工作的AI智能体(比如AI程序员Devin)时,上下文工程的重要性就直接拉满了。

最近很多团队尝试做“多智能体并行”的架构,看似很酷,让好几个AI小弟一起干活。但实操下来发现,这种系统非常脆弱,经常“翻车”。为啥?

根源在于上下文共享不充分,导致AI“精神分裂”。

想象一个装修团队,设计师、水电工、木工三个人互相不沟通,各干各的。设计师想的是北欧风,水电工按中式留的插座,木工打了套美式家具。最后的结果能看吗?肯定是一场灾难。

为了构建真正可靠的系统,必须遵循两个核心原则:

1.共享上下文(SharedContext):所有干活的AI小弟,不仅要看到彼此说了什么,更要看到彼此完整的行动轨迹(Trace)。水电工必须知道设计师画的图纸和改动记录,木工也一样。只有信息完全同步,决策才能保持一致。

2.行为暗含决策(BehaviorImpliesDecision):AI的每一个行为(比如调用一个工具、生成一段代码)都基于一个决策。如果决策的基础(上下文)都不一样,那行为必然互相冲突,系统肯定会崩溃。

所以,一个最稳妥、最可靠的初始架构,反而是线性的单线程智能体。虽然它可能慢一点,还会面临上下文窗口不够用的问题,但它天然保证了上下文的连续性,是构建更复杂系统的坚实基础。

三、上下文工程的关键策略

既然上下文这么重要,但AI的记忆窗口又有限(token限制),那我们该怎么办呢?

业界的先行者们已经总结出了一套实战打法,核心就三板斧:压缩、持久化、隔离。

1.上下文的压缩(Compression)&持久化(Persistence)

压缩:当对话历史越来越长,快要塞满AI的脑袋时,我们不能粗暴地把最早的记忆扔掉。而是要启动一个“压缩”程序,把前面几百轮的对话内容,智能地总结成一小段摘要(“我们之前讨论了A,决定了B,用户反馈了C”)。

落地挑战:这个压缩总结任务本身就很难,像Devin这种顶级的系统,甚至要专门微调一个模型来干这个“提炼轨迹”的活儿。

持久化:就像给AI外挂一个“移动硬盘”,也就是它的“长期记忆”。不能啥事都让AI记在脑子里。我们需要建立一个系统,把重要的对话、决策、知识点,存到外部的数据库或知识库里。

怎么存?可以是用户手动标记“这条很重要,记下来”,也可以是AI自己反思后决定“这个知识点以后可能有用,我存一下”。

怎么取?当AI遇到新问题时,先去“移动硬盘”里检索一下,看有没有相关的历史经验可以参考。这就是我们常说的RAG(检索增强生成)。

2.上下文的隔离(Isolation)

隔离,就是聪明地划分信息,不让所有东西都一股脑儿地塞给AI,提高效率和可靠性。运行时状态隔离:比如AI调用一个工具后,返回了一大堆冗长的JSON数据。我们没必要把这几千个token全塞进下一轮对话里,而是可以把它存放在一个临时的“状态区”,只把最关键的结果(比如“API调用成功,获取到3个商品”)告诉AI。多智能体隔离:如果一个大任务确实可以拆成几个互不干扰的小任务(比如同时去三个网站爬数据),那可以把它们分给三个拥有独立上下文的子智能体去干。但前提是,任务之间真的没有依赖关系,否则又会回到前面说的“精神分裂”问题。环境隔离:比如让AI写代码,最好在一个沙盒环境里运行。这样代码执行的过程、打印的日志,就不会污染主对话的上下文窗口,同时也保证了安全。四、落地为王:上下文工程在各行业的应用案例

理论说了这么多,我们来看看这套“科学”是怎么在真实世界里创造价值的。电子商务:智能推荐:你刚搜完“去海边露营的帐篷”,推荐系统马上就给你推防晒霜和沙滩椅。它不仅知道你在搜什么,还结合了天气(上下文)、地理位置(上下文),甚至社交媒体上的露营热点(上下文)。客服自动化:某DTC品牌,通过给AI客服限定产品手册和政策(知识上下文),并设定严格的角色扮演提示(指令上下文),让AI只根据这些信息回答问题。医疗保健:辅助诊断:医生在看诊时,AI系统能整合患者的病史、当前症状、最新的医学研究、甚至社区的流行病数据(全是上下文),给出一个全面的患者视图,辅助医生做出更精准的诊断。软件开发:AI编程:像Cursor这样的工具,它不仅看你当前写的这行代码,还会分析你整个项目的文件结构、已有的函数、依赖库(海量的上下文),才能给你最靠谱的代码建议。

以上,既然看到这里了,如果觉得不错,随手点个赞、推荐、转发三连吧,你的支持是我持续创作的动力。我们下期见。