Redis Iris 的 Context Retriever 和 Agent Memory 分别解决什么
来源:17golang原创
时间:2026-09-10 09:45:18 248浏览 收藏
如果一个客服代理要回答“这位客户当前有哪些未发货订单”,需要查的是业务系统里的结构化记录;如果问题变成“客户上次会议为什么拒绝换货”,需要回忆的是过去对话。Redis Iris 的 Context Retriever 和 Agent Memory 正好对应这两种上下文,不能把它们当成两个名字不同的向量检索器。
官方地址:https://redis.io/iris/
一句话判断:当前客户、订单、持仓、工单等可查询事实交给 Context Retriever;说过什么、做过什么决定、跨会话形成的偏好交给 Agent Memory。一个问题同时涉及两类信息时,再让代理组合调用。
- Context Retriever 以实体模型为入口,生成受控的 MCP 查询工具,不让代理直接碰数据库。
- Agent Memory 同时承接短期 session memory 与跨会话 long-term memory。
- 结构化事实要追求完整、可过滤和新鲜;对话经历要追求相关回忆和连续性。
Context Retriever 查的是当前业务事实
Context Retriever 解决的是“数据在那里,但代理不知道应该如何安全地使用它”。开发者先定义客户、订单、持仓等实体,以及字段类型、关系和访问规则,再由服务生成可发现的 MCP 工具。代理运行时拿到的是类似按客户筛选订单、按金额区间查持仓的工具,而不是一段可以随意拼接的 SQL。

这带来一个很实用的边界:问题里的时间词是“现在”“当前”“有哪些”,或者答案必须覆盖每条匹配记录时,优先走 Context Retriever。它的价值不是把文字相似度做得更高,而是让字段、筛选条件、关系和权限在工具层变得明确。官方介绍还强调,代理通过受限密钥访问工具,数据过滤可以在服务端执行。
Agent Memory 记的是会话经历与长期事实
Agent Memory 面向的是“这个代理以前和用户经历过什么”。session memory 保存当前会话的事件和元数据,可以设置 TTL;long-term memory 则从过往会话中提取可复用的事实、偏好或决定,并通过向量检索在后续会话中找回。会话内容转为长期记忆的过程可以异步进行,所以不必让当前回复一直等待提取完成。

因此,“客户上次会议提到的风险偏好是什么”“刚才已经确认了哪些行动项”属于 Agent Memory。它保存的是交互上下文,不应成为订单金额、库存数量或账户余额的唯一来源;这些内容仍应由业务数据层返回,记忆最多保存用户曾经表达过的意愿。
一个组合问题要让两层各做一半
真实请求往往是混合的,例如“客户当前的持仓比例是什么,他上次对再平衡说了什么”。前半句需要 Context Retriever 返回完整、可过滤的持仓记录,后半句需要 Agent Memory 按会话或语义搜索历史表达,代理再把两份上下文合成自然回答。Redis 的示例中就是把结构化持仓查询和会议记忆搜索串在同一个代理里。
| 判断问题 | 优先组件 | 原因 |
|---|---|---|
| 当前有哪些订单、工单或持仓 | Context Retriever | 需要结构化筛选与完整记录 |
| 用户上次说过什么、答应过什么 | Agent Memory | 需要跨会话召回经历和决定 |
| 当前状态加上历史态度 | 两者组合 | 事实与对话证据来源不同 |
落地时可以先写一条路由规则:带有实体字段、范围、状态和“当前”语义的请求进入 Retriever;带有会议、上次、偏好、决定和“曾经”语义的请求进入 Memory。还要给两层分别标注来源,避免模型把一条旧记忆误读成最新事实。
常见问题
Context Retriever 是不是普通 RAG 的替代品?
不是。它更适合结构化业务数据和受控工具调用;规章、手册、合同等非结构化文档仍可能需要文档 RAG,代理可以按任务组合多种检索方式。
Agent Memory 会自动保存所有聊天内容吗?
不能这样理解。会话记忆受 TTL 和会话范围约束,长期记忆是从会话中提取的可复用内容,应用仍应按隐私、删除和过期策略设计保存边界。
订单状态能不能只放进长期记忆?
不建议。订单状态会变化,应该从当前业务数据源查询;长期记忆可以保留“用户曾要求改地址”这类交互背景,但不能代替实时状态。
什么时候值得同时调用两个组件?
当问题同时要求“现在是什么”和“过去怎么说”时。先取结构化事实,再用记忆补足原因、偏好或承诺,回答会比只查一层更完整。
-
科技周边 · 业界新闻 | 2个月前 | github · gitHub actions · 业界新闻 · AI代理 · GitHub AI代理 GitHub Actions Agentic Workflows CI分析 Issue分流 工程自动化354 收藏
-
377 收藏
-
科技周边 · 业界新闻 | 1天前 | 上下文 · 架构 · 人工智能 · agent · Redis Iris · Redis Iris Agent记忆 上下文工程 Redis Agent Memory147 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习