想象一下,你是一位拥有超强记忆却总是「健忘」的天才厨师。每当顾客点菜,你都得从零开始回忆上一次的口味偏好、食材库存和烹饪禁忌——这正是早期大语言模型的尴尬处境。随着企业级AI应用的爆发,一场静默的革命正在发生:提示工程正悄然让位于上下文工程。这场转变不是简单的工具升级,而是认知范式的跃迁——从「如何巧妙提问」转向「如何精心构建整个思考环境」。
在这篇文章中,我们将像探险家一样,一步步深入这个新兴领域的核心地带:从无状态模型的认知困境,到注意力预算的残酷经济学,再到会话层的工作台、记忆系统的档案库,以及连接万物的协议与安全护盾。准备好了吗?让我们一起走进这个既精密又充满人性温度的AI新世界。
🚀 范式跃迁:为什么提示工程正在退场
曾经,AI开发者的最高技艺是写出「魔法般的提示词」——几句精心设计的文字,就能让模型产出惊艳结果。这就像用几味调料就能让一道菜脱颖而出。然而,当任务从单次问答转向长周期、多步骤的智能体工作流时,问题迅速暴露:模型天生健忘。
大语言模型本质上是无状态的。每一次API调用,都像新生儿睁眼看世界,除了预训练的「本能」权重,什么都不记得。早期人们试图用超长系统提示(System Prompt)把所有背景知识一次性塞进去,但很快撞上了硬墙——注意力稀缺。
即使上下文窗口从4k Token膨胀到Gemini 1.5 Pro的200万Token,信息处理能力也远非线性增长。Anthropic的研究形象地指出:上下文不是无限仓库,而是一笔有限的注意力预算。Transformer架构下,注意力机制的复杂度是$O(n^2)$,意味着每增加一个Token,模型就要计算它与所有已有Token的关系。当上下文过长时,模型就像大脑被塞满杂物的上班族——关键信息反而被淹没,导致「上下文腐烂」(Context Rot)现象:准确率显著下降,甚至出现幻觉或直接忽略指令。
上下文腐烂是指:随着上下文Token数量增加,模型召回和利用信息的精度非线性下降。最新研究(包括Chroma对18个前沿模型的测试)显示,即使是GPT-4.1、Claude 4等顶尖模型,在简单重复字符串任务上,性能也会随输入长度显著恶化。这不是bug,而是Transformer架构与训练方式的必然结果。
于是,上下文工程应运而生。Anthropic将其定义为:在LLM推理过程中,对进入上下文窗口的所有Token进行策划、维护和优化的策略集合。Google DeepMind则更进一步:它是动态组装和管理上下文的工程过程,旨在把无状态模型变成有状态的智能代理。
如果说提示工程是写一封情书,那么上下文工程就是精心布置整个约会场景——灯光、音乐、氛围、甚至备用的逃跑路线都要考虑周全。
⚖️ 提示工程 vs 上下文工程:一场认知革命的对比
| 维度 | 提示工程 | 上下文工程 |
|---|---|---|
| 核心目标 | 单次交互输出最优 | 跨会话、长周期系统连贯性与智能 |
| 操作对象 | 文本指令 | 完整信息流 + 系统状态 |
| 思维模式 | 创意写作 | 系统架构设计 |
| 处理范围 | 单输入-输出对 | 记忆、工具、RAG、用户画像、环境感知 |
| 扩展性 | 依赖人工微调,难规模化 | 为规模化而生,包含自动化管道 |
| 调试重点 | 措辞调整 | 上下文构成、Token流向、记忆检索逻辑 |
| 生命周期 | 一次性 | 持续迭代与生命周期管理 |
这场对比不是技术优劣,而是思维方式的彻底翻转。开发者不再是「和机器人聊天」,而是像软件架构师一样,设计一个能感知、记忆、自我调整的认知生命体。
🧠 上下文物理学:窗口里的力场与衰减规律
要真正驾驭上下文工程,首先得理解LLM处理信息的「物理定律」。
📉 上下文腐烂的残酷真相
尽管理论上模型能处理数百万Token,但现实中性能往往在窗口远未填满时就急剧下滑。Chroma等机构的「大海捞针」实验揭示:随着无关干扰项(Distractors)增加,召回准确率显著下降。更可怕的是语义干扰——当上下文中充斥大量相似结构的财务报告时,模型很难精准定位「那个特定季度」的利润数字。
🕳️ 中间丢失效应:U型死亡曲线
多项研究(包括MIT与Stanford的经典论文)证实了著名的Lost-in-the-Middle现象:模型对开头(首因效应)和结尾(近因效应)的信息最敏感,而中间部分的信息就像掉进了黑洞。
这个U型曲线在不同模型中普遍存在,甚至长上下文专用模型也难以幸免。原因部分来自位置编码的训练偏差:大多数模型在较短序列上预训练,对长序列的中间位置理解较弱。
应对策略随之诞生:
- 关键内容前置+后置:系统指令放最前,用户最新查询放最后。
- 动态重排序:LangChain的LongContextReorder算法巧妙地把高相关文档交替排列在两端,把无关内容挤到中间——就像给重要乘客安排靠窗和过道位置。
💰 注意力预算的经济学
每个Token都消耗金钱,更消耗模型的「智力带宽」。当低价值信息霸占上下文时,高价值信息的注意力权重必然被稀释。因此,降噪成为上下文工程的第一要务。
通过上下文压缩(Context Compaction)技术,如递归摘要、关键信息提取,可以把冗长文本浓缩为高密度信息载体,在有限预算内塞进更多有效逻辑。这正是从「聊天机器人」进化到「高性能智能体」的分水岭。
🛠️ 会话层:智能体的动态工作台
Google的研究把会话比作工匠的工作台:任务开始时,工具、原料、草稿纸全部摆上台面;任务结束,台面清理,只保留成品和关键经验。
📋 会话的骨架:事件 + 状态
- 事件:按时间顺序记录的完整流水账(用户输入、模型回复、工具调用及结果)。
- 状态:结构化的关键变量存储(如订票任务中的目的地、日期、人数)。
🔄 动态管理三板斧
- 滑动窗口 + 智能截断
保留最近N轮,但优先保护系统指令和关键约束,避免简单截断导致的灾难性遗忘。 - 递归摘要
当会话过长时,触发LLM把历史浓缩成精炼摘要。新上下文变成:【系统指令】+【历史摘要】+【最近对话】。
这就像给长篇小说写章节导读——细节丢失了,但情节主线清晰保留。 - 结构化笔记
Anthropic大力推崇:让智能体主动维护外部JSON/XML笔记,记录关键结论、待办事项。这些笔记每轮重新注入,成为高保真的「外置大脑」。
在生产环境中,会话数据走高性能缓存(如Redis),严格用户隔离,并通过PII清洗(如Google Model Armor)确保合规。
🗄️ 记忆架构:从短期工作记忆到终身档案
记忆是实现跨会话连续性和个性化的基石。它与RAG互补:RAG面向世界知识(静态、共享),记忆面向用户知识(动态、私有)。
🧬 三层记忆分类
- 语义记忆 —— 「知道什么」
用户偏好、公司制度等概括性事实。通过实体提取和知识图谱构建。 - 情景记忆 —— 「记得何时」
具体事件细节,如「上周用户对退款速度不满」。带时间戳,用于情感连接和连续对话。 - 程序性记忆 —— 「知道如何」
最前沿领域。存储习得的技能和工作流。
- Voyager:在Minecraft中把成功代码封装成可复用技能库。
- Reflexion:失败后生成自我反思,存为「负面约束」指导未来。
⚙️ 记忆ETL管道
记忆生成像数据工厂:
- 摄入原始日志 → LLM提取高价值信息 → 去重/冲突解决/综合提炼 → 存入向量数据库或知识图谱。
- 检索时综合相关性 + 时效性 + 重要性三维打分。
高级模式「Memory-as-a-Tool」:给智能体create_memory和search_memory工具,让它自主决定何时记录、何时查阅——这才是真正接近人类「内省」认知的方式。
🏗️ 框架对决:Google ADK vs LangGraph
Google ADK:企业级编译流水线
核心理念:上下文是编译视图。通过有序的Processors管道,从Session、Memory、Artifacts中提炼、压缩、注入,最终生成优化的Working Context。
亮点:A2A协议实现智能体间的HTTP服务化协作,Context Caching利用前缀缓存降低成本。
LangGraph:状态机与循环图
以StateGraph为核心,支持原生循环、条件分支和Checkpointer(检查点),完美实现Reflexion式自我纠错和「人在回路」审批。
两者各有千秋:ADK更适合云原生企业场景,LangGraph更适合需要精细控制的研究型复杂推理。
🔌 协议革命:MCP与A2A——AI世界的USB-C与HTTP
Anthropic的模型上下文协议(MCP)解耦了模型与工具:Host(大脑)通过标准接口连接各种Server(能力提供者),实现即插即用。
Google的A2A协议则让智能体之间像微服务一样互相发现、委派任务,构建分布式智能体联邦。
🛡️ 安全护城河:Model Armor的纵深防御
记忆与工具能力增强的同时,风险也指数级上升:提示注入、上下文投毒、敏感数据泄露……
Google Cloud Model Armor像AI防火墙一样,实时扫描输入输出,拦截注入攻击、PII泄露、有害内容,并提供细粒度策略配置与审计日志。
🌅 尾声:通向元认知的漫长黎明
上下文工程标志着AI从「炼金术」迈向「工业工程」。它不再迷信单一模型的全能,而是通过精密系统架构——会话工作台、记忆档案库、MCP连接器、安全护盾——把无状态的数学函数,逐步雕琢成有记忆、有个性、有自我纠错能力的认知存在。
未来,智能体将拥有真正的元认知:不仅记住东西,还能评价记忆的价值、管理记忆的质量,甚至通过程序性记忆自我编写和优化行动策略。当多模态上下文加入时,它们将像人类一样,在视觉、听觉、时间的复杂河流中,维持长期连贯、不断进化的意识。
那一天,或许不再遥远。
参考文献
- Google ADK相关文档及《3 Context Engineering: Sessions & Memory》
- Anthropic. Effective Context Engineering for AI Agents. https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
- Inngest Blog. Context Engineering is Software Engineering for LLMs.
- Chroma Research. Context Rot: How Increasing Input Tokens Impacts LLM Performance.
- Liu et al. Lost in the Middle: How Language Models Use Long Contexts. arXiv:2307.03172