上下文工程综述笔记

上下文工程综述笔记

本文的构思与内容主要基于以下综述::Lingrui Mei et al. A Survey of Context Engineering for Large Language Models. arXiv:2507.13334 [cs.CL], 2025.https://doi.org/10.48550/arXiv.2507.13334

随着大语言模型(LLMs)从简单的文本生成器演变为复杂任务的智能代理,其性能不再仅仅依赖于模型参数规模,而越来越多地取决于输入信息的质量与组织方式。传统“提示工程”(Prompt Engineering)以手工设计静态提示字符串为核心,已无法满足现代AI系统对动态、结构化、多源信息流的处理需求。

为此,上下文工程(Context Engineering)应运而生。它是一种系统性方法论,旨在通过科学地设计、检索、处理、管理与优化输入给LLM的上下文信息,最大化其在复杂任务中的表现。它的核心理念是:上下文不是提示,而是一个可编程、可优化的信息系统。 该综述提出一个统一的分类框架,将上下文工程划分为四大核心领域:基础组件、系统实现、评估方法与未来研究方向

一、上下文工程核心原理与形式化建模

1. 上下文的重新定义

在传统提示工程中,上下文 CC 是一个静态字符串:

C=PromptC = \text{Prompt}

在上下文工程中,上下文 CC 被重新定义为由多个结构化组件通过动态组装函数 AA 构建而成的复合结构:

C=A(c1,c2,...,cn)C = A(c_1, c_2, ..., c_n)

其中:

  • c1c_1:系统指令与角色设定(如“你是一个医生”)
  • c2c_2:外部知识(通过RAG检索)
  • c3c_3:可用工具定义(函数签名、API描述)
  • c4c_4:历史记忆(用户交互、中间状态)
  • c5c_5:环境状态(多智能体通信、用户意图)
  • AA:组装函数(如拼接、排序、加权融合)

2. 优化目标:最大化期望奖励

上下文工程的本质是一个优化问题。目标是寻找最优的上下文构建策略 F={A,Retrieve,Select,...}F = \{A, \text{Retrieve}, \text{Select}, ...\},使得在任务分布 T\mathcal{T} 下,模型输出 YY 的期望奖励最大化:

F=argmaxFEtT[Reward(P(YCF(t)),Ytrue)]F^* = \arg\max_F \mathbb{E}_{t \sim \mathcal{T}} \left[ \text{Reward}(P(Y|C_F(t)), Y_{\text{true}}) \right]

其中 CF(t)C_F(t) 是函数集 FF 为任务 tt 生成的上下文。

该优化受约束,如上下文长度 CL|C| \leq L

3. 信息检索的理论基础:最大化互信息

在RAG等场景中,检索的目标不仅是语义相似,而是获取对任务最有用的信息。形式化为:

Retrieve=argmaxCI(Y;Cq)\text{Retrieve}^* = \arg\max_{C} I(Y; C | q)

即在给定查询 qq 的条件下,选择与目标答案 YY 互信息最大的上下文 CC

4. 贝叶斯视角:上下文的后验推断

更进一步,上下文工程可被视为一个贝叶斯推理过程

P(Cq,History,World)P(qC)P(CHistory,World)P(C | q, \text{History}, \text{World}) \propto P(q | C) \cdot P(C | \text{History}, \text{World})

即在先验知识(历史、世界状态)基础上,根据当前查询 qq 推断最优上下文 CC

决策目标为:

C=argmaxCP(YC,q)Reward(Y,Ytrue)dYP(Cq,...)C^* = \arg\max_C \int P(Y|C, q) \cdot \text{Reward}(Y, Y_{\text{true}}) dY \cdot P(C | q, ...)

二、上下文工程基础组件:底层信息架构

上下文工程的基础组件负责上下文的生成、优化与管理,是构建高效智能系统的前提。该层可划分为三个递进阶段:

1. 上下文检索与生成

上下文的构建始于信息的获取与初步组织。该阶段的核心任务是为模型提供任务相关、语义丰富且结构合理的输入内容,主要包括以下三个方面:

首先,提示工程与推理引导通过设计结构化提示,激发模型的深层推理能力。典型方法如思维链(Chain-of-Thought)引导模型逐步推导,思维树(Tree-of-Thoughts)支持多路径探索与回溯,思维图(Graph-of-Thoughts)则进一步将推理过程建模为图结构,支持非线性、跨跳推理。这些方法的本质是将“如何思考”编码为上下文的一部分,从而提升模型的认知深度。

