top of page

Databricks Lakebase 分支让编程智能体直面共享数据库

5天前
讀畢需時 15 分鐘

Databricks 将 Databricks Lakebase 分支置于其智能体化软件开发生命周期的核心位置,挑战仍在制约并行编程智能体的共享数据库。该公司在 10 月 9 日提出的观点很明确:代码智能体需要像获得隔离的 Git 分支一样,便捷地获得隔离的数据库状态。

这一前提将数据库从支撑性基础设施转变为智能体的工作环境。智能体可以快速编写应用代码,但有意义的测试通常需要真实的模式、记录、迁移和状态转换。共享的开发数据库会让这些并行实验变成排队等待。

Lakebase 提出了另一种模式。每个编程智能体都会获得一个与其代码分支关联、可随时丢弃的数据库分支。Databricks 表示,写时复制存储仅记录分支自身的变更,因此能够在不复制整个父数据库的情况下创建这些环境。

这一理念并非 Databricks 独有。Neon 一直在推广用于开发和测试、承载数据的 Postgres 分支;PlanetScale 则围绕兼容 MySQL 的工作负载建立了模式分支和部署审查机制。因此,这场竞争不止关乎某一款数据库产品,而是关乎智能体化开发究竟会继续把数据视为共享依赖,还是将其打造为可版本化、可隔离的基础设施。

Databricks Lakebase 分支连接代码与数据状态

关键变化不在于数据库可以分支,而在于 Databricks 现在将数据库分支视为每个编程智能体的标准执行边界。

编程智能体很少只修改应用文件。它可能新增一列、重写查询、生成测试记录、更新索引或运行迁移。这些操作都会改变状态,因此仅有 Git 分支无法容纳整个实验。

Databricks 在其 智能体化 SDLC 论述中描述了这一问题。多个智能体可以在独立的 Git worktree 中工作,但当它们的应用都指向同一个开发数据库时,仍然会发生冲突。一个智能体的迁移可能使另一个智能体的测试失效;一条破坏性命令可能删除其他所有任务都依赖的共享测试数据。

Lakebase 通过为每个代码分支配对一个数据库分支来解决这种不匹配。数据库分支从选定的父状态开始,包括其模式和可访问的数据。变更会与父分支及同级分支保持隔离。

这一模式支持多种具体工作流。编程智能体可在修改模式前创建分支,运行迁移,测试新的应用行为,并在审查后删除环境。持续集成任务也可以为同一项拉取请求创建另一个分支,并从可重复的时间点开始。

分支还可帮助复现生产故障。工程师可以从较早的数据库状态创建隔离环境,让智能体进行调查,并在之后丢弃该环境。调查不再需要直接对生产数据库进行实验。

存储机制至关重要。根据该公司早前的智能体数据库分析,Lakebase 使用 O(1) 元数据操作创建写时复制分支。O(1) 表示初始操作的开销不会随数据库规模增长。

分支引用现有存储,而不是复制每一个底层数据块。随着自身数据逐渐偏离,它才会消耗额外存储。Databricks 表示,用户为实验运行期间的数据库计算资源付费,而不必为每项任务提供完整的物理克隆。

该公司还称,在 Lakebase 中,AI 智能体创建的数据库数量约为人类用户的四倍。这是供应商报告的观察结果,并非全行业范围的测量。不过,它说明了 Databricks 正围绕何种工作负载进行设计:通过自动化创建大量短生命周期环境。

Lakebase 通过平台接口而不只是图形控制台提供这一工作流。其分支 API包含创建分支的端点,以及针对项目和计算资源的操作。这为编程智能体、CI 系统和部署工具提供了可编程的控制平面。

由此形成的工作单元变得更加完整。代码提交标识软件修订版本,相应的数据库分支则标识用于测试它的数据状态。日志、测试结果和迁移产物随后可以同时引用二者。

这种配对并不会让数据库分支变成 Git 分支。Databricks 明确区分两者。团队通常不应像处理源文件那样,将修改后的数据库记录合并回生产环境。受版本控制的迁移文件仍然是推动模式变更的持久指令。

这一区别至关重要。分支是测试与评估环境,而不是将智能体生成状态不受限制地迁入生产环境的通道。代码审查、迁移审查和部署控制仍然决定哪些内容能够保留。

