你的AI Agent会思考,但不会记忆

你的 AI Agent 今天帮你写了一段代码,问它写得怎么样,它头头是道。明天再问,它一脸茫然——那段代码去哪儿了?它不记得了。
这不是 Bug,是架构问题。
Agent 聪明,但记性很差
现在搞 AI Agent 开发的人,多半都有过这种体验:对话过程中它表现惊艳,出了会话就形同陌路。你让它存个数据,它得问你"存在哪里"。两个 Agent 要同时处理同一批文件,轻则互相覆盖,重则数据全毁。
更别提让它执行代码了。给 Agent 下达"跑一下这个脚本"的指令,心里总有一根弦绷着——万一它给你来个 rm -rf /,找谁说理去?
Agent 的推理能力日新月异,但它的后勤保障一直被忽视。
现在你的技术栈,可能长这样
搭一套 Agent 基础设施,大多数人的清单是:
- Neon 或 Supabase 撑数据库
- Mem0 或 Zep 跑记忆服务
- Pinecone 或 pgvector 做向量搜索
- S3 存文件
- E2B 跑沙箱
五六个服务,彼此之间靠胶水代码粘在一起。
听起来能用,实际上问题一堆。Agent 的记忆模块查不了自己数据库。沙箱读不了 Agent 的文件。更要命的是,某个凌晨三点,粘合剂断了。
Ghost 的思路:把数据库当成 git 仓库用
Ghost 认为,Agent 不需要传统意义上的数据库——它需要的是"随用随开、用完就丢"的临时空间。
Spin up 一个数据库,就像你新建一个 git 分支。干完活,好的东西留下来,不行的直接扔掉。做危险迁移之前,先 fork 一份试试水。实验完了,merge 或者 discard。
数据库不再是底层基础设施的一部分,而是工作流本身的一部分。
Ghost 通过 MCP 协议接入,Agent 只需要调用 ghost mcp install,就能像发现其他工具一样发现它。没有 UI,没有繁琐的配置界面。免费提供无限数量的数据库,每个数据库 1TB 存储空间。
每个 Ghost 数据库都是原生 PostgreSQL。Agent 不需要重新学习任何东西——Schema 设计、SQL 查询、索引优化、调试技巧,所有 LLM 的权重里都内置了 postgres 的知识。
工具全家桶,全部跑在 PostgreSQL 上
Ghost 本身只做一件事,但它和一系列工具配合,形成了完整的 Agent 记忆与执行层。关键是,这些工具全部基于 PostgreSQL,不需要额外的外部系统。
Memory Engine:会记录"什么时候知道什么"
Agent 每次会话结束就清零,这是老问题了。你可能已经试过向量数据库或者独立的记忆服务。
Memory Engine 把这件事做进了 PostgreSQL 里。搭配 Ghost 使用时,Agent 的记忆和数据都存在同一个空间内。用 SQL 直接查询记忆不再是梦想。
更重要的是,它天然支持时间维度。大多数记忆系统把记忆当成一个扁平仓库,存进去、取出来,中间发生了什么它不管。Memory Engine 则追踪每条信息的生效时间、变更时间、被新信息替代的时间点。
这恰好就是人类记忆的工作方式——你记得"2024 年房价涨过",也记得"2025 年又跌回来了",两段记忆不会互相覆盖。
在此基础上,关键词搜索、语义搜索、分面搜索、层级搜索,可以同时用一条 SQL 完成。
底层技术是 pg_textsearch——它把 BM25 关键词精确度和 pgvector 语义相似度结合在一起。每个 Ghost 数据库都自带,不需要额外部署 Elasticsearch 或者同步向量库。
TigerFS:把 PostgreSQL 当文件系统用
Agent 日常会产生大量文件:报告、代码、数据集、日志。常规做法是扔到 S3,但 S3 里的文件是游离的——无法参与事务、无法被查询、无法保证并发写入的一致性。
TigerFS 把文件存进 PostgreSQL,文件变成了数据库里的一等公民。写入时带事务保证,并发访问不会覆盖,多个 Agent 可以同时读写同一个项目而不会互相踩脚。
Ox:沙箱执行,但上下文完整
Agent 需要跑代码。Ox 提供了一个与主分支隔离的沙箱执行环境,但这个沙箱直接连接着 Agent 的数据库和 TigerFS 文件系统。
沙箱里的代码不是在真空中跑,它能看到 Agent 知道的一切——历史记忆、相关数据、文件上下文。
实际用法举例
Ghost 团队分享了一些 Beta 测试者的用法:
代码审查 Agent:接到 PR 后,先 fork 一份数据库快照,隔离出当前状态。在 Ox 沙箱里跑测试套件检查回归。查询 Memory Engine,看这个文件之前被谁 review 过、有什么反馈历史。写完 review 后把结果存进 TigerFS,更新自己的记忆。
研究 Agent:为每个调研项目 spin up 一个 Ghost 数据库存储素材。报告草稿写成 Markdown 文件丢进 TigerFS。查 Memory Engine 看这个公司之前有没有被调研过。干完活把发现以完整时间上下文存档,下次调研时 Agent 能清楚知道"上次研究这个领域是什么时候、发现了什么"。
多 Agent 协作:三个 Agent 同时工作,一个写代码,一个写文档,一个跑测试。三个都通过 TigerFS 读写文件,互不干扰。三个都查 Memory Engine 避免重复劳动。三个各自有独立 Ox 沙箱,但沙箱都能访问共享的 Ghost 数据库。共享底座,但互不传染故障。
为什么选 PostgreSQL
Ghost 团队在 TimescaleDB 工作了很长时间,TimescaleDB 是 PostgreSQL 时间序列扩展里用得最广的之一。Memory Engine 的时间处理能力直接来自这十年的工程积累。
选 PostgreSQL 的理由很朴素:它已经被生产环境验证了三十年,处理事务、并发、复制、故障恢复这些事轻车熟路。Agent 基础设施需要稳定的底座,PostgreSQL 就是那个你不需要半夜爬起来修它的选择。
当数据库、记忆、搜索、文件全部跑在同一套 PostgreSQL 上,它们天然共享同一套事务模型、同一个认证体系、同一种查询语言。中间那层"粘合剂"本来就不需要存在。
开始使用
Ghost 目前处于早期访问阶段。安装命令:
curl -fsSL https://install.ghost.build | sh
常见问题
Ghost 和传统数据库服务有什么区别?
传统数据库需要你精心配置规格、选择云服务商、规划存储容量,用完还得想着备份和维护。Ghost 的数据库是按需创建的,用完可以丢弃,不占你的运维精力。每个 Ghost 数据库都是原生 PostgreSQL,你不需要学习新的查询语言。
为什么全部基于 PostgreSQL?
PostgreSQL 经过三十年生产环境验证,事务处理、并发控制、故障恢复能力成熟稳定。把数据库、记忆、搜索、文件全部跑在同一套系统上,它们天然共享同一套事务模型和认证体系,不需要额外的胶水代码来粘合。
Memory Engine 的时间记忆具体是怎么工作的?
大多数记忆系统把信息存进去、取出来,中间发生什么它不关心。Memory Engine 追踪每条信息的生效时间、变更时间和被替代时间。你可以问"Agent 在周二下午三点对某用户知道些什么",它能给你答案,因为时间本身就是记忆的一部分。
在 Claude Code 里直接运行 ghost mcp install,Agent 就能立刻开始使用这套工具链。
整套工具链:
- Ghost → Agent 的即时临时数据库
- Memory Engine → 持久化时间记忆
- pg_textsearch → BM25 + 向量混合搜索
- TigerFS → PostgreSQL 文件系统
- Ox → 连接数据的沙箱执行环境
全部跑在 PostgreSQL 上,全部支持 MCP 协议。用几个随意,组合起来效果更好。