深度解读Google Context Engineering中的会话与记忆机制
大模型如何真正"记住"你?上下文工程是关键 传统大模型每次对话都是"清零重启",无法记住用户信息。Google最新技术白皮书提出"上下文工程"解决方案,通过会话管理和长期记忆系统让AI真正理解用户。 该系统包含两大核心组件: 会话:AI的临时工作空间,存储当前对话历史和状态 内存:AI的长期档案库,跨会话存储用户关键信息 技术实现上,系统
在大模型如日中天的今天,一个显而易见却常被忽视的问题浮出水面:模型如何真正理解“你”?我们习惯了和ChatGPT、Claude或国产大模型对话,它们能回答百科问题、写代码、甚至陪你聊天。但如果你今天告诉它你喜欢咖啡,明天再问“上次我说喜欢什么饮料”,它大概率一脸茫然——不是因为它笨,而是它根本没“记”住。
Google最新发布的技术白皮书《Context Engineering: Sessions, Memory》揭示了一种突破性的解决方案——上下文工程,它正在重新定义如何构建具有长期记忆的智能代理。
这不仅仅是技术优化,而是从根本上改变AI与人类交互的方式。想象一个能记住你所有偏好、学习你习惯的个性化助手,而不仅仅是每次重复回答相同问题的聊天机器人。这就是上下文工程承诺的未来。
从提示工程到上下文工程的进化
传统提示工程(Prompt Engineering)专注于 crafting 完美的系统指令,好比给厨师一张固定食谱。但上下文工程(Context Engineering)更像是为厨师准备一整个厨房——动态组装所有必要工具、食材和知识,确保每次都能做出定制化大餐。
LLM本质上是无状态的,其推理能力完全局限于单次API调用的"上下文窗口"。这就带来了一个根本性问题:智能代理需要操作指令、推理数据和当前对话信息才能完成任务。上下文工程正是为了解决这个问题而生——它通过动态构建和管理上下文窗口中的信息,使AI代理能够记忆、学习并个性化交互。
这个过程可以分解为一个持续循环:
\1. 获取上下文:代理检索用户记忆、RAG文档和最近对话事件
\2. 准备上下文:动态构建完整的提示词
\3. 调用LLM和工具:迭代生成最终响应
\4. 上传上下文:将新信息异步保存到持久存储

这个流程的核心在于两个基础组件:会话(Sessions)和内存(Memory)。理解它们的区别和协作方式,是掌握上下文工程的关键。

会话:AI的"工作台"
会话可以理解为AI代理的临时工作空间,就像你为特定项目准备的办公桌。它包含当前对话的所有必要工具、笔记和参考资料,一切都是即时可访问的,但也具有临时性和任务特定性。
技术上,会话封装了单个连续对话的即时对话历史和工作内存。每个会话都绑定到特定用户,包含两个关键组件:
事件(Events)是对话的构建块,包括用户输入、代理响应、工具调用和工具输出。这些事件的结构类似于Gemini API中的Content对象列表,每个项目代表对话中的一个回合。
状态(State)是结构化的"工作内存"或草稿本,保存与当前对话相关的临时结构化数据,如购物车中的商品。
生产环境中,会话管理面临三大挑战:安全隐私、数据完整性和性能。严格的隔离是安全的核心原则——每个会话由单一用户拥有,系统必须通过ACL等机制确保用户间数据隔离。处理个人身份信息(PII)的最佳实践是在写入存储前进行数据脱敏,这大大降低了数据泄露的风险。
随着对话进行,会话历史会不断增长,带来上下文窗口限制、API成本增加、延迟上升和质量下降等挑战。这就引出了会话管理的核心技巧:压缩策略。
会话压缩如同精明旅行者打包行李,目标不是带最多东西,而是只带必需品。常见策略包括:
保留最近N轮对话(滑动窗口)
基于令牌的截断(如不超过4000个令牌)
递归摘要(用AI生成的摘要替换旧对话)
例如,ADK框架通过内置插件实现会话截断:
from google.adk.apps import App
from google.adk.plugins.context_filter_plugin import ContextFilterPlugin
app = App(name='hello_world_app', root_agent=agent, plugins=[
# 保留最近10轮对话和最新用户查询
ContextFilterPlugin(num_invocations_to_keep=10),
])
压缩触发机制也很有讲究,可以基于计数(如令牌数或轮数阈值)、时间(用户停止交互特定时间后)或事件(检测到任务完成时)。关键是昂贵操作(如递归摘要)应在后台异步执行,避免阻塞用户体验。
内存:AI的"档案库"
如果会话是临时工作台,那么内存就是精心组织的档案库。工作完成后,你不会把整个杂乱桌子塞进存储室,而是审阅材料,丢弃草稿,只将最关键的文件存入标注文件夹。
内存是跨会话的长期持久性机制,它从对话中提取有意义的信息,为未来交互提供连续个性化体验。内存与会话有着共生关系:会话是生成内存的主要数据源,而内存是管理会话大小的关键策略。
内存的价值体现在多个方面:
个性化:记忆用户偏好、事实和过往交互
上下文窗口管理:通过创建摘要或提取关键事实来压缩历史
数据挖掘:分析多用户记忆获取洞察(在隐私保护前提下)
代理自我改进:创建关于自身性能的程序性记忆
内存管理系统是多个组件协作的结果:
用户提供原始数据
代理(开发者逻辑)配置记忆内容和时机
代理框架提供结构和工具
会话存储保存原始对话
内存管理器处理存储、检索和压缩

