金昌市网站建设_网站建设公司_服务器部署_seo优化
2026/1/16 16:35:33 网站建设 项目流程

Google白皮书系统阐述了构建有状态LLM智能体的核心方法——上下文工程。通过上下文工程、会话管理和记忆系统三大支柱,文章详细介绍了如何突破LLM无状态限制,实现智能体的记忆、学习和个性化交互能力。通过动态组装相关信息、管理会话状态和持久化关键记忆,开发者可构建能提供连贯体验的智能Agent,开启有状态AI的新时代。


由Kimberly Milam和Antonio Gulli(Google)撰写的白皮书《Context Engineering: Sessions, Memory》系统地阐述了构建具备状态、智能和个性化能力的LLM智能体(Agent)的核心概念与工程实践。其核心内容是:有状态和个性化的AI始于上下文工程(Context Engineering)。

核心概念与总览

问题背景:LLM本质上是无状态的,其推理和感知仅限于单次API调用的“上下文窗口”。要构建能记忆、学习和个性化交互的智能Agent,开发者必须为对话的每一轮动态地组装和管理信息,这个过程就是上下文工程。

核心定义

  1. 上下文工程:为LLM动态组装和管理其上下文窗口中信息的过程,旨在实现有状态的智能代理。
  2. 会话:与代理进行单次连续对话的容器,包含对话的时序历史记录和代理的工作记忆。
  3. 记忆:实现长期持久化的机制,捕获并整合跨多个会话的关键信息,为LLM代理提供连续和个性化的体验。

概念类比:

上下文工程:像厨师烹饪前的“备菜”,确保拥有所有正确、高质量的食材和工具。 会话:像处理特定项目时的工作台,上面摆满了临时的、任务相关的工具和材料。 记忆:像整理有序的文件柜,只存储最关键、最终版的文档,供未来所有项目使用。

第一部分:上下文工程(Context Engineering)

1、目标与范围:上下文工程的目标是确保模型拥有不多不少、最相关的信息来完成其任务。它管理一个复杂的载荷,包括:

  • 指导推理的上下文:定义Agent的基本行为模式(系统指令、工具定义、少样本示例)。
  • 证据与事实数据:Agent推理所依据的实质性数据(长期记忆、外部知识、工具输出、子代理输出、工件)。
  • 即时对话信息:定义当前任务的直接交互信息(对话历史、状态/草稿、用户提示)。

2、动态性与挑战:上下文是动态构建的。关键挑战在于管理不断增长的对话历史,避免因上下文过长导致的成本、延迟增加以及“上下文腐化”(模型对关键信息的注意力下降)。

3、操作循环:上下文工程在代理的每个对话轮次中表现为一个持续循环:

  • 获取上下文信息:检索用户记忆、RAG文档、近期对话事件等。
  • 准备所需的上下文:动态构建LLM调用的完整提示。这是一个阻塞的“热链路”过程。
  • 调用LLM和工具:迭代调用LLM和必要工具,生成最终响应。
  • 上传上下文:将本轮收集的新信息上传到持久化存储。这通常是一个异步的“后台”过程。

图:智能体系统的上下文管理流程

第二部分:会话(Sessions)

1、定义与组成:

会话是上下文工程的基础元素,封装了单次连续对话的即时历史和工作记忆。每个会话都绑定到特定用户,包含两个关键部分:

  • 事件:对话的构建块(用户输入、代理响应、工具调用、工具输出)。
  • 状态:结构化的“工作记忆”或草稿,保存与会话相关的临时数据。

2、生产部署实践建议:

生产环境需要将会话存储在可靠的数据库(以Agent Engine Sessions举例)中,并考虑:

  • 安全与隐私:严格隔离用户数据,通过访问控制列表(ACL)确保用户只能访问自己的会话。最佳实践是在数据写入存储前就使用工具(如Model Armor)对个人身份信息(PII)进行处理,来确保敏感数据不会被永久保存下来。
  • 数据完整性与生命周期管理:实施生存时间(TTL)策略自动删除不活跃会话,必须制定明确的数据保留政策,明确规定会话数据在被归档或被永久删除之前应被保留多长时间
  • 性能与可扩展性:为了保障用户体验,读取和写入会话历史记录的操作必须速度极快。为此缩小传输数据的规模至关重要,可以再发送给智能体前过滤或压缩会话历史。

3、长上下文对话管理:

当对话变长时,需要采用压缩策略来减少Token消耗、成本和延迟:

