上下文工程中的上下文
Context Engineering 2.0: The Context of Context Engineering【AI大模型教程】
今天我们要探讨一篇非常有前瞻性和系统性的论文:《上下文工程2.0:上下文工程的“上下文”》(Context Engineering 2.0: The Context of Context Engineering)。现在都在玩各种大模型、AI Agent,天天都在说“Prompt Engineering”,感觉这是个很新的东西。
但这篇论文告诉我们,我们可能只看到了冰山一角。它把我们的视野从当下的“技术热点”拉到了一个更宏大、更深刻的“历史演进”和“理论框架”的层面。
第一部分:“上下文工程”不是新事物
这篇论文的核心论点:上下文工程(Context Engineering)并非诞生于LLM时代,而是一门已经发展了二十多年的、伴随机器智能水平不断演进的学科。
我们现在做的所谓“提示词工程”、“RAG(检索增强生成)”等等,都只是“上下文工程”在当前这个时代(也就是论文定义的2.0时代)的具体实践形式。
那到底什么是“上下文工程”呢?
- 1. 什么是“上下文”(Context)?
论文给出了一个非常经典且宽泛的定义:“任何可以用来描述‘实体’(人、地点、物体)状况的信息,只要这些实体与用户和应用的交互相关,都算上下文。”
这个定义非常重要。不要把“上下文”狭隘地理解为对话历史记录。你当前所在的文件夹路径、你的操作系统、你正在使用的软件、甚至你过往的偏好、外部可调用的API工具……这些都是上下文。它是情境的总和。
- 2. 什么是“上下文工程”(Context Engineering)?
它是指系统性地设计、收集、存储、管理和使用上下文信息,以增强机器对人类意图的理解和任务执行能力的过程。关键词是“系统性地”。
它不是零敲碎打的技巧,而是一整套方法论。它的根本目的始终没变:弥合人类的高熵、模糊意图与机器所能理解的低熵、结构化指令之间的鸿沟。
第二部分:上下文工程的四个时代
这篇论文最具洞见的地方,就是提出了一个“四阶段”的演化模型,把上下文工程的发展和机器智能的等级牢牢绑定在了一起。
- • 1.0 时代:原始计算时代 (1990s - 2020)
- • 特征:机器智能水平低,只能理解结构化、低熵的输入。
- • 人机关系:“人适应机器”。
- • 实践:我们用图形界面(GUI)的菜单、按钮,或者早期的环境感知计算(比如手机进入会议室自动静音),这些都是把复杂的意图“翻译”成机器能懂的简单指令。设计师是“意图翻译官”。
- • 2.0 时代:智能体时代 (2020 -至今)
- • 特征:以LLM为代表,机器开始具备理解自然语言和处理模糊信息的能力。
- • 人机关系:“机器开始适应人”。
- • 实践:这就是我们现在所处的时代。我们用自然语言写Prompt,用RAG给模型“喂”知识,设计复杂的Agent工作流。上下文变成了给一个有能力的“智能体”下达的指令(Instruction)。
- • 3.0 时代:人类水平智能时代 (未来)
- • 特征:AI达到与人类相当的推理和理解能力。
- • 人机关系:人机成为真正的协作者(Collaborator)。
- • 畅想:AI能像人一样感知社交氛围、情绪状态等高熵信息。交互会变得极其自然,不再需要费尽心思地“设计”上下文,AI能自己“领悟”。
- • 4.0 时代:超人类智能时代 (畅想)
- • 特征:机器智能超越人类。
- • 人机关系:发生反转,机器成为启发者(Master)。
- • 畅想:AI不再是被动地理解我们给它的上下文,而是能主动为我们构建全新的上下文,揭示我们自己都未曾意识到的深层需求。就像AlphaGo下出了人类棋手从未想过的棋路一样。
可以看到,从1.0到4.0,机器的智能水平越高,处理上下文的能力越强,我们人类需要付出的“翻译成本”就越低。这就是整个演进的核心驱动力。
第三部分:上下文工程的三大支柱
讲完了宏观历史,我们来看看具体的“工程实践”。论文从三个维度系统地梳理了上下文工程的技术要点,这部分对大家做实际项目非常有指导意义。
1. 上下文的收集与存储 (Context Collection & Storage)
- • 怎么收集? 从1.0时代的GPS、时钟等简单传感器,进化到2.0时代的多模态、多设备(手机、可穿戴设备、IoT)的持续信息流。
- • 怎么存储? 从1.0时代的本地日志文件,进化到2.0时代的分层存储架构。这很像我们计算机的存储体系:
- • 短期内存(RAM):对应模型的上下文窗口,快速但有限。
- • 长期内存(硬盘):对应外部数据库(向量数据库、SQLite等),持久且海量。
2. 上下文的管理 (Context Management)
这是整个工程的“大脑”,也是最复杂、最核心的部分。如何把原始、杂乱的上下文变得井井有条、易于使用?
- • 上下文的组织:
- • 分层记忆架构:明确区分短期记忆和长期记忆。重要的、反复使用的信息,要从短暂的上下文窗口沉淀到长期的知识库里。
- • 上下文隔离 (Context Isolation):这个思想非常巧妙。比如论文提到的子智能体(Subagent)。让一个主Agent负责统筹,把特定任务(如代码分析、文件读写)交给拥有独立上下文的子Agent处理。这样做的好处是,防止不同任务的上下文互相“污染”,也让系统更加模块化、稳定可靠。
- • 上下文的抽象,或者叫“自我烘焙” (Self-Baking)
- • 这是一个非常形象的比喻。Agent不能只是被动地存储信息,它必须能主动地“消化”和“吸收”自己的经历,把原始上下文“烘焙”成更紧凑、更结构化的知识。这才是从“记忆”到“学习”的关键。
- • 方法1:自然语言总结。定期让模型自己写个工作小结,总结最近发生了什么。简单直接,但不够结构化。
- • 方法2:固定模式提取。将关键信息提取到一个预设的结构(Schema)里,比如任务树、实体关系图。这让信息变得可查询、可推理。
- • 方法3:渐进式向量压缩。把信息编码成向量(Embedding),并随着时间推移,将旧的向量融合成更抽象的、更高层次的语义记忆。
3. 上下文的使用 (Context Usage)
管理好的上下文,最终要为任务服务。
- • 上下文的选择:上下文窗口是宝贵的资源,不能什么都往里塞。必须有一套有效的筛选机制,论文称之为“注意力之前的注意力”。你需要根据语义相关性、逻辑依赖性、新近度等因素,动态地选择最关键的信息放入窗口。
- • 上下文的共享:
- • 系统内共享:多个Agent如何协作?可以通过Prompt传递、结构化消息交换,或者一个共享的“黑板”(Shared Memory)来通信。
- • 跨系统共享:你的AI助手如何与Office套件协同?需要通过适配器(Adapter)或者统一的上下文表示协议来实现。
- • 主动的用户需求推理:最高级的用法是,系统能通过分析长期上下文,主动预测你的潜在需求。比如,发现你总是在下午搜索咖啡店,就主动在下午推荐附近的优惠。
最后,论文指出了当前面临的挑战:比如长上下文处理的性能瓶颈、上下文收集的效率低下、模型对复杂逻辑的理解不足等。
并提出了一个非常宏大的终极构想——“上下文的语义操作系统”(Semantic Operating System for Context)。
这是什么概念?想象一下,未来会有一个系统,它能管理一个人一生的数字痕迹(对话、决策、行为),像一个动态的、有生命的个人知识库。它能实现真正的长期记忆、持续学习、甚至具备遗忘机制。到那时,我们的“数字孪生”或者说“数字存在”,将不再是科幻,而是由我们一生的上下文所定义的现实。