ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Agent高性能长短期记忆

Agent高性能长短期记忆 目录一.前言1.为什么agent需要记忆2.agent运行周期 3.定义二.核心架构思路短期记忆1.核心特点2.实现思路3.优化长期记忆1.特点2.实现思路向量模糊匹配关键词精准匹配3.优化三.总结1.针对“大模型无状态导致交互断层”的问题2. 针对“上下文超载导致 API 报错”的问题3. 针对“Agent 在复杂多步任务中容易迷失、输出混乱”的问题4. 针对“长期记忆检索困难、极易失焦引发幻觉”的问题5. 针对“传统文本大分片导致 Embedding 语义稀释、召回率下降”的问题一.前言1.为什么agent需要记忆本质上agent底层的大预言模型是完全无状态的我们可以把大模型的每一次调用看作是一个独立的工作模块。当你输入一段文本时系统会启动这个模块进行计算并输出结果而一旦输出完成这个模块的生命周期就宣告结束期间产生的所有内部状态也会随之清空。举个具体的例子如果你前一次说“请优化这个代码”大模型优化了但是一个小模块有问题你问大模型“这个模块为什么会是这样”大模型“”。因此如果要满足交互连贯性支撑复杂任务闭环引入记忆机制是必要的。2.agent运行周期 在深入探讨长期记忆的具体实现之前我们需要先全局理解一下 Agent 处理一次请求的完整生命周期。通常来说一个成熟的 Agent 接收到用户输入后并不会直接把 Prompt 扔给大模型而是会经历一个高度自动化的流水线检索→ 输入富化 → 检索 → 执行 → 输出。本文的主轴将严格聚焦在“检索 → 富化 → 检索”环节上。3.定义将“一次用户的有效输入 一次大模型最终呈现给用户的输出”严格定义为一轮标准对话。二.核心架构思路短期记忆1.核心特点高频读取、生命周期短。2.实现思路在交互过程中Agent 的短期记忆无需复杂的数据库介入。新的对话轮次会被不断追加到队列末尾以维持当前对话的连贯性实现多轮交互。为了控制成本并防止模型崩溃我们会为队列设置一个总长度或轮次数的“窗口上限”。一旦触碰上限系统会触发平滑遗忘机制像传送带一样自动丢弃早期的一轮对话。这种极简的队列管理彻底避免了上下文超载导致的 API 调用报错保证了系统的稳定性。3.优化如果短期记忆里只存放纯粹的用户对话在面对需要多步拆解的复杂任务时大模型的输出流程很可能混乱。为了弥补这一缺陷除了记录交互对话我们还可以在上下文中单独开辟一个并行的“工作流程窗口”记录工作流摘要与历史对话形成双轨窗口。长期记忆当信息超出了短期记忆的承载极限使用周期很长时短期记忆就显得不够用了此时需要将其沉淀为长期记忆。这里我们采用向量数据库和 RAG 技术作为底层基建的双链路架构。1.特点存储周期极长容量可以看作无限检索困难容易发生失焦引发幻觉2.实现思路向量模糊匹配是一种基于多维空间几何特性的检索。将文本经过 Embedding 模型转化为高维向量后系统会根据向量的夹角余弦值或终点欧氏距离在空间中寻找目标点附近一定范围内的相似向量。实现跨语种、同义词或概念相近的记忆定位。关键词精准匹配依赖强大的文本分词器对用户的输入进行切词然后利用倒排索引去记忆库中精准定位包含这些特定词汇的片段。弥补了向量模糊匹配“对专有名词不够敏感”的缺陷。在面对特定的人名、项目代号、手机号、特定的代码报错时能做到精准定位。3.优化传统的文本切片往往采用“滑动重叠窗口”结构即上一段记忆末尾 20% 本段记忆 下一段记忆开头 20%。这种做法会导致切出来的记忆块非常大。当向 Embedding 模型塞入过大的数据段时文本的核心语义会被稀释和歪曲生成的向量会变成一个“四不像”的混合体导致模糊匹配的准确率直线下降。通过把记忆切分为极小数据块不再强行均分大段落而是依靠短促的语义标点如句号、分号、换行符将庞大的记忆切分成一两句话的“小颗粒数据”。只对这些极小的数据块进行向量化和倒排索引建立此时文本极短其向量语义极其纯粹且专注无论是在向量空间的模糊匹配还是关键词的精准匹配命中率都会产生质的飞跃。但小颗粒数据本身缺乏上下文。因此在底层数据库中我们将小数据块作为指针。一旦检索命中某个小块逆向索引到它所属的、包含完整上下文的“大记忆段”最后将这个完整的“大段落”提取出来作为最终记忆返回。三.总结1.针对“大模型无状态导致交互断层”的问题解决方案引入长短期记忆分层架构。将大模型的单次独立调用串联起来满足了多轮交互的连贯性为 Agent 执行复杂任务闭环奠定了基础。2. 针对“上下文超载导致 API 报错”的问题解决方案在短期记忆中应用滑动窗口与平滑遗忘机制。通过定义“纯净对话”并按上限自动丢弃早期轮次在保障当前语境的同时实现成本与系统稳定性的极简平衡。3. 针对“Agent 在复杂多步任务中容易迷失、输出混乱”的问题解决方案首创“对话记录 工作流摘要”的双轨并行窗口。让 Agent 不仅记得“聊过什么”还清楚自己“走到哪一步、做过什么尝试”确保复杂任务稳步推进。4. 针对“长期记忆检索困难、极易失焦引发幻觉”的问题解决方案构建基于 RAG 的“向量模糊匹配 关键词精准匹配”双链路架构。用向量搞定跨语种和同义词的语义理解用倒排索引死磕项目代号、报错代码等专有名词实现广度与精度的双重保障。5. 针对“传统文本大分片导致 Embedding 语义稀释、召回率下降”的问题解决方案采用“切分小块建索引逆向映射大块做召回”的高级策略。利用语义标点切分出极其纯粹的小颗粒数据来大幅提升检索命中率命中后再通过指针提取完整的父级大段落完美兼顾了“检索精度”与“上下文完整性”。
返回列表