可采用的策略:

  • 保留最近N次对话记录:这是最简单的策略。该系统仅保留最近N次对话内容,而将更早的对话记录全部丢弃。
  • 基于令牌数量的截取机制:在将历史数据发送给模型之前,智能体会先统计这些消息中所包含的令牌数量,统计顺序是从最新的消息开始,然后逐条向前追溯。系统会尽可能保留尽可能多的消息,但前提是这些消息所包含的Token数量不能超过预先设定的上限(例如4000个Token);对于那些Token数量超过上限的消息,则会被直接舍弃。
  • 递归式摘要生成:对话中较早产生的内容会被AI生成的摘要所替代。随着对话内容的不断扩展,系统会定期使用另一款大语言模型来对最早产生的消息进行摘要生成。这些摘要会被用作对话历史的简化版本,通常会被添加在较新的、未经摘要处理的原始消息之前。

压缩对话的触发机制:

  • 基于计数(Token/轮次阈值):当对话内容超过某个预先设定的阈值时,系统会对其进行压缩处理。这种机制在管理对话内容的长度方面,通常已经“足够有效”;
  • 基于时间:如果用户在一段指定的时间内没有进行任何操作(例如15分钟或30分钟),系统就会在后台自动执行压缩任务;
  • 基于事件(语义/任务完成时):当智能体程序检测到某个特定任务、子目标或谈话主题已经结束时,它就会决定触发压缩操作。

策略实施原则:昂贵的压缩操作(如递归总结)应异步在后台执行并持久化结果,避免阻塞用户体验。

Google ADK中可以配置 EventsCompactionConfig,在达到预设的回合数后触发基于大语言模型的摘要生成功能:

from google.adk.apps import App from google.adk.apps.app import EventsCompactionConfig app = App( name='hello_world_app', root_agent=agent, events_compaction_config=EventsCompactionConfig( compaction_interval=5, overlap_size=1, ), )

4、多智能体系统中的会话:

多智能体系统需要共享信息。会话历史管理有两种主要模式:

  • 共享统一历史:所有智能体读写到同一个中央日志。适用于需要单一事实来源的紧密耦合协作任务。
  • 独立个体历史:每个智能体维护自己的私有对话历史,像黑盒一样运作,仅通过显式消息(如“代理即工具”或A2A协议)进行通信。

5、跨框架互操作性:

图:不同智能体框架间的智能体通信

不同Agent框架(如ADK、LangGraph)使用独有的内部实现方式,这导致框架间隔离。实现互操作性的模式包括:

  • Agent-to-Agent(A2A):使代理能交换消息,但未解决共享丰富上下文状态的核心问题。
  • 抽象共享知识到框架无关的数据层(如记忆):这是更健壮的模式。记忆层存储处理过的、规范化的信息(字符串、字典),不耦合到任何特定框架,可作为通用的公共数据层。

第三部分:记忆(Memory)

1、定义与价值:

记忆是从对话或数据源中提取的有意义信息的快照,是跨会话持久化的提取信息(而非原始对话)。它与会话共生:会话是生成记忆的主要数据源,而记忆是管理会话大小的关键策略。记忆系统将基础聊天机器人转变为真正智能的代理,实现:

  • 个性化:记住用户偏好、事实和过往互动。
  • 上下文窗口管理:通过创建摘要或提取关键事实来压缩长历史。
  • 数据挖掘与洞察:分析存储的记忆以提取跨用户的洞察。
  • 智能体自我改进与适应:创建关于自身性能的程序性记忆,记录导致成功结果的策略、工具或推理路径。

2、架构中的角色分工:

图:会话、记忆和外部知识库间的信息流动

  • 用户:提供记忆的原始数据源。
  • Agent开发者:配置决定记忆什么以及何时记忆,编排对记忆管理器的调用。
  • Agent框架:提供记忆交互的结构和工具(“管道”)。
  • 会话存储:存储会话的逐轮对话。
  • 记忆管理器:处理记忆的存储、检索和压缩(如Agent Engine Memory Bank)。

3、与RAG的区别:

  • RAG引擎:目标是注入外部、事实性知识。数据源是静态的、预索引的外部知识库(如PDF、文档)。通常是共享的、只读的全局资源。信息类型是静态的、事实性的、权威的。读写模式通常是批处理(离线)和“作为工具”检索。
  • 记忆管理器:目标是创建个性化和有状态的体验。数据源是用户与智能体之间的对话。高度隔离,通常按用户划分范围。信息类型是动态的、用户特定的。读写模式通常是事件驱动(按轮次或会话结束)或“记忆即工具”(代理决定生成/检索)。数据准备是提取和整合。
  • 两者类比:RAG是Agent的研究型图书管理员(精通世界事实,提供精准、客观的答案),记忆是Agent的个人助理(了解用户本身)。