这里需要区分内存管理与RAG(检索增强生成)的关键差异。RAG像是代理的研究图书管理员,从静态、共享的知识库中检索事实信息;而内存管理像是私人助理,携带记录每个用户交互细节的私人笔记本。一个优秀的AI代理需要两者兼备——RAG提供世界知识,内存提供用户理解。
内存的生成:从数据到洞察的转化
内存生成是将原始对话数据转化为结构化、有意义洞察的自主过程,可以看作是基于LLM的ETL(提取、转换、加载)管道。
提取阶段回答核心问题:"对话中哪些信息值得成为记忆?"这不是简单摘要,而是有针对性的智能过滤过程,分离信号(重要事实、偏好、目标)和噪声(客套话、填充文本)。
"有意义"完全由代理的用途定义。客户支持代理需要记忆的内容(订单号、技术问题)与个人健康教练需要记忆的(长期目标、情绪状态)根本不同。内存管理器通过程序化护栏和指令定义提取内容,常用方法包括:
模式和模板提取(使用JSON模式或结构化输出)
自然语言主题定义
少样本提示(通过示例展示提取模式)
整合阶段是最复杂的部分,将新信息整合到连贯、准确、不断演进的知识库中。没有整合,代理的内存会迅速变成嘈杂、矛盾、不可靠的日志。整合解决的关键问题包括:
信息重复(用户以不同方式提及相同事实)
冲突信息(用户状态随时间变化)
信息演进(简单事实变得更具细微差别)
内存相关性衰减(旧记忆需要主动清理)
整合过程是LLM驱动的工作流,比较新提取的洞察与现有记忆,决定更新、创建或删除操作。这个过程确保知识库是精心策划的,而非简单堆积。