10 月 9 日的表述将分支纳入智能体化 SDLC,即由软件智能体规划、编辑、测试并迭代改进应用的开发生命周期。数据库分支为这一循环提供了缺失的状态边界。它并未消除人工审批或受控部署的必要性。

并行编程智能体将共享数据库变成瓶颈

编程智能体增加了同时进行的实验数量,因此数据库隔离成为吞吐量要求,而不再只是开发者便利措施。

传统开发环境假设由人主导的任务数量相对较少。团队可能维护一个共享开发数据库、一个预发布系统,以及经过谨慎管理的测试数据。协调虽不便,但人们可以在进行破坏性变更前彼此沟通。

智能体的运作方式不同。协调器可以同时启动多项任务,让每个智能体尝试不同实现。即使这些任务从同一份代码仓库提交开始,它们的数据库需求也会很快分化。

一个智能体可能测试重命名字段的迁移。另一个可能使用旧模式生成示例记录。第三个可能在衡量查询行为时更改索引。如果三者共用一个数据库,它们的工作就并非真正并行。

共享环境还会削弱评估能力。一次失败的测试可能反映代码缺陷、另一项任务带来的不兼容迁移,或几秒钟前被修改的测试数据。当测试条件不断变化时,协调器无法可靠地比较候选实现。

每个智能体拥有一个分支,可以形成更干净的实验。每个候选方案都从已知的数据库时间点开始,并获得各自的连接信息。评估流程可以在各个分支中运行相同测试、比较结果,并仅保留被选中的代码路径。

这一模式类似投机执行。系统在提交某一项变更前探索多种可能的变更。低成本的代码分支让这种方式适用于源文件,而高成本的数据库复制则曾限制其在有状态应用中的使用。

Databricks 正押注于基于元数据的分支能够消除这种不对称性。如果分支创建足够快,并且存储增长仅跟随变更的数据,编排器便可在常规任务执行中创建和销毁环境。

压力首先会落在共享开发数据库和手动环境配置上。每当智能体测试一项功能时,数据库管理员不应都需要准备完整克隆。开发者也不应在验证迁移前等待共享预发布窗口。

这一压力同样会延伸到传统 CI 流水线。许多流水线仍针对由简化测试数据初始化的容器运行数据库测试。这些测试仍然有用,但可能遗漏生产级数据集中的数据分布、兼容性问题和历史状态。

分支可以为 CI 提供更具代表性的起点。Databricks 文档表示,子分支以父分支的模式和数据开始,而后续变更则保持独立。其分支文档还描述了如何从父分支重置子分支,以及如何从时间点创建分支。

存储示例很直观。Databricks 表示,若在基于 100 GB 数据库的分支中修改 1 GB 数据,应大约消耗 1 GB 的额外分支存储,而不是再复制完整的 100 GB。实际运行成本仍取决于计算、保留期限、网络活动和工作负载行为。

因此,分支改变了失败实验的经济性。当编程智能体选择了错误设计时,团队可以删除该分支,而不必修复一个共享环境。失败变得可控,并且至少在环境层面上可随时丢弃。

这一特性很重要,因为智能体输出仍具有概率性。模型可能误解迁移、构造有害查询,或在不了解更广泛应用的情况下为通过测试而优化。隔离限制了这些错误可能造成影响的位置。

但这并不会让智能体变得值得信任。包含敏感生产数据的分支仍然包含敏感生产数据。拥有过多凭据的智能体仍可能暴露记录、调用外部服务,或在分支之外执行有害操作。

因此,团队必须将分支与身份、权限、审计轨迹和网络限制结合起来。真正有用的安全边界不只是“该智能体拥有一个分支”,而是“该智能体对临时分支拥有受限访问权限,并使用受控工具且其行为可被观察”。

这同样影响工程知识的管理。智能体需要关于模式、迁移、服务依赖和运行规则的准确信息。可搜索的工程知识库可以提供这些上下文,而数据库隔离则控制智能体能够修改的状态。

这两项功能不应混为一谈。更好的上下文可以减少本可避免的错误。分支则限制仍然发生的错误所造成的影响。

真正的竞争是隔离状态与共享状态之争

