从Prompt到Context Engineering:LangChain揭秘上下文工程的“写、选、压、隔”四大核心策略

 

AI Agent开发的战场已从“Prompt工程”悄然转移至“上下文工程”。LangChain作为行业前沿框架,总结出解决Agent失忆、昂贵、低效等顽疾的四大核心策略:📝写(Write)🔍选(Select)🗜️压(Compress)🧱隔(Isolate)。本文将深度剖析这套方法论,并揭示为何精巧的“上下文管理”远比追求无限大的上下文窗口更重要,助你构建真正智能、高效、经济的AI应用。

你精心设计的AI Agent,在与用户愉快地交互了10分钟、调用了5次工具后,突然开始胡言乱语,忘记了最初的目标,像个失忆的金鱼。你看着飞涨的Token账单和用户失望的反馈,不禁发问:为什么我的Agent这么“蠢”?


▲ Agent的核心工作流:在“思考-行动-观察”的循环中,每一次交互都会产生新的上下文。

答案,藏在它那有限又混乱的“内存”——上下文窗口(Context Window) 里。

过去,我们认为“Prompt Engineering”是通往AI圣杯的钥匙。但当我们从构建简单的聊天机器人,迈向能执行复杂、长周期任务的AI Agent时,才发现真正的瓶颈在于动态的信息流管理

这正是Andrej Karpathy将LLM比作“新操作系统”的深刻之处。如果LLM是CPU,上下文窗口就是RAM。而我们大多数人,都在用着最顶级的CPU,却用着一套原始、低效的内存管理方式。


▲ Agent需要管理的上下文来源多种多样,包括指令、知识和工具反馈。

今天,LangChain作为服务全球数十万开发者的AI框架,将为你系统性地揭示下一代AI开发的核心——上下文工程(Context Engineering)。我们将通过 “写、选、压、隔” 四大策略,彻底终结Agent开发的混乱时代。


▲ 上下文工程的四大核心策略,是构建高级Agent的基石。

破除“越大越好”的上下文迷信

在深入四大策略之前,我们必须先破除一个行业迷思:只要上下文窗口足够大,一切问题都会迎刃而解吗?

答案是:。盲目追求更大的上下文窗口,就像试图通过无限扩大内存来解决程序内存泄漏一样,是一种治标不治本的“暴力美学”。它不仅会带来惊人的成本和延迟,还会加剧四大“上下文诅咒”:

  1. 1. 中毒 (Poisoning):错误的幻觉信息污染整个“内存”。
  2. 2. 分心 (Distraction):海量无关信息淹没核心指令。
  3. 3. 混淆 (Confusion):不相关的细节干扰决策。
  4. 4. 冲突 (Clash):相互矛盾的信息让模型精神分裂。

▲ 随着与工具的交互轮次增加,上下文迅速膨胀,很快就会触及极限并引发各种问题。

真正的护城河,不在于你拥有多大的上下文窗口,而在于你管理它的能力有多高明。一个经过精心工程化的200K上下文,其效能和经济性,将完胜一个被粗暴填充的1M上下文。

现在,让我们看看顶尖团队是如何“聪明地”管理上下文的。


上下文工程的四大核心策略

所有高级的上下文管理技术,都可以归入以下四个正交的类别。

📝 1. 写 (Write):为Agent打造可持久化的外部大脑

核心思想:RAM(上下文)是宝贵的瞬时记忆,硬盘(外部存储)才是可靠的长期记忆。把暂时不用或需要永久保存的信息,“写”到上下文之外。

  • • 人话版:别让Agent把所有东西都记在脑子里,给它一个笔记本和档案柜。

技术实践

  • • 便笺 (Scratchpads):Agent执行任务时的“草稿纸”,用于记录中间思考、计划或计算结果。Anthropic的研究员Agent就会先把详细计划写到外部文件,防止因上下文截断而丢失。
  • • 长期记忆 (Memories):跨会话的“档案柜”,存储用户偏好、成功经验或核心事实。ChatGPT的记忆功能、Cursor等编码助手的用户习惯学习,都是这一思想的产物。

▲ 利用LLM自身来处理信息并创建或更新外部记忆库,形成智能的学习闭环。

🔍 2. 选 (Select):从信息海洋中精准注入所需养分

核心思想:当需要信息时,不是把整个图书馆搬进来,而是精准地找到需要的那一页,再把它放进上下文。这是RAG(检索增强生成)思想的精髓与延伸。

  • • 人话版:Agent需要什么,就给它什么,不多也不少。

技术实践

  • • RAG for Tools:当Agent有数百个工具时,将所有工具描述都塞入上下文是灾难性的。前沿实践是对工具描述进行RAG,动态检索并只向Agent提供最相关的几个工具,工具选择准确率能提升高达3倍。
  • • RAG for Memories:从庞大的长期记忆库中,通过语义检索,精确提取与当前任务相关的“旧日经验” ,让Agent能够“举一反三”。

▲ Agent可以根据任务需要,从不同类型的记忆(如事实性的、程序性的、情景性的)中选择性地提取信息。

🗜️ 3. 压 (Compress):用最少的Token办最多的事

