🚀 本文收录于Github:AI-From-Zero 项目 —— 一个从零开始系统学习 AI 的知识库。如果觉得有帮助,欢迎 ⭐ Star 支持!

什么是向量数据库?为什么OpenClaw需要它来存储记忆?


一、关键词匹配 vs 语义相似度

MySQL 能告诉你"哪篇文章标题里有’机器学习’这个词",向量数据库能告诉你"哪篇文章和你现在读的这篇意思最相近"——前者是关键词匹配,后者是语义相似度搜索。

这句话抓住了两者最本质的差异。MySQL 存的是结构化数据,查询是精确的、基于规则的;向量数据库存的是"意思"(数学上叫向量),查询是模糊的、基于相似度的。

在 AI Agent 的记忆系统里,你需要的恰恰是后者——不是"找到三个月前那条包含’会议’关键词的记录",而是"找到和用户当前问题语义最相关的历史对话"。

在这里插入图片描述


二、向量:把"意思"变成数字

要理解向量数据库,首先要理解"向量"在这里是什么意思。

当你把一段文字输入 Embedding 模型,它会输出一串数字,比如 [0.12, -0.87, 0.34, ...],通常有几百到几千个维度。这串数字就是这段文字的向量表示,它编码了这段文字的"语义"。

神奇之处在于:语义相近的文字,它们的向量在数学空间里也会很近。

向量数据库做的事情就是:高效地存储这些向量,并快速找出与查询向量最接近的 N 个向量。这个操作叫做 ANN(近似最近邻搜索)。

向量的直观理解

想象一个三维空间:

  • “猫” 的向量可能在 (0.8, 0.2, -0.1)
  • “狗” 的向量可能在 (0.7, 0.3, -0.2)
  • “汽车” 的向量可能在 (-0.5, 0.9, 0.8)

你会发现"猫"和"狗"在空间中距离很近,而它们离"汽车"很远。向量数据库就是在这个高维空间中找邻居。
在这里插入图片描述
在这里插入图片描述


三、MySQL 为什么做不到这件事

MySQL 的查询逻辑是精确匹配和规则过滤:

-- MySQL 擅长的:精确匹配
SELECT * FROM messages WHERE content LIKE '%机器学习%';

-- MySQL 做不到的:语义相似度搜索
-- 你无法写出一条 SQL 来找"和这段话意思最像的 10 条记录"

MySQL 的索引(B-Tree、Hash)是为精确查找设计的,它不理解"相似"这个概念。就算你硬要存向量(比如用 JSON 列存一个数组),在几百万条记录里做向量距离计算,性能会差到无法使用。

向量数据库(如 Milvus、Pinecone、Weaviate)专门为这个场景设计了特殊的索引结构(如 HNSW、IVF),可以在毫秒级别完成亿级向量的相似度检索。


四、在 OpenClaw 里,这解决了什么问题

OpenClaw 的记忆系统面临一个实际问题:对话历史会越来越长,而 LLM 的 Context Window 是有限的,你不可能把所有历史记录都塞进去。

如果用 MySQL,你只能搜索"包含 API 这个词的记录"——结果可能包含大量无关信息。用向量数据库,你搜索的是"和当前问题语义最相关的记忆"——结果精准得多。

这就是为什么 Agent 系统几乎必然走向向量存储:它解决的不是"找到什么"的问题,而是"找到相关的什么"的问题。

实际应用场景

  • 长期记忆检索:用户说"上次我们讨论的那个项目",Agent 能准确找到相关对话
  • 上下文理解:即使用户没有明确提到关键词,Agent 也能理解隐含意图
  • 个性化推荐:基于用户历史兴趣的语义相似度推荐相关内容

五、MySQL 与向量数据库:互补而非替代

理解了各自的强项,就能理解它们不是替代关系,而是互补的:

特性 MySQL(关系型数据库) 向量数据库(如 Milvus)
核心能力 精确查询、事务、关联 语义相似度搜索
存储内容 结构化数据(行列表格) 高维向量(浮点数组)
查询方式 SQL,基于规则 给一个向量,找最近的 N 个
一致性保证 ACID 事务 最终一致性为主
典型用途 用户信息、订单、日志 语义搜索、推荐、记忆检索
在 OpenClaw 里的角色 存会话元数据、用户配置 存对话向量,检索相关记忆

实际上,成熟的 Agent 系统往往两者都需要:MySQL 管结构化的状态数据,向量数据库管语义化的记忆检索。


六、未来的数据架构

向量数据库的兴起,本质上是 AI 时代一种新的数据组织哲学的体现:从"存什么"到"存意思"

过去我们设计数据库 Schema,是在思考"这条数据有哪些字段"。向量存储让我们开始思考"这条数据的语义是什么,它和其他数据有多相似"。

这个变化对工程师的影响是深远的。未来的数据系统很可能不是"向量数据库取代关系型数据库",而是一个混合架构:关系型数据库管理结构和状态,向量数据库管理语义和关联。两者协同,才能支撑起真正有记忆、有理解能力的 AI 系统。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