news 2026/9/24 17:08:10

AX智能体编排运行时用SQLite还是Postgres?本地开发vs生产部署终极选型指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AX智能体编排运行时用SQLite还是Postgres?本地开发vs生产部署终极选型指南

AX智能体编排运行时用SQLite还是Postgres?本地开发vs生产部署终极选型指南

【免费下载链接】axGoogle's open agentic orchestration runtime项目地址: https://gitcode.com/GitHub_Trending/ax11/ax

AX(Agent Executor)是 Google 开源的智能体编排运行时(agentic orchestration runtime),它为长时运行的 AI 智能体提供隔离执行、故障恢复和断点续跑能力。AX 用一份持久化、只追加的事件日志(Event Log)记录智能体的每一步动作,而这份日志的存储后端你可以二选一:SQLite(本地开发首选)Postgres(生产部署推荐)。本文带你 3 分钟搞懂两者差异,选对存储不踩坑。

为什么存储选型对 AX 很重要?

AX 的核心设计是"单写入者架构"(Single-Writer Architecture):所有执行状态都落盘到事件日志中,即使进程崩溃、网络中断,也能按日志顺序重放并自动恢复执行(resumption)。

也就是说,事件日志不是普通的"缓存数据",而是智能体执行的可信状态源——日志丢一行,续跑就无从谈起。这就是为什么选存储后端时,第一原则是可靠性,第二才是便利性。

事件日志的接口定义在 internal/controller/eventlog/eventlog.go,SQLite 和 Postgres 两种实现共享同一套核心逻辑,封装在 internal/controller/eventlog/sql.go 中——换存储后端,上层行为完全一致

本地开发:SQLite 零配置,开箱即用

🏠 在本地跑 AX,什么都不用配。AX 默认使用 SQLite,事件日志会写到eventlog/log.sqlite这个单文件数据库。

仓库内置的本地示例配置 ax.yaml 就是这样写的:

eventlog: sqlite: filename: "eventlog/log.sqlite"

SQLite 方案有几个让开发者舒服的细节:

  • 零依赖:不需要安装、启动任何数据库服务,克隆仓库就能跑ax serve
  • 纯 Go 驱动:基于modernc.org/sqlite实现,免 CGO 编译,交叉编译和容器打包都很省心(见 internal/controller/eventlog/sqlite.go)
  • 并发不慌:默认开启了 10 秒 busy_timeout 和 immediate 事务锁,写入冲突时自动等待而不是直接报错
  • 迁移友好:想清空全部历史数据?删掉那个.sqlite文件即可

配置结构体定义在 internal/config/config.go 中的SQLiteConfig,只有一个filename字段。

生产部署:Postgres 支撑多租户高可靠

🚀 当 AX 部署到 Kubernetes(尤其是配合 Agent Substrate 的官方生产方案)时,官方推荐用Postgres作为事件日志后端。原因很直接:

  • 多副本与高可用:SQLite 是单机单文件,无法被集群内多个节点安全共享;Postgres 支持连接池、读写分离和主从复制
  • 运维成熟:Postgres 是云上托管数据库(如 Cloud SQL)的一等公民,备份、监控、扩容都有现成生态
  • 数据安全:事件日志是智能体状态的唯一事实来源,交给专业数据库的 ACID 事务来守护

生产环境的接入方式分两种(详见 manifests/README.md):

  1. 自带数据库(推荐):通过环境变量AX_EVENTLOG_DSN指向你已有的 Postgres 实例,配置文件 manifests/ax.yaml 中的 DSN 支持环境变量展开,密码不会明文写进清单
  2. 内置测试库:加--deploy-postgres参数,安装脚本会自动在集群内拉起一个 Postgres 16 的 StatefulSet(带 10Gi 持久卷),清单在 manifests/ax-postgres.yaml

Postgres 后端实现见 internal/controller/eventlog/postgres.go,连接后会主动 Ping 校验可用性并自动建表,坏连接会在启动阶段就暴露出来。

SQLite vs Postgres 快速对比

维度SQLitePostgres
部署方式单文件,零配置独立数据库服务
适用场景本地开发、单机、PoC 验证Kubernetes 集群、多租户生产
并发能力单节点写入(自带等待锁)多客户端并发读写
数据可靠性依赖所在磁盘ACID + 主从/托管备份
配置项eventlog.sqlite.filenameeventlog.postgres.dsn
运维成本几乎为零需要 DBA/托管服务

3 分钟上手配置

本地开发(什么都不改即可,默认 SQLite):

ax serve # 或跑一次对话 ax --input "Can you list this directory?"

生产部署(YAML 中切换为 Postgres,DSN 支持${VAR}环境变量展开,选择逻辑见 cmd/ax/internal/cliutil/cliutil.go):

eventlog: postgres: dsn: "${AX_EVENTLOG_DSN}"

⚠️ 一个容易踩的坑:配置里写了postgres.dsn就优先走 Postgres,否则回退到 SQLite 默认路径。两种后端不会混用,切换后端时记得确认数据在哪边。

总结:怎么选?

  • 🎯本地跑通、学习源码、做原型→ SQLite,默认配置直接用,删个文件就能重置
  • 🎯上集群、多副本、要审计和恢复→ Postgres,官方 K8s 部署方案的标准姿势

一句话记忆:开发图快选 SQLite,生产图稳选 Postgres——而得益于统一的事件日志抽象,两者之间切换只改一行配置,你的智能体代码一行都不用动。

【免费下载链接】axGoogle's open agentic orchestration runtime项目地址: https://gitcode.com/GitHub_Trending/ax11/ax

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 17:08:09

3 步搞定:国家中小学智慧教育平台电子课本下载工具使用指南

3 步搞定:国家中小学智慧教育平台电子课本下载工具使用指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

作者头像 李华
网站建设 2026/9/24 17:03:46

30 分钟配好 Continue:JetBrains 插件安装、离线构建与调参指南

30 分钟配好 Continue:JetBrains 插件安装、离线构建与调参指南 【免费下载链接】continue open-source coding agent 项目地址: https://gitcode.com/GitHub_Trending/co/continue 写代码时总要切到网页版 AI 问一句,答完再切回来贴代码&#xf…

作者头像 李华
网站建设 2026/9/24 16:58:17

45 分钟搭好 MinIO 监控:从指标抓取到 Grafana 完整指南

45 分钟搭好 MinIO 监控:从指标抓取到 Grafana 完整指南 【免费下载链接】minio MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license. 项目地址: https://gitcode.com/GitHub_Trending/mi/minio 周五下午磁盘…

作者头像 李华
网站建设 2026/9/24 16:51:04

STL(c++)

本文介绍c标准模板库(STL)一、STL的组成STL提供了一套通用模板类和函数,主要包含三个部分:容器:比如vector、list、map,用来存储和管理数据算法:比如sort、find,用来对容器里的数据进…

作者头像 李华