基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-10-22 15:00

用数据库分支演练智能体写入

dev.to · AI#Agent#数据库#Databricks
Editor brief · 编辑速览

文章介绍 Databricks Lakebase 的数据库分支思路:让 Agent 在生产副本中演练写入,再审核变更并通过迁移重放,分支不会自动合回。作者在 Neon 上验证了十个 Agent 各自创建并删除分支,未声称实测完整 Databricks 链路。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

企业里的 AI Agent 为什么常常只能查数据,不能改数据?作者给出的解释很实际:一旦写错,团队还没想清楚怎么隔离影响、核对结果和追究过程,于是干脆关掉写权限。

Lakebase 吸引作者的地方,是把数据库分支和行级变更记录放进了同一套平台。Agent 可以先在分支里演练,团队根据实际改动做判断,再单独执行批准后的操作。不过,作者只实测了 Neon 的分支部分,完整的 Lakebase 流程仍需验证。

给 Agent 一份生产数据,为什么不用复制整库

数据库分支采用写时复制(copy-on-write)。新分支先指向父分支已有的数据版本,之后的修改才单独记录,不需要创建时搬运整库。

按原文的描述,2TB 数据库和 10GB 数据库都能在数秒内建立分支;在 500GB 数据库里修改 50MB,分支新增存储大约对应这 50MB。这里讨论的是分支存储增量,不能据此认定计算和运行成本也可以忽略。

它解决的是共享 staging 数据库里的老问题:你的测试失败,原因可能是别人尚未完成的迁移。给每次 Agent 任务独立分支,起点可以一致,后续写入互不干扰。

Databricks 在 2025 年 5 月以约 10 亿美元收购 Neon。原文援引 Ali Ghodsi 当时的说法,Neon 上约 80% 的新建数据库由 Agent 创建。这个数字描述的是 Neon 的使用情况,不能直接推成整个行业的比例。

这套技术后来成为 Lakebase。按原文时间线,它于 2026 年 1 月 22 日在 AWS 正式可用,公告博客发表于 2 月,Azure 则在 3 月上线。配置包括 Postgres 17、内置 pgvector、分支和时间点恢复;每分支存储从正式发布时的 8TB 增至 16TB,缩容到零后,下一次查询可在数百毫秒内唤醒。

但作者关注的重点,是它如何连接企业已经治理好的数据。

怎样看清 Agent 究竟改了哪些行

Lakebase 提供两个方向的数据通路。

Synced tables 把 Unity Catalog 表同步到 Postgres,让应用以低于 10ms 的延迟读取受治理的数据,并使用完整的 ACID 事务能力。它有三种模式:snapshot 做一次性复制,triggered 按计划刷新,continuous 持续同步,间隔下限为 15 秒。

边界也很具体:官方强烈建议把同步表当成只读表;triggered 和 continuous 同步只支持增量式的 schema 变更;每张同步表最多占用 16 个连接,而实例连接上限为 1,000。同步表铺得多,连接容量就需要提前算。

反方向是 Change Data Feed。按表开启后,它从 Postgres 预写日志(WAL)读取 insert、update、delete,约每 15 秒批量写入 Unity Catalog 管理的 Delta 表。目标表名为 lb_<table_name>_history,附带五个字段:

_pg_change_type、_pg_lsn、_pg_xid、_timestamp 和 _sort_by。

其中,_pg_change_type 的取值包括 insert、delete、update_preimage、update_postimage。一次更新会留下修改前、修改后两行记录,可以结合事务 ID 和日志序列号理解变更顺序。

核对写入结果时,数据库留下的行记录比 Agent 的自述更直接。

Agent trace 能解释执行过程,却不能替代数据结果。自己写审计表和触发器,需要额外维护;语句日志则需要继续还原实际影响。Change Data Feed 的价值,是把行级变化变成同一治理目录下可用 SQL 查询的表。

它仍处于 preview,需要源表设置 REPLICA IDENTITY FULL,不支持分区表,也不记录 DDL。两条通路里都出现了约 15 秒这个数字,但原文没有给出完整往返延迟的实测,不能把它当成端到端承诺。

分支不能合并,为什么仍然有用

Lakebase 没有把子分支变更推回父分支的内置 merge 或 promote 操作。Neon 也刻意不自动合并已经分叉的数据库:两个分支都插入 id 4 时,系统无法仅凭数据判断哪一个才符合业务意图。