4、记忆的类型与组织:

  • 内容与元数据:一个记忆通常包含内容(从源数据中提取的实质,可以是结构化的如JSON,也可以是非结构化的自然语言描述)和元数据(提供上下文,如唯一标识符、所有者ID、标签)。
  • 信息类型:

陈述性记忆:“知道是什么”,包括语义记忆(一般世界知识)和实体/情景记忆(特定用户事实)。

程序性记忆:“知道如何做”,指导智能体执行任务的技能和工作流程知识。

  • 组织模式:

集合:为单个用户组织成多个自包含的自然语言记忆。 结构化用户档案:像不断更新的联系人卡片,存储核心事实(姓名、偏好等)。

“滚动”摘要:将所有信息整合到单个、不断演化的记忆中,代表整个用户-代理关系的自然语言摘要。

5、存储架构:

  • 向量数据库:基于语义相似性检索,擅长处理非结构化、自然语言的记忆。
  • 知识图谱:将记忆存储为实体(节点)和关系(边)的网络,擅长结构化、关系型查询和理解复杂连接。
  • 混合方法:结合两者,在知识图谱的结构化实体中丰富向量嵌入,实现关系和语义搜索。

6、创建机制:

  • 显式 vs. 隐式:用户直接命令创建 vs. Agent从对话中推断提取。
  • 内部 vs. 外部记忆:记忆管理逻辑内置于Agent框架 vs. 使用独立的专用服务(如Agent Engine Memory Bank)。

7、记忆范围:

  • 用户级:最常见,记忆与特定用户ID绑定,跨越会话存在。
  • 会话级:为压缩长对话而设计,创建从单次会话中提取的洞察的持久记录,其上下文隔离于该特定会话。
  • 应用级(全局上下文):应用所有用户可访问的记忆,用于提供共享上下文或广播系统范围信息(如程序性记忆)。必须清除所有敏感内容以防止用户间数据泄露。

8、多模态记忆:

“多模态记忆”用来描述智能体是如何处理图像、视频和音频等非文本信息的。关键在于区分记忆所来源于的数据(即这些数据的来源)以及记忆所存储的数据本身(即这些数据的内容)。

  • 来自多模态源的记忆:最常见。能够用来处理各种数据类型,但它所创建的记忆实际上是从这些数据中提取出来的文本信息。
  • 具有多模态内容的记忆:更高级。记忆本身包含非文本媒体(如图像文件)。

大多数现代内存管理器在生成文本内容时,都会重点处理来自多种不同来源的数据。这是因为,要为特定的应用场景生成或检索图像、音频这类非结构化的二进制数据,就需要使用专门的模型、算法以及相应的基础设施。相比之下,将所有输入数据转换成一种通用且可被搜索的格式——文本,要简单得多。

9、记忆生成:提取与整合

图:从数据源中提取并与现有记忆整合的高级算法

  • 概述:记忆生成是一个LLM驱动的ETL(提取、转换、加载)管道,自动将原始对话数据转化为结构化的、有意义的摘要。
  • 分为四个阶段:

1)摄取:客户端向记忆管理器提供原始数据源(通常是对话历史)。

2)提取与过滤:记忆管理器使用LLM从源数据中提取有意义的内容,仅捕获符合预定义主题的信息。

3)整合:最复杂的阶段,处理冲突和去重。记忆管理器使用LLM比较新提取的信息与现有记忆,决定更新、创建新记忆或删除/失效旧记忆。

4)存储:新记忆或更新后的记忆被持久化到存储层。

  • 提取详解:
  • 目标是回答“对话中的哪些信息有足够的权重成为记忆?”这需要根据智能体的用途进行定制。记忆管理器所使用的大型语言模型会遵循一套设计好的程序性规则与指令来决定应该提取哪些信息。

  • 大多数内存管理工具在默认配置下就能通过识别一些常见的主题来执行相关操作,这些主题包括用户偏好设置、关键信息或目标等。许多平台还允许开发人员自定义主题,从而让信息提取过程更好地适应他们的具体应用场景。

  • 为了提高效率,许多内存管理机制会直接在记忆提取过程中融入对对话内容的实时摘要生成功能。

  • 整合详解:将新信息整合到一个连贯、准确、不断演化的知识库中。解决信息重复、冲突、演化和记忆相关性衰减等问题。整合过程是一个由大型语言模型驱动的工作流程,该工作流程会尝试检索那些与新提取到的信息相似的现有记忆,这些现有记忆就是可能被纳入整合范围的候选项。如果某条现有记忆与新获取的信息之间存在矛盾,那么这条记忆可能会被删除;如果新信息能够补充或完善这条现有记忆,那么它就会被更新;大型语言模型会同时接收到现有的记忆信息以及新的信息。它的核心任务就是将这些信息综合起来进行分析,从而确定应该执行哪些操作。最后,记忆管理器会将大型语言模型的决策转化为一条用于记忆数据操作指令。

