智能体系统中的上下文工程与记忆工程

发布时间:2026/9/23 13:52:36

智能体系统中的上下文工程与记忆工程 1 引言当 AI 智能体[1] 进入更长的工作流和多会话场景一个熟悉的模式会出现约束在中途被丢弃不该再出现的检索信息又冒出来上一步的上下文渗进当前步骤。这类故障很难定位因为没有哪一个组件看起来明显出了问题。多数时候问题出在两个常被一起搭建、被混为一谈、或干脆被跳过的环节上下文工程[2] 和 记忆工程[3]。两者相关但独立失败方式不同需要不同的系统才能做对。本文覆盖每个学科背后的核心决策以及它们交互的地方上下文工程涉及什么哪些具体决策决定一个智能体在单次调用内能否好好推理记忆工程涉及什么写入策略、存储、检索、维护各自如何影响长期可靠性两个学科在检索时共享一个边界管理好这个边界需要什么把两者分开、又合在一起理解才决定一个智能体在真实负载下能不能扛住。2 上下文与记忆工程总览上下文工程[2] 覆盖单次推理调用的设计纳入什么、压缩什么、放在哪里、丢弃什么。作用域内的所有东西都是临时的。调用结束窗口清空。记忆工程[3] 关注的是单次模型交互之后还能留下什么。它涵盖写入、存储、检索、更新、治理信息的系统和策略使未来的交互能够复用。当一个智能体回忆上一次会话的信息、与另一个智能体协同、或应用几天几周前学到的用户偏好时它依赖的就是记忆工程。上下文工程决定在一次请求中模型能看到什么信息记忆工程决定跨请求什么信息会留存以及这些信息如何被维护、检索、信任。两者对照如下维度上下文工程记忆工程作用范围一次推理调用跨调用、跨会话、跨智能体数据所在模型的活动窗口内外部存储向量库、K/V、关系库核心问题纳入什么、怎么排列持久化什么、检索什么、信任什么何时失败窗口装满、放置错误、噪声压过信号检索落空、过时、被污染、无写入策略工程面提示结构、压缩、token 预算存储模型、检索策略、写入与更新策略数据寿命一次 LLM 调用的时长取决于记忆类型3 上下文工程装配最优上下文窗口Anthropic 对有效上下文工程的拆解[4]系统提示、任务描述、对话历史、工具输出、检索到的文档、子智能体摘要。上下文工程就是决定每个组件贡献什么、以什么形式、放在哪个位置的那组决策。3.1 选择性纳入不是所有可得的信息都该进入上下文。一次数据库查询返回几百行、一次网页搜索返回五篇完整文章、一个代码执行器打印冗长日志这些都会在 token 上限之前就把窗口撑大、拉低推理质量。哪些原文纳入、哪些压缩成关键事实、哪些直接丢弃是设计选择不是默认值。3.2 结构性放置Anthropic 在 有效上下文的构成[4] 中指出模型对长上下文的首尾关注更强中间内容权重明显更低。这被称为 中间丢失效应[5]。硬约束和任务关键指令放在窗口顶部。与当前任务最相关的检索信息放在上下文窗口靠后的位置。当前用户查询或任务通常紧跟在检索信息之后把相关上下文和即时目标都放到尽可能靠近生成点的地方。这样安排能提高模型在生成响应时实际用上检索信息的概率。3.3 到达即压缩工具输出应该在调用返回时就压缩而不是等窗口装满。一个 3000 token 的原始 API 响应里智能体只需要 150 token那它该在进入下一步上下文前就被摘成要点。等窗口满了再慌忙截断是在被动管理一个本可以在源头消除的问题。3.4 对话历史管理对话历史比任何其他上下文组件增长都快。对长时间运行的智能体把完整历史带进每次调用会让后续每次推理都更贵也更不可靠。压缩策略滚动窗口、分层摘要、结构化状态抽取应在固定间隔施加而不是等窗口溢出才动手。4 记忆工程设计持久化 AI 记忆系统一次推理调用结束后记忆工程决定什么值得留存、在什么条件下被再次使用。这覆盖四个独立关切写什么、存在哪、怎么取、怎么保持准确。4.1 写入策略设计写入策略是记忆工程里最被忽视的一环却对记忆的长期质量影响极大。检索系统通常最受关注但检索质量归根结底受限于一开始进了什么。一个清晰的写入策略要说明什么事件触发一次记忆写入哪些信息有资格被存储信息以什么格式存储原文、结构化记录、抽取的事实、摘要接受新条目的置信度或校验要求哪些智能体、工具或系统组件被允许写入特定记忆命名空间更新、更正、冲突信息如何处理不同记忆类型的留存规则、过期策略、TTL 要求没有显式写入策略的系统往往会默认存太多、对所有条目一视同仁地信任、无限期保留。时间一长低价值和过时的记忆堆积信噪比下降检索质量退化。结果是记忆系统不停增长却越来越没用。4.2 存储层选型不同记忆类型服务不同目的需要不同存储后端。后端的选择也约束了可用的检索策略。记忆类型存什么存储后端检索方式工作记忆当前任务状态、中间结果内存或短时 K/VRedis直接按 key 查情景记忆过往交互、任务运行、决策向量库Pinecone、Weaviate、Chroma语义相似度搜索语义记忆持久事实、用户偏好、领域知识向量库 K/V 混合语义搜索或精确 key程序记忆学到的工作流、成功动作模式结构化存储或提示注入模式匹配、直接检索OpenAI Agents SDK 的上下文个性化示例[6] 对需要连续性的场景做了一个有用区分基于检索的记忆 vs 基于状态的记忆。基于检索的记忆把过往交互当成松散关联的文档对措辞变化和冲突更新很脆弱结构化状态抽取写入带类型、经校验的事实而不是嵌入原始对话对需要跨会话可靠应用的事实结果更稳定。4.3 检索策略从记忆读数据不是单一操作。设计良好的检索层先查工作记忆快、便宜、精确 key 查找不到相关的就退到情景或语义记忆做语义搜索返回前再按时效和信任级别做元数据过滤最后只注入当前步骤需要的部分。4.4 记忆维护没有维护策略的存储会随时间退化。条目堆积过时事实和当前事实竞争信噪比下降拖累检索质量。实际有用的维护动作包括对易变事实做置信度衰减、对语义相近条目去重、对工作记忆和时效数据按 TTL 过期、把旧的情景记录周期性压缩成会话级摘要。一个把这些关切直接编码进去的 MemoryEntry schema会让写入和维护逻辑更易推演class MemoryEntry(BaseModel): content: str memory_type: str # working | episodic | semantic | procedural importance: float # 0.0–1.0控制是否进入长期存储 confidence: float # 对易变事实随时间衰减 trust_level: float # 1.0 内部系统0.5 用户输入0.0 外部 created_at: datetime expires_at: datetime | None provenance: dict # agent_id, tool_name, session_id, input_hashdef should_write_to_long_term(entry: MemoryEntry) - bool: return ( entry.importance 0.6 and entry.confidence 0.7 and entry.trust_level 0.5 )5 检索边界连接记忆工程与上下文工程记忆工程和上下文工程常被当成两个独立学科讨论但实操中它们深度相连。两者存在都是为了解决同一个核心问题确保模型在正确的时刻拿到正确的信息。宏观上看记忆工程关注持久化什么信息该被存储、更新、保留或遗忘上下文工程关注使用什么信息该为某个任务进入活动上下文窗口以及怎么组织检索是这两门学科交汇的边界记忆系统产出候选信息。上下文装配接着决定这些信息要不要进入提示进入多少放在上下文窗口的哪个位置管好这个边界才能把一堆记忆组件变成一个连贯的智能体系统。6 失败模式之一没有上下文预算的检索最常见的一种失败是把检索和上下文装配当成独立的两件事。一次记忆搜索返回一组相关条目上下文装配器把它们全部塞进提示。随着记忆越加越多上下文窗口被检索内容渐渐填满留给指令、工具输出、推理痕迹、任务专属信息的空间越来越少。表现出的症状往往有迷惑性检索质量看起来很高相关记忆确实被找到了系统性能仍在退化很多情况下记忆系统并没有做错什么。失败的原因是上下文装配缺少预算机制。更好的做法是检索感知的上下文装配上下文层在检索开始前先分配好 token 预算检索层只返回落在预算内价值最高的记忆。async def retrieve_for_step( self, step: AgentStep, max_tokens: int) - str: candidates await self.memory.search( querystep.retrieval_query, max_results10, filters{ trust_level: {gte: 0.5}, expires_at: {gt: datetime.now()} } ) selected [] used 0 for entry in sorted( candidates, keylambda e: e.relevance_score, reverseTrue ): cost self.token_count(entry.content) if used cost max_tokens: break selected.append(entry.content) used cost return \n\n.join(selected)检索必须在上下文约束内运作不能假设下游有无限空间。7 失败模式之二检索信息放置不当光有检索质量不够。即使高度相关的记忆放在上下文窗口里的位置不对也会失效。一个常见问题是把检索纯粹当成搜索问题忽略放置。检索到的记忆被追加到它到达的位置不考虑它在当前推理步骤里的角色。在长上下文里这影响更大。注意力在提示内并非均匀分布。放在长上下文深处的信息受关注程度可能远低于放在首尾的信息。这导致一种隐蔽的失败正确的信息被检索到信息被插入上下文模型表现得像是没看到检索成功了放置失败了。上下文装配因此要同时优化两点选择什么进入上下文窗口放置它在窗口里的位置需要影响当前步骤的检索信息应当放在靠近活动推理区域的位置而不是随意追加。8 小结上下文工程和记忆工程是同一个系统的两层控制模型知道什么、何时知道、这些知识怎么被用。上下文工程在推理时运作塑造活动信息窗口。记忆工程跨时间运作塑造什么信息留存、以后怎么被检索。维度上下文工程记忆工程核心问题模型现在该看到什么、怎么看到系统该留存什么、留多久主要产物每次推理调用装配的上下文窗口跨调用和会话留存的记忆条目token 管理每个窗口组件的预算分配每种条目的存储成本、每次查询的检索成本压缩工具输出注入前先摘要历史滚动或抽取旧情景记录压缩过时事实衰减或剪枝时效滚动历史窗口丢弃过时轮次易变事实的 TTL置信度随时间衰减信任来源层级决定装配顺序每条记录溯源低信任内容写入前先清洗多智能体每个智能体独立装配自己的窗口每智能体独立命名空间跨智能体事实用共享命名空间失败模式溢出、注意力退化、装配噪声被污染、过时、检索落空、无界增长维护在固定间隔主动压缩TTL 过期、去重、置信度衰减、情景归档交汇处检索到的记忆进入上下文预算和放置决定怎么进上下文装配在 token 预算内请求检索一个智能体系统能跑起来前提是这两层对齐记忆决定什么可用上下文决定什么变成可执行。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
延伸阅读

