导语: 随着大语言模型(LLM)和代理框架的发展,人们越来越意识到「上下文」对代理行为的重要性。代理不仅需要用户的指令,还需要外部知识、工具反馈等信息才能完成复杂任务。所谓“上下文工程”就是在有限的上下文窗口内,为代理按步骤提供恰当的信息和工具,使其能够有效地完成任务。
本文将结合 LangChain、Anthropic 和 Cognition 等团队的经验,解释上下文工程的概念、常见策略以及多代理/单代理架构的权衡,并对相关链接进行梳理,为中文读者呈现一篇关于上下文工程的完整介绍。
LangChain 在博客中将 上下文工程(context engineering) 定义为构建动态系统,为大语言模型提供恰当的信息和工具,使其“有可能完成任务”。与早期只靠提示词的“prompt engineering”不同,上下文工程强调的是:
- 系统性: 代理的上下文来自开发者、用户、历史交互、工具调用或其他外部数据,必须通过系统化的逻辑组合在一起
- 动态性: 这些上下文通常是实时生成的,因此构建最终提示必须具有动态拼接能力
- 正确的信息与工具: 代理出错往往不是模型能力不足,而是缺乏恰当的信息或工具
。因此必须保证提供的信息充分且格式合适
安德烈·卡帕西(Andrej Karpathy)用操作系统做了一个类比:LLM 就像 CPU,上下文窗口是 RAM(工作内存),而上下文工程就是决定哪些信息可以放入 RAM 的“调度器”。由于 RAM 容量有限,上下文工程需要精心挑选和组织信息以避免溢出。

为什么代理需要上下文工程?
在代理系统中,任务往往是 多轮对话 和 工具调用 的组合,导致上下文越来越长。这会带来两个问题:
- 成本与效率: 长上下文会增加模型的计算成本和延迟,并可能导致模型性能下降
- 新的失败模式: Drew Breunig 总结了长上下文的四大失败模式:
- 上下文污染(Context Poisoning): 幻觉或错误信息进入上下文后被反复引用,代理会围绕错误目标做出决策
- 上下文干扰(Context Distraction): 上下文过长导致模型过度关注历史而忽略训练知识,反复重复已有行为
- 上下文混乱(Context Confusion): 上下文中无关的内容(如过多的工具说明)干扰模型,使其调用不必要的工具
- 上下文冲突(Context Clash): 上下文中出现相互矛盾的信息时,模型难以判断取舍
因此,仅依靠扩大上下文窗口并不能解决问题,反而会引入新的风险。上下文工程旨在通过合理整理、压缩和隔离信息,避免上述失败模式。

上下文工程的四种策略
LangChain 将常见的上下文工程策略分为 写入(Write)、选择(Select)、压缩(Compress)和隔离(Isolate)

。这些策略并不是孤立的,而是在复杂代理中相互配合使用。
1. 写入(Write)——在上下文之外持久化信息
写入策略指将信息存储在上下文窗口之外,供未来检索。例如:
-
Scratchpad(草稿本): 类似人类做笔记,代理通过工具调用将临时信息写入文件或状态对象,在任务过程中随时访问。Anthropic 的多代理研究系统会在计划开始前将研究计划写入记忆,以防上下文超过 20 万个 token 时被截断anthropic.com。LangGraph 为代理提供了 short‑term memory(检查点)来在会话内保存状态blog.langchain.com。
-
长期记忆(Memory): 有些信息需要跨会话保存,例如用户偏好或历史反馈。生成式代理(Generative Agents)通过定期汇总过去的反馈构建长期记忆
。现在的一些产品如 ChatGPT、Cursor 和 Windsurf 也自动生成长期记忆
2. 选择(Select)——从记忆中提取相关信息
选择策略是将外部记忆、文件或工具调用结果拉入当前上下文。常见做法包括:
- 小样本示例(Few‑shot examples): 作为 情景记忆(episodic memory) 帮助代理模仿预期行为
- 指令/规则(Procedural memory): 用于指导代理行为,如 Claude Code 中的
CLAUDE.md规则文件 - 事实(Semantic memory): 存储知识、实体信息,供检索调用
在 LangGraph 中,开发者可以在每个节点按需检索状态或长期记忆,并通过嵌入检索等方式选取最相关的记忆。对于工具选择,一些研究表明,使用 RAG 技术对工具说明进行检索可以使选择准确率提高 3 倍
不同记忆类型一览(重点词条,避免冗长描述):
| 记忆类型 | 存储内容 | 代理示例 |
|---|---|---|
| 语义记忆 | Facts(事实) | 关于用户的事实 |
| 情景记忆 | Experiences(经历) | 过去的代理动作 |
| 程序记忆 | Instructions(指令) | 系统提示或规则 |
3. 压缩(Compress)——保留必要的信息
压缩策略通过 摘要(summarization) 或 修剪(trimming) 减少上下文长度:
摘要: 通过 LLM 压缩对话历史,只保留关键决策。Claude Code 会在上下文超过 95% 时运行 “auto‑compact” 自动摘要。在 Cognition 的代理中,还使用专门微调的小模型来压缩代理间的交互,以减少知识传递时的 token 数

