深入剖析:为什么向量数据库是大模型Agent长期记忆的必选项?


引言

你有没有过这样的经历:和ChatGPT聊了半小时,告诉它你对猫毛过敏、乳糖不耐受、下周要去杭州出差,过了10轮对话再问它“我适合喝什么奶茶?出差需要注意什么?”,它早就把你说过的信息忘得一干二净,还给你推荐加奶的珍珠奶茶、让你去杭州撸猫馆打卡?这就是当前大模型Agent最核心的痛点之一:没有可靠的长期记忆能力

随着大模型技术的爆发,Agent已经从概念验证走向大规模落地:从个人助理、客服机器人,到企业级的销售Agent、研发Agent、运维Agent,甚至自动驾驶的决策Agent,所有Agent都需要一个能永久存储、精准召回、跨会话同步的记忆系统。而在所有可选的存储方案中,向量数据库已经成为行业公认的Agent长期记忆的必选项,甚至有人说“向量数据库就是Agent的海马体”。

本文将从Agent记忆的本质、向量数据库的核心原理、不同存储方案的对比、落地实操案例等多个维度,深入拆解为什么向量数据库是Agent长期记忆的唯一最优解,同时会给出可直接运行的代码Demo、最佳实践和未来趋势判断,全文约10000字,适合所有对Agent、RAG、向量数据库感兴趣的开发者和产品经理阅读。


一、核心概念:Agent记忆体系与向量数据库的本质

1.1 Agent的三层记忆模型

我们可以把Agent的记忆体系和人类的记忆做一个完美的类比,总共分为三层,不同层级的记忆有完全不同的特性和存储需求:

记忆类型 对应人类记忆 存储位置 容量上限 保留时间 检索方式 核心需求
瞬时记忆 感官记忆 大模型推理缓存 <1K Token 毫秒级-秒级 直接读取 极低延迟,无需持久化
短期记忆 工作记忆 大模型上下文窗口 4K-200K Token 单次会话 上下文直接调度 高速读写,支持动态更新
长期记忆 永久记忆 外部存储系统 无上限 永久/自定义过期 语义检索+结构化过滤 高可靠持久化、语义召回能力、高扩展、低延迟

我们今天讨论的“长期记忆”,就是指Agent需要跨会话、跨设备保留的所有信息:包括和用户的历史交互记录、学习过的文档知识、工具调用的结果、自主探索得到的经验等等。这部分记忆的特点是:数据量无上限、非结构化占比超过90%、需要根据语义精准召回、需要支持动态增删改

长期记忆的核心需求拆解

要支撑Agent的长期记忆,存储系统必须满足以下8个核心要求:

  1. 语义检索能力:不需要精确匹配关键字,能根据用户意图召回语义相关的记忆,比如用户问“我之前说过我对什么过敏?”,能精准找到几个月前提到的“对猫毛过敏”的记录;
  2. 高维向量存储与检索能力:非结构化数据(文本、图片、音频、视频)需要转成数百到数千维的向量存储,系统需要支持高效的相似性检索;
  3. 低延迟:Agent的交互需要接近人类的响应速度,检索记忆的延迟必须控制在100ms以内,不能影响用户体验;
  4. 可扩展性:企业级Agent可能需要存储数十亿条记忆,系统需要支持水平扩展,性能不会随着数据量增长而下降;
  5. 混合检索能力:支持“语义相似性+结构化过滤”的组合查询,比如“检索最近7天和用户张三聊的关于云服务器退款的历史记录”;
  6. 多模态支持:可以存储文本、图片、音频等不同模态的向量,统一检索;
  7. 生态兼容性:原生支持主流的Agent框架(LangChain、LlamaIndex、AutoGPT等),不需要额外开发对接逻辑;
  8. 高可靠与多租户:企业级场景需要支持数据持久化、备份恢复、多租户权限隔离,避免记忆泄露。

1.2 向量数据库的核心原理

向量数据库是专门为高维稠密向量设计的存储与检索系统,它的核心逻辑可以用一句话概括:把非结构化数据转成语义向量,通过高效的向量索引实现毫秒级的相似性检索

向量的生成:Embedding技术

所有非结构化数据要存入向量数据库,首先要经过Embedding模型的转换:把文本、图片、音频等内容映射成一个固定维度的稠密向量,比如OpenAI的text-embedding-ada-002会把任意长度的文本转成1536维的向量,两个语义相似的内容对应的向量在高维空间中的距离也会更近。

