欢迎光临
我们一直在努力

还在卷Prompt?真正拉开Agent差距的,是Context Engineering

还在卷Prompt?真正拉开Agent差距的,是Context Engineering

你有没有遇到过——精心调教了半天的System Prompt,Agent前几轮表现完美,跑到第30轮却突然“失忆”,把最初设定的规范全忘了?

你有没有经历过——给Agent接了一大堆工具,结果它面对两个功能相近的API反复纠结,选错的概率比选对的还高?

你有没有想过——明明用的是200K上下文窗口,把所有相关资料都塞进去了,Agent的回答质量反而下降了?

这三个问题,指向同一个被大多数AI工程师忽视的真相:Agent的失败,大多数时候不是模型的失败,而是上下文的失败。

2025年,当AI工程从“Demo Agent”走向“生产级Agent”,三位业界顶尖人物几乎同时给出了同一个诊断:

“我越来越喜欢用context engineering这个词,而不是prompt engineering。它更准确地描述了这项技能:在上下文窗口中精心填充恰当的信息。” —— Andrej Karpathy,2025年7月

“现在大多数Agent的失败已经不再是模型的失败,而是上下文的失败。” —— Philipp Schmid,2025年6月

“在AI时代,使用人工智能的核心技能在于上下文工程。” —— Tobi Lütke,Shopify CEO,2025年4月

一、从Prompt到Context:三个阶段的演进

要理解Context Engineering为什么不可缺少,必须先看清这条演进路线。

第一阶段:Prompt Engineering(2020-2022)

GPT-3发布后,工程师们发现:只需要在输入里描述任务,模型就能输出不错的结果。但结果好坏对措辞极其敏感。于是大家开始研究:如何写出让模型“最听话”的提示词?

Zero-shot、Few-shot、Chain-of-Thought等技术应运而生。它们有一个共同点:都在优化“单次LLM调用”——写好一条输入,获得一条更好的输出。

这在单轮任务里非常有效,但“单轮”是它的硬边界。

第二阶段:ReAct范式(2022-2024)

2022年,普林斯顿和Google的研究团队提出了ReAct范式。它解决了一个Prompt Engineering解决不了的问题:如何让LLM主动使用外部工具、动态获取信息、分多步完成复杂任务。

ReAct定义了“思考→行动→观察”(Thought→Action→Observation)的闭环循环。这确实是一个巨大的进步——LLM从“静态答题机”变成了“能动手的助理”。

但ReAct的设计核心是行动逻辑,对“做的过程中上下文如何管理”几乎没有显式规定。

ReAct的隐患:每一轮的Thought/Action/Observation都会追加到上下文里。在一个20步、30步、50步的复杂任务里,上下文会越积越大。ReAct解决了“做什么”,但没有解决“管什么信息”。

第三阶段:Context Engineering(2025-现在)

当AI工程从Demo走向生产,工程师们集体撞上了同一堵墙:

  • 任务轮次增加后,Agent开始“忘记”最初设定的规则
  • 工具返回值越来越多,有用信息被淹没
  • 系统提示写得再好,也扛不住上下文被“稀释”的侵蚀

Context Engineering,就是专门解决这个“只进不出”问题的。

二、核心思想:LLM就是一台“操作系统”,上下文窗口就是它的“工作内存”

理解Context Engineering,首先要理解Karpathy提出的一个被广泛引用的类比:把LLM理解为一种全新的操作系统。

传统计算机LLM操作系统特点
CPU(处理核心) LLM模型本身 负责实际的“思考”与生成
RAM(工作内存) 上下文窗口 临时存储,Token限制
硬盘上的只读程序 模型权重 固化的世界知识
外接硬盘/云存储 向量数据库/工具 海量外部信息,需检索调入
操作系统的内存调度器 Context Engineering 决定什么信息进RAM、何时换出

关键认知:LLM在每次推理时,只能“看到”当前上下文窗口里的内容。无论模型权重里储存了多少知识,只要相关信息没有出现在上下文窗口里,对当次推理而言,那个信息就“不存在”。