更多相关文章

2026/9/19 23:17:13

MySQL误删数据恢复实战:Binlog解析与备份还原

1. 数据库误删数据恢复方法指南"完了!手滑执行了DELETE不带WHERE条件!"这可能是每个DBA职业生涯中最惊悚的时刻。上周我就经历了这样的噩梦——一个疏忽把生产环境用户表清空了80万条数据。但经过6小时紧急救援,我们最终实现了99.9…

2026/9/21 0:34:54

Linux createrepo 命令详解:一键搭建本地 YUM/DNF 私有仓库

Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8 1. 命令简介 createrepo 是一个用于创建 YUM(Yellowdog Updater, Modified)软件仓库的命令行工具。它通过扫描指定目录中的 RPM 包,生成必要的元数据文件&…

2026/9/23 13:48:56

基于SparkStreaming的实时音乐推荐系统源码解析与实战

简介:这是一套基于Spark Streaming的实时音乐推荐系统完整源码,面向具备一定Spark与大数据基础、希望深入理解实时推荐链路的中高级开发者。项目围绕微批处理模型展开,涵盖Kafka等数据源接入、用户行为数据清洗与预处理、协同过滤与基于内容的…

2026/9/23 13:48:56

Java人脸识别签到系统实战:从摄像头到考勤记录完整链路

