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

0 阅读8分钟

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

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

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

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

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

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

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

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

  • 提示工程 (Prompt Engineering) :相当于你给大厨递了张纸条,上面写着“请做一道顶级的川菜”。大厨可能会做出一道麻婆豆腐,也可能是水煮鱼,结果有点像“开盲盒”。
  • 上下文工程 (Context Engineering) :则相当于你为大厨搭建了一个 “中央厨房” 。你不仅告诉他要做川菜,还把所有需要的、处理好的食材(新鲜的辣椒、花椒)、精确的菜谱(麻婆豆腐的正宗做法)、甚至特制的厨具(一口好铁锅)全都准备好,摆在他面前。这样,大厨才能稳定、高效地做出你想要的那道菜。

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

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

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

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

  • 提示工程主要聚焦在“指令上下文”里的那句核心Prompt怎么写得更精妙。
  • 上下文工程,则需要管理和调度所有这些信息流,确保在对的时间,把对的信息,用对的格式,喂给大M模型。

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

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

  • 任务描述与解释:清晰界定目标。
  • 少样本示例(Few-shot examples) :提供具体范例供模型参考。
  • 检索增强生成(RAG) :从外部知识库动态注入相关信息。
  • 相关数据:引入其他(可能是多模态的)数据来丰富背景。
  • 工具(Tools) :赋予模型调用外部API或函数的能力。
  • 状态与历史记录(State and history) :确保模型理解任务的进展与对话的延续性。

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

更简洁地来讲:

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

其中:

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

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

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

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

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

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

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

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

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

  1. 共享上下文 (Shared Context) :所有干活的AI小弟,不仅要看到彼此说了什么,更要看到彼此完整的行动轨迹(Trace) 。水电工必须知道设计师画的图纸和改动记录,木工也一样。只有信息完全同步,决策才能保持一致。
  2. 行为暗含决策 (Behavior Implies Decision) :AI的每一个行为(比如调用一个工具、生成一段代码)都基于一个决策。如果决策的基础(上下文)都不一样,那行为必然互相冲突,系统肯定会崩溃。

图片

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

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

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

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

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

    • 落地挑战:这个压缩总结任务本身就很难,像Devin这种顶级的系统,甚至要专门微调一个模型来干这个“提炼轨迹”的活儿。
  • 持久化:就像给AI外挂一个 “移动硬盘” ,也就是它的“长期记忆”。不能啥事都让AI记在脑子里。我们需要建立一个系统,把重要的对话、决策、知识点,存到外部的数据库或知识库里。

    • 怎么存? 可以是用户手动标记“这条很重要,记下来”,也可以是AI自己反思后决定“这个知识点以后可能有用,我存一下”。
    • 怎么取? 当AI遇到新问题时,先去“移动硬盘”里检索一下,看有没有相关的历史经验可以参考。这就是我们常说的RAG(检索增强生成)

  1. 上下文的隔离 (Isolation)

隔离,就是聪明地划分信息,不让所有东西都一股脑儿地塞给AI,提高效率和可靠性。

  • 运行时状态隔离:比如AI调用一个工具后,返回了一大堆冗长的JSON数据。我们没必要把这几千个token全塞进下一轮对话里,而是可以把它存放在一个临时的“状态区”,只把最关键的结果(比如“API调用成功,获取到3个商品”)告诉AI。

  • 多智能体隔离:如果一个大任务确实可以拆成几个互不干扰的小任务(比如同时去三个网站爬数据),那可以把它们分给三个拥有独立上下文的子智能体去干。但前提是,任务之间真的没有依赖关系,否则又会回到前面说的“精神分裂”问题。

  • 环境隔离:比如让AI写代码,最好在一个沙盒环境里运行。这样代码执行的过程、打印的日志,就不会污染主对话的上下文窗口,同时也保证了安全。

四、落地为王:上下文工程在各行业的应用案例

理论说了这么多,我们来看看这套“科学”是怎么在真实世界里创造价值的。

  • 电子商务

    • 智能推荐:你刚搜完“去海边露营的帐篷”,推荐系统马上就给你推防晒霜和沙滩椅。它不仅知道你在搜什么,还结合了天气(上下文)地理位置(上下文) ,甚至社交媒体上的露营热点(上下文)
    • 客服自动化:某DTC品牌,通过给AI客服限定产品手册和政策(知识上下文) ,并设定严格的角色扮演提示(指令上下文) ,让AI只根据这些信息回答问题。
  • 医疗保健

    • 辅助诊断:医生在看诊时,AI系统能整合患者的病史、当前症状、最新的医学研究、甚至社区的流行病数据(全是上下文) ,给出一个全面的患者视图,辅助医生做出更精准的诊断。
  • 软件开发

    • AI编程:像Cursor这样的工具,它不仅看你当前写的这行代码,还会分析你整个项目的文件结构、已有的函数、依赖库(海量的上下文) ,才能给你最靠谱的代码建议。

本文由稀土掘金作者【饼干哥哥】,微信公众号:【饼干哥哥AGI】,原创/授权 发布于稀土掘金,未经许可,禁止转载。