Appearance
83. AI Agent 长期记忆的主流数据库有哪些?
难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min
本题阅读地图
- 💡 简要回答
- 📝 详细解析
- 🎯 面试总结
👔 面试官:Agent 做长期记忆,数据库怎么选?只用向量数据库吗?
🙋 我:向量数据库存语义内容,再加个关系型数据库存结构化数据?
👔 面试官:对了一半,但还有图数据库、时序数据库,每种适合什么类型的记忆,你能说清楚吗?
💡 简要回答
Agent 长期记忆通常需要四类数据库的组合,因为不同类型的记忆有截然不同的存储和检索需求:向量数据库管语义检索,关系型数据库管结构化精确查询,图数据库管实体关系,时序数据库管时间维度查询。
📝 详细解析
四类数据库各司其职
关系型数据库(PostgreSQL / MySQL / SQLite)
适合存:结构化的用户档案和元数据——用户 ID、创建时间、标签分类、权限配置、记忆的元信息等。精确查询(WHERE user_id = 123)、事务支持、成熟运维工具,是记忆系统的「骨架」。
NoSQL 数据库(MongoDB / DynamoDB / Redis)
- MongoDB / DynamoDB:schema 灵活,适合字段经常变化的用户偏好内容
- Redis:内存存储,极低延迟,适合当前会话缓存和热数据快速读取
向量数据库(Milvus / Qdrant / Pinecone / ChromaDB)
适合存:需要语义检索的记忆内容——对话摘要、经验知识、用户说过的话。支持近似最近邻搜索(ANN),能找到「语义相近」的历史记忆,是长期记忆的核心存储。
图数据库(Neo4j / Amazon Neptune)
适合存:实体之间的复杂关系——用户和项目的关联、多 Agent 任务依赖链、知识图谱。关系查询比关系型数据库快很多,适合「找出和实体 X 有三度关联的所有记忆」这类查询。
选型速查表
| 记忆类型 | 推荐数据库 | 原因 |
|---|---|---|
| 用户结构化档案 | PostgreSQL | 精确查询、事务保证 |
| 语义化历史对话 | Qdrant / Milvus | 向量语义检索 |
| 当前会话缓存 | Redis | 极低延迟读取 |
| 实体关系网络 | Neo4j | 复杂关系查询 |
| 时序操作日志 | InfluxDB / TimescaleDB | 时间维度聚合查询 |
小型项目可以只用 PostgreSQL(支持 pgvector 插件,兼做向量检索)+ Redis,减少运维复杂度。大型生产系统才有必要做多数据库组合。
🎯 面试总结
答这道题展示「按需选型」的工程思维:向量数据库解决语义检索、关系型数据库解决精确查询、图数据库解决关系推理。然后补充「小项目 PostgreSQL + pgvector 搞定,大项目再考虑多库组合」,体现务实的工程判断力。