Agent-memory-召回设计里分段过滤的重要性

我们都知道,记忆存储后,怎么能够在用户提问时召回几个质量高的记忆是核心之一。

在实战中,我在记忆存储时,让agent给其分配我给定的几个类型,并在召回时设计为,匹配到对应的关键词,并进行综合打分(语义相似度+时间匹配+置信度),结果返回的记忆一塌糊涂。

特征分配

在教程中,我观察到给定的代码是给记忆分配对应类型,进而方便后续召回。但是实际上,我发现并不是每条记忆的信息都很简单,有的记忆有时间信息,有的记忆有任务信息,到这里为止用单一关键词分配记忆类型都没问题,但一旦记忆信息里不止一条,比如"昨天会议总结了项目经验"。

那问题就来了,究竟是分配哪个关键词好呢?分配了历史关键词,那如果召回的记忆里全部是昨天只有少数会议呢,agent根本无法分辨哪个关键词更重要,也无法预知后续召回时用户的意图。那么相对好的办法,其实就是让agent根据记忆信息,自动生成多个特征,先保证不遗漏信息。

那么也许有人会问,那么多个关键词,agent怎么判断哪个优先级高呢。

分段过滤

在RAG中,有粗排和精排。从这个角度出发,我们在召回后可以一个过滤来达到粗排的作用。具体做法是,来了一个用户问题,我们先用embedding+BM25,先召回一部分记忆,然后在这一步,结合用户问题做意图解析,做硬过滤。

以我们刚才的喝水为例,用户问的是昨天会议内容细节,一开始的召回记忆就是找出了与"昨天","会议"相关的记忆,然后我们在第二部做硬性筛选,只召回同时有"昨天"+"会议细节"的记忆内容,然后再进一步做综合得分,这样除了可以去掉上周领导喝水这类垃圾记忆,更关键的是,可以不需要我们去优化综合得分的评判公式,因为如果不这么做,我们需要纠结有些记忆没有时间权重,是否要做权重补偿,即缺失了时间维度的信息,会相对提高其他维度的信息,但这样做很难调整,容易出现质量不高但是综合得分被补偿权重拉上来出现在top-k里的场景

相关推荐
To_OC4 小时前
别再傻傻分不清:Workflow 和 Agent 到底不是一回事
人工智能·agent·workflow
smartfish_liu5 小时前
LLM.deepseek: 2026-7-24工作总结
llm·agent
冬奇Lab5 小时前
AI 评测系列(04):RAG 评测——RAGAS 四指标实战与一个反直觉发现
人工智能·llm·agent
玉鸯6 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
犀利豆8 小时前
多轮对话生成架构图 Agent 设计实践
agent
吴佳浩8 小时前
今天我们讲讲大模型的“核心”技术:蒸馏(Model Distillation)
人工智能·llm·agent
阿里云大数据AI技术8 小时前
阿里云 ES AI 引擎版:面向 Agent 场景,为亿级租户、千亿规模向量设计的搜索引擎
人工智能·elasticsearch·agent
星栈8 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
人工智能·agent
码哥字节9 小时前
Google 上周推了个 agents-cli,我装完发现 Claude Code 多了 7 个超能力
google·agent·claude
奋飛11 小时前
AI应用工程:Agent 的能力是如何扩展的?——Tool、Skill、Workflow 与 MCP 的职责边界
agent·workflow·mcp·skills·ai应用工程