常见的相似性度量算法有三种:

  1. 余弦相似度:衡量两个向量的方向相似性,取值范围[-1,1],值越大越相似,适合文本语义匹配场景:
    cosine similarity(u,v)=u⋅v∣∣u∣∣2∣∣v∣∣2\text{cosine similarity}(u,v) = \frac{u \cdot v}{||u||_2 ||v||_2}cosine similarity(u,v)=∣∣u2∣∣v2uv
  2. 欧氏距离:衡量两个向量在高维空间中的绝对距离,值越小越相似,适合图像、语音等场景:
    d(u,v)=∑i=1d(ui−vi)2d(u,v) = \sqrt{\sum_{i=1}^d (u_i - v_i)^2}d(u,v)=i=1d(uivi)2
  3. 内积:衡量两个向量的投影相似性,适合推荐系统场景。
向量数据库的核心组成

向量数据库和传统数据库的核心区别在于索引引擎,它的核心架构分为五层:

  1. API层:提供RESTful API、SDK,对接各类Agent框架和大模型应用;
  2. 查询引擎:负责解析查询请求,调度索引引擎和存储引擎,支持混合检索;
  3. 索引引擎:实现各类向量索引算法(HNSW、IVF、PQ等),是高性能检索的核心;
  4. 存储引擎:负责向量数据、结构化元数据的持久化存储,支持多副本、高可用;
  5. 生态对接层:原生对接Embedding模型、大模型、Agent框架、RAG工具链。

向量数据库的核心工作流程可以用下面的mermaid流程图表示:

非结构化数据/交互记录

Embedding模型

生成d维向量

向量数据库: 构建索引+持久化存储

用户查询/Agent记忆检索请求

Embedding模型

生成查询向量

向量数据库: 相似性检索+结构化过滤

返回Top K相关记忆


二、问题背景:Agent长期记忆的痛点与传统方案的局限性

2.1 问题背景:为什么大模型本身做不了长期记忆?

很多人会问:现在大模型的上下文窗口越来越大,GPT-4 Turbo支持128K,Claude 3 Opus支持200K,甚至有的开源模型支持1M上下文,直接把所有历史记忆都塞到上下文里不行吗?为什么还需要额外的存储系统?

答案很简单:成本太高、准确率太低、容量有限

  • 成本问题:128K上下文的GPT-4 Turbo调用一次的成本约0.1美元,如果你每次都把10万Token的历史塞到上下文里,单轮调用成本是检索向量数据库的1000倍以上,企业级场景根本扛不住;
  • 准确率问题:大模型存在严重的“Lost in the Middle”问题,上下文长度超过32K之后,中间的内容召回率会下降到60%以下,很多关键记忆会被忽略,反而不如检索增强的方式准确率高;
  • 容量问题:就算上下文窗口到了1M,也只能存约70万字的内容,企业级Agent需要存储几个月甚至几年的交互记录、TB级的文档知识,上下文窗口永远装不下。

2.2 传统存储方案的局限性

在向量数据库普及之前,开发者尝试过用各类传统存储系统做Agent的长期记忆,但都存在不可逾越的短板,我们做一个完整的对比:

存储方案 语义检索能力 高维向量检索性能 亿级向量支持 混合检索 多模态支持 生态适配 运维成本 核心短板
关系型数据库(MySQL/PostgreSQL) 仅支持关键字匹配,需要自行实现向量检索 全表扫描,100万条1536维向量检索延迟>5s,QPS<10 不支持 支持结构化过滤,无向量检索 不支持 向量检索性能极差,无法满足线上需求
KV数据库(Redis) 仅支持精确Key匹配 不支持向量检索 不支持 不支持 不支持 无法实现语义检索,只能按Key查询
文档数据库(MongoDB) 内置基础向量索引,效果差 100万条向量检索延迟>1s,QPS<100 不支持 支持基础混合检索 不支持 向量索引性能差,无高级检索能力,不支持大规模扩展
开源向量检索库(FAISS/Annoy) 支持语义检索 1亿条向量检索延迟<100ms,QPS>1000 支持(内存足够的前提下) 不支持结构化过滤 支持 仅支持内存索引,无持久化,不支持动态增删改,无分布式能力
专用向量数据库(Pinecone/Milvus/Qdrant) 原生支持语义检索 1亿条向量检索延迟<50ms,QPS>5000 原生支持分布式扩展 原生支持混合检索 原生支持多模态 原生对接所有Agent框架 低(云服务免运维) 无明显短板,完全匹配长期记忆需求