Context Engineering就是LLM OS的“内存管理”。 优秀的内存管理不是把所有数据都塞进RAM,而是在正确的时机把正确的数据调入RAM,不用的数据及时换出。

三、三个被实验反复验证的物理约束

很多工程师的直觉是:“既然上下文窗口很大,那就把所有相关的东西都放进去,信息越多越好。”

这个直觉是错误的。 三个经过实验验证的物理约束,解释了为什么。

约束一:Lost in the Middle——信息的位置决定它被“看见”的概率

斯坦福大学的研究发现了一个稳定的U型曲线:

答案文档位置近似正确率所处区域
开头(第1位) ≈75% 首因效应,高召回
中间位置 ≈35%~45% “中间困境”,低召回
结尾(最后一位) ≈70%~75% 近因效应,高召回

更令人震惊的是:当正确答案被放在上下文中间时,模型的开卷正确率甚至低于什么都不给它看的闭卷基线(56.1%)。

也就是说,此时“塞给模型更多信息”反而变成了负贡献。

约束二:Context Rot——上下文越长,召回率越低

“随着上下文Token数量增加,模型准确召回上下文信息的能力线性下降。虽然不同模型降级程度不同,但这一现象在所有模型中普遍存在。”—— Anthropic,2025

这不是崩溃,而是慢性退化。 在长任务中,不主动管理上下文,Agent质量会持续下滑。

约束三:Attention Budget——O(n²)的注意力代价

上下文Token数注意力计算量(相对值)实际意义
1,000 Token 1×(基准) 一般提示词长度
10,000 Token 100× 约5000字中文内容
50,000 Token 2,500× 较长任务的上下文
128,000 Token 约16,384× 接近GPT-4 Turbo上限

注意力是稀缺资源。 每一个进入上下文的Token都在消耗注意力预算,增加无关内容不是中性操作,而是主动损害有效信息的信号强度。

核心公式:最优上下文 = 最小Token数量 × 最高信噪比

四、一个真实的50轮任务:有Context Engineering和没有,差距有多大?

轮次无CE(失控积累)有CE(主动管理)
第1轮 ~3,000 Token ~3,000 Token
第15轮 ~45,000 Token ~8,000 Token(已触发1次压缩)
第30轮 ~85,000 Token,规则被淹没,开始生成错误变量名 ~23,000 Token,规则在开头,行为与第1轮一致
第45轮 ~120,000 Token,严重退化,重复审查已审查文件 ~20,000 Token,已历经3次压缩,上下文干净
第50轮 任务实际上已经失败 基于外部笔记生成完整报告,质量与第1轮等同

关键差异:不是CE减少了任务的信息量,而是CE用更少的Token承载了同样的有效信息。每次压缩发生时,丢弃的是已经没有信息价值的冗余内容,保留的是真正影响后续决策的关键信息。

五、长任务的三大核心技术

① Context Compaction(上下文压缩)——让Agent“自动记忆”

核心机制:当对话的Token数量接近上下文窗口上限(通常设为70%~80%时触发),自动调用LLM对当前完整对话历史进行摘要,然后以“系统提示+压缩摘要+最近几轮原始对话”重新初始化上下文窗口。

应保留:任务目标、已完成的工作、关键决策和原因、当前状态、未解决的问题
应丢弃:冗余的工具调用原始输出、重复的中间尝试、无关的错误日志

② Structured Note-Taking(结构化笔记)——Agent的“工作日志”

与Compaction的区别:Compaction是被动的——上下文满了才触发。Structured Note-Taking是主动的——Agent在执行任务过程中,主动将关键信息“卸载”到外部持久化存储。

四种笔记类型:

  • 进度笔记:已经做了什么
  • 决策笔记:为什么这样做
  • 发现笔记:过程中发现的重要信息
  • 策略笔记:下一步怎么做