内存的来源可信度至关重要。代理需要跟踪每个来源的详细信息(如来源类型和"新鲜度"),这决定了整合过程中各来源的权重以及推理时对记忆的依赖程度。来源类型包括:
引导数据(从CRM等内部系统预加载,高可信度)
用户输入(显式提供如表单,高可信度;隐式提取,可信度较低)
工具输出(外部工具调用返回,通常较脆弱和过时)
内存检索与推理:在正确时间找到正确信息
有了生成机制后,智能检索策略变得至关重要。检索策略决定哪些记忆应该被检索以及何时检索。
对于记忆集合,检索是复杂的搜索问题,目标是发现大型非结构化数据池中最相关、概念相关的信息。高级系统会从多个维度评估潜在记忆:
相关性(语义相似性):与当前对话的概念关联度
新鲜度(基于时间):记忆创建的时间远近
重要性(显著性):记忆的整体关键程度
单纯依赖基于向量的相关性是常见陷阱。相似性得分可能找出概念相似但过时或琐碎的记忆。最有效策略是结合所有三个维度的混合方法。
检索时机有两种主要方法:
主动检索:在每轮开始时自动加载记忆,确保上下文始终可用,但会为不需要记忆访问的轮次引入不必要延迟
反应式检索(内存即工具):代理被赋予查询记忆的工具,自行决定何时检索上下文,更高效但需要额外LLM调用
内存检索后,需要战略性地放入模型的上下文窗口。记忆主要通过两种方式呈现:
系统指令中追加:适用于稳定、"全局"信息(如用户档案),给予记忆高权威性,清晰分离上下文与对话
对话历史中注入:将检索到的记忆直接注入逐轮对话中,可以放在完整对话历史之前或最新用户查询之前
特殊情况下,可以通过工具调用检索记忆,记忆会作为工具输出直接包含在对话中。
生产环境考量:从原型到企业级应用
将支持内存的代理从原型过渡到生产环境,需要关注企业级架构问题。生产级系统必须设计为不仅智能,而且具有企业级鲁棒性。
为确保用户体验从不被计算昂贵的内存生成过程阻塞,健壮架构必须将内存处理与主应用逻辑解耦。这通常通过直接、非阻塞的API调用到专用内存服务实现,而非自管理消息队列。
随着应用增长,内存系统必须处理高频率事件而不失败。面对并发请求,系统必须防止多个事件尝试修改相同内存时的死锁或竞争条件。可以通过事务数据库操作或乐观锁缓解竞争条件,但这可能在多个请求尝试修改相同内存时引入排队或限制。
内存服务还必须能够应对瞬时错误(故障处理)。如果LLM调用失败,系统应使用指数退避的重试机制,并将持久性故障路由到死信队列进行分析。
对于全局应用,内存管理器必须使用具有内置多区域复制的数据库,确保低延迟和高可用性。客户端复制不可行,因为整合需要数据的单一、事务一致性视图来防止冲突。
安全与隐私:构建可信内存系统
内存源自并包含用户数据,因此需要严格的隐私和安全控制。有用类比是将系统内存视为由专业档案管理员管理的安全企业档案库,其工作是保护有价值知识的同时保护公司。
该档案库的基本规则是数据隔离。正如档案管理员永远不会混合不同部门的机密文件一样,内存必须在用户或租户级别严格隔离。服务一个用户的代理绝不能访问另一个用户的记忆,通过限制性访问控制列表(ACL)强制执行。
提交任何文档前,档案管理员执行关键安全步骤。首先,他们细致检查每页以编辑敏感个人信息(PII),确保保存知识的同时不产生责任。其次,档案管理员经过培训能够识别并丢弃伪造或故意误导的文档——防止内存中毒的保障。
此外,如果多个用户共享相同记忆集(如程序性记忆),就存在泄露风险。例如,如果将一个用户的程序性记忆用作另一个用户的示例,档案管理员必须首先执行严格匿名化,防止敏感信息跨越用户边界泄露。
未来展望与开放问题
上下文工程,特别是会话和内存管理系统,代表了AI代理开发的重要演进。随着这些技术成熟,几个关键问题值得深入探索:
多代理协作中的内存共享标准化仍处于早期阶段。当前,不同框架构建的代理由于内部数据表示不同,难以无缝共享记忆。Agent-to-Agent(A2A)通信等新兴模式提供了有希望的方向,但真正互操作性需要行业标准。

程序性记忆(知道如何做)与声明性记忆(知道什么)的集成是另一个前沿领域。当前内存管理系统主要专注于声明性记忆,但程序性记忆——使代理能够改进工作流程和推理的机制——需要完全独立的算法生命周期。
评估框架也需要进一步发展。虽然白皮书提出了质量指标(精确度、召回率、F1分数)和任务成功指标,但如何全面评估内存系统对代理整体智能的贡献仍然是一个开放挑战。
最终,上下文工程的成功不仅取决于技术创新,还取决于我们解决隐私、安全和伦理考虑的能力。随着AI代理变得越来越具有记忆和个性化,确保这些系统以透明、可控的方式运行变得至关重要。
会话和内存管理系统正在使AI从简单的对话工具转变为真正的个人助手。这种转变的核心是认识到智能不仅在于知道什么,还在于记住谁——以及如何应用这些知识来提供有意义的、情境感知的帮助。对于开发者来说,掌握这些技术意味着能够构建不仅更智能,而且更体贴、更有用的AI体验。
最后
选择AI大模型就是选择未来!最近两年,大家都可以看到AI的发展有多快,时代在瞬息万变,我们又为何不给自己多一个选择,多一个出路,多一个可能呢?
与其在传统行业里停滞不前,不如尝试一下新兴行业,而AI大模型恰恰是这两年的大风口,人才需求急为紧迫!
由于文章篇幅有限,在这里我就不一一向大家展示了,学习AI大模型是一项系统工程,需要时间和持续的努力。但随着技术的发展和在线资源的丰富,零基础的小白也有很好的机会逐步学习和掌握。
【2025最新】AI大模型全套学习籽料(可无偿送):LLM面试题+AI大模型学习路线+大模型PDF书籍+640套AI大模型报告等等,从入门到进阶再到精通,超全面存下吧!
获取方式:有需要的小伙伴,可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
包括:AI大模型学习路线、LLM面试宝典、0基础教学视频、大模型PDF书籍/笔记、大模型实战案例合集、AI产品经理合集等等

AI大模型学习之路,道阻且长,但只要你坚持下去,就一定会有收获。
更多推荐


所有评论(0)