
AX智能体编排运行时用SQLite还是Postgres本地开发vs生产部署终极选型指南【免费下载链接】axGoogles open agentic orchestration runtime项目地址: https://gitcode.com/GitHub_Trending/ax11/axAXAgent Executor是 Google 开源的智能体编排运行时agentic orchestration runtime它为长时运行的 AI 智能体提供隔离执行、故障恢复和断点续跑能力。AX 用一份持久化、只追加的事件日志Event Log记录智能体的每一步动作而这份日志的存储后端你可以二选一SQLite本地开发首选或Postgres生产部署推荐。本文带你 3 分钟搞懂两者差异选对存储不踩坑。为什么存储选型对 AX 很重要AX 的核心设计是单写入者架构Single-Writer Architecture所有执行状态都落盘到事件日志中即使进程崩溃、网络中断也能按日志顺序重放并自动恢复执行resumption。也就是说事件日志不是普通的缓存数据而是智能体执行的可信状态源——日志丢一行续跑就无从谈起。这就是为什么选存储后端时第一原则是可靠性第二才是便利性。事件日志的接口定义在 internal/controller/eventlog/eventlog.goSQLite 和 Postgres 两种实现共享同一套核心逻辑封装在 internal/controller/eventlog/sql.go 中——换存储后端上层行为完全一致。本地开发SQLite 零配置开箱即用 在本地跑 AX什么都不用配。AX 默认使用 SQLite事件日志会写到eventlog/log.sqlite这个单文件数据库。仓库内置的本地示例配置 ax.yaml 就是这样写的eventlog: sqlite: filename: eventlog/log.sqliteSQLite 方案有几个让开发者舒服的细节零依赖不需要安装、启动任何数据库服务克隆仓库就能跑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自带数据库推荐通过环境变量AX_EVENTLOG_DSN指向你已有的 Postgres 实例配置文件 manifests/ax.yaml 中的 DSN 支持环境变量展开密码不会明文写进清单内置测试库加--deploy-postgres参数安装脚本会自动在集群内拉起一个 Postgres 16 的 StatefulSet带 10Gi 持久卷清单在 manifests/ax-postgres.yamlPostgres 后端实现见 internal/controller/eventlog/postgres.go连接后会主动 Ping 校验可用性并自动建表坏连接会在启动阶段就暴露出来。SQLite vs Postgres 快速对比维度SQLitePostgres部署方式单文件零配置独立数据库服务适用场景本地开发、单机、PoC 验证Kubernetes 集群、多租户生产并发能力单节点写入自带等待锁多客户端并发读写数据可靠性依赖所在磁盘ACID 主从/托管备份配置项eventlog.sqlite.filenameeventlog.postgres.dsn运维成本几乎为零需要 DBA/托管服务3 分钟上手配置本地开发什么都不改即可默认 SQLiteax serve # 或跑一次对话 ax --input Can you list this directory?生产部署YAML 中切换为 PostgresDSN 支持${VAR}环境变量展开选择逻辑见 cmd/ax/internal/cliutil/cliutil.goeventlog: postgres: dsn: ${AX_EVENTLOG_DSN}⚠️ 一个容易踩的坑配置里写了postgres.dsn就优先走 Postgres否则回退到 SQLite 默认路径。两种后端不会混用切换后端时记得确认数据在哪边。总结怎么选本地跑通、学习源码、做原型→ SQLite默认配置直接用删个文件就能重置上集群、多副本、要审计和恢复→ Postgres官方 K8s 部署方案的标准姿势一句话记忆开发图快选 SQLite生产图稳选 Postgres——而得益于统一的事件日志抽象两者之间切换只改一行配置你的智能体代码一行都不用动。【免费下载链接】axGoogles open agentic orchestration runtime项目地址: https://gitcode.com/GitHub_Trending/ax11/ax创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考