③ Sub-Agent Architecture(子Agent架构)——上下文隔离的艺术

核心设计思想:不要让一个Agent处理一切,而是让一个“主Agent”负责高层规划,将具体探索性子任务分发给多个专门的“子Agent”。每个子Agent拥有独立、干净的上下文窗口,执行完毕后只向主Agent返回精炼的摘要。

关键优势:用上下文隔离换取规模扩展。子任务的探索过程可能消耗数万Token,但这些Token被隔离在子Agent的上下文中,不会污染主Agent的上下文。

六、ReAct的四大上下文陷阱

随着TAO循环不断累积,ReAct Agent会落入四个典型的上下文陷阱:

陷阱一:Observation无限膨胀——工具调用结果永久追加,即使Agent早已消化了信息,原始返回值仍占据空间。

陷阱二:规则漂移(Rule Drift)——系统指令从“开头”被推入“中间”,正好落入Lost in the Middle的“性能洼地”。Agent前10轮严格遵守规范,从第20轮开始偶尔出错,到第30轮已经完全混用不同风格。

陷阱三:错误轨迹污染——工具调用失败、API超时、格式解析错误被永久保留,一旦一条错误信息进入上下文,它就会影响后续所有轮次的推理。

陷阱四:Thought冗余积累——中间推理在当时有意义,但随着任务推进变成了纯粹的历史记录,不再提供信息价值,却持续消耗Token预算。

四大陷阱的共同本质:ReAct循环只进不出。

七、五大常见反模式

反模式表现原则
“更多上下文更安全”的幻觉 把所有可能相关的都塞进去 最优的上下文不是最长的,而是信噪比最高的
工具越多越好 注册十几个功能重叠的工具 工具集应“够用”而非“全面”,职责边界清晰
System Prompt越详细越可靠 列出所有边缘情况和处理规则 系统提示应提供“原则”而非“枚举”
不清理工具调用结果 完整原始结果永久保留 结果被消化后,应移除或压缩
用大上下文窗口作为“解决方案” “我用200K窗口,不需要管理” 更大的窗口只是推迟问题,信号稀释效应依然存在

八、写在最后

Context Engineering不是一个新概念,而是一个被长期忽视的工程维度。从Prompt Engineering到ReAct,再到Context Engineering,这三个范式不是替代关系,而是叠加关系。

Context Engineering ⊇ ReAct ⊇ Prompt Engineering

Context Engineering包含了Prompt Engineering的技巧(如何写好系统指令),也包含了ReAct的工具调用模式,并在此基础上增加了整个信息生命周期的管理维度。

ReAct是行动框架,CE是信息保障,两者缺一不可。有ReAct无CE→短期能用,长期退化。有CE无ReAct→有信息管理但没有行动逻辑。ReAct+CE→可以在生产环境长期稳定运行的Agent。

当AI工程从“Demo Agent”走向“生产级Agent”,决定Agent能不能在生产环境跑起来、跑得久、跑得稳的关键,不再是模型选得多好、提示词写得多精妙,而是——你懂不懂Context Engineering。


本文数据来源:Anthropic《Effective Context Engineering for AI Agents》(2025年9月)、Philipp Schmid《The New Skill in AI is Not Prompting, It’s Context Engineering》(2025年6月)、斯坦福大学《Lost in the Middle: How Language Models Use Long Contexts》(arXiv:2307.03172,TACL 2024)、普林斯顿大学CoALA论文(TMLR 2024)、Andrej Karpathy公开演讲内容、腾讯技术工程公众号

关注我们,获取更多AI工程架构深度解读与Agent落地实践。 如您所在的企业正面临Agent上下文管理、生产级Agent架构设计或AI应用工程化方面的挑战,欢迎进一步沟通。我们可提供针对贵企业具体场景的定制化方案和现场调研服务。

赞(0)
未经允许不得转载:171主机测评 » 还在卷Prompt?真正拉开Agent差距的,是Context Engineering
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址