所以,数据库分支不能照搬 Git 功能分支的工作习惯。

Schema 变更需要整理成迁移脚本,再用 Flyway、Liquibase 或 Alembic 应用到父库。数据修改则要通过正常应用写入路径,或针对任务编写的脚本处理。Lakebase 的 Schema diff 可以在子分支的 Parent branch 区域展示 DDL 对比,但不会合并,也不会替你完成迁移。

作者在 Neon 上做过一次具体实验。他编写的 multirun 把同一任务并行执行 N 次,每次分配独立的 git worktree,以及从同一个预置父库建立的数据库分支。

那次实验有 10 个 Agent,耗时 50 分 10 秒,共 930 轮交互,触及 143 个文件。约 30MB 的父库建立分支用了 1.38 秒,模型 token 按标价计算约 32 美元。

十个 Agent 都设计了 teams 表、成员关联表,以及 assets 上的外键,却在业务规则上分叉:

  • 删除团队时,5 个选择 SET NULL,5 个选择 CASCADE。
  • 成员关联表中,5 个使用复合主键,5 个使用代理主键。
  • 团队引用有 8 个允许为空,2 个要求必填并做回填。

10 次运行不能证明稳定的选择比例,却足以暴露任务描述里的歧义。删除团队之后,资产应该保留还是一起删除?这需要产品规则,无法只靠模型补全。

作者比较差异后删除了全部 10 个分支,没有合并任何一个。他需要的是决策依据。

由此形成的流程是:先在分支演练,再根据差异或变更记录批准,最后通过独立操作重放已批准的修改。分支完成任务后就可以销毁。

我的判断

我认同作者把写权限拆成「演练、判断、重放」三个步骤。它把一个难以回答的问题,即「敢不敢让 Agent 改生产」,变成了几个能分别验收的工程环节。

但这篇的证据有明确边界。作者跑通的是 Neon 分支实验,没有启动 Lakebase 工作区,也没有实测 Synced tables 与 Change Data Feed 的完整组合。因此,产品能力描述和亲手验证的结果需要分开看。

分支隔离的是数据库状态,批准的是具体业务变更。

邮件、外部 API、对象存储文件仍可能产生真实影响,需要另行隔离。生产形态的数据也可能包含敏感信息,连接分支不等于获得了任意读取资格。Change Data Feed 记录哪些行发生变化,却不回答谁批准了操作、Agent 读过什么、哪个 prompt 触发了任务。

重放同样有前提。演练期间生产数据可能继续变化,批准时正确的修改,执行时未必仍然成立。原文没有展开并发冲突和业务前置条件如何检查,这部分需要团队自行设计。

与共享 staging、审计触发器和语句日志相比,这套方案的吸引力是隔离与记录更接近基础设施能力。但作者没有提供维护成本、吞吐量或费用的对照测试。是否值得采用,仍取决于团队是否已有 Databricks 数据治理体系,以及写入任务的实际复杂度。

能拿来做什么

  • 给现有 AI 编程任务增加数据库分支,让涉及 schema 或数据修改的运行拥有独立起点,并在任务结束后清理分支,减少共享测试库互相污染。
  • 在执行涉及外键、删除策略和数据回填的任务前,把 SET NULL、CASCADE、是否允许为空写成明确验收条件,减少模型自行决定业务规则的空间。
  • 审查 Agent 的数据库修改时,同时查看 schema 差异和受影响的数据行;已经使用 Lakebase 的团队,可以评估 Change Data Feed 的 preview 限制是否适合当前任务。
  • 将批准后的 schema 修改整理成迁移,将数据修改交给有明确权限和前置检查的应用路径或任务脚本执行,不把分支当成可以直接合并回生产的成果。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
IBM开源2B语音模型,支持转写与翻译
下一篇
让 Claude 按项目组件库正确写界面

资讯速览

dev.to · AI · 2026-10-22 15:00

AI 评分 8.0 / 10

相关标签

#Agent#数据库#Databricks

继续阅读

  • AI 生成应用上架前的五项检查
  • IBM开源2B语音模型,支持转写与翻译
  • 让 Claude 按项目组件库正确写界面
  • 让编码智能体遵守团队规范的关键
  • 星火 X2.6 发布,配套开源 4B 端侧模型