Databricks 并非在一个空白市场中引入数据库分支。它主张,承载数据的隔离应成为智能体生成代码的默认配套机制。

Neon 是最直接的参照对象,因为 Lakebase 构建于与 Neon 存储和计算架构相关的技术之上。Neon 已有的工作流也表明,写时复制 Postgres 分支早于 Databricks 的这一叙事。

Neon 文档将分支描述为隔离且可立即使用的 Postgres 环境,其中包含父分支的模式和数据。该公司表示,无论数据库规模如何,创建分支大约需要一秒,而独有变更会带来额外存储消耗。计算资源在闲置时可以缩减。

其分支工作流建议为个人开发者、拉取请求预览和自动化测试运行创建分支。每个分支都拥有独立的连接字符串,使应用部署和 CI 任务能够面向不同环境执行。

这与 Lakebase 的模式相近。两种方式都将计算与存储分离,从共享数据创建分支,并通过隔离让接近生产环境的测试更易落地。两者也都将自动化定位为主要使用者。

Databricks 提出了更广泛的平台论点。Lakebase 与 Databricks 内部的分析、数据工程、治理和 AI 开发服务并列。该公司希望运营型 Postgres 工作负载能够紧邻企业数据及使用这些数据的智能体。

对于已经深度采用 Databricks 的组织而言,这种集成可能颇具价值。一个编程智能体可能需要受治理地访问分析数据、运营应用数据库、模型端点和部署基础设施。共享平台能够减少彼此割裂的控制平面数量。

然而,集成也可能加深对单一供应商运行模式的依赖。团队应考察分支、权限、监控和部署产物在演示环境之外的实际表现,还应确定哪些组件能够通过标准 PostgreSQL 工具保持可移植性。

PlanetScale 展现了另一条历史路径。其分支模型最初强调隔离式模式开发和受控发布,而不是为每次实验都创建携带完整数据的克隆。开发分支支持模式变更,而 deploy requests 则在生产发布前提供审查流程。

该公司的安全迁移工作流会检查拟议的模式变更,并在启用安全控制时限制直接修改生产环境。该模式将数据库部署流程视为需要审查的产物,类似于拉取请求。

这一比较揭示了智能体开发必须解决的两个相关问题。智能体需要可随时弃用的状态进行实验,而组织同样需要一条受控路径来推广已获批准的变更。

Databricks Lakebase 分支主要聚焦第一个问题。分支为智能体提供了一个可使用真实状态安全工作的空间。随后,迁移文件和部署流水线将获批的模式变更向前传递。

PlanetScale 的 deploy requests 则凸显了第二个问题。仅有隔离并不能判断一次迁移是否向后兼容、应用代码是否必须先于模式发布,或删除一列是否会危及数据。

最强大的智能体 SDLC 将同时需要这两种属性。它必须足够快速地创建分支以支持并行探索,也必须设置足够严格的审查关口以应对生产变更。没有发布纪律的快速分支,只会让错误出现在更多环境中。

因此,主要对手并非 Neon 或 PlanetScale,而是共享状态工作流:多个智能体复用一个开发数据库、一个预发布环境,或一套可变的测试夹具。

这种工作流得以延续,是因为它既熟悉又易于运维。团队知道如何管理少量长期存在的环境,但未必了解如何治理数百个短生命周期分支、凭证、计算端点和保留策略。

Databricks 必须证明,其控制平面能够承受这种增长,而不会形成新的管理瓶颈。分支创建可以即时完成,但权限、密钥、可观测性和清理工作仍可能缓慢。

命名和可追溯性将至关重要。团队应能够将每个分支关联到一次智能体运行、代码仓库提交、拉取请求、所有者、父状态和过期时间。孤立分支应自动过期,而与未结事故或审计相关的分支可能需要更长的保留期。

评估还需要一致的起始点。如果两个智能体获得的分支来自不同时间点的父状态,其测试结果可能无法比较。编排器需要在每项结果旁记录源分支和时间戳。

这一运行模式类似于临时计算,但数据的风险更高。被遗忘的计算容器只会浪费资源;被遗忘的数据库分支则可能在预期任务结束后继续保留敏感记录、凭证或受监管信息。