- 修剪: 通过启发式方法删掉旧消息,例如只保留最近的几轮对话;也可以用训练出的 Provence 模型对检索内容进行句子级别的剪枝,它将上下文剪枝任务视为序列标注问题,在多领域问答中几乎不损失性能
压缩并不是万能的:过度摘要可能遗漏关键细节,修剪也有风险,因此需要结合任务特点谨慎使用。
4. 隔离(Isolate)——拆分上下文以并行处理
隔离策略通过 分工合作 减少单个上下文窗口的压力。例如:
多代理架构: Anthropic 的 Research 系统采用 主代理 + 子代理 模式,主代理制定研究计划并将任务分配给多个子代理并行搜索,子代理拥有自己的上下文窗口,并在完成后将结果返回,由主代理汇总。该系统在广度优先查询中比单代理效果提升 90% 以上,但使用的 token 约是对话模式的 15 倍,因此只适用于价值高且可并行的任务

-
分离环境与沙盒: Hugging Face 的代码代理通过将代码执行放在沙盒环境中,图像或大型对象留在沙盒内,返回值再传回 LLM,这样可以隔离大量 token
huggingfaceOpen-source DeepResearch – Freeing our search agents

- 状态对象: 在 LangGraph 中,开发者可以设计包含多个字段的状态 schema,只将
messages字段暴露给模型,而将其他字段留作环境使用
不过,Cognition 指出,多代理架构容易出现上下文缺乏共享、决策冲突等问题,并总结出两个关键原则:原则 1:共享上下文和完整的代理轨迹;原则 2:决策隐含偏好,冲突会产生坏结果
因此在实际应用中,应谨慎使用多代理,必要时更倾向于线性单代理配合压缩技术。
链接内容梳理
《The Rise of Context Engineering》(LangChain)
LangChain 在文章中阐述了为什么上下文工程是下一代 AI 工程师最重要的技能。作者指出,随着应用从单一提示转向动态的代理系统,构建能够 动态组织信息、选择工具并以合适格式传递给模型的系统 是成功的关键
文章强调:
- 代理性能差往往是因为缺乏正确的上下文和工具;
- 上下文工程包括系统地收集信息、动态构建提示、提供合适工具并保证格式合理blog.langchain.com;
- 适当的上下文和工具比花哨的提示词更重要,提示工程只是上下文工程的一个子集
《Don’t Build Multi‑Agents》(Cognition)
Cognition(Devin 团队)反对盲目构建多代理系统,认为上下文工程才是构建可靠代理的核心。他们指出:
- 上下文工程是比提示工程更高级的技能,是代理工程师的核心工作
- 多代理架构看似诱人,但容易造成误解和冲突。即便给子代理复制完整任务描述,也无法避免上下文缺失,因为实际任务涉及多轮对话和工具调用,任何细节缺失都会影响理解
- Cognition 总结两条原则:共享上下文、共享完整的代理轨迹;每个动作都隐含决策,冲突会导致坏结果
他们建议在多数情况下采用单线程线性代理,并通过压缩模型来保留关键信息,使长任务也能可靠完成
《How we built our multi‑agent research system》(Anthropic)
Anthropic 描述了他们为 Claude 构建研究模式的经验。文章认为:
- 多代理系统适合探索性研究等 开放性任务。主代理解析用户查询,生成计划并创建多个子代理并行搜索信息
- 子代理各自拥有独立的上下文窗口和工具,可以探索问题的不同方面,再由主代理汇总,提供 分工明确、各自为政 的优点
- 内部评测显示,该系统在广度优先问题上比单代理方案提升 90%,但成本高昂,token 使用量约为对话的 15 倍,因此仅适合价值高、可以充分并行的任务
- 他们通过 写入计划到记忆 来解决上下文截断问题,并总结了如何给代理制定合适的提示、合理划分子任务、并行调用工具等提示工程经验
《How Long Contexts Fail》(Drew Breunig)
Drew Breunig 指出,超长上下文并不一定带来更好的代理。相反,过长的上下文会引入污染、干扰、混乱和冲突等问题,使代理迷失方向作者分析了每种失败模式的案例,并指出需要通过剪枝、工具检索、隔离等方法防止上下文失控。
Provence:高效稳健的上下文剪枝
在 RAG 系统中,检索内容往往很长。Provence 将 上下文剪枝 视为序列标注问题,通过统一剪枝与重排序模型、在多样化数据上训练,实现了在不同领域几乎不损失性能的剪枝方法这为压缩策略提供了更稳健的算法支持。
LangGraph 与 LangSmith 的支持
LangGraph 是 LangChain 推出的有向图代理框架,旨在让开发者完全控制代理的步骤、状态和上下文。它提供了以下功能:
- 检查点与长短期记忆: 支持在代理会话内持久化状态(短期记忆)和跨会话保存信息(长期记忆),方便实现 scratchpad 与记忆功能
- 灵活的状态检索: 在每个节点中,开发者可以从状态对象或长期记忆中检索特定字段,并通过自定义逻辑决定哪些信息注入到上下文
- 压缩与修剪: 提供总结与修剪工具,可在代理设计中的特定步骤调用 LLM 或剪枝算法对上下文进行精简
- 多代理与沙盒: LangGraph 支持构建多代理系统,通过设置不同的节点和状态字段实现隔离,并可结合沙盒环境保存大型数据对象
LangSmith 则提供了强大的 追踪和评测 功能,可查看代理的每一步输入输出、token 使用情况,并评估不同上下文工程策略对性能的影响
结论与展望
上下文工程是构建可靠 AI 代理的核心,它决定了代理能否在有限的工作内存中合理利用指令、知识和工具。本文总结出以下要点:
-
上下文工程不仅是提示工程的升级,更是将动态系统、工具协作和记忆管理结合在一起的综合工程
-
四大策略(写入、选择、压缩、隔离) 是构建代理时常见的手段,需要根据任务特性灵活组合

