我们在 Elasticsearch 上构建了一个持久化代理内存层,其召回率为0.89

发布时间: 2026-06-19 文章分类: AI前沿技术
阅读量: 0
AI智能体
企业级AI智能体开发与部署
LumeValley提供全栈式企业级AI智能体开发与部署服务,涵盖战略规划、场景化开发、企业级应用构建、行业解决方案及算力支撑。从需求分析到持续优化,确保智能体高效稳定运行,助力企业实现智能化转型,提升运营效率与竞争力。

Agent 跑了几轮就开始胡说八道?多半是记忆层出了问题。Elasticsearch 把 Agent Builder 正式版(GA)摆上桌——不是又一份"对话上下文+向量检索"的缝合怪,而是真把记忆这件事当成一个独立的工程子系统来设计。三类记忆、混合召回、衰减过期、租户隔离,全部基于 Elasticsearch 现成能力组装,开箱即用,而且代码直接丢在 GitHub 上。干 Agent 持久记忆的同行可以省下不少自己造轮子的时间。

把记忆拆成三块:情景、语义、程序

大多数 Agent 框架处理记忆的方式很粗暴——把所有上下文塞进 prompt,或者把整个对话历史丢进向量库一并检索。Elastic 这次的做法更接近人脑的工作方式:记忆不是一锅粥,而是分门别类归档的档案柜。

情景记忆:事件流的活档案

情景记忆存放的是 Agent 实际经历过的交互事件,比如"用户问了什么、我答了什么、调用了哪个工具、结果如何"。这一层用的是 Elasticsearch 的事件型索引,写入频率最高,因为 Agent 每完成一轮动作都应该留下一条记录。过期策略也最激进——一周左右的历史通常足够支撑当前会话上下文,再老的细节对当下的决策价值迅速衰减。

语义记忆:事实与关系的知识底座

语义记忆负责存储 Agent 积累的实体、概念、用户偏好。这类信息写入频率较低,因为新事实不会每分钟蹦出来,但生命周期很长,甚至需要长期保留。独立索引意味着可以单独配置更大的 TTL 或者干脆不设过期,避免用户的核心画像被误删。

程序记忆:动作模板与可复用技能

程序记忆存的是 Agent 学到的"套路"——成功调用某个工具的固定步骤、某类任务的最佳实践、经过反复试错沉淀下来的工作流。这类记忆写入频率最低,但价值密度最高,适合用相对静态的索引管理,偶尔由 Agent 自己或人工触发更新。

召回不是单挑,是三件套协同

把记忆分好类只是第一步,更难的是怎么在恰当的时候把恰当的记忆拽出来。Agent Builder 用了一套组合拳:稀疏+稠密先广撒网,再让重排序精挑细选。

BM25 与 Jina v5 的 RRF 融合

第一轮召回走的是经典的混合检索思路。BM25 负责命中字面精确匹配——比如 Agent 之前调用过的具体工具名、错误码、用户原话里的关键词;Jina v5 稠密向量负责语义层面的相似度,比如"用户之前抱怨过加载慢"和"这次又提到页面卡顿"之间的关联。两者输出通过 RRF(倒数排名融合)合并候选集,互相弥补对方的盲区。光用稀疏检索会漏掉同义改写,光用稠密检索又会错过专有名词的精确锁定——这件事在工业搜索里被验证过无数次,搬到 Agent 记忆层同样成立。

交叉编码器精排:最后一道质量关

候选集拉回来之后,还得过一个交叉编码器(cross-encoder)的重排序。Bi-encoder 速度快但精度有限,cross-encoder 把 query 和候选同时喂进模型做精细打分,代价是计算量陡增——所以只对 Top N 跑这一轮。168 道 QA 题的评估显示,Recall@10 平均达到 0.89,这个数字在真实业务场景里已经相当能打。

隔离与开放:租户安全 + MCP 兼容

Agent 走向生产环境,有两道坎绕不开:多租户安全和运行时绑定。Elastic 的方案在这两点上都选择了"不越界"。

零跨租户泄漏的硬隔离

持久化记忆一旦涉及多个客户、多个项目、多个用户,数据隔离就是生死线。Agent Builder 在评估中明确报告了零跨租户泄漏的结果——这意味着索引层面、查询层面都做了严格的 tenant 标识过滤,而不是事后用应用逻辑补漏。对 SaaS 形态的 Agent 产品来说,这点比召回率还重要——召回率低可以靠重排序补,泄漏一次就是法务事故。