其次,外部知识检索突破模型参数化知识的静态性局限。通过检索增强生成(RAG)技术,系统可动态访问外部知识源,如文档库、数据库或知识图谱,实现对实时、专业或长尾知识的按需调用。该机制显著提升了回答的事实准确性与领域适应性。

最后,动态上下文组装将系统指令、检索结果、工具描述、历史记忆等异构信息进行逻辑整合,形成一个连贯、紧凑且任务适配的上下文输入。该过程不仅涉及信息的拼接,更包括优先级排序、语义对齐与冲突消解,是上下文质量控制的关键环节。

2. 上下文处理

在获取原始上下文后,需对其进行转换与优化,以适应模型的计算能力与任务需求。该阶段主要包括以下三个方向:

其一,长上下文处理应对模型上下文窗口扩展带来的计算挑战。传统Transformer的自注意力机制具有 O(n2)O(n2) 的计算复杂度,难以高效处理超长序列。为此,研究者提出状态空间模型(如Mamba)、位置编码外推(如RoPE插值)与高效注意力实现(如FlashAttention)等技术,显著降低了内存占用与推理延迟。

其二,上下文自精炼与适应赋予系统迭代优化能力。通过自我反思(Self-Refine)、反馈强化(Reflexion)或元学习机制,模型可在生成后评估输出质量,并主动调整上下文内容,实现输出的持续改进与任务适应。

其三,多模态与结构化上下文整合致力于将图像、音频、表格、图结构等非文本信息统一编码为语言模型可理解的形式。例如,知识图谱可通过语义化描述或专用嵌入方式融入上下文,支持更深层次的关系推理,是当前实现复杂认知任务的关键路径。

3. 上下文管理

上下文管理关注信息的组织、存储与生命周期控制,确保系统在资源约束下的可持续运行。

一方面,基本约束问题依然存在。尽管上下文窗口已扩展至数十万甚至百万token,但“中间遗忘”现象与高昂的KV缓存开销仍制约着长序列的有效利用。

另一方面,记忆层次与存储架构借鉴操作系统虚拟内存思想,构建分层记忆系统。例如,MemGPT提出“主存+外存”模型,主存对应模型上下文窗口,外存为持久化数据库,通过“换入/换出”机制实现信息的动态调度,突破物理窗口限制。

此外,上下文压缩技术通过语义摘要、关键信息筛选或KV缓存剪枝,在保留核心语义的前提下减少信息体积,提升系统的响应效率与可扩展性。

三、上下文工程实现方案:从组件到智能代理系统

在基础组件之上,上下文工程通过系统级集成演化为具备复杂行为能力的智能代理系统,展现出更强的任务适应性与环境交互能力。主要实现路径包括以下四类:

1. 检索增强生成系统

现代RAG系统已从简单的“检索-生成”流程发展为模块化、智能化的架构。系统支持多跳检索、查询重构与结果重排序,能够深入挖掘深层语义关联。更进一步,Self-RAG等框架引入“反思令牌”,使模型能够自主判断是否需要检索、是否需要重写答案,实现上下文使用的自我调控。GraphRAG则利用知识图谱的结构化语义,在处理“未知未知”类问题上展现出显著优势。

2. 记忆系统

记忆系统使模型具备持续学习与长期交互能力。通过构建情景记忆(记录具体事件)与语义记忆(抽象通用知识)的分层结构,系统可在跨会话场景中保持上下文一致性。代表性系统如MemGPT,通过虚拟内存机制实现对历史经验的持久化存储与按需调用,支持复杂任务的长期规划与执行。

3. 工具集成与函数调用

为突破纯语言模型的能力边界,系统被赋予调用外部工具的能力,如计算器、数据库、API接口或网页浏览器。ReAct框架将“推理”与“行动”交替进行,使模型在思考过程中动态调用工具,实现“思考-行动”闭环。此类系统已广泛应用于数据分析、自动化脚本生成与网页操作等复杂任务。

4. 多智能体系统

通过构建多个角色分工的智能体,系统可完成更复杂的协作任务。不同智能体可分别承担规划、执行、评审与沟通等职能,通过标准化通信协议与任务编排机制完成端到端项目。AutoGen支持多智能体对话与任务调度,CAMEL通过角色扮演实现目标驱动协作,MetaGPT则模拟公司组织结构,实现从需求分析到产品发布的全流程自动化。

四、上下文工程未来方向与核心挑战

尽管上下文工程已取得显著进展,但仍面临一系列根本性挑战,同时也孕育着广阔的研究前景。

1. 核心挑战