-
多代理架构优缺点并存:并行子代理可扩展能力,但会增加成本并带来协调困难,需配合共享上下文和压缩技术
-
长上下文不是灵丹妙药:随着上下文增长,污染、干扰、混乱和冲突现象会加剧,剪枝和隔离同样重要
对于正在建设代理系统的读者,可以从以下方面入手:
- 观察代理任务流程,确定何时需要写入、选择、压缩或隔离上下文;
- 通过工具检索、摘要和剪枝算法控制上下文长度;
- 警惕多代理带来的协调与成本问题,优先确保共享上下文和决策的一致性;
- 使用 LangSmith 等工具观察代理行为,及时调整上下文工程策略。
随着模型能力和工具生态的发展,合理的上下文工程将成为 AI 代理迈向生产级应用的关键。希望本文能帮助你更好地理解这一新兴领域,并在自己的项目中应用这些思路。
我们该怎样系统的去转行学习大模型 ?
很多想入行大模型的人苦于现在网上的大模型老课程老教材,学也不是不学也不是,基于此我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习门槛,降到了最低!
在这个版本当中:
第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言
您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包分享出来, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、大模型经典书籍(免费分享)
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

二、640套大模型报告(免费分享)
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

三、大模型系列视频教程(免费分享)

四、2025最新大模型学习路线(免费分享)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的
核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方二维码,免费领取

1024

被折叠的 条评论
为什么被折叠?