核心思想:如果信息不得不留在上下文中,那就想办法为它“瘦身”,保留信息精华,去除冗余。

  • • 人话版:把十句话能说清的事,压缩成一句话,节省脑力。

技术实践

  • • 摘要 (Summarization):利用LLM强大的归纳能力,将长对话、API返回的长篇JSON或检索到的文档,智能地压缩成关键摘要。Claude Code的“自动压缩”功能就是典范,当上下文快满时,它会自动总结前面的对话历史。
  • • 修剪 (Trimming):一种更直接的压缩方式。例如,简单地移除对话历史中最早的N条消息,或者通过更复杂的算法(如Provence)“修剪”掉对当前任务贡献度最低的上下文片段。

▲ 压缩技术可以灵活地应用于Agent的整个轨迹、单个工具的输出或外部知识源等多个关键节点。

🧱 4. 隔 (Isolate):化整为零,构建专注的“思维空间”

核心思想:与其让一个Agent在巨大的、混乱的上下文中处理所有事,不如将任务和上下文“隔离”成多个更小、更专注、互不干扰的空间。

  • • 人话版:别让一个人同时干五件事,组建一个各司其职的团队。

技术实践

  • • 多智能体 (Multi-agent):最强大的隔离策略。将复杂任务分解,交给一个由“规划师”、“研究员”、“代码手”等专业Agent组成的团队。每个Agent拥有自己独立的、小而美的上下文窗口。Anthropic和OpenAI (Swarm) 的实践都证明,多Agent系统在解决复杂问题上远超单个巨型Agent。

▲ 通过将一个大的上下文拆分到多个并行的、各司其职的子Agent中,实现任务分解和效率提升。
  • • 沙箱环境 (Sandboxed Environments):将代码执行、文件操作等重度任务放在隔离的沙箱中进行。Agent只负责生成指令(如Python代码),沙箱负责执行,然后只将最关键的结果(如一个计算结果或文件状态)返回给Agent的上下文,避免了大量中间过程污染上下文。

▲ 沙箱(Sandbox)可以将代码执行等复杂状态隔离开,只将必要的结果返回给LLM,保持主上下文的清洁。

实战指南:Agent常见病症诊断及药方

理论最终要服务于实践。一个综合运用了多种上下文工程策略的复杂应用,才能表现出真正的智能。


▲ 一个能处理邮件的智能Agent,其背后是长期记忆、用户反馈和多种上下文策略的综合应用。

我们为你整理了一份“Agent疑难杂症”自查手册,助你快速对症下药。

常见病症 (Symptom)
可能病因 (Diagnosis)
核心药方 (Prescription)
“金鱼脑”

Agent记不住几轮前的对话或用户偏好
上下文被截断或关键信息被冲刷
📝 写 (Write)

引入长期记忆模块,将关键信息持久化。
“选择困难症”

面对大量工具或API时,Agent经常选错或不知道怎么选
上下文中工具描述过多,导致模型混淆
🔍 选 (Select)

对工具描述进行RAG,动态提供最相关的少数几个工具。
“话痨” & “高消费”

对话几轮后,Token消耗巨大,响应变慢
上下文冗余信息过多,未经压缩处理
🗜️ 压 (Compress)

定期对对话历史或工具输出进行摘要或修剪。
“精神分裂”

执行复杂任务时,Agent目标漂移,逻辑混乱
单一上下文承载了过多不同类型的子任务
🧱 隔 (Isolate)

设计多智能体架构,让每个Agent处理一个专注的子任务。
“代码执行恐惧症”

Agent生成的代码或数据处理逻辑无法验证,且过程污染上下文
LLM不擅长精确计算和状态管理
🧱 隔 (Isolate)

使用沙箱环境执行代码,只将最终结果返回上下文。

框架赋能:在LangChain和LangGraph中,这些策略都有成熟的实现。例如,LangGraph的 State对象 和 Checkpointer 天然支持 📝写 和 🧱隔 ;丰富的Retriever集成为 🔍选提供了弹药;内置的MessageTrimming等工具则服务于 🗜️压


未来展望:从“被动管理”到“认知自觉”

今天,我们作为开发者,是上下文工程的“架构师”。但终极的未来,是Agent学会自我进行上下文管理

想象一个Agent能通过元学习(Meta-learning)进行自我反思:“这次任务失败,是因为我从记忆库中提取了错误的信息(),并且对话历史太长导致了分心()。下次遇到类似任务,我应该调整我的检索和压缩策略。”

当Agent具备了这种“认知自觉”,它才真正从一个高级工具,进化为一个能够自我优化的智能实体。

结语:你的下一个战场

AI Agent开发的浪潮已经到来。如果你还只停留在打磨Prompt,那么你很可能在错误的战场上消耗弹药。

从Prompt Engineering到Context Engineering的思维跃迁,是专业AI开发者与业余爱好者的分水岭。

掌握 “写、选、压、隔” 这四大策略,像管理操作系统内存一样去精细化地设计你的Agent信息流,你才能在这场新的革命中,构建出真正健壮、高效、智能的未来应用。

 

(文:子非AI)

发表评论