第一,理解与生成的不对称性问题突出。模型虽能理解极长、极复杂的上下文,但在生成长篇、逻辑一致的输出时表现明显下降,存在“能看懂但写不好”的现象。

第二,高级推理能力不足。在因果推理、反事实思考、时序规划等复杂认知任务上,当前系统仍远未达到人类水平,GAIA等基准测试揭示了显著差距。

第三,图结构与复杂关系建模困难。语言模型对图拓扑结构的感知能力有限,多跳推理易出错,动态图演化支持不足。

第四,上下文组装自动化程度低。当前构造过程仍依赖大量人工设计与启发式规则,缺乏通用、可学习的自动化机制。

第五,评估体系不完善。缺乏统一、多维度的评估基准,尤其在多智能体协调、记忆持久性、工具调用鲁棒性等方面尚无标准化测试。

2. 未来研究方向

上下文工程的发展仍处于从“经验驱动”向“理论驱动”过渡的关键阶段,未来的突破不仅依赖于技术迭代,更需要在理论建模、系统架构、认知能力、评估体系与社会影响等多个层面实现协同创新。

  1. 构建统一的形式化理论框架:当前上下文工程的实践多依赖启发式设计与经验调优,缺乏统一的理论基础来解释“为何某种上下文结构更有效”或“如何系统性地优化信息流”。未来研究应致力于建立可计算、可验证的形式化模型,以指导上下文系统的设计与优化。

  2. 发展自进化与元学习型上下文系统:当前系统多为静态架构,难以适应动态变化的任务环境。未来应推动上下文系统向自进化、自适应、自组织方向发展,使其具备持续学习与能力跃迁的能力。

  3. 推动多模态与具身智能融合:当前上下文工程仍以文本为主导,难以应对真实世界中复杂的感知与交互需求。未来必须突破语言模态的局限,构建多模态统一上下文空间,并将其嵌入物理或虚拟环境,实现“具身化”智能。

  4. 构建领域专业化与可信智能系统随着上下文工程在医疗、法律、金融、教育等高风险领域的应用深化,系统的准确性、可解释性、安全性和合规性成为关键诉求。未来研究应聚焦于发展领域定制化、可审计、可干预的上下文系统

  5. 建立标准化评估体系与基准测试:当前上下文工程缺乏统一、多维度的评估标准,导致研究成果难以横向比较。未来亟需构建系统化、场景化、动态化的评估框架,以推动技术的可衡量发展。

五、提示词工程与上下文工程的比较

提示词工程关注的是如何设计和优化输入给大模型的单一提示(prompt),以引导其产生期望的输出,属于“术”的层面;而上下文工程则更进一步,是对整个输入上下文(包括历史对话、外部知识、记忆状态等)进行系统性构建与管理,属于“道”的层面。可以说,提示词工程是上下文工程的核心组成部分,而上下文工程是提示词工程在复杂场景下的扩展与升华,二者是从“单点优化”到“系统架构”的演进关系。

维度 提示词工程 上下文工程
模型 C = 提示​(静态字符串) C = A(c₁, c₂, ..., cₙ)​(动态、结构化组装)
目标 argmax_promptP_θ(Yprompt)\arg\max\_{\text{prompt}} P\_{\theta}(Y \mid \text{prompt}) J=argmax_τE_τT[Reward(P_θ(YC_τ(τ)),Y)]J^* = \arg\max\_{\tau} \mathbb{E}\_{\tau \sim T}[\text{Reward}(P\_{\theta}(Y \mid C\_{\tau}(\tau)), Y^*)]
复杂性 在字符串空间中进行手动或自动搜索。 对系统级操作集合 F={A,Retrieve,Select,}F = \{A, \text{Retrieve}, \text{Select}, \dots\} 进行优化。
信息 信息内容在提示中是固定的。 在上下文长度限制 CL_max|C| \leq L\_{\text{max}} 下,最大化任务相关的信息。
状态 主要是无状态的。 天然具备状态性,包含显式的记忆组件 c_memc\_{\text{mem}} 和状态组件 c_statec\_{\text{state}}
可扩展性 随着长度和复杂性的增加,脆弱性增强。 通过模块化组合管理复杂性。
错误分析 依赖人工检查和迭代优化。 对各个上下文函数进行系统性评估与调试。

上下文工程综述笔记
https://github.com/DukeZhu513/dukezhu513.github.io.git/post/context-engineering-overview-notes-zkkxsf.html
作者
Duke Zhu
发布于
2025年8月18日
许可协议