从上面的对比可以清晰看到:传统存储方案都存在至少一个核心短板,完全无法满足Agent长期记忆的8个核心需求,只有专用向量数据库能全部覆盖。


三、问题解决:向量数据库如何完美匹配Agent长期记忆的需求?

我们从8个核心需求逐一拆解,向量数据库为什么是最优解:

3.1 原生支持高维向量的高效检索

向量数据库的核心竞争力就是专门为高维向量设计的索引算法,目前主流的HNSW(层次化导航小世界)索引的时间复杂度是O(log⁡n)O(\log n)O(logn),1亿条1536维向量的检索延迟可以控制在50ms以内,召回率超过95%,完全满足线上交互的性能要求。

HNSW的核心原理是模拟高速公路网络:构建多层的图结构,上层是稀疏的“高速通道”,用来快速缩小检索范围,下层是稠密的连接,用来精准查找最近邻节点,检索流程可以用下面的mermaid流程图表示:

输入查询向量q

从最高层开始, 找到当前层与q最近的节点

当前层是最底层?

移动到下一层, 以当前最近节点为起点, 搜索该层最近的节点

在最底层搜索最近的K个节点

返回Top K相似结果

3.2 支持混合检索,适配复杂记忆查询场景

Agent的记忆检索几乎都不是单纯的语义检索,需要结合结构化过滤条件,比如:

  • 客服Agent:“检索最近3天用户李四投诉订单的历史记录”
  • 销售Agent:“检索我上周拜访过的北京地区的客户的需求记录”
  • 运维Agent:“检索最近24小时支付模块的异常日志相关的排障记录”

向量数据库原生支持“向量相似性检索 + 结构化字段过滤”的混合查询,你可以把时间、用户ID、业务类型、标签等结构化字段作为过滤条件,和语义检索结合,精准召回需要的记忆。

3.3 生态深度适配,开箱即用

目前所有主流的Agent框架(LangChain、LlamaIndex、AutoGPT、Dify等)、低代码AI平台、大模型服务都原生对接了主流向量数据库,你不需要写一行对接代码,只需要配置好向量数据库的API Key,就能直接把它作为Agent的记忆模块,开发效率提升10倍以上。

3.4 多模态记忆支持

现在的Agent已经不再是单纯的文本Agent,多模态Agent已经成为主流:比如客服Agent需要存储用户上传的截图、语音记录,自动驾驶Agent需要存储摄像头、激光雷达的传感器数据,教育Agent需要存储课程视频、PPT等内容。向量数据库可以存储不同模态的Embedding向量,支持跨模态检索,比如用文本“用户上传的支付失败截图”检索对应的图片记忆。

3.5 无限扩展能力

向量数据库普遍采用分布式架构,支持水平扩展,你只需要增加节点就能支撑数十亿甚至上百亿条向量的存储与检索,性能不会随着数据量增长而下降,完全满足企业级Agent的大规模存储需求。

3.6 完善的记忆管理能力

向量数据库原生支持各类记忆管理功能:

  • TTL自动过期:可以给记忆设置过期时间,比如临时会话的记忆7天后自动删除,不需要手动清理;
  • 增量更新:Agent每次交互完可以直接把新的记忆写入向量数据库,不需要全量重建索引,更新延迟<1s;
  • 版本控制:支持记忆的版本管理,可以回溯历史记忆的变更;
  • 多租户隔离:企业级场景可以给不同用户、不同业务的记忆分配独立的Namespace/Partition,避免跨用户的记忆泄露。

四、概念关系:Agent与向量数据库的交互架构

Agent和向量数据库的交互可以用下面的mermaid架构图清晰表示,向量数据库已经成为Agent工作流中不可缺少的核心组件:

外部系统

记忆系统

Agent核心模块

用户端

返回Top K相关记忆

把新的交互记录转成Embedding

返回结果

用户输入

返回回答给用户

思维链/规划模块

需要检索记忆?

记忆检索模块

