指南

AI Agent 该用什么数据库?

简短回答:状态用 Postgres,召回用 pgvector 或向量库,缓存用 Redis,遥测用分析型数据库。大多数智能体系统只需要其中两个,而不是四个;而且引擎选型的影响,远没有相关文章数量暗示的那么大。

本文先把这个问题答完。然后讲引擎选型漏掉的那块:智能体产出的业务事实——人和后续的智能体运行都要读、要信、也要能撤回。

最后核对:2026 年 11 月 13 日

智能体到底在存什么

「给 AI Agent 用的数据库」其实是五种同时到来的负载。拆开看,选择就很清楚:

存的是什么访问模式合理的默认选择
应用与会话状态小量读写、事务性、必须精确Postgres
文档的语义召回对向量做近似最近邻搜索pgvector;规模很大时用专用向量库
热上下文与限流亚毫秒级、临时、变化频繁Redis
提示词/回复日志与 token 计费大量追加写、聚合读ClickHouse、DuckDB/MotherDuck,或先用 Postgres 直到撑不住
智能体产出的业务事实人和后续智能体当作事实来读;必须看得出谁改了什么带修改历史的工作区,比如 Busabase(见下文)

从 Postgres 开始,并且认真用它

对大多数智能体项目来说,只用 Postgres 就是正确的第一步,第一天就加第二套系统为时过早。状态、关系、JSON、全文检索,以及通过 pgvector 实现的向量,它都能扛到大多数智能体产品永远达不到的规模。

别太早上专用向量数据库。pgvector 支持 HNSW 和 IVFFlat 索引。单独的向量服务换来的召回性能,你现在多半还测不出来,代价却是多一个一致性边界、多一套要运维的东西。

别把提示词和回复日志写进存状态的那个 Postgres。完整的提示词/回复记录是大量追加写、无限增长的;和事务表放在一起,几个月后就会变成清理和分区的难题。遥测尽早单独存放。

什么时候值得上专用向量库或 Redis

  • 向量库:向量达到数千万级、并且你真的在测延迟目标;大量元数据过滤要和近邻搜索一起用(pgvector 在近似索引扫描之后才应用过滤,0.8.0 起加了迭代索引扫描来弥补);或者频繁全量重新向量化,想和主库的负载隔开。
  • Redis:会话上下文、工具调用限流、去重窗口、队列状态——这些按请求发生的事 Postgres 也能做,只是延迟达不到你的要求。Redis 不是记录系统,把它当记录系统用,迟早会因为淘汰策略丢掉一整天的工作。

没到这些门槛之前,多运维一套系统的成本大于性能差异。先测量,再迁移。

问题底下的那个问题

上面每个选项回答的都是字节放在哪。没有一个回答改了什么、谁改的、能不能改回来——而对智能体的工作来说,决定项目能不能被信任的,正是后一个问题。

假设一个智能体补全了 200 条客户记录,正确地写进 Postgres,权限也完全没问题。其中一些是错的——格式没毛病,只是自信地错了。每条约束都通过了,旧值已经没了。整个系统里没有任何东西能告诉后来的人:智能体动了哪几行、原来是什么、是哪个智能体干的。

这不是引擎的问题,所以换引擎解决不了。约束校验的是格式,行级安全校验的是权限,两者都不保留改动前后的值。

引擎漏掉的那一层:每次修改都是变更请求

Busabase 就是现成的这一层。它底层跑在 Postgres 上,但智能体不是盲目地往里写行。每次修改——一条记录、一篇文档、一个技能文件、一次表结构调整——都是一个变更请求:一条带不可篡改提交、说明和逐字段差异的分支。合并只是把记录往前推,不覆盖任何内容。

在裸数据库上要做到同样的事,就得自己设计并维护审计表、触发器、带晋升步骤的暂存表,以及一个审核界面。

  • 每次写入都有说明和差异。每个改动写明做了什么,并逐字段展示改动前后。
  • 知道是哪个智能体改的。作者,以及改动经由哪把密钥、哪个工具提交,都记在提交上。
  • 自带撤销。记录、文档、技能都保留完整历史;合并不会覆盖旧值,任何改动都能回滚。
  • 要不要审,由你决定。有写权限的写入立即合并。给某个智能体一把「只能提议」的密钥,或提交时带上 autoMerge: false,改动就会进收件箱,等人批准或退回。查看变更请求文档。
Busabase 中一条待审核的变更请求:改动说明、记录正文的前后差异,以及批准或要求修改的按钮
收件箱里的一条变更请求:改了什么、谁通过哪个工具提的,以及字段改动前后的内容。

在 Postgres 上自己搭,还是用 Busabase

每一行都是团队管理智能体所写业务数据时必须覆盖的工作。最后一行是 Postgres 的主场,那里的正确答案就是 Postgres。