MCP 协议:不绑定任何特定运行时

另一个关键设计是通过支持 MCP(Model Context Protocol)协议的客户端访问记忆层。MCP 已经成为 Agent 工具调用的事实标准之一,任何遵循该协议的客户端都能接入这套持久化记忆——不管你跑的是 LangGraph、自己的自研框架,还是别的什么 Agent runtime。换句话说,Elastic 没有试图把 Agent Builder 包装成一个"All in One 平台",而是把记忆层做成一个独立的能力组件,谁需要谁调用。这种克制在当下的市场环境里反而显得稀缺。

抄作业的正确姿势

整个项目已经开源在 GitHub,评估数据集也一并放出。对于正在做 Agent 持久记忆的团队,这套方案提供了一个相对完整的工程参考:索引怎么拆、召回怎么配、安全怎么兜底,全部有据可查。

直接复用,还是只取一部分

如果你的 Agent 规模不大,可以整套照搬——Elasticsearch 在运维、扩展性、生态成熟度上都有保障,三类记忆的划分也足够通用。但如果你的业务对记忆结构有强定制需求(比如 Agent 本身有复杂的角色权限、记忆要支持多模态),建议重点参考它的索引分层和混合召回策略,把程序记忆那一层换成自己的领域逻辑。召回管线几乎是行业最佳实践的集大成,没必要另起炉灶。

接下来值得关注的演进方向

从这次 GA 的设计也能看出几个明显的趋势:记忆作为独立子系统正在成为 Agent 架构的标配,混合检索不再是搜索引擎的专属,租户隔离从一开始就被纳入设计而非事后补丁。下一代值得跟踪的议题大概是——记忆写入侧的智能过滤(哪些事件值得永久存档)、跨会话的长期记忆迁移、以及记忆可解释性(Agent 凭什么调出了这条记忆)。这三件事做好了,Agent 才算真的"长记性",而不是每次都从零开始假装记得。

AI智能体
企业级AI智能体开发与部署方案
LumeValley打造企业级AI智能体全流程方案,涵盖需求洞察、定制开发、多平台适配部署。凭借专业算法与丰富经验,确保智能体精准理解业务,高效执行任务,无缝融入企业生态,为企业数字化转型提供强劲智能引擎,提升核心竞争力。
点赞 | 41

Lumevalley——全栈AI服务领航者,以“战略-应用-算力”三位一体服务框架,为企业提供从顶层战略规划、场景化AI智能体(AI Agent)开发/搭建/部署,到企业级AI应用开发、AI+行业场景解决方案的全链路服务,并配套AI大模型部署与高性能AI算力底座支撑,助力客户在营销、服务、运营等核心环节实现效率倍增与模式创新。

马上扫码获取产品资料
下一篇: 没有了
相关文章

相关文章

填写以下信息, 免费获取方案报价
姓名
手机号码
企业名称
  • 建筑建材
  • 化工
  • 钢铁
  • 机械设备
  • 原材料
  • 工业
  • 环保
  • 生鲜
  • 医疗
  • 快消品
  • 农林牧渔
  • 汽车汽配
  • 橡胶
  • 工程
  • 加工
  • 仪器仪表
  • 纺织
  • 服装
  • 电子元器件
  • 物流
  • 化塑
  • 食品
  • 房地产
  • 交通运输
  • 能源
  • 印刷
  • 教育
  • 跨境电商
  • 旅游
  • 皮革
  • 3C数码
  • 金属制品
  • 批发
  • 研究和发展
  • 其他行业
需求描述
填写以下信息马上为您安排系统演示
姓名
手机号码
你的职位
企业名称

恭喜您的需求提交成功

尊敬的用户,您好!

您的需求我们已经收到,我们会为您安排专属电商商务顾问在24小时内(工作日时间)内与您取得联系,请您在此期间保持电话畅通,并且注意接听来自广州区域的来电。
感谢您的支持!

您好,我是您的专属产品顾问
扫码添加我的微信,免费体验系统
(工作日09:00 - 18:00)
电话咨询 (工作日09:00 - 18:00)
客服热线: 4008 868 127
售前热线: 189 2432 2993
扫码即可快速拨打热线