Databricks 将数据库定位为智能体运行时的一部分是正确的。更难的问题在于,企业能否以智能体所推动的规模来治理这一运行时。

快速创建分支并不能解决性能或安全问题

数据库分支可以限制变更影响,但并不能消除性能权衡、敏感数据暴露或不安全发布路径。

最简单的产品叙事,是将隔离分支与危险的共享数据库进行对比。真实部署面临的权衡范围更广。

首先,分支可以隔离写入,同时保留对敏感父数据的访问。这对于复现缺陷可能是必要的,但也可能违背最小权限原则。向每个编程智能体提供源自生产环境的分支,会扩大能够读取受保护信息的身份和环境数量。

在任务不需要真实记录时,团队需要使用脱敏、仅模式分支、合成数据集或经过筛选的源数据。还需要将创建分支与连接其数据的权限分开控制。请求基础设施的权限不应自动授予无限制的数据库访问权。

其次,写时复制并不意味着修改没有成本。每个分支都会累积变更页面、日志、索引和计算活动。一个不受限制地启动推测性任务的协调器,即便每个分支的初始成本很低,也可能造成显著的资源消耗。

过期策略可以控制这种增长。分支应在创建时获得生存时间,对于调查或长期审查可批准例外。自动删除还必须遵守审计和法律保留要求。

第三,更深的分支结构可能带来性能复杂性。智能体工作负载并不总是创建一个浅层子分支后将其删除。智能体可能会为工作创建检查点,从这些检查点派生替代方案,并继续探索一个状态树。

独立研究表明,当前系统在这种模式下采取了不同折中。2026 年的BranchBench 研究评估了适用于智能体软件工程、故障复现、数据整理、仿真及其他探索性工作负载的可分支系统。

其作者报告了一种根本性张力。针对快速分支进行了优化的系统,在测试配置中随着分支加深,读取速度下降幅度从 5 倍到 4,000 倍不等。针对更快数据操作优化的系统,则产生了高出 25 倍到 1,500 倍的分支创建和切换延迟。

这些结果并未直接评测当前 Lakebase 服务,也不应被用作 Lakebase 的评分卡。但它们削弱了这样一种普遍假设:零拷贝分支能够在任意分支树中自动提供同等性能。

架构决定成本出现的位置。一个系统可能会为 CI 和预览环境优化浅层分支,但在智能体反复创建检查点时表现不同。团队应对自身工作流的实际形态进行基准测试,而不只是测试一次分支创建请求。

第四,分支可能带来有关恢复的虚假信心。删除失败分支很容易,但生产事故仍需要经过验证的备份、恢复、复制和灾难恢复流程。分支是对这些机制的补充,而非替代。

第五,数据变更不会像源代码一样合并。两个智能体可以提出彼此竞争的模式迁移,但同时接受两者可能需要排序、兼容性分析,或重新设计迁移方案。数据库分支无法解决语义冲突。

安全路径仍然应由迁移驱动。团队审查迁移文件,在具有代表性的分支上运行它,验证应用兼容性,并让受控部署系统将其应用到目标数据库。智能体实验期间创建的数据通常会留在原处。

第六,智能体造成的危害可能超出 SQL 范围。连接分支的应用可能发送电子邮件、调用支付系统、触发 webhook,或写入对象存储。数据库隔离并不能对这些外部影响进行沙箱化。

测试环境必须重定向或禁用会产生副作用的服务。凭证应将每项任务限制在其真正需要的系统范围内。网络策略应阻止实验分支成为通往无关生产资源的桥梁。

可观测性必须跨越这些边界跟随智能体。团队需要记录谁创建了分支、哪个模型或智能体使用了它、运行了哪些命令、通过了哪些测试,以及为何批准某项迁移。没有这些记录,隔离只能改善遏制能力,无法改善问责能力。

对于破坏性迁移和权限变更,人工审查仍然尤其重要。智能体可以生成一项看似合理、能够通过狭窄测试的迁移,却删除旧版应用仍然需要的行为。向后兼容性要求了解部署顺序和实时流量。

因此,Databricks 不应仅通过分支数量来衡量成功。更有价值的指标包括分支的彻底删除、可复现测试、更低的共享环境争用、更少逃逸的迁移缺陷,以及更短的审查周期。