Prompt拼接模块

大模型推理模块

需要调用工具?

工具调用模块

回答生成模块

向量数据库

工具/API/知识库

从架构图可以看到:向量数据库完全承接了Agent的所有长期记忆的存储和检索请求,是Agent和历史经验之间的唯一接口,相当于人类大脑的海马体,负责把短期记忆转化为长期记忆,需要的时候精准召回。


五、实践落地:基于向量数据库搭建带长期记忆的Agent

我们来做一个可直接运行的Demo,用LangChain + Qdrant(开源向量数据库) + OpenAI大模型,实现一个能记住用户偏好的个人助理Agent。

5.1 环境准备

安装依赖
pip install langchain langchain-openai qdrant-client python-dotenv
本地启动Qdrant(可选,也可以用Qdrant云服务)
docker run -p 6333:6333 qdrant/qdrant
配置环境变量

新建.env文件:

OPENAI_API_KEY=你的OpenAI API Key
QDRANT_URL=http://localhost:6333

5.2 核心实现代码

from dotenv import load_dotenv
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_qdrant import Qdrant
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
import os

# 加载环境变量
load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
QDRANT_URL = os.getenv("QDRANT_URL", "http://localhost:6333")
COLLECTION_NAME = "agent_long_term_memory"

# 1. 初始化Embedding模型和大模型
# 中文场景可以替换成开源的bge-large-zh-v1.5模型,效果更好
embeddings = OpenAIEmbeddings(model="text-embedding-ada-002", api_key=OPENAI_API_KEY)
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7, api_key=OPENAI_API_KEY)

# 2. 初始化Qdrant向量数据库
try:
    vector_store = Qdrant.from_existing_collection(
        embedding=embeddings,
        collection_name=COLLECTION_NAME,
        url=QDRANT_URL,
    )
    print("加载已有的向量集合成功")
except:
    # 不存在则新建集合
    vector_store = Qdrant.from_texts(
        texts=["系统初始化记忆"],
        embedding=embeddings,
        collection_name=COLLECTION_NAME,
        url=QDRANT_URL,
    )
    print("新建向量集合成功")

# 3. 定义检索器,返回Top 3最相关的记忆
retriever = vector_store.as_retriever(search_kwargs={"k": 3})

# 4. 定义Prompt模板,明确告诉大模型使用历史记忆回答
prompt = ChatPromptTemplate.from_template("""
你是一个有长期记忆的智能助手,请严格结合给定的历史记忆回答用户的问题,不要编造记忆中不存在的信息。
如果历史记忆中没有相关信息,就如实告知用户你不知道相关内容。

历史记忆内容:
{memory}

用户当前问题:
{question}

你的回答:
""")

# 5. 构建检索链
def format_memory(docs):
    """把检索到的记忆文档格式化成字符串"""
    return "\n---\n".join([f"记忆{i+1}: {doc.page_content}" for i, doc in enumerate(docs)])

rag_chain = (
    {"memory": retriever | format_memory, "question": RunnablePassthrough()}
    | prompt
    | llm
    | StrOutputParser()
)

# 6. 定义记忆保存函数,每次交互后把新的对话存入向量数据库
def save_memory(user_input: str, assistant_response: str, metadata: dict = None):
    memory_text = f"用户提问:{user_input}\n助手回答:{assistant_response}"
    vector_store.add_texts([memory_text], metadatas=[metadata] if metadata else None)
    print(f"✅ 已保存新记忆到向量数据库:\n{memory_text}\n")

# 7. 测试运行
if __name__ == "__main__":
    # 第一次交互:告诉Agent个人信息
    user_input1 = "我叫王小明,今年28岁,在互联网公司做产品经理,住在杭州余杭区,对芒果过敏,喜欢喝不加糖的冰美式,周末喜欢徒步。"
    response1 = rag_chain.invoke(user_input1)
    print(f"🤖 助手回答:{response1}\n")
    save_memory(user_input1, response1, {"user_id": "wxm001", "time": "2024-05-20"})

    # 模拟多轮对话后,测试记忆召回能力
    user_input2 = "你好,你还记得我叫什么吗?我周末适合去做什么?有没有什么吃的需要注意?"
    response2 = rag_chain.invoke(user_input2)
    print(f"🤖 助手回答:{response2}\n")
    save_memory(user_input2, response2, {"user_id": "wxm001", "time": "2024-05-27"})