你需要的Busabase在 Postgres 上自己搭
看到每次改动的前后,以及是哪个智能体改的自带:每个提交都有逐字段差异、作者、所用密钥或工具自己设计审计表和触发器;不专门保留,旧值就没了
让某个智能体的改动先等人审可以:「只能提议」的密钥把改动送进收件箱暂存表、晋升步骤、审核界面
只撤回某一次错误改动可以:任何变更请求都能回滚时间点恢复会回滚整个库,或者手写修复
让同事查看并修正智能体写的内容可以:表格、画廊、看板、日历、甘特图视图自己做管理后台或内部工具
把文档、文件和技能放在记录旁边可以:同一棵目录树,同一套权限另找存储,另搭知识库
在这些内容里精确搜索文字可以:一次 grep 覆盖文件、文档正文、记录和提示词对自己的表写 SQL 和全文检索
把数据做成应用或网站可以:AirApp,包括绑定自己域名的网站前端和托管自己找
接入 Claude Code、Codex 等智能体可以:MCP、命令行、OpenAPI、Webhook 和插件自己写工具或 MCP 服务器,并做好安全
你自己应用的事务状态、向量召回、高频写入不是它的活:用 Postgres(加 pgvector)可以:这正是 Postgres 的用途

Busabase 还给智能体和团队带来什么

看得懂的可视化数据表

每张数据表都能切换成表格、画廊、看板、日历或甘特图,支持保存视图和 AND/OR 条件组。同事不用写 SQL 就能检查智能体的产出。

团队知识库

文档、文件和数据表在同一棵目录树里,共用一套权限。成员按只读、可写、管理三种角色加入;智能体用自己的密钥加入。

一次 grep 搜遍所有内容

一条正则同时搜索文件、文档正文、数据表记录和智能体提示词,返回所在行和上下文。了解 grep。

全团队共用的技能

团队技能上传一次,每个接入的智能体读到的都是同一个版本。修改技能也是变更请求,谁改了哪条指令、为什么改,一目了然。

长在实时数据上的 AirApp

让智能体在工作区数据上做一个小应用。它可以跑在浏览器、你这台电脑、云端沙箱里,或者发布成网站。

绑定自己域名的网站

网站引擎跑在 Cloudflare Workers 上,可以带后端接口,支持自定义域名(Cloud 需 Plus 及以上)。智能体可以通过命令行、API 或 MCP 预览和发布。网站文档。

几分钟接入智能体

MCP、命令行、OpenAPI REST、Webhook、Python SDK,以及为 Claude Code、Codex、DeepSeek Harness 打包好官方技能的插件。接入你的智能体。

开源,哪里都能跑

MIT 协议。可以跑在笔记本上、自托管、离线或物理隔离环境,也可以用 Busabase Cloud。整个空间能导出成普通文件:Markdown、数据表定义和 JSON 记录。

价格固定、可预期

小团队有免费版;Cloud 付费版按席位固定价,没有按量超额。自托管免费,不限席位。查看价格。
Busabase 数据表:以表格展示智能体写的文章,有标题、封面图和正文列,以及保存好的视图
Busabase 里的一张数据表:智能体写的记录,团队里谁都能看懂。保存的视图从同一批记录里筛出不同的切面。

接下来

以下功能正在开发,目前还不能用。上线之前,本页都会这样标注。

应用用户开发中

使用你发布的应用的人,用邮箱验证码登录,只看到自己的记录。由平台强制执行;他们不是工作区成员,不占席位。

业务本体(Ontology)开发中

在现有数据表之上定义公司、联系人、商机这样的业务对象和它们之间的关系,让人和智能体说同一套话。对它的修改同样走变更请求。

细粒度权限开发中

数据表内按行、按字段控制访问;给智能体按任务授权并设到期时间;访问申请由人来批准。

两者一起用

这不是二选一。应用状态放 Postgres,召回用 pgvector,缓存用 Redis,遥测放分析库。智能体为团队产出的事实——调研、客户记录、内容、运营文档——放进 Busabase,人看得懂,每次改动都可追溯。如果你在具体比较托管 Postgres,见Busabase 与 Supabase 对比。

说明一下:Busabase 自己就跑在 Postgres 上——本地用 PGlite,Cloud 用标准 Postgres。在引擎问题上我们不中立,但我们的选择很无聊,这正是本节想说的。

常见问题

Postgres 对 AI Agent 够用吗?
对大多数项目够用,包括通过 pgvector 做向量检索。等测量结果说明需要时,再加第二套系统。
我需要向量数据库吗?
一开始通常不需要。当向量达到数千万级并有实测的延迟目标,或者大量元数据过滤配合近邻搜索在 pgvector 里表现不佳时,再考虑。
提示词和回复存哪里?
别存进事务数据库。大量追加、无限增长的遥测数据,应该尽早单独存放。
智能体写的业务数据该放哪?
放在人看得懂、每次改动都保留前后值和作者的地方。在 Busabase 里每次修改都是变更请求;有写权限的写入立即合并,也可以让特定智能体的改动先等人审。
Busabase 用什么数据库?
Postgres——本地用 PGlite,Cloud 用标准 Postgres。Busabase 不替代你应用的数据库,它是智能体为团队产出的工作成果的存放处。
一个数据库能包办这一切吗?
Postgres 最接近,也是正确的起点。规模变大后负载会分化,通常遥测最先需要单独存放。

下一步

如果引擎问题已经定了,卡住你的是「智能体到底改了什么」,那就接入一个智能体到 Busabase,看看它留下的第一个变更请求。

相关阅读: AI Agent 的记录系统 · Busabase 对比 · Busabase 与 Supabase · 变更请求 · 什么是智能体工作区

资料来源: pgvector README