Skip to content
阅读进度

怎么找回真正相关的记忆? ​

返回 EachOf 项目 目录

项目版本说明

这些问答整合历史设计与实现资料;当前 main 分支 README 以工作包描述建设状态。具体能力、实验数据与设计目标的边界见项目状态与证据。

标准回答 ​

召回先限制可访问和仍有效的数据,再结合关键词与语义检索找候选,排序后按预算返回相关内容与依据。

关键词检索:看你用了什么词 ​

查询“pgvector 索引”时,包含这个专有名词的记忆通常很有价值。全文检索会把文本处理成适合搜索的形式,再匹配查询和评估相关性。不同语言的切词与配置会影响结果,中文不能默认与英文效果相同。

语义检索:看表达的意思是否接近 ​

你问“以前决定把数据存在哪里”,记忆写的是“项目使用 PostgreSQL”。两句话用词不完全一样,但含义相关。Embedding 模型把文本转换成一组数字,即向量,让系统能够比较表达之间的接近程度。

一个足够准确的理解

向量像用于比较语义的坐标。坐标接近只说明模型认为内容相似,不表示事实正确,也不表示你有权限使用。每一维通常不能被简单命名为“数据库”“偏好”等人工标签。

混合检索怎么理解 ​

关键词通道擅长处理明确词语;向量通道补充语义相近的候选。系统把两路结果合并、排序,再检查适用性。两路结合是可用策略,效果仍需要在实际数据上验证,不能自动推出一定比单路好。

一次读取,按这六步讲 ​

  • **识别调用者:**确定其身份与有效授权。
  • **限定范围:**只允许目标 Space 中可访问的内容进入受控查询。
  • **取得候选:**关键词搜索,并在语义通道可用时结合查询向量搜索。
  • **检查有效性:**排除被撤销、过时、不再有有效推导依据等不适用内容。
  • **组织上下文:**排序,控制条数和 token 预算,附带来源信息。
  • **交给使用者:**Agent 或回答服务收到上下文,再用于当前任务。

这是便于讲解的逻辑顺序。实际代码可能在数据库查询、服务层、答案提交和缓存读取等多处重复校验,不能把安全约束只放在最后一步。

为什么要有 token 预算 ​

Token 是模型处理文本的计量单位,与汉字或单词没有固定一一对应关系。找回 100 条记忆,并不代表都应塞进输入;上下文需要留给问题、指令和回答。预算限制让返回内容有明确上限。

Recall 和 Ask 有什么不同 ​

**Recall:**找回相关记忆。**Ask:**结合可用记忆形成答案,需要处理引用、答案提交和可能的缓存。找回一条正确资料,并不等于最终答案一定正确。

自查:为什么“能搜到”还不够?

还要相关、授权范围正确、事实仍有效、来源未撤销,并且在上下文预算内。最终 Agent 是否使用、使用是否正确,还需要另外验证。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。