5.3 运行结果

新建向量集合成功
🤖 助手回答:你好王小明!我已经记住你的信息啦,如果你有任何需求随时告诉我哦~

✅ 已保存新记忆到向量数据库:
用户提问:我叫王小明,今年28岁,在互联网公司做产品经理,住在杭州余杭区,对芒果过敏,喜欢喝不加糖的冰美式,周末喜欢徒步。
助手回答:你好王小明!我已经记住你的信息啦,如果你有任何需求随时告诉我哦~

🤖 助手回答:你好呀,你叫王小明~ 你周末喜欢徒步,杭州余杭区有很多适合徒步的路线比如径山、鸬鸟山,你可以去试试。另外需要注意你对芒果过敏,不要吃含有芒果的食物哦,如果你想喝饮料的话,你喜欢的不加糖冰美式是不错的选择。

✅ 已保存新记忆到向量数据库:
用户提问:你好,你还记得我叫什么吗?我周末适合去做什么?有没有什么吃的需要注意?
助手回答:你好呀,你叫王小明~ 你周末喜欢徒步,杭州余杭区有很多适合徒步的路线比如径山、鸬鸟山,你可以去试试。另外需要注意你对芒果过敏,不要吃含有芒果的食物哦,如果你想喝饮料的话,你喜欢的不加糖冰美式是不错的选择。

可以看到,即使间隔了一周的对话,Agent依然能精准从向量数据库中召回之前的记忆,给出准确的回答。


六、最佳实践Tips

1. 选择合适的Embedding模型

不要盲目选择高维度的Embedding模型,维度越高存储和检索成本越高:

  • 中文场景优先选择开源的bge-large-zh-v1.5(1024维),效果比OpenAI的text-embedding-ada-002好15%以上;
  • 英文场景可以选择OpenAI的text-embedding-3-small(1536维),成本比ada-002低50%。

2. 优化记忆分片策略

如果是存储长文档、长对话,一定要做分片(Chunking):

  • 对话类记忆Chunk Size选200-300 Token,Overlap选20%;
  • 文档类记忆Chunk Size选500-1000 Token,Overlap选20%-30%;
  • 每个Chunk都要带上元数据(用户ID、时间、业务标签等),方便后续过滤。

3. 混合检索提升准确率

不要单纯依赖向量检索,结合BM25关键字检索和重排模型可以提升20%以上的召回率:

  • 用LangChain的EnsembleRetriever把向量检索和BM25检索的结果合并;
  • bge-reranker或者Cohere的Rerank API对召回的Top10结果做二次排序,选Top3输入给大模型。

4. 定期清理无效记忆

向量数据库存储的记忆越多,检索准确率越低,要定期清理:

  • 给临时记忆设置TTL自动过期;
  • 定期去重重复的记忆,删除过时的信息;
  • 给重要的记忆设置更高的权重,优先召回。

5. 成本优化

  • 个人/小项目用开源的Qdrant、Chroma本地部署,完全免费;
  • 企业级场景用Serverless向量数据库(Pinecone Serverless、Qdrant Serverless),按使用量付费,成本比预配实例低70%;
  • 数据量特别大的场景用PQ乘积量化压缩向量,存储成本可以降低75%。

七、行业发展与未来趋势

我们可以通过下面的时间线表格,清晰看到Agent和向量数据库的协同发展历程:

时间 Agent技术发展 向量数据库技术发展 记忆存储方案
2018年及以前 规则驱动型Agent,有限状态机,应用场景狭窄 无专用向量数据库,向量检索依赖FAISS、Annoy等离线库 关系型数据库/文件存储,关键字检索
2019-2020年 预训练模型兴起,出现基于大模型的对话Agent,上下文窗口普遍<8K FAISS、ScaNN等开源向量检索库普及,无持久化和分布式能力 内存向量索引+数据库持久化,自行开发对接逻辑
2021年 大模型能力快速提升,Agent开始具备工具调用能力 第一代商用向量数据库发布:Pinecone、Weaviate、Milvus 1.0,支持持久化、分布式、基础向量检索 向量数据库开始用于Agent记忆存储,生态不完善
2022年 ChatGPT发布,Agent爆发,LangChain、LlamaIndex等Agent框架诞生,RAG技术普及 向量数据库支持混合检索、多租户、高可用,性能大幅提升 向量数据库成为RAG和Agent记忆的标配
2023年 多模态Agent、多Agent协作成为热点,企业级Agent大规模落地 向量数据库支持多模态检索、内置重排、Serverless架构,成本降低 向量数据库原生集成到Agent框架,成为AI核心基础设施
2024年及以后 Agent成为AI应用主流形态,具备自主决策、长期记忆、协作能力 向量数据库内置Embedding、大模型推理能力,支持记忆联想、遗忘、推理机制,端侧向量数据库普及 向量数据库和大模型深度融合,成为Agent的原生记忆层