客户应要求看到这些运营成果。大量由智能体创建的数据库只能证明活动量,不能证明软件交付安全或有价值。

三个信号将显示智能体 SDLC 分支是否有效

Databricks Lakebase 分支的下一项考验,是团队能否将快速隔离转化为可靠的生产变更,同时避免分支蔓延。

第一个信号,是来自多智能体开发的生产证据。Databricks 已描述内部观察结果和示例性工作流,但买家需要详细案例,涵盖代码仓库规模、数据库容量、并发智能体数量、分支持续时间和失败率。

最具说服力的结果,是将使用共享数据库的智能体任务,与使用每智能体分支的相同任务进行比较。实用指标包括测试可复现性、排队时间、迁移失败、人工审查时间和逃逸缺陷。

如果这些指标在持续工作负载下得到改善,Databricks 将强化其关于数据库分支消除了真实智能体 SDLC 瓶颈的主张。如果主要结果仅仅是环境创建更快,更广泛的生产力论据仍将不完整。

第二个信号,是更深入的治理自动化。应关注在创建时绑定身份、父源、过期时间、脱敏、网络访问和审计元数据的分支策略。组织不应在事故发生后还需要依赖自定义脚本来重建这些关系。

策略模板将使这一模式更易采用。拉取请求分支可能获得合成数据和短期保留。事故分支可能获得经过脱敏、源自生产环境的数据、受限用户和更长的审计保留期。自主编程任务可能完全没有出站网络访问权限。

Databricks 可以通过 API 和基础设施即代码工作流使这些控制可见,从而强化这一论据。如果权限和清理工作仍需手动完成,快速分支创建将超越企业治理能力,并削弱智能体模式。

第三个信号,是分支树下的工作负载级性能。浅层拉取请求分支只是一种模式。智能体编排器越来越多地使用检查点、替代计划和重复评估,这可能创建更深、数量更多的分支。

独立基准测试已揭示生命周期速度与数据访问性能之间存在权衡。Databricks 应公布可复现的测量结果,覆盖分支深度、并发计算、变更数据量、重置操作和时间点恢复等维度。

强劲的结果应表明,Lakebase 所瞄准的工作负载能够获得可预测的性能表现,同时明确指出哪些模式会变得低效。若延迟出现意外增长,或分支分化成本高昂,那么分支机制具备实际优势的任务范围将被缩小。

竞争对手的动向也会围绕这三个信号提供另一条线索。Neon 已将分支与预览、测试和智能体检查点连接起来。PlanetScale 长期强调经过审核的模式升级。它们下一步的行动,可能会把更快的状态隔离与更强的部署控制结合起来。

对开发者而言,眼下的问题很具体:智能体在工作过程中是否会修改持久化的应用状态?如果会,单靠 Git 分支无法隔离该任务。可随时弃用的数据库环境应当成为设计的一部分。

对工程负责人而言,问题则更广泛。在不削弱安全性的前提下,组织能够评估、治理并清理多少个并行的智能体实验?在回答这个问题之前提升智能体并发度,可能会放大运营噪音。

Databricks Lakebase 分支提供了一种可信的机制,用于隔离这些实验。其写时复制模型让数据库状态与代码中已广泛采用的分支节奏保持一致。当分支具备可复现性、可观测性、临时性,并与经过审核的迁移相连时,这一思路就会体现出价值。

下一步并不是赋予每个编程智能体广泛的生产环境访问权限。应从受限的工作流开始,例如为每个 pull request 基于脱敏数据创建一个分支。记录分支来源,强制设置过期时间,并将结果与现有共享环境进行比较。

随后提出真正关键的检验:隔离状态是否帮助智能体产出让人类能够以更高信心审查并发布的变更?如果在真实工作负载中,答案始终是肯定的,那么数据库分支将不再只是 Lakebase 的一项功能,而会成为智能体编写软件的标准边界。

 
 

免费开始使用

一款本地优先的AI助手

为了获得更好的人工智能体验,

remio 目前仅支持Windows 10+ (x64)和M-Chip Mac 。

你的 AI 工作伙伴

和 remio 一起高效工作

规划、创作、交付

一站式完成

bottom of page