10、记忆溯源:

为了评估记忆的可信度,必须追踪其来源和历史(溯源)。数据源类型影响信任度:

  • 引导数据:从内部系统(如CRM)预加载的信息,被设置为高信任度。
  • 用户输入:用户显式提供(如通过表单,高信任度)或从对话中隐式提取的信息(通常信任度较低)。
  • 工具输出:从外部工具调用返回的数据。通常不鼓励从此生成记忆,因其往往脆弱且易过时,更适合短期缓存。
  • 记忆管理中的溯源考量:

冲突解决:当不同来源的记忆矛盾时,使用信任层次结构(如优先考虑最受信任的来源、最新的信息或多数据点佐证)。

删除派生数据:当用户撤销对某个数据源的访问时,需要移除源自该数据的记忆。精确但计算成本高的方法是仅使用剩余的有效源重新生成受影响的记忆。

记忆修剪:主动“遗忘”不再有用的记忆,触发因素包括时间衰减、低置信度、无关性。

  • 推理时的溯源考量:记忆的置信度应动态演变(通过佐证增加,随时间或矛盾信息引入而衰减)。置信度分数被注入系统提示中,使LLM能够评估信息可靠性并做出更细致的决策。

11、触发记忆生成:

智能体需要决定何时尝试生成记忆,这涉及数据新鲜度与计算成本/延迟之间的权衡。触发策略包括:

  • 会话完成时、按轮次节奏(如每5轮)、实时(每轮之后)、显式命令。
  • 选择涉及成本与保真度的权衡:频繁生成(实时)确保记忆高度详细和新鲜,但成本最高;不频繁生成(会话完成时)成本效益高,但可能创建低保真度记忆。

12、记忆即工具:

一种更复杂的方法是将记忆生成暴露为工具(如 create_memory)。智能体可以分析对话并自主决定何时调用此工具来持久化它认为有意义的信息。这将对“有意义信息”的识别责任从外部记忆管理器转移到了智能体(及开发者)本身。

13、后台与阻塞操作:

记忆生成是一个昂贵的操作。在生产中,常见做法是作为后台进程异步处理,在Agent向用户发送响应后并行运行,而不阻塞用户体验。

14、记忆检索:

  • 检索策略:有效的检索策略对代理性能至关重要。高级记忆系统从多个维度对潜在记忆进行评分:

相关性(语义相似性):记忆与当前对话的概念相关度。

新近度(基于时间):记忆创建的时间。

重要性(显著性):记忆的整体关键程度(可能在生成时定义)。

  • 最佳策略是结合所有三个维度分数的混合方法。仅依赖基于向量的相关性是常见陷阱。
  • 高级检索技术:对于准确性至关重要的应用,可以使用查询重写、重排序或训练专用检索器来改进检索,但这些技术计算成本高、延迟大。缓存层可以作为一种有效的缓解措施。
  • 检索时机:

主动检索:在每一轮开始时自动加载记忆。确保上下文始终可用,但会给 不需要记忆访问的轮次带来不必要的延迟。可以通过缓存来缓解性能成 本。

按需检索(记忆即工具):智能体在认为需要时动态检索记忆。避免了不 必要的检索开销,但要求代理能准确判断何时需要记忆。

总结

白皮书强调,会话和记忆是上下文工程的两个基本组成部分。会话管理单次对话的即时状态,而记忆实现跨会话的长期持久化。通过精心设计的上下文工程——动态组装最相关的信息,并利用健壮的会话和记忆系统——开发者可以构建出能够记忆、学习并提供高度个性化和连贯体验的智能LLM智能体,从而开启有状态和个性化AI的新时代。

如何系统的学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

01.大模型风口已至:月薪30K+的AI岗正在批量诞生

2025年大模型应用呈现爆发式增长,根据工信部最新数据:

国内大模型相关岗位缺口达47万

初级工程师平均薪资28K(数据来源:BOSS直聘报告)

70%企业存在"能用模型不会调优"的痛点

真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!

02.大模型 AI 学习和面试资料

1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工

📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)





第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询