未来向量数据库的发展趋势非常清晰:

  1. 内置大模型能力:未来向量数据库会内置Embedding模型、重排模型甚至轻量级大模型,直接支持记忆的总结、推理、联想,不需要调用外部服务;
  2. 类人记忆机制:会支持记忆的权重调整、自动遗忘、关联推理,模拟人类的记忆模式,不重要的记忆自动降低优先级,重要的记忆长期保留;
  3. 多Agent记忆共享:支持组织内多个Agent共享同一个记忆库,协同工作,比如企业的销售Agent、客服Agent、售后Agent可以共享客户的所有历史记忆;
  4. 端边云协同:端侧的轻量级向量数据库负责存储用户的本地隐私记忆,边缘和云端的向量数据库负责存储公共记忆,兼顾隐私和性能。

八、边界与外延:向量数据库不是万能的

虽然向量数据库是Agent长期记忆的必选项,但它不是万能的,有些场景不适合用:

  1. 记忆量极小的场景:如果Agent只需要存储几十条记忆,直接存在上下文或者JSON文件里就行,没必要引入向量数据库增加复杂度;
  2. 精确结构化查询场景:如果需要做统计、聚合类的查询,比如“统计上个月用户的总消费金额”,还是要存到关系型数据库或者数仓里,向量数据库不擅长这类查询;
  3. 离线无更新场景:如果是离线场景,记忆不需要动态更新,用FAISS就可以满足需求,不需要用向量数据库。

另外向量数据库的准确率非常依赖Embedding模型的质量,如果Embedding模型效果不好,检索出来的记忆不相关,再好的向量数据库也没用。


九、FAQ常见问题

1. 我用FAISS不行吗?为什么要用向量数据库?

FAISS是纯内存的向量检索库,没有持久化能力,不支持动态增删改,不支持分布式扩展,不支持混合检索,只适合离线场景,没法作为长期记忆的存储,长期记忆需要持久化、动态更新、高可用,这些都是向量数据库的核心能力。

2. 大模型上下文窗口越来越大,以后是不是不需要向量数据库了?

不会,首先上下文窗口越大成本越高,128K上下文的调用成本是检索向量数据库的1000倍以上;其次大模型的长上下文准确率很低,“Lost in the Middle”问题至今没有解决,检索增强的方式准确率更高、成本更低,未来会是长期共存的关系,上下文窗口负责短期记忆,向量数据库负责长期记忆。

3. 开源向量数据库和云原生向量数据库怎么选?

  • 个人项目、小团队、数据量<1000万条:用开源的Qdrant、Chroma本地部署,完全免费;
  • 企业级应用、数据量>1亿条、需要高可用多租户:选云服务的Pinecone、Zilliz(Milvus云服务)、Qdrant Cloud,免运维,SLA保障。

十、总结

Agent正在成为下一代AI应用的主流形态,而长期记忆是Agent从“单次推理工具”进化为“能持续学习、自主决策的智能体”的核心能力。传统存储方案因为无法支持语义检索、高维向量高效检索等核心需求,完全无法满足Agent长期记忆的要求,而向量数据库作为专门为语义向量设计的存储检索系统,完美匹配了Agent长期记忆的所有需求,并且已经和整个Agent生态深度融合,所以它是Agent长期记忆的唯一必选项。

未来向量数据库会像今天的关系型数据库一样,成为每一个AI应用的标配基础设施,它不仅是Agent的记忆容器,更是AI时代的核心数据操作系统。

如果你正在做Agent相关的开发,还没有用过向量数据库,强烈建议你从本文的Demo开始尝试,你会发现构建一个有记忆的Agent原来这么简单。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