简介:这是一份面向Java开发者与人工智能入门者的「人脸识别签到系统」完整项目源码,围绕无接触身份验证与签到流程展开,适合希望将人脸识别API落地到实际业务中的中初级开发者学习参考。压缩包共225个文件,约15.29MB,以…

2026/9/23 13:48:56

3天搞定死歌手写实现一文搞懂避坑指南

3天搞定死歌手写实现一文搞懂避坑指南 刚接手那个遗留项目,我对着屏幕发呆了整整五分钟。手里拿着从网上复制下来的“死歌”特效代码,双击运行,报错信息像雪花一样飘满终端。那种“复制来的代码跑不通不知道怎么调”的无力感,相信做过前端开发的都懂。很…

2026/9/23 13:48:56

游泳溺水检测实战:从YOLO数据清洗到NVR端部署

简介:本资源是面向计算机视觉初学者与算法工程师的溺水行为检测专用数据集,聚焦YOLO系列目标检测模型训练与验证,适用于游泳场馆智能监控、水域安全预警等实际场景。数据集共2000个文件,包含874张带标注的JPEG图像、874份YOLO格式…

2026/9/23 13:43:55

3个坑让你少走弯路:微信公众号制作平台避坑指南

3个坑让你少走弯路:微信公众号制作平台避坑指南 配置环境就卡半天,改个参数报错半天,这是不少刚接触公众号开发的兄弟的通病。别急,这份避坑指南直接给你干货。很多技术博主吹得天花乱坠,但落地时全是坑。今天咱们不整虚的,直接拆解微信公众号制作平台…

2026/9/23 12:07:00

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/23 0:01:54

3个实战技巧搞定形式英语:从看教程到跑通性能优化

3个实战技巧搞定形式英语:从看教程到跑通性能优化 看了一堆教程还是不会写项目?别慌,这种“眼高手低”的困境在开发者圈子里太常见了。很多人以为卡点在语法,其实真正拦路虎是缺乏将知识点串联成完整链路的能力。今天咱们不聊虚的,直接拿【形式英语】这…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码