← 回到书房

学习记录

一条记录、一种表示、一个记忆系统

用一条原创工具版本记录,区分 database、index、retriever 与 memory 的观察角色。

“我们用了数据库、向量索引和 retriever,所以有了 memory。”这句话把几个不同的研究对象放在一起,却还没有说明它们怎样合作。可以先从一个很小的例子入手。

一次经历可以留下几个对象

设有一条原创记录:“10 月 2 日,旧版工具只能接收 CSV;新版另行支持 JSON。”原句可以保存在一个有稳定标识的对象中;系统可以抽取版本与格式关系,也可以为句子计算向量。原记录、结构与向量是不同表示,后两者未必能够完整恢复原句。

现在问“旧版应该传什么格式”。系统需要根据查询寻找候选、判断适用条件,再形成回答。记录是否还在、它能否被找到、找到以后是否用对,是几个可以分别观察的问题。

四个词各自帮我们看见什么

研究对象 在例子里追问什么 同一个实现能否承担别的角色
Database / data system 对象如何组织、查询、更新,身份与版本如何维持 可以同时实现索引和查询执行
Index 哪种访问结构帮助定位候选,针对什么键或度量 可以与存储一起实现,也可以由模型承担某类映射
Retriever 如何把当前查询或情境变成返回的候选 可以包含编码、搜索、过滤和排序
Memory 过去通过哪些状态与过程参与后续处理 可以横跨外部记录、工作状态和学习机制

这是一组工作区分,不是互斥的软件层级。Memory 的含义还取决于所采用的认知或计算框架;不能拿一个产品名称替代定义。

作为具体参照,PostgreSQL 的索引介绍说明了索引如何加快定位,以及更新它带来的维护成本。Faiss则定义了给定向量集合上的搜索操作。两份文档描述各自的访问机制,并没有替应用决定什么信息对当前任务有用。

还有哪些角色值得看见

输入分析与 encoder 决定单位和表示;writer 决定什么进入状态;selector 分配有限名额;工作状态承载当下可参与处理的信息;controller 决定何时读写、查证或行动;学习规则改变未来的处理方式;评价决定我们观察哪一种变化。

这些角色是提问工具。一个模型可能承担多个角色,一个角色也可能分散到多个部件。只有明确实现以后,才适合画出实际的组件图。

为什么这个区分有用

假设原句保存完好,但索引使用的表示丢掉了“旧版”区别,那么存储正确无法单独解决匹配问题。假设候选已经正确返回,却按“最新总是有效”使用它,那么继续扩大候选集合也无法单独解决适用问题。这两个原创条件推演指向不同的下一步调查。

它也让基础学习获得自己的位置。我们可以认真研究事务、索引结构或相关性,并保留这些领域自己的正确性目标。需要连接 memory 时,再指出承担的具体角色与尚未建立的联系。

接着想

如果索引本身由学习得到,它还是“访问结构”吗?与传统数据结构相比,改变的可能是实现,也可能是映射目标。进入索引也能学习,先比较输入与输出,再讨论更新和错误。

来源与实际阅读范围 · 2

官方资料

PostgreSQL 18 · Introduction to indexes

数据库管理与访问结构可以由同一系统实现。

§11.1,索引定位、规划与维护的说明

阅读范围见定位;未运行相关软件或模型。

官方资料

Faiss documentation

给定向量与度量界定搜索对象。

首页 What is similarity search? 与 index 说明

阅读范围见定位;未运行相关软件或模型。

这是 AMS 的编者论述。来源、原创推演与既有研究的边界在正文分别说明;不包含私人共学记录或新的模型实验。

下次,从这里继续

当索引由模型实现,改变的是实现方式,还是映射目标?

先明确输入和输出,才知道比较的正确性对象。

索引也能学习——究竟学了什么? ↗

带走这份公开研究

Markdown ↓JSON ↓

含当前正文、出处、阅读范围与接续线索;链接的全文不随包附带。

已打开学习记录:一条记录、一种表示、一个记忆系统