Why the Frontier Ecosystem must be Open — Matei Zaharia and Reynold Xin, Databricks
TL;DR · AI 摘要
Databricks 强调开放生态对构建 Agent Clouds 的重要性,并介绍了其在数据与 AI 操作系统方面的创新。
核心要点
- Databricks 推出 Omnigent,一个开源的元控制平台,用于整合和管理多个 AI 代理。
- LTAP 通过统一存储层实现 HTAP 的优势,成为数据库工程的新方向。
- Genie 提升了数据代理的准确性,达到通用代理的 3 倍。
结构提纲
按章节快速跳转。
- §引言
Databricks 技术领袖讨论构建 Agent Clouds 所需的条件。
Omnigent 是 Databricks 推出的开源元控制平台,用于整合多个 AI 代理。
LTAP 通过统一存储层实现 HTAP 的优势,成为数据库工程的新方向。
Genie 提升了数据代理的准确性,达到通用代理的 3 倍。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 开放的前沿生态系统
- Omnigent
- 整合多个 AI 代理
- 开源元控制平台
- LTAP
- 统一存储层
- HTAP 的优势
- Genie
- 数据代理准确性提升 3 倍
金句 / Highlights
值得收藏与分享的关键句。
Omnigent 是 Databricks 的开源元控制平台,用于整合、控制和共享多个 AI 代理。
LTAP 通过统一存储层实现 HTAP 的优势,成为数据库工程的新方向。
Genie 提升了数据代理的准确性,达到通用代理的 3 倍。
为什么 Frontier Ecosystem 必须开放 —— Matei Zaharia 和 Reynold Xin,Databricks
Latent Space:AI 工程师播客
为什么 Frontier Ecosystem 必须开放 —— Matei Zaharia 和 Reynold Xin,Databricks
1×
0:00
当前时间:0:00 / 总时长:-1:08:51
-1:08:51
您的浏览器不支持音频播放。请升级浏览器。
为什么 Frontier Ecosystem 必须开放 —— Matei Zaharia 和 Reynold Xin,Databricks
在一次罕见的双人采访中,Databricks 的技术领导者探讨了让每家公司都能构建 Agent Clouds 所需的条件。
2026 年 6 月 24 日
转录文本
我们很高兴 Databricks 加入我们,在 AIEWF 与 AI 工程师生态系统中数百家顶级公司一同亮相。LS 的订阅者可以使用折扣,跳过晚鸟价格,获得价值超过 5 万美元的赞助商优惠!
每个人仍在讨论 Satya 的 Frontier Ecosystems 博客文章,但很少有人实际上构建了一个(如今价值 1750 亿美元)的前沿生态系统和云平台,就像我们今天的嘉宾一样。
从开源编码代理之上的层,到重新思考适用于代理时代的数据库,Databricks 联合创始人 Matei Zaharia 和 Reynold Xin 正在推动公司超越湖仓一体,迈向一个完整的数据和 AI 操作系统。在这一期节目中,Matei 和 Reynold 在 2026 年 Data + AI 峰会上与 swyx 一起深入探讨了 Omnigent、LTAP、Lakebase、代理安全、开放格式、Mosaic,以及为什么一旦 AI 代理开始真正工作,数据库可能比以往任何时候都更加重要。
我们深入探讨了 Omnigent:Databricks 的开源元工具,用于在 Claude Code、Codex、Cursor、Pi、自定义代理和内部工具之间组合、控制和共享代理。Matei 解释了为什么编码代理和企业代理会遇到相同的问题:可移植性、协作、会话历史、安全性、支出控制,以及在每个工具之上需要一个通用的 API。
然后 Reynold 介绍了 Databricks 的数据库愿景:为什么 CDC 脆弱到足以开玩笑说它意味着“持续的数据损坏”,为什么 HTAP 是数据库工程的圣杯,以及为什么 Databricks 认为 LTAP 通过统一存储层而不是将每个查询引擎合并,可以获取大部分好处。我们还涵盖了 Databricks 的基础设施规模、快速原型设计背后的文化、技术客户与企业客户的区别、Databricks 与 Snowflake 的对比、向量数据库是否应该存在、Mosaic 模型策略、Genie、AI 运行时、RL 微调,以及一个论点:一旦数据处于正确的位置,代理位于其上,传统软件将被重写。
Matei Zaharia
@matei_zaharia
Genie 改变了 Databricks 用户与数据交互的方式,其准确性是通用代理的三倍。我们正在分享其背后的一些研究,以及构建数据代理的挑战。非常自豪我们的研究团队在这一方面产生了影响!
databricks.com
使用 Genie 推动数据代理的前沿 | Databricks 博客
2026 年 5 月 8 日 下午 3:52
·
106K 次观看
8 条回复
44 次转发
276 次点赞
Databricks 最初是一家面向大数据时代的企业。Spark 最初源自伯克利 AMPLab,最终演变为 Lakehouse 产品,使企业认识到他们不需要单独的数据湖、数据仓库、机器学习平台和治理层。他们只需要一个开放的基础,所有数据都可以在其上存储并进行推理。
自那以后,很多事情都发生了变化,但数据变得越来越重要。数据不再只是你临时跟踪和分析的东西,而是代理执行操作时所需的必要上下文。因此,问题的框架也发生了变化,从“我们把所有的数据放在哪里?”转变为“我们如何在代理执行任务的精确时刻,向其暴露正确的状态、历史、权限和业务逻辑?”
如果前沿模型的性能变得商品化,那么持久的竞争优势就变成了围绕这些模型的公司特定上下文:专有数据、受控访问、运营状态、交易日志、工作流程和反馈循环。这使得Databricks的位置非常完美。
现在,刚刚结束Data + AI Summit 2026,公司正在迅速推进,宣布了Genie One、Omnigent、LTAP等许多新项目,表明其最新工作的核心使命:Databricks正试图成为企业代理的操作系统。
非常兴奋地开源一个新项目:Omnigent,一个用于AI代理的元框架。它允许你构建多代理编码和自定义代理,位于Claude Code、Codex、Pi和代理SDK之上,使你能够组合它们。它还增加了实时协作和丰富的控制策略。
2026年6月13日 下午4:02
204K次浏览
88条评论
202次转发
1140个赞
模型已经足够好,但代理只有在拥有正确的上下文、权限、记忆、状态、成本控制和对实时业务数据的访问时才有用。从根本上讲,生产环境中显著提升模型性能是一个系统问题,而我们这些数据专家在解决这个问题上准备得非常充分!
我们讨论了以下内容:
- 为什么Databricks在现有AI代理之上构建Omnigent作为元框架
- 为什么编码代理和自定义企业代理需要相同的基础设施
- 代理会话、文件、流、工具调用和取消的通用API
- 为什么持久会话、云沙箱、共享、搜索和协作很重要
- 为什么Databricks选择开源Omnigent而不是将其专有化
- Databricks内部代理的使用情况、云沙箱和编码工作流程
- Databricks的规模:每天5000万到6000万台虚拟机,早餐前处理艾字节数据
- 为什么代理安全需要上下文和状态策略
- 代理如何读取机密文档、安装被入侵的npm包并泄露数据
- 当代理可以花费500美元阅读日志时,为什么花费控制很重要
- 编码代理分析、质量、技能和花费方面的创业机会
- LTAP、Lakebase以及为什么Databricks想重新思考数据库堆栈
Reynold Xin
@rxin
数据库的未来是直接构建在对象存储之上的。我们称这种架构为Lakebase架构。长期以来,业界一直将数据湖严格视为分析或离线存储。但Lakebase架构通过实现真正的
2026年5月28日 凌晨12:37
2960次浏览
1条评论
9次转发
32个赞
- OLTP与OLAP、CDC以及为什么数据管道会在凌晨3点崩溃
- 为什么HTAP历史上一直是数据库工程的圣杯
- 为什么Databricks认为LTAP是“正确实现的HTAP”
- 将事务数据写入列式格式如何改变分析
- 为什么代理需要从数据库中获取实时操作上下文,而不仅仅是遥测数据
- Databricks如何在没有无休止流程的情况下原型化战略系统
- 企业客户与技术客户、治理、采购和DIY文化
- 重写数据库引擎所面临的“第二系统综合征”风险
- 从十年的追踪记录和数万亿数据点构建数据库引擎
- 为什么向量数据库不应该成为一个独立的类别
- 为什么开放格式和 AI 改变了与 Snowflake 的竞争格局
- Mosaic 故事、DBRX、Genie、文档解析模型和专用模型训练
- 为什么模型定制和强化学习微调可能会成为主流
- 为什么“将数据传送到那里,加上一个代理”可能会重写传统软件
- LinkedIn: https://www.linkedin.com/in/mateizaharia
- X: https://x.com/matei_zaharia
- LinkedIn: https://www.linkedin.com/in/rxin
- X: https://x.com/rxin
Databricks
- 官方网站: https://www.databricks.com
- X: https://x.com/databricks
时间戳
00:00:00 介绍
00:02:22 Omnigent 和代理基础设施层
00:08:39 代理云、通用 API 和开源
00:16:52 Databricks 的规模和内部 AI 工作流程
00:18:03 代理安全、治理和支出控制
00:27:34 LTAP 与数据库梦想
00:30:30 CDC、HTAP 以及为什么数据管道会失败
00:34:05 Lakebase、Parquet 和代理的实时数据
00:36:47 Databricks 快速原型设计的文化
00:43:40 梦想引擎与重写数据库堆栈
00:51:02 向量数据库、查询引擎和 LTAP
00:52:36 Databricks 与 Snowflake 的对比
00:57:48 Mosaic、DBRX、Genie 和专用模型
01:03:11 上下文、AI 运行时和强化学习微调
01:06:15 为什么数据 + 代理可能会重写软件
01:07:09 结束语
转录文本
介绍:Databricks、数据 + AI 峰会和创始人动态
Swyx [00:00:00]: Databricks 的 Matei 和 Reynold,欢迎来到 Latent Space。
Reynold Xin [00:00:06]: 你好,感谢邀请我们。
Swyx [00:00:07]: 是的。
Matei Zaharia [00:00:08]: 是的,非常感谢。
Swyx [00:00:09]: 感谢你们抽时间。你们正在举办 Databricks 数据与 AI 峰会。你刚刚告诉我,你们第一次举办的峰会只有 50 人参加。
Reynold Xin [00:00:17]: 是的,那次是在伯克利。
Swyx [00:00:17]: 在伯克利。
Reynold Xin [00:00:18]: 我想那是一次小型的聚会。
Matei Zaharia [00:00:19]: 是的。
Reynold Xin [00:00:19]: 我们组织的。
Matei Zaharia [00:00:20]: 当时我们正在做这些教程,教人们使用 Spark。
Swyx [00:00:23]: 是的。显然,现在这个峰会的规模已经非常大了,我听说全球有大约 10 万人参加,其中 3 万人是现场参加。
Swyx [00:00:30]: 这真是令人难以置信。
Matei Zaharia [00:00:31]: 非常棒。
Swyx [00:00:31]: 社区非常强大。我刚刚看了 keynote 演讲。
Swyx [00:00:35]: Ali 刚刚做了演讲。你当时是否已经意识到,Ali 会成为一个如此出色的 CEO?比如
Reynold Xin [00:00:42]: 哦
Swyx [00:00:42]: 他也是一个如此出色的演讲者?
Reynold Xin [00:00:43]: 你怎么看?
Matei Zaharia [00:00:44]: 我认为在我们创始人的群体中,很明显他会在这些方面做得最好。
Swyx [00:00:50]: 是的。
Matei Zaharia [00:00:50]: 是的,结果确实非常出色。他在公司成长的许多话题上都表现得非常出色。他总是会深入研究这些话题,与专家们交流。即使他无法雇佣某个人,他也会学习足够的关于财务、销售等知识,然后从那里开始。是的。
Swyx [00:01:09]: 是的。
Reynold Xin [00:01:10]: 他显然智商和情商都很高,但事实并非如此。比如,今天的阿里和十年前的阿里已经大不相同了。我认为他为了达到这个地步,付出了很多努力。
Swyx [00:01:20]: 是的。对我来说,他最吸引人的一点是他的幽默感。而且,讲数据仓库的笑话真的很困难。
Reynold Xin [00:01:30]: 关于严肃的话题。
Swyx [00:01:31]: 安全性。
Matei Zaharia [00:01:32]: 是的。
Swyx [00:01:32]: 诸如此类。
Matei Zaharia [00:01:33]: 哦,是的。这毫无疑问。
Swyx [00:01:34]: 是的。所以你们推出了很多东西。我简单地提一下,因为我们要讲的不是全部。Omnigentt,是你的项目。LTAP,也是你的项目,你的梦想引擎。
Swyx [00:01:47]: 我们还会讲到Genie、CustomerLake,你们收购了Panther。
Matei Zaharia [00:01:52]: 是的。
Swyx [00:01:52]: Open Sharing,还有Unity AI Gateway。我认为,这些事情,是大家对Databricks所期望的。这属于路线图的一部分。你们这个领域的每个人都有类似的东西。但我认为,你们两人主导的两个项目,可能是最具独特性和差异化的。
Omnigent和代理基础设施层
Swyx [00:02:09]: 在这个领域中。也许我们先从Omnigentt开始。我会深入探讨它。我认为,很多人正在探索这种元级控制台的概念。
Matei Zaharia [00:02:21]: 是的,完全正确。
Swyx [00:02:21]: 是什么促使你们走向这个方向的?
Matei Zaharia [00:02:22]: 是的。有几条线汇聚在一起,我认为这是需要新事物的一个好迹象。一方面,我们内部有很多关于编码代理的信息。我们有一个非常棒的开发基础设施团队,他们开发了一个名为Isaac的工具,它相当于对Claude Code和Codex的封装,你可以通过网络在沙箱中使用它们,或者直接在你的开发机器或笔记本电脑上使用。然后,他们在上面添加了各种功能。我们看到更高级的工程师们,正在构建自己的工作流程,使用大量代理,并在上面构建自己的用户界面等。另一方面,我们也在构建代理。我们推出了一个名为Genie的数据科学代理,这是我在研究团队领导的项目。我们还为各种内部用途构建了很多代理,同时还有所有面向客户的代理。它们都遇到了同样的问题,即每隔几个月就需要切换模型和控制台等。此外,如果无法与他人共享会话、拥有历史记录、搜索等功能,代理就完全没用了。我从这两个角度思考了一下,起初人们觉得这有点奇怪。他们问:“为什么你要把编码代理和自定义代理放在同一个系统中?” 我说,这其实是相同的问题,你只是希望构建一个能够交付代理的系统,如果你关心安全性,还可以控制它,并使其在不同环境中便携。然后我们进行了原型实验。我们看到,是的,我们确实可以让它运行起来,然后我们真正地构建了它。
Swyx [00:04:06]: 我想知道,我们称之为架构的东西
Matei Zaharia [00:04:11]: 是的
Swyx [00:04:11]: 与你职业生涯中的任何经历都相关。我一直认为很多事情最终都与操作系统有关。
Swyx [00:04:18]: 很多操作系统
Matei Zaharia [00:04:19]: 是的
Swyx [00:04:20]: 与数据库相关,
Matei Zaharia [00:04:21]: 所以
Swyx [00:04:21]: 或者反过来
Matei Zaharia [00:04:22]: 我认为这与网络协议、互联网协议等有很多联系。我们还
Swyx [00:04:29]: 实体之间的通信。
Matei Zaharia [00:04:30]: 是的。我们还做过数据共享之类的事情,这可能大多数观众都不知道,除非他们
Swyx [00:04:36]: 是的,开放协议是这个术语。
Matei Zaharia [00:04:37]: 是的。
Swyx [00:04:38]: 开放共享。开放共享。
Matei Zaharia [00:04:38]: 开放共享。
Swyx [00:04:39]: 是的。
Matei Zaharia [00:04:39]: 是的。所以,比如你有一家公司,你维护着一张表,比如像沃尔玛这样的公司,他们有每家门店的库存和销售记录。你还有供应商,他们希望在你真正需要的时候,立即生产并发货。因此,他们希望实时访问你的这张表。这样,他们就可以查询这张表,将其与自己的数据进行关联,然后决定要发送什么。这正是一个场景,你可能会问,既然我们如今可以快速编写代码,为什么还要设计协议、API 或软件?为什么不能按需编写代码?但在这个需要多方协作的场景中,各方的节奏不同,你仍然希望在顶层有一些协调机制,因此你确实需要设计并构建它。这让我想起了代理之间、用户与代理之间、以及工具之间的交流。
代理云、云沙箱和保持会话活跃
Swyx [00:05:42]: Reynold,还有其他观点或不同意见吗?
Reynold Xin [00:05:46]: 我认为,顺便说一下,我们曾就哪些好处最重要进行过讨论,而在我决定做这件事的时候,我告诉 Matei:“嘿,”恰好那周我一直在不停地编写代码。
Swyx [00:06:00]: 从我醒来那一刻到我上床睡觉那一刻,我一直盯着我的 Claude 会话和 Codex 会话。特别烦人的一点是,我必须一直开着我的笔记本电脑。
Swyx [00:06:12]: 我正在开车去医生那里,我记得是因为我想确保一切继续正常运行。
Matei Zaharia [00:06:18]: 顺便说一下,听到你这么说真让人安心,因为我想,“我不知道我是不是个傻瓜在做这些事情。”
Swyx [00:06:25]: 是的。说实话,我当时正在开车,还把笔记本电脑连接到了手机上。
Matei Zaharia [00:06:29]: 啊。
Swyx [00:06:29]: 放在一边。每当遇到红灯时,我就会看一下笔记本电脑上在发生什么。
Matei Zaharia [00:06:35]: 是的。
Swyx [00:06:35]: 我觉得这太荒谬了。
Matei Zaharia [00:06:37]: 是的。
Swyx [00:06:37]: 我感觉我们又回到了黑暗时代
Matei Zaharia [00:06:39]: 是的
Swyx [00:06:40]: 编程。从所有这些编程时代带来的效率提升是惊人的,但确实如此。
Matei Zaharia [00:06:45]: 你听说过云计算吗?
Swyx [00:06:47]: 是的。
Swyx [00:06:48]: 那时对我来说非常疯狂。
Matei Zaharia [00:06:49]: 哦,你当时参与的是沙箱项目吗?还是这之前?
Swyx [00:06:52]: 是沙箱项目。
Matei Zaharia [00:06:53]: 好的。
Swyx [00:06:54]: 我当时在
Matei Zaharia [00:06:54]: 所以你当时在
Swyx [00:06:55]: 我是从一个完全不同的角度出发的。我想,“嘿,我们要有不会关闭的云沙箱,可以非常快速地获取一个”,但不仅仅是为了运行代理会话。
Matei Zaharia [00:07:06]: 是的。
Swyx [00:07:06]: 它也可以用于开发。我当时亲自在那周构建了这个东西,通过构建这个过程中,我遇到了各种问题,然后我写了一份
Matei Zaharia [00:07:15]: 是的
Swyx [00:07:15]: 给Matei的文档,上面写着,“这是我对实际环境应该具备功能的期望清单。” 我认为他最终几乎实现了
Matei Zaharia [00:07:22]: 是的
Swyx [00:07:22]: 每一项。
Matei Zaharia [00:07:23]: 是的,我记得Reynolds说过,因为我的第一个原型只能和你的代理进行聊天,他说,“我必须能够打开一个shell,像我自己的shell,可以列出文件,可以查看日志等等。” 所以
Swyx [00:07:36]: 所以通过SSH连接到主机。
Matei Zaharia [00:07:37]: 是的。现在它已经具备这个功能了。
Swyx [00:07:39]: 查看我的日志。
Matei Zaharia [00:07:40]: 是的。
Matei Zaharia [00:07:41]: 是的。
Swyx [00:07:41]: 另外,我想我还问过一件事,我至今仍然只用Cursor来渲染markdown文件。
Matei Zaharia [00:07:48]: 哦,是的。
Swyx [00:07:49]: 所以我说,“如果你能给我一种方式,让我看到我的markdown文件并正确渲染
Matei Zaharia [00:07:53]: 是的
Swyx [00:07:53]: 它们,我就不再需要单独的工具了。”
Matei Zaharia [00:07:55]: 是的。
Swyx [00:07:56]: 我认为你也将这个功能实现了。
Matei Zaharia [00:07:57]: 是的,我们是的,我们确实做了。我们有很多工程师在构建他们自己的编码环境。但另外,他们也提到,“嘿,我构建了一个对我来说非常棒的东西,但团队里的其他人却无法使用,因为我没有一个可以协作的服务器。” 这就是为什么我们尝试搭建Omnigent,这样你就可以拥有一个服务器,并在那里设置安全措施。比如,通过Google登录,然后安全地共享内容。这也是为什么我们看到其他代理在使用过程中遇到了很多问题。比如,人们认为他们构建了一个非常棒的代理,但因为安全团队的限制,它无法连接到一些非常重要的数据。
Omnigent 架构、开源和通用 API
Swyx [00:08:38]: 是的。
Matei Zaharia [00:08:38]: 是的。
Swyx [00:08:39]: 是的。此时此刻,对于那些在YouTube上观看的观众,我们这里将展示一张结构图,我们可以稍微讨论一下架构。我想我只想让观众理解,当我们谈到软件时,它可能非常抽象,这里就是我们所讨论的内容。你已经在开源中构建了整个平台,其中有一个运行器组件和服务器组件,以及你设计出的统一API。任何其他元素显然都可以插入,比如持久化层和计算层。这整个就是一个云,一个代理云。
Matei Zaharia [00:09:12]: 是的。它有一些组件可以与之配合使用。很多操作都发生在你部署代理的机器上。所以无论你上面有什么,你都可以运行。是的,我认为这是你想要托管的最基本的东西,比如协作代理和服务器。我们开源它的原因之一是,任何构建代理的人都可以以此为起点,进行定制,我们在 Databricks 也看到了类似的情况。比如,有人会创建一个不错的代理应用,然后其他团队会问:“哦,我能不能直接用你们的来做我的代理?”
Swyx [00:09:45]: 是的,我认为我们有五六个不同的代理框架
Matei Zaharia [00:09:48]: 是的
Swyx [00:09:48]: 是由不同团队构建的。它们基本上都是做类似的事情。是的,你需要。人们希望从 Forkit 中使用一些已经可以工作的内容,你不妨使用一个开源的东西。是的,这也引出了另一个问题,对 Databricks 来说很有趣。比如,你们选择开源什么?选择什么作为专有技术?这又回到了 Spark 的问题,对吧?
Matei Zaharia [00:10:05]: 是的。
Matei Zaharia [00:10:06]: 一,开源某样东西的一个原因是,如果你认为它是一个层,它将产生网络效应,会因为很多人协作而受益。例如,对于 Spark,我不确定当 Spark 刚推出时,我们是否也重点放在让你可以在其上构建库。比如,曾经有不同的
Swyx [00:10:28]: 生态系统
Matei Zaharia [00:10:28]: 分布式计算引擎,用于机器学习和图计算。我们说它们都应该作为你可以组合的库。我们还让添加数据源连接器变得非常容易。然后我们受益,因为我们没有时间去编写连接到 1000 多种不同的数据库和文件格式的连接器,但我们只需要使用人们制作的那些,当然他们也从加入这个项目中受益。这就是其中的一个例子。另一种思考方式是,想象一下,如果我们的东西不是开源的,我们有一个代理托管的东西,但它不是开源的,而有一个开源的。那么从长远来看,哪个会胜出?比如,因为人们编写集成的好处,它会是那个。然后还有其他一些事情,你甚至无法以开源的方式提供,这些是公司所做的事情。例如,如何确保你的流式作业或 Lakebase 数据库在晚上不会丢失所有数据?这需要一个操作团队来处理。它必须是一个服务,没有其他办法。因此,作为一家公司,我们希望确保我们在这些基础设施服务方面非常出色,然后在你构建其上的内容方面,我们尽可能开源。
Swyx [00:11:42]: 从好处来看,我认为我们已经看到了各种生态系统的集成请求
Matei Zaharia [00:11:45]: 是的
Swyx [00:11:45]: 即使它只是在周六发布的。
Matei Zaharia [00:11:50]: 是的,周六。是的。所以有人
Swyx [00:11:51]: 让我们看看,看看发生了什么。是的,你可以查看已合并的那些。我今天早上问了 Sam Nigon
Matei Zaharia [00:11:59]: 已经有 400 个合并?
Matei Zaharia [00:12:00]: 是的。我认为最近,大概有一半的人不是来自我们团队。例如,有人添加了在 Kubernetes 上运行的支持。人们还添加了很多云沙箱,这样就可以启动一个云沙箱并在其中运行你的代理,这对于共享也非常有帮助,因为它不在你的笔记本电脑上,而有人在上面运行一些危险的代码。是的,很多初创公司已经使用了这些功能,我们预计未来还会有更多。我们目前也有更多的代理框架,比如 Cursor、CLI 和 Antigravity。
现代数据栈与新兴的 AI 栈
Matei Zaharia [00:12:34]: 是的。这一切都很棒。我觉得上次发生这种情况时,是现代数据栈的兴起。
Matei Zaharia [00:12:42]: 我不确定它是否真的那么有用。我在你的事后分析中很感兴趣。
Matei Zaharia [00:12:46]: 我认为大多数人
Swyx [00:12:47]: 同意
Matei Zaharia [00:12:47]: 都会同意,它终于已经死了。但也许这会催生一个新的现代 AI 栈,它能够做类似的事情。
Matei Zaharia [00:12:52]: 我不知道。
Reynold Xin [00:12:54]: 我认为现代数据栈是一个非常有用的东西,可能直到今天仍然如此。对于那些不了解历史的观众来说,我认为现代数据栈实际上被分解为:你需要一个用于数据摄入的层,你需要一个用于数据转换的层,然后所有这些都在某个数据仓库上运行,后来我们开始使用数据仓库或湖仓一体架构。
Reynold Xin [00:13:21]: 我认为这些概念都非常强大且有用。它们使许多工作负载得以实现。但最终人们遇到的问题是统一和整合的问题,即:你真的需要将所有这些拆分成不同部分,并使用这么多不同的供应商和平台,才能完成一个非常简单的可视化任务吗?因此,我认为随着时间的推移,所有人都开始意识到客户在推动我们。我们开始意识到这一点,于是我们开始构建越来越多的功能,并尝试整合。最终,客户不再需要担心为了生成一个图表而需要连接五个不同的系统。但老实说,我觉得类似的事情正在发生,你想要连接多少个不同的框架才能完成一个非常简单的代理任务?
Matei Zaharia [00:14:06]: 为了明确起见,我想说的是,这个核心是所有执行环境之上的一种通用 API。这个 API 的大致用法是,你有一个代理会话,你可以发送一条消息或一个文件。你可以发送这些内容,然后你得到的是流式文本或工具调用的流。另外,你还可以发送一个取消当前轮次的指令。这就是这个 API 的功能。我们做的是,我们可以在诸如在终端中运行的云代码、Codex、Py、OpenAI SDK 等各种平台上实现这个 API。我们把它们全部映射到同一个接口上。如果你自己构建了一个代理协调器,那么你就需要自己维护这个接口。每当云平台更改其 API 时,你都需要调整你的实现,否则可能会丢失一些消息。因此,维护这个接口是有价值的。在此基础上,我们构建了一些应用程序。我认为我们构建了一个非常酷的用户界面等,但除此之外,我们还构建了一个安全和控制模块,我对此感到非常兴奋。但关键还是这个通用接口,我们并没有试图构建一个完整的堆栈。事实上,你可以在该服务器之上插入你自己的用户界面。这正是我们非常关注的用例之一,因为我们希望在我们自己的产品中使用这个接口。
计算、沙箱和 Databricks 的扩展
Swyx [00:15:20]: 是的,它应该无处不在。
Matei Zaharia [00:15:22]: 是的。
Swyx [00:15:22]: 我认为其中一件非常有趣的事情是,首先,我会尽力做所有事情,但不会称其为现代 AI 堆栈,因为它需要一个不同的名称。
Matei Zaharia [00:15:32]: 是的。
Swyx [00:15:32]: 但确实,第一个向我介绍计算和沙箱概念的人是来自 Neon 的 Nikita。
Swyx [00:15:39]: 因为很多人认为 Neon 是一个无服务器的 Postgres 数据库,具有计算和存储的分离、即时分支等功能。但每个数据库公司实际上也是一个计算公司。
Matei Zaharia [00:15:51]: 是的,是的。
Swyx [00:15:52]: 他向我展示了他整个的沙箱解决方案。我认为他还没有发布它。
Matei Zaharia [00:15:57]: 我们的沙箱解决方案之所以能如此快速地构建出来,是因为我们意识到,如果你只是采用 Lakebase 架构
Swyx [00:16:05]: 是的
Matei Zaharia [00:16:05]: 并从 Neon 中移除数据库部分
Swyx [00:16:08]: 完全正确
Matei Zaharia [00:16:09]: 你就有了一个沙箱
Swyx [00:16:09]: 每个数据库公司都已经拥有它,是的。
Matei Zaharia [00:16:11]: 现在,有一些差异。例如,为了支持这种特定的工作流程,本地持久化非常重要,
Swyx [00:16:19]: 是的
Matei Zaharia [00:16:19]: 因为你希望你的状态能够持久化。你的库不需要每次都要安装,对吧?
Matei Zaharia [00:16:24]: 而 Neon 架构由于存储和计算的分离,不需要持久的本地磁盘。
Swyx [00:16:30]: 是的。
Matei Zaharia [00:16:30]: 所以有一些差异。
Swyx [00:16:32]: 是的。
Matei Zaharia [00:16:32]: 但归根结底,是的,这就是当你运行一个编码沙箱时的情况。比如,如果我使用它,我们在 Databricks 内部有开发环境。里面有几十个 gigabytes 的数据,用于所有源代码和我构建的各种工件,我希望下次使用时这些数据能够保留下来。
Matei Zaharia [00:16:51]: 是的。
Matei Zaharia [00:16:51]: 是的。
Matei Zaharia [00:16:52]: 在节目开始前,我们谈到了一些可能令人惊讶的采用统计数据。
Matei Zaharia [00:16:56]: 这些可能是内部的,也可能是外部的,只要是能让人意识到这个规模的,都可以提出来。
Swyx [00:17:02]: 所以我们在分析方面,我认为我们已经推出了
Reynold Xin [00:17:06]: 每天在三个云平台上可能运行 5000 万到 6000 万台虚拟机,所以我们是最大的计算调度器之一。
Reynold Xin [00:17:13]: 这些肯定包括 CPU 计算。
Swyx [00:17:14]: 是的。
Matei Zaharia [00:17:14]: 是的。
Reynold Xin [00:17:15]: 而且,所有这些过程,我认为涉及了艾字节的数据。我开玩笑说,这取决于你所在的时区,通常在你吃早饭之前,Databricks 已经在当天处理了艾字节的数据。Neon 上的情况也很有趣,它现在每天启动大约 1300 万个数据库。
Swyx [00:17:34]: 是的。
Reynold Xin [00:17:34]: 每天。
Swyx [00:17:35]: 是的,对我来说,这简直就像是
Reynold Xin [00:17:36]: 而且这仅仅是
Swyx [00:17:37]: 你是说什么?
Matei Zaharia [00:17:38]: 是的。这就是重点。
Reynold Xin [00:17:40]: 而且其中很多都归功于代理和分支实验。
Swyx [00:17:44]: 是的。
Reynold Xin [00:17:44]: 因为我们让数据库的创建变得如此简单和迅速,还要感谢 Nikita 的团队,他们让数据库的启动变得非常高效。所以,这正在改变人们使用数据库的方式。
Swyx [00:17:54]: 是的。稍后我们会深入讨论数据库相关内容,但我想确保我们先结束关于 Omnigentt 的话题。你之前提到过,你对安全方面感到兴奋。
Omnigent 安全、上下文策略和支出控制
Swyx [00:18:03]: 控制方面。
Matei Zaharia [00:18:04]: 是的。
Swyx [00:18:04]: 现在很多公司也在努力解决这个问题,包括支出方面。
Matei Zaharia [00:18:08]: 是的。
Swyx [00:18:09]: 你在那里发现了什么?
Matei Zaharia [00:18:11]: 是的,我花了很多时间与内部用户、开发人员、安全团队、经理以及许多客户进行了交流,发现有几个问题。首先,非常明显的是,安全方面存在可用性与安全之间的紧张关系。人们目前的做法,很多编码代理只有非常基础的功能,比如你可以告诉我允许或不允许使用哪些工具模式,只有是或否的选择。但这会让你陷入一个非常困难的境地。举个例子,我的代理是否应该能够读取一些机密文件?或者,它是否应该能够从 npm 安装新包,而这些包可能已经被入侵?是或否?也许我想要允许它。我的代理是否应该能够将内容发布到公司网站?如果我用它来在网站上编写代码,那么是的。但它是否应该能够同时做这两件事,比如获取机密文件并被提示注入,从而泄露信息?这可能不行。因此,我们决定需要的是有状态的,或者说上下文相关的策略,通过跟踪会话的状态来实现。这并不是简单地判断是否允许推送到营销网站,而是像这样:如果它做了某些危险的事情,比如从 npm 安装了旧版本的包,或者读取了 1000 份机密文件,那么就不允许。否则,可能还可以。这是其中一个例子,通过拥有更强大的引擎,将这种权衡转移到更安全、更有用的方向。这需要跟踪会话。另一个有趣的部分是,它执行的事件非常底层,你希望有一些库来解析这些事件。例如,我们内部在 Google Drive 上有一个 MCP 服务器,它有 60 个 API 调用。我怎么知道哪些会与互联网上的内容共享文档,哪些不会?这很烦人。因此,我们在 Omnigentt 中设计了策略层,使其具备函数功能,你可以拥有库。比如,有人可以创建一个库,将底层事件映射到高层事件,然后你可以针对这些高层事件编写策略。
Swyx [00:20:25]: 这与 Panther 有关,
Matei Zaharia [00:20:27]: 是的,Panther 会帮助解决这个问题。Panther
Swyx [00:20:30]: 是的
Matei Zaharia [00:20:30]: 在事件处理方面有类似的想法,它是基于 Python 的,而不是一种奇怪的自定义语言。这更贴近实际
Swyx [00:20:39]: 我甚至不知道我们在这方面做得这么好,是的。
Matei Zaharia [00:20:41]: 这些事情正在发生,是的。
Swyx [00:20:42]: 是的。
Matei Zaharia [00:20:42]: 是的,但这些是令人兴奋的事情。我认为上下文相关或有状态的部分,以及它能够通过库的方式实现,这也是我们将其开源的另一个原因,因为其他人会编写库,我们和我们的客户可以使用它们。最后一点,由于它是有状态的,我们跟踪的状态之一是你在该会话中花费了多少。我可以这样,我曾要求代理调试某个问题,结果它花了 500 美元,因为它决定读取大量日志文件并消耗大量 token。但我可以直接说:“好的,启动一个代理来执行这个任务,并限制它最多花费 5 美元。”如果它需要更多,就请我授权。因为我们在这个会话中跟踪了这个花费,它会弹出并告诉我:“你已经花了 5 美元,你还想继续吗?”
Reynold Xin [00:21:27]: 这里有一个非常重要的背景信息。Matei 在过去五年中,花费了大量时间在 Databricks 构建 Unity Catalog
Matei Zaharia [00:21:34]: 是的
Reynold Xin [00:21:34]: 这是数据的治理层。
Matei Zaharia [00:21:35]: 没错,是的。
Reynold Xin [00:21:36]: 他将这一层的专业知识与他在 AI 治理方面的知识结合起来。
Matei Zaharia [00:21:41]: 是的。
Swyx [00:21:41]: 做
Matei Zaharia [00:21:41]: 但我也花了很多时间对编码代理和提示感到烦恼。
Matei Zaharia [00:21:46]: 而且作为
Reynold Xin [00:21:48]: 以上所有
Matei Zaharia [00:21:48]: 我不想出现在首页上,比如,我安装了某个奇怪的 npm 包并泄露了
Swyx [00:21:53]: 是的
Matei Zaharia [00:21:53]: 所有代码,所以我特别警惕。但我也时间很少,所以我不想在那里坐等审批,比如,你是否要运行一个 20 行的 bash 脚本,是或否?这就是为什么我花了很多时间思考,如何尽可能地使其安全且不烦人?
Swyx [00:22:10]: 是的。安全和,嗯,我们称之为安全性的方面比 token 最大值或 token 预算更重要吗?哪个更重要?
Matei Zaharia [00:22:19]: 哦,是的,两者都有。我不知道。我想这取决于你所在的公司类型。我认为,有些公司,比如,预算有限,他们真的非常在意这一点。
Swyx [00:22:34]: 你即使是 Uber 也会担心这个问题吗?
Matei Zaharia [00:22:36]: 是的。哦,是的,完全如此。是的。如果你有
Reynold Xin [00:22:38]: 对我们来说,安全
Matei Zaharia [00:22:39]: 是的
Reynold Xin [00:22:40]: 非常重要。
Matei Zaharia [00:22:40]: 对我们来说,作为云服务提供商,安全绝对是至关重要的,这是最重要的事情,而 token 最大值,我们目前还不太担心,但我也见过一些情况。例如,我与一些咨询公司交谈过。他们有大约 10 万名员工,都在为客户编写代码。如果每个员工每月多花 1000 美元,那可不是一件好玩的事。
Swyx [00:23:04]: 是的
Matei Zaharia [00:23:04]: 我们只有几千名工程师。
Swyx [00:23:06]: Databricks 的政策是什么?是无限制的吗?
Matei Zaharia [00:23:08]: 是无限制的,但我们使用自己的产品来分析追踪信息等,我们有一个团队负责优化并查看是否有人做了奇怪的事情。通过分析当前的追踪信息,我们获得了一些非常有趣的见解,比如
Swyx [00:23:24]: 是的
Matei Zaharia [00:23:25]: 哪些模型在处理 Rust 时比处理 TypeScript 或其他语言更好。是的,至少在我们的代码库中是这样。
Swyx [00:23:31]: 是的。令人惊叹。显然,我必须问一下 token 的问题,显然。
Matei Zaharia [00:23:34]: 是的。
Swyx [00:23:34]: 我认为
Reynold Xin [00:23:34]: 是的
Swyx [00:23:34]: 这是一个关键问题。是的,安全性和控制权更重要,然后要确定一个合理的层级,你可以有一定的自主权,但不能太多。
Matei Zaharia [00:23:43]: 是的。是的,我们希望让它变得非常容易。作为一名工程师,你应该设置一些东西。在 Omnigentt 中,你可以让你的代理问你,“给自己设置一个策略来执行这个任务。”它可以像
Swyx [00:23:52]: 但如果有什么我应该展示的
Matei Zaharia [00:23:53]: 是的
Swyx [00:23:53]: 我没在 GitHub 上看到,但
Matei Zaharia [00:23:55]: 哦,是的
Swyx [00:23:56]: 只是
Matei Zaharia [00:23:56]: 好吧,在文档中有一些内容。
Swyx [00:23:57]: 是的,就是这个。
Matei Zaharia [00:23:58]: 你之后可以看看。
Swyx [00:23:59]: 好的,是的。
Matei Zaharia [00:23:59]: 只需要查看文档。
Swyx [00:24:00]: 是的。
Matei Zaharia [00:24:00]: 如果你想看的话,可以看看上下文策略。
Swyx [00:24:04]: 我只是想指出,人们
Matei Zaharia [00:24:05]: 看一下内置的策略。
Swyx [00:24:06]: 是的。
Reynold Xin [00:24:06]: 是的。
Swyx [00:24:06]: 如果你想跟进这个,这就是你要看的地方,对吧?
Reynold Xin [00:24:10]: 是的。
Matei Zaharia [00:24:10]: 是的,而且这些策略背后的故事是,我刚刚写了一篇文档,里面有10个想法,这些想法是在你开始做这些工作之前写的。那其实是人们提出的需求清单,我告诉团队:“嘿,你们至少能实现其中的五个用于发布吗?”结果他们直接实现了全部。
Swyx [00:24:29]: 哦,哇。
Matei Zaharia [00:24:29]: 所以你可以提出更多的想法,但其中一些只是作为示例。实际上,你可以拦截代理所执行的任何事件,然后你可以选择阻止它、强制它询问用户,或者允许它执行,同时你还可以更新状态以保持
Swyx [00:24:45]: 是的。
Matei Zaharia [00:24:45]: 跟踪一些信息。
Swyx [00:24:46]: 是的,因为最终你作为系统设计者,应该允许人们进行插件扩展,对吧?这就是你所做事情的
Matei Zaharia [00:24:51]: 是的。
Swyx [00:24:52]: 整个运作方式。
Matei Zaharia [00:24:53]: 是的。
Swyx [00:24:54]: 就像
Matei Zaharia [00:24:54]: 我们也非常重视可组合性,比如其他人是否可以编写一个库,其他人可以使用这个库,而
Swyx [00:24:59]: 是的。
Matei Zaharia [00:24:59]: 这就是我们所期望的。
Reynold Xin [00:25:00]: 这里还有一个“电池已包含”的理念。
Matei Zaharia [00:25:03]: 是的。
Reynold Xin [00:25:03]: 很可能这与你做 Spark 的方式非常相似,你只需开始使用即可。
Swyx [00:25:06]: 是的。
Matei Zaharia [00:25:06]: 是的,没错。它在某些方面必须开箱即用,表现良好,然后你可以在其基础上构建你自己的东西,而我们不想做这些。但在 Spark 中,如果你想读取一张表,或者做聚合操作,它应该开箱即用,表现得非常出色。
基于 Omnigent 的构建:贡献、初创公司和分析
Swyx [00:25:23]: 是的。如果人们想了解 Omnigent,他们应该观看你的主题演讲。
Swyx [00:25:26]: 他们应该去 GitHub 和文档中查看。如果他们想做出贡献,或者想在这个生态系统上构建东西,你认为最能发挥杠杆效应的参与点是什么?
Matei Zaharia [00:25:36]: 是的,参与 Discord 和 GitHub。我们的团队在那里,会监控这些内容,一些人们提出的需求,我们自己直接实现了。有些需求,我们与他们合作开发。同时,请告诉我们
Swyx [00:25:49]: 是的,他们会非常
Matei Zaharia [00:25:49]: 你希望如何使用它,因为我认为特别是对于开发者来说,每个人都希望它能按照他们自己的方式工作,而一个真正优秀的开发工具,你需要听取所有使用方式的反馈,然后确定抽象层次以及如何让人们进行自定义。我们非常希望听到你的声音,比如,如果你觉得,“嘿,我不希望它这样工作”,请告诉我们。我们真的只是想在代理之间建立一个兼容层,然后让你在上面做更多事情。
Swyx [00:26:14]: 是的。在初创公司方面,我是一个创始人。
Swyx [00:26:18]: 我想
Matei Zaharia [00:26:18]: 是的
Swyx [00:26:18]: 我看到了一个机会,我想提前跟你沟通。你对初创公司有什么样的需求?比如,我希望有人
Matei Zaharia [00:26:23]: 哦,你是想和我们集成?
Swyx [00:26:24]: 有人正在做这个。
Matei Zaharia [00:26:26]: 哦,是针对初创公司吗?
Swyx [00:26:27]: 是的。
Swyx [00:26:28]: 比如,你有自己的初创公司,它发展得不错。
Matei Zaharia [00:26:30]: 是的。
Swyx [00:26:30]: 但如果你没有在做自己的初创公司,你认为,显然你应该建议很多初创公司。
Matei Zaharia [00:26:37]: 我认为,作为一个拥有大量工程师的公司,任何能帮助我理解人们如何使用
Swyx [00:26:46]: 花费
Matei Zaharia [00:26:46]: 编写代理和,
Swyx [00:26:48]: 是的。分析
Matei Zaharia [00:26:48]: 花费,但也要关注质量,比如你应该添加这个技能,或者你应该编写这个东西,或者你的代理在涉及该服务的任务上表现得很差,所以我会花时间去处理。那会很好。是的。
Swyx [00:27:00]: 是的。我找到的最接近的是,这个团队,GitAI。
Matei Zaharia [00:27:03]: 哦,很酷。是的。
Swyx [00:27:04]: 他们最初只是做代码和人工归因,但他们在其基础上构建了分析层。
Matei Zaharia [00:27:12]: 是的。
Swyx [00:27:12]: 我认为,有很多人工分析显然是,
Matei Zaharia [00:27:18]: 是的,他们有自己的基准
Swyx [00:27:18]: 表现非常出色
Matei Zaharia [00:27:19]: 是的
Swyx [00:27:19]: 用他们的工具。所以,会有这样的人。我认为这首先属于顾问的领域,但之后人们
Matei Zaharia [00:27:26]: 是的
Swyx [00:27:26]: 会构建一些软件,比如说,它有点像管理平面
Matei Zaharia [00:27:29]: 是的
Swyx [00:27:30]: 用于代码代理。
Matei Zaharia [00:27:30]: 是的,我认为那里会有很多见解。你在其他领域也有类似的东西。
Swyx [00:27:34]: 好的。那么,另一个重要的事情是你的梦想引擎。
LTAP:Lake 事务性/分析性处理
Swyx [00:27:39]: 也许你想讲讲 LTAP 的故事。
Reynold Xin [00:27:45]: 所以,背景是,我打算让听众去听我们之前和 Ankur Goyal 的访谈,我们谈到了 SingleStore 和 HTAP
Matei Zaharia [00:27:52]: 是的
Reynold Xin [00:27:52]: 以及所有这些历史。
Matei Zaharia [00:27:52]: 是的。LTAP 的想法其实很简单。如果人们听说过 Ankur 关于 HTAP 的演讲,它基本上就是数据库世界。抱歉,这里可能需要注入很多背景信息。数据库的世界
Swyx [00:28:06]: 我很高兴成为这个播客,我强迫大家去学习你们的数据库,各位。
Swyx [00:28:11]: 你不能仅用 Markdown 文件来编写代码。
Reynold Xin [00:28:13]: 是的。
Swyx [00:28:13]: 比如,
Reynold Xin [00:28:14]: 数据库是当今最重要的基础系统技术之一。但数据库领域实际上大致分为两个部分。我们称之为 OLTP 数据库,它们是事务型的,比如你的 Postgres、MySQL、Oracle 数据库。另一部分我们称之为分析型数据库,有时也称为 OLAP。它们之间的区别在于,OLTP 数据库通常处理的是某个特定事件,查找某一行数据并更新它,这是一种非常面向数据结构的处理方式。而在分析型数据库中,你试图对数据进行推理,比如计算“每个门店的收入是多少?”、“我的网站每天的表现如何?”最终你可能希望对这些数据进行分析,甚至运行机器学习模型来预测“未来的销售情况会如何?”它们的架构差异非常大。每个人最初都是从 OLTP 数据库开始的。每款应用,当你足够认真时,都需要的不仅仅是 Markdown 文件,你需要一个数据库。你希望保存数据,希望有事务一致性。但一旦你想要对数据进行推理,如果你只有大约一百行数据,可能在你的 Postgres 或 MySQL 数据库上运行也没问题。但一旦你拥有更多数据并想要进行更复杂的分析,这些分析可能会压垮你的 Postgres 数据库。因此你开始将数据从 OLTP 数据库中提取出来。
Swyx [00:29:35]: 复制。
Reynold Xin [00:29:36]: 将它们复制到分析系统中,然后开始
Swyx [00:29:39]: 是的,对很多人来说,Elasticsearch 就是
Reynold Xin [00:29:42]: 是的。其中一些人会使用 Elasticsearch 进行阻塞分析。显然,我们的很多客户会使用 Databricks 来运行更复杂的数据分析。
Swyx [00:29:51]: 是的。
Reynold Xin [00:29:51]: 还有一个术语叫做 CDC,
Matei Zaharia [00:29:54]: 变更数据捕获
Reynold Xin [00:29:55]: 变更数据捕获。它的作用是读取数据库的 binlog,如果你不了解 binlog 是什么也没关系。但 binlog 是数据的一个小增量,它会基于这个增量,在分析端重建数据库的状态。但 CDC 是一个非常痛苦的过程。它是行业标准,每个人都使用它,但最终它可能变成一个令人头疼的问题。我认为很多数据工程师都会在凌晨 3 点被唤醒,因为某个数据管道出了问题。
Swyx [00:30:22]: 我的解释是,像 Airbyte 这样的公司,仅仅做 CDC 就成为了一家价值 50 亿美元的公司。
Reynold Xin [00:30:27]: 是的,完全正确。
Reynold Xin [00:30:28]: CDC 是一个非常
Matei Zaharia [00:30:30]: 很难。
Reynold Xin [00:30:30]: 它是最无聊但也是最重要的操作之一,它支撑着现代社会。
Matei Zaharia [00:30:37]: 哦。
Reynold Xin [00:30:37]: 但它非常脆弱,我们开玩笑说,它应该叫做“持续数据损坏”,因为你可能在 OLTP 数据库中更改了模式,而 CDC 管道无法处理
Swyx [00:30:48]: 是的
Reynold Xin [00:30:48]: 模式变更。
Swyx [00:30:49]: 是的。
Reynold Xin [00:30:49]: 然后所有东西都崩溃了。
Swyx [00:30:51]: 你可以做各种各样的技巧,比如添加版本控制之类的,但确实是这样。
Reynold Xin [00:30:55]: 是的,但总的来说,这非常复杂。我想在之前的主题演讲中,我问观众中有没有人喜欢他们的 CDC 管道,只有大概两个人举手了。所以,如果单库的话,大概十年前,我认为行业有过这样的想法,嘿,如果我们建立一个可以处理这两种工作负载的单一数据库会怎么样?但现在我不会这么做了。
Swyx [00:31:12]: 顺便说一句,每个数据库工程师都一直梦想着这个。
Reynold Xin [00:31:15]: 是的,是的。
Reynold Xin [00:31:16]: 这是数据库工程的圣杯,为什么不能建立一个可以同时处理这两种任务的单一系统呢?但结果只是很多妥协。首先,我认为其中一个问题是,PostgreSQL 有一个庞大的生态系统,对吧?你希望使用为 PostgreSQL 构建的工具。而 Spark 也有一个庞大的生态系统,有很多你想要使用的库。如果你现在创建一个新的东西,你将没有生态系统。你倾向于创建一个新的、较小的专有 API,你在这两方面都缺乏,而且在性能方面也很难做到与两者相当。结果是两者都不好。而我们整个 LTAP 的想法,显然是 HTAP 这个词的双关语,我们认为这是正确实现的 HTAP。HTAP 想要为这两种任务构建一个单一的引擎。我们认为通过统一存储,你可以获得你所需功能的 99%。一旦你有了统一的存储层,如果你的 PostgreSQL 数据库以列式格式写入数据,那么所有分析任务都可以直接读取这些数据,而没有任何延迟,对吧?中间没有管道,所以所有数据都会立即可供分析使用。我想我之前告诉一些客户,当我们谈到这将对代理非常有用时,我一开始自己其实并不太相信,尽管我们写下了这个定位。
Lakebase、代理和实时操作数据
Matei Zaharia [00:32:39]: 是的。
Reynold Xin [00:32:40]: 但昨晚我和一位澳大利亚客户共进晚餐,他告诉我:“哦,嘿,我们有一个大问题,我们有来自服务的各种日志,我们看到 SLA 下降,想要调查。但代理甚至无法理解数据库内部到底发生了什么。我们看到的只是数据库和这些服务的产品遥测数据。” 如果代理能够理解,例如,是谁下订单的,发生了什么,他们到底在做什么,那将使这些代理强大十倍。现在我完全相信我们自己的信息。
Swyx [00:33:13]: 是的。
Reynold Xin [00:33:14]: 我认为这真的能给你几乎 HTAP 圣杯的所有好处,即,嘿,立即将数据提供给分析推理使用。
Swyx [00:33:26]: 是的,我认为,
Reynold Xin [00:33:27]: 而且没有妥协。
Swyx [00:33:28]: 以一种人类通常智能的方式,想要拥有查询任何内容的能力和访问权限。
Reynold Xin [00:33:34]: 是的。
Swyx [00:33:35]: 在他们工作的同时,他们也需要历史和上下文。
Swyx [00:33:38]: 他们在哪里获取上下文?这就是分析工作负载。
Reynold Xin [00:33:41]: 完全正确。
Matei Zaharia [00:33:42]: 是的。我记得我们曾经遇到数据库故障,工程师们说:“我不能只是运行一个巨大的查询来查看发生了什么,因为这会把数据库搞崩溃,甚至更糟糕。” 这就是 LTAP 要解决的问题,因为它可以启动一个完全独立的机器集群来进行分析,你不会让主数据库过载
Reynold Xin [00:34:02]: 对
Matei Zaharia [00:34:02]: 它还在努力提供服务。
Reynold Xin [00:34:04]: 是的。
Matei Zaharia [00:34:04]: 是的。
为什么 LTAP 现在可以工作:Parquet、Postgres 和 Lakebase
Swyx [00:34:05]: 这个想法已经存在了一段时间。为了实现今天的结果,需要完成哪些事情?
Reynold Xin [00:34:11]: 是的。
Swyx [00:34:11]: 我觉得你之前已经宣布过这个想法的多个版本,但 LTAP 的清晰度更高。
Reynold Xin [00:34:18]: 是的。
Swyx [00:34:18]: 我认为 LTAP 就是,我们终于搞定了,伙计们。
Matei Zaharia [00:34:21]: 是的。
Reynold Xin [00:34:21]: 我和 Meta 的某个人交谈过,他问我:“嘿,有什么需要注意的地方吗?为什么现在才有可能?” 我认为现实是,我们花了很多时间来构建 Lakebase 架构。显然,很多想法来自 Neon 团队,即存储和计算的分离。事实证明,从那一步到 LTAP 的想法只是迈出了一小步,即:嘿,我们在 Neon 架构和 Lakebase 架构中,将数据以面向行的格式写入开放数据湖,但我们在其中写入的是 Postgres 页面。我和 Ali 花了很多时间争论,嘿,我们能不能把写入格式改成面向列的?我们一直在争论,有一天,我们的一位非常聪明的工程师走了进来,他说:“嘿,我刚刚做了个原型,它有效。”
Swyx [00:35:07]: 等等,你做了什么原型?
Reynold Xin [00:35:09]: 原型,不是以面向行的格式将数据存储在数据湖中
Swyx [00:35:15]: 面向列的
Reynold Xin [00:35:15]: 比如 Postgres 页面
Swyx [00:35:15]: 是的
Reynold Xin [00:35:16]: 用 Parquet 格式写入。
Swyx [00:35:17]: 是的。
Reynold Xin [00:35:18]: 他只是观察到,我们的存储集群有很多闲置的 CPU,我们可以利用这些 CPU 来进行从行到列的转码,行格式适合 OLTP,但列格式适合分析。所以,我们可以在那时进行转码。事实上,一旦你转码,数据的压缩效果会更好。因此,例如,从写入 S3 或其他数据湖(如对象存储)的服务中,你现在可以更快地写入,因为它们现在更小了。
Matei Zaharia [00:35:49]: 是的。
Reynold Xin [00:35:49]: 所以没有额外的开销,性能上也没有妥协。
Matei Zaharia [00:35:52]: 有一些 CPU 开销。
Swyx [00:35:54]: 是的,因为,
Matei Zaharia [00:35:55]: 是的。
Swyx [00:35:55]: 我们本来就有额外的 CPU。
Matei Zaharia [00:35:56]: 是的,我们本来就有这个集群。
Swyx [00:35:57]: 所以争论结束了。这是技术领域的一个经典案例,很多争论之后,有人直接去尝试原型,结果成功了。
Matei Zaharia [00:36:06]: 但是,像这样具有战略意义的事情
Swyx [00:36:07]: 没错。
Matei Zaharia [00:36:07]: 对公司来说非常重要,我预计会有启动会议,比如设计文档。但并没有这样的事情。
Swyx [00:36:13]: 没有这样的事情。
Swyx [00:36:14]: 他刚刚。我们在很多会议中争论过
Matei Zaharia [00:36:17]: 是的。
Swyx [00:36:17]: 然后我们只是从第一性原理出发,争论这是否可行。
Matei Zaharia [00:36:20]: 是的。
Swyx [00:36:20]: 然后,有人直接做了。
Matei Zaharia [00:36:23]: 是的,如果你设置好环境,让人们这么做,那会很棒。Omnigentt 也发生过类似的事情。我认为,如果我只写一份文档,说我们可以一起做这些事情,大家可能会想,“那这个呢?那个呢?”但如果你尝试一下,它会有所帮助。如果你有真正的用户,他们对它进行测试,它仍然能正常运行,或者在这种情况下,如果你了解工作负载的特征,你就可以用同样的模式进行测试。
Databricks 快速原型设计的文化
Swyx [00:36:47]: 是的。
Matei Zaharia [00:36:47]: 是的。
Swyx [00:36:47]: 除了技术方面,这非常酷,但更重要的是创新文化,你不需要征求我的许可,也不需要走什么正式的流程,直接去做就可以了?
Matei Zaharia [00:36:59]: 特别是现在,我认为
Swyx [00:37:01]: 是的。
Matei Zaharia [00:37:01]: 有了 AI,更容易构建
Swyx [00:37:02]: 但是,比如
Matei Zaharia [00:37:03]: 一个原型
Swyx [00:37:03]: 我认为你非常擅长创建一系列大型公司的产品,我认为在规模扩大时,事情会变慢,我相信你已经感受到了,但不知何故,你仍然有一群核心人员,他们似乎可以免受影响。这是怎么做到的?我认为我们招聘并和一些非常优秀的人合作,这是其中非常重要的部分,同时也要赋予他们权力,但我们也花了很多时间,也许我们亲自参与其中也很重要。
Matei Zaharia [00:37:28]: 是的,我认为首先,人们可以适应在更大的公司中工作,这有助于他们。我们要确保他们知道他们可以尝试新事物、解决争论,并且有很多之前的例子可供参考,或者以测试版的形式推出产品。另外,我认为作为一家公司,尽管规模很大,我们并没有推出太多产品。我们努力保持产品之间的协调性。这正是整个公司的理念:与其像亚马逊那样,需要设置20个服务,比如分析和机器学习堆栈,我们只提供一个,它们使用相同的 API、相同的语义,并且数据是统一的。这需要统一。然后,我们每次只添加一个功能。例如,我们通过 Delta Lake 添加了存储功能,以前我们没有存储功能。然后我们添加了 SQL,添加了机器学习平台的功能。是的,不要推出太多产品,但要将这些产品做好,这样也有助于保持管理的可控性。
Reynold Xin [00:38:33]: 是的。我们还鼓励大家不要试图一次性解决所有问题,而是逐步进行,快速推进。例如,我们的许多产品
Matei Zaharia [00:38:43]: 是的。
Reynold Xin [00:38:43]: 它们通常在几周内就完成了,然后我们会问,比如,我通常会问负责团队的第一个问题是:目标客户是谁?你们在和谁合作?你们和他们是否以名字相称?你们是否在和他们发短信?我认为建立这种非常紧密的循环,
Matei Zaharia [00:38:59]: 你能再举一个你想到的例子吗?我只是想举几个例子。
Reynold Xin [00:39:04]: Omnigentt 就是这样发生的。
Reynold Xin [00:39:05]: 是的。
Matei Zaharia [00:39:06]: 客户是谁?这是一个很好的例子。
Reynold Xin [00:39:34]: 我们当时做了存储层。当时我们最大的客户说:“好的,我需要一些东西。我想在云端,因为如果我们的网络其他部分被入侵,这个东西必须单独存储和查询事件。”然后,他和我们谈了,他说:“好的,这是每秒的事件数量,这是我想要的新鲜度。你能做到吗?”这比我们之前处理过的任何工作负载都大得多,我们当时有工程师 Michael Armbrust 在处理这个问题,他努力让这个功能实现。一旦他们成功使用了,其他人也都能使用了。是的。这可能是在公司成立后的四年内左右。
Matei Zaharia [00:40:24]: 20-2018?
Swyx [00:40:26]: 是的,2017年和2018年。
Matei Zaharia [00:40:28]: 几家公司
Swyx [00:40:28]: 你有其他例子吗?
Matei Zaharia [00:40:30]: 有
Swyx [00:40:31]: 也许你还有其他例子
Matei Zaharia [00:40:31]: 是的,Clean Room,这是一种在不共享数据的情况下共享数据的方式。
Swyx [00:40:35]: 是的。
Matei Zaharia [00:40:35]: 但你可以允许特定的操作。这些功能最初只是为两个客户实现的。我认为行业有一种感觉,即如果你过度拟合一两个客户,对你会非常不利。但我认为,过度拟合的缺点比其带来的好处要小得多。如果你尝试过于雄心勃勃,试图解决所有问题,那会带来更大的问题。
Swyx [00:40:58]: 是的,是的。
Matei Zaharia [00:40:58]: 因为你可能会没有客户。
Swyx [00:41:00]: 是的,这更可能的结果。
Matei Zaharia [00:41:02]: 是的。
技术公司 vs. 企业
Swyx [00:41:03]: 你可以从那里进行调整。我认为确实存在一些坏客户,有时候你应该解雇他们。是的。
Matei Zaharia [00:41:08]: 如果你推动得当,它们有时确实存在。我认为我们可能看到的一个挑战,也许许多AI公司,新一代公司也看到的是,技术公司与传统企业之间存在很大差异。
Swyx [00:41:22]: 是的。
Matei Zaharia [00:41:22]: 如果你只为技术公司优化一切,你可能会遇到各种挑战。
Swyx [00:41:27]: 哦。
Matei Zaharia [00:41:27]: 在技术公司之外进行扩展。
Swyx [00:41:28]: 好的,比如
Matei Zaharia [00:41:30]: 是的。
Swyx [00:41:30]: 你总是会想到的三个主要区别是什么?
Reynold Xin [00:41:33]: 治理是一个大问题。
Matei Zaharia [00:41:34]: 我认为,是的,一个大问题是安全、数据隐私、治理,所有这些方面。通常,如果你在构建某种B2B或开发者工具,你的最大市场将是企业,但它们非常不同。一家存在了大约30年的公司,它有某种形式的IT系统,拥有大量遗留系统,或者在受监管的领域运营。而一家初创公司,甚至一家相对较新的科技公司,一切都崭新且干净。是的,它们就是不同,如果你从未与企业合作或在其中工作过,你根本不会知道这些。
Reynold Xin [00:42:13]: 是的。
Matei Zaharia [00:42:13]: 是的。
Reynold Xin [00:42:13]: 而且采购流程可能差别很大。涉及的利益相关方要多得多。
Matei Zaharia [00:42:17]: 是的,这是一点。是的。
Matei Zaharia [00:42:18]: 另一个有趣的部分是,我认为一些科技公司的人会说:“哦,我自己可以构建那个。”对吧?我只需要自己构建就可以了。
Matei Zaharia [00:42:27]: 所以你就会说,
Reynold Xin [00:42:28]: 我不认为人们会这样看待 Databricks,但
Matei Zaharia [00:42:31]: 是的,这取决于
Reynold Xin [00:42:32]: 他们会。
Matei Zaharia [00:42:32]: 他们会?
Matei Zaharia [00:42:32]: 是的,这取决于团队和一些因素。但另一方面,很多企业会说:“我不,我从不想涉足构建这些的业务。”比如,我不希望我的业务,不管我是零售商还是其他,因为一些奇怪的、技术宅无法让流式处理管道正常运行而受到影响。
Reynold Xin [00:42:45]: 是的,卖衣服,
Matei Zaharia [00:42:46]: 会因此而陷入困境,就像某些奇怪的极客无法让流式处理管道正常运行。
Matei Zaharia [00:42:51]: 这不是我所做的事情。
Reynold Xin [00:42:53]: 是的。
Reynold Xin [00:42:53]: 是的。老实说,这让他们成为非常棒的客户,对吧?
Matei Zaharia [00:42:55]: 是的。但你必须明白,如果没有在那里工作过,你可能很难理解这一点,你可能不会体会到其中的困难。
Reynold Xin [00:43:01]: 看,我认为他们都很棒。别误会我,他们有不同的挑战。但可以肯定的是,很多科技公司都倾向于自己动手做,而且比例要高得多。
Matei Zaharia [00:43:10]: 另一方面,你还有些人,他们在自己的领域非常专业,比如他们制造飞机,设计药物,不管怎样,他们只想跨越技术障碍,他们不想去学习数据库之类的东西。尽管我们觉得数据库很酷,即使平均软件工程师可能觉得它很有趣,他们却从不想了解这些。他们只说:“我有一个巨大的矩阵,或者不管怎样,我的临床数据,我该如何对它进行聚类之类的?”是的。
梦想引擎与重写数据库堆栈
Reynold Xin [00:43:40]: 是的。这确实如此。好的,那么我想构建梦想引擎的愿景。这一切最终会导向哪里?我们几年前意识到的一件事是,目前市面上的所有数据库引擎,尤其是分析领域,都已有十年历史了。几乎所有有相当影响力的产品都已经有十年历史了。它们最初都针对一些非常具体、狭窄的使用场景,随着时间的推移,它们变得越来越成功。它们的雄心壮志也逐渐扩大,然后尝试支持越来越多的使用场景。但支持这些使用场景的最快方式,往往是绕开最初为这些使用场景而创建的抽象层。
Matei Zaharia [00:44:23]: 是的。
Reynold Xin [00:44:23]: 然后,你基本上可以支持它们,但效果可能不太理想。在经历了十年的自然演化之后,它就变成了一堆巨大的垃圾。
Reynold Xin [00:44:31]: 是的。但这也包括 Databricks。我认为,几乎没有哪家公司或系统有这种勇气去说:“让我们从头开始。让我们回到白板,重新设计,尽管我们已经经历了十年的工作负载和可能数十亿美元的收入,现在让我们尝试从头开始重写它,确保它能够运行并支持所有这些用例。”我们开始这么做,但这确实是一个非常雄心勃勃的项目。顺便说一句,你可以在维基百科上搜索,有一个叫做“第二系统综合征”的东西。
Matei Zaharia [00:45:08]: 是的,我知道这个。没错。
Reynold Xin [00:45:09]: 或者称为“第二系统效应”。
Matei Zaharia [00:45:11]: 每个开发人员都必须知道什么是“第二系统综合征”。
Reynold Xin [00:45:12]: 这是你构建了第一个东西,它运行得很好,而第二个东西注定会失败,因为你会变得过于雄心勃勃。
Reynold Xin [00:45:19]: 然后你提出了太多要求。
Matei Zaharia [00:45:20]: 或者你认为一切
Reynold Xin [00:45:21]: 是的
Matei Zaharia [00:45:21]: 然后你会想
Reynold Xin [00:45:22]: 你只是
Matei Zaharia [00:45:22]: 你会说:“这次我要设计一个完美的系统。”
Reynold Xin [00:45:24]: 是的。结果它并不完美,然后开始失败,而你又过于雄心勃勃,从未发布,最终被扼杀。参与这个项目的工程团队非常出色。我认为我们招募了一些地球上最优秀的数据库工程师加入 Databricks,他们非常出色。感谢上帝,这不是他们的第二个系统。他们中的许多人过去已经构建过不止两个系统。
Matei Zaharia [00:45:44]: 啊,不错。
Reynold Xin [00:45:45]: 但他们仍然对此感到担忧,嘿,从头开始构建数据库引擎,我认为传统智慧认为这可能需要大约五年时间才能成熟。这将是一个长期的项目。它可能会失败。我想其中一位工程师开玩笑说:“嘿,也许我们干脆把它叫做 Reynolds Stream Engine(雷诺德流引擎)。”如果我们以创始人命名,也许我们会被取消或扼杀。但我想他们构建了一些非常了不起的东西。他们回到原点,从范式层面改变了数据库引擎的构建方式。通常,当你构建数据库引擎时,你会阅读大量学术论文,试图理解最新的算法和数据结构,然后将它们组合在一起,看看是否有效。这种方法也存在很高的失败风险,因为那些在纸上看起来非常好的东西可能在70%的工作负载中表现良好,但在剩下的30%中却会适得其反。他们构建了一个更像工厂的系统来构建数据库。他们花更多时间构建这个工厂,而这个工厂利用了我们过去十年的追踪数据。我认为他们统计的追踪表中大约有数万亿个数据点。
Matei Zaharia [00:46:47]: 你们不会丢弃任何东西吗?或者只是查看样本?
Reynold Xin [00:46:49]: 我们当然会进行抽样,
Matei Zaharia [00:46:50]: 是的
Reynold Xin [00:46:51]: 有很多很多的东西。他们利用这些来构建一个模型,比如机器学习模型。不是AL,是机器学习模型。机器学习模型可以非常快速地告诉我们任何算法和任何实现对于任何特定类型的查询的性能,具有很高的准确性。基于这一点,他们可以挑选出最有可能帮助不同种类工作负载的算法和数据结构。
Reynold Xin [00:47:21]: 这些在运行时以及实现时都适用。
Reynold Xin [00:47:25]: 因为有无限多种可能
Matei Zaharia [00:47:27]: 这听起来像是你想将请求路由到不同的数据结构
Reynold Xin [00:47:31]: 是的。如果你想想看
Matei Zaharia [00:47:32]: 这不是一个数据库
Reynold Xin [00:47:33]: 一个数据库里实现了很多东西
Matei Zaharia [00:47:36]: 是的
Reynold Xin [00:47:36]: 一起。但你想要确保它们都能很好地协同工作
Swyx [00:47:39]: 是的
Reynold Xin [00:47:39]: 相互之间,对于任何给定的操作,可能有多个实现,所以我们让它运行得非常高效。现实情况是,有些算法在低延迟方面表现非常出色,但可能在扫描PB级数据时表现不佳。
Swyx [00:47:54]: 是的。
Reynold Xin [00:47:54]: 对吧?通常在吞吐量和延迟之间存在权衡。
Swyx [00:47:58]: 关键维度包括规模、吞吐量、延迟?还有
Reynold Xin [00:48:01]: 是的,规模
Swyx [00:48:02]: 还有其他吗?
Reynold Xin [00:48:02]: 以及数据的分布。
Swyx [00:48:05]: 是的。
Reynold Xin [00:48:05]: 对吧?数据的稀疏程度。
Swyx [00:48:06]: 多难
Reynold Xin [00:48:06]: 这很重要
Swyx [00:48:07]: 是的
Reynold Xin [00:48:07]: 非常重要。你多久访问一次相同的数据?
Matei Zaharia [00:48:10]: 是的,不同的值的数量
Reynold Xin [00:48:12]: 是的
Matei Zaharia [00:48:12]: 以及类似的东西。
Reynold Xin [00:48:13]: 这些因素非常重要。
Matei Zaharia [00:48:14]: 是的。
Reynold Xin [00:48:14]: 例如,不同值的数量会影响你的聚合和哈希的内存消耗。比如在某个时候会用到哈希表。
Swyx [00:48:20]: 有人,我打算在我的文章中列出所有这些内容,因为我真的想要一个分类法。对我来说,分类法
Matei Zaharia [00:48:25]: 嗯
Swyx [00:48:25]: 非常有帮助,因为它涵盖了你应该考虑的一切。
Reynold Xin [00:48:29]: 我认为如果你尝试列出这些,可能有上百万个不同的特征。
Swyx [00:48:32]: 我总是想要,比如,给我12个。给我。
Swyx [00:48:38]: 比如,有人做过,我记得大约40年前Oracle的一篇论文提出了分布式系统的八个谬误。
Reynold Xin [00:48:45]: 是的。
Swyx [00:48:45]: 对吧?这个东西非常有用。
Matei Zaharia [00:48:46]: 是的,确实如此。
Swyx [00:48:46]: 它就像,好吧,考虑这八个。
Reynold Xin [00:48:48]: 但让我给你一个非常奇怪的例子,但它对性能有深远的影响,比如你的字符串只是ASCII还是包含Unicode?你应该怎么编码它?
Swyx [00:48:59]: 字符串,字符串是最复杂的数据类型。
Reynold Xin [00:49:01]: 是的。比如,如果字符串非常密集,你可以将每个字符串转换为一个数组。想象一下,你必须进行聚合操作。在这种情况下,你不需要哈希表,只需要一个数组。如果字符串足够密集,比如只有256种可能,你就可以直接使用数组。
Swyx [00:49:21]: 是的。
Reynold Xin [00:49:21]: 查询。
Swyx [00:49:21]: 是的。
Reynold Xin [00:49:22]: 这样会快得多。
Matei Zaharia [00:49:23]: 是的,如果字符串是国家代码之类的东西。
Reynold Xin [00:49:25]: 是的。
Matei Zaharia [00:49:25]: 是的。
Reynold Xin [00:49:26]: 所以这个模型可能有数百万个特征。但通过这种方式,他们可以优先考虑在实践中可能产生影响的不同算法。其中许多算法非常反直觉。这些是你可能会认为“可能效果很好”的东西,但实际效果并不好。更重要的是,在运行时,你可以选择合适的算法和结构。
向量数据库、查询引擎和LTAP
Swyx [00:49:47]: 我在听这个愿景。我觉得Databricks在逐步演进方面做得非常好。你是否在某个时刻必须彻底切换到一个新系统?或者,
Reynold Xin [00:49:58]: 我们设计它的方式是支持逐步演进的。
Swyx [00:50:00]: 是的。
Reynold Xin [00:50:00]: 所以我们首先发布了一个新的端点。但这个新引擎应该能够完成我们之前能完成的一切,并且做得更好。特别是,更好的部分指的是那些可以以十毫秒为单位完成的低延迟工作负载。但我们希望以逐步的方式推出这个新引擎,逐步增加功能,这样就不会需要五年时间才能看到隧道尽头的光。
Swyx [00:50:29]: 我觉得这是一项英雄般的任务。我不知道用什么其他方式来形容。我真的很感兴趣于任何新的工作负载和新的数据库。显然,我认为,如果我之前已经表明我有点数据库狂热者。事务数据库,抱歉,会计数据库,比如Tiger Beetles,不知道你有没有见过这些。
Reynold Xin [00:50:50]: 它们是做什么的?
Swyx [00:50:51]: 双重记账会计数据库。它主要是为了模拟财务账户或信用系统。
Reynold Xin [00:50:56]: 哦,我明白了。
Reynold Xin [00:50:57]: 这是一个非常具体的问题。
Swyx [00:50:58]: 非常高的吞吐量。是的。
Reynold Xin [00:50:59]: 是的。
Swyx [00:51:00]: 是的。不,当你谈到大家如何从
Matei Zaharia [00:51:02]: 是的
Swyx [00:51:02]: 一个东西开始,然后他们
Reynold Xin [00:51:03]: 哦,我明白了
Swyx [00:51:03]: 他们扩大规模,然后添加其他功能。这正是这样。
Swyx [00:51:06]: 然后,我最近采访了TurboPuffer的Simon。
Reynold Xin [00:51:08]: 是的。
Swyx [00:51:09]: 也是同样的情况。
Matei Zaharia [00:51:09]: 是的。
Swyx [00:51:09]: 比如,还有Chroma,2023年所有向量数据库公司
Reynold Xin [00:51:14]: 是的
Swyx [00:51:14]: 突然都变成了通用存储,比如块存储。
Matei Zaharia [00:51:18]: 是的。
Reynold Xin [00:51:18]: 向量数据库本来就不应该成为一个独立的类别。
Swyx [00:51:21]: 我认为这曾经是一个很有争议的观点,但现在已经成为普遍共识。什么应该被归为一个独立的类别?如果一切都变成LTAP,那又是什么?
Reynold Xin [00:51:31]: 我认为LTAP的论点是我们并没有在实际查询层上合并数据库,我们只是在存储层上进行合并。
Swyx [00:51:37]: 索引层
Reynold Xin [00:51:38]: 存储层。
Swyx [00:51:38]: 对。
Reynold Xin [00:51:39]: 我认为这是非常重要的一部分。我们认为没有必要将查询层合并成一个HTAP风格的数据库。顺便说一下,我认为很多人还有一个想法,就是如果只需要关注一种查询语言,那就太好了。而不是去担心PostgreSQL和可能的Spark SQL,为什么不只用一种呢?但我觉得这对代理来说不是问题。代理在PostgreSQL或Spark SQL方面都非常熟练,它们永远不会感到困惑。只要数据存在,并且
Matei Zaharia [00:52:10]: 对
Reynold Xin [00:52:10]: 可用,代理就能表现良好。这可能曾经,
Matei Zaharia [00:52:14]: 对,
Reynold Xin [00:52:15]: 五年前对人类来说可能是个问题。
Matei Zaharia [00:52:17]: 随着时间推移,这可能会出现,但应该如此。这引出了如何逐步进行的问题,对吧?比如我们意识到你现在并不需要它。我们不需要解决这个问题就能从当前的LTAP中获得很多价值。
Swyx [00:52:30]: 对。好的,我将用一些更刺激的话题来结束这个播客。
Databricks 与 Snowflake
Swyx [00:52:37]: 每个人都曾试图在存储和计算的分离上构建云服务。我从Snowflake那里也听过类似的推销。
Swyx [00:52:47]: 你们在哪些方面取得了成功,而他们却失败了?
Swyx [00:52:50]: 这有点难。
Reynold Xin [00:52:52]: 嗯,
Swyx [00:52:52]: 尊重他们是竞争对手
Reynold Xin [00:52:54]: 是的
Swyx [00:52:55]: 客观上,你们已经超越了他们。从你的角度来看,你们选择不同方向的核心洞察是什么?
Reynold Xin [00:53:03]: 可能最大的根本区别是,两家公司几乎同时起步,都转向了云,都专注于存储与计算架构。但最大的区别在于,一个是开放的。Databricks从未拥有专有格式,对吧?我们从开放生态系统开始,从Parquet开始,然后演进到Delta和Iceberg等。这就像一个巨大的生态系统。我认为这非常重要。另一个区别是AI。在2022年10月ChatGPT发布之前,我们一直将Databricks定位为机器学习加数据
Swyx [00:53:38]: 平台的很多部分都是围绕机器学习用例构建的,显然AI有点不同,Matei在这方面投入的时间比我多得多。但整个平台——我们从未觉得,“嘿,我们只是一个数据基础设施平台。”
Matei Zaharia [00:53:53]: 好吧,只有
Swyx [00:53:54]: 是的。
Matei Zaharia [00:53:54]: 是的。
Swyx [00:53:54]: 我们
Matei Zaharia [00:53:55]: 我认为他们最初是这样想的,他们觉得,“好吧,我们只管理最有价值的数据,然后努力让它变得非常快。为此,我们会拥有自己的存储,这种存储是与引擎优化过的,然后我们从那些管理层、财务人员等查看和使用的少量数据开始,让这些数据变得非常快速,以提供服务。”而当时这是一个不同的领域。而我们则是从批量处理和数据摄入开始的。比如,你有很多 JSON 日志文件,或者其他各种数据。我们做这些大规模处理,因为这就是 Spark 的初衷,用于大规模的类似 MapReduce 的处理。然后我们会将数据保存为开放格式。这可能比较慢,但数据已经存在了,下游可以使用它。结果证明,从这种在规模和摄入方面表现优异、成本极低的广泛数据开始,再创建出具有速度和功能的版本,这些版本对业务用户来说非常易于使用,这是更容易实现的。而且,当时还有
Swyx [00:55:02]: 所以,先开放,然后优化。
Matei Zaharia [00:55:04]: 是的,先开放,然后从大规模开始。在某种意义上,我们比他们更早地开始处理上游数据。曾经有一段时间,我们互相将对方列为合作伙伴,因为我们说,如果你同时使用这两种解决方案,用 Databricks 进行数据摄入和计算,然后从 Snowflake 中提供表,你就能获得所有的可视化和非常快速的功能,这非常棒。但后来我们意识到,客户告诉我们,“为什么我需要这个额外的东西?为什么我不能直接查询你们的表?”我们回答,“不,我们在那方面很糟糕。请使用你们的合作伙伴来处理 SQL 数据仓库相关的事情。”然后他们意识到,大量的计算正在向上游转移到其他系统中。我们必须停止这种情况
Swyx [00:55:43]: 你们必须进入彼此的领域,是的。
Matei Zaharia [00:55:45]: 但我觉得我们确实是从更大的范围开始的,而且是开放的,这在架构上非常重要。比如,再次提到,对于那些公司已经存在了三十年的企业来说,你们可能经历过被 Oracle 锁定,以及各种疯狂的事情。如果你是那里的 CTO,并且正在为公司未来的架构做规划,你肯定想要选择一个开放的基础。理想情况下,你只希望公司内部有一种管理数据的方式,你不想有七种不同的系统。
Swyx [00:56:17]: 但开放数据格式已经取得了胜利。我认为现在每家企业都希望将数据存储在开放数据格式中。但当时这非常有争议。我记得大概是五到六年前,其中一位 Snowflake 的联合创始人写了一篇博客,标题是
Matei Zaharia [00:56:31]: 是的
Swyx [00:56:31]: 《明智地选择开放》,反对
Matei Zaharia [00:56:35]: 是的。
Swyx [00:56:35]: 我认为他们可能已经删除了这篇博客,你现在必须在存档中找到它。
Matei Zaharia [00:56:38]: 哦,现在这篇博客永远不会消失了。
Matei Zaharia [00:56:41]: 不,它还在那里。我喜欢你们独有的视角,因为显然你们在经营公司。感谢你们的耐心,这种视角令人难以置信。我们非常欣赏
Swyx [00:56:52]: 或许再问一个问题。
Matei Zaharia [00:56:55]: 是的。
Swyx [00:56:55]: 当你谈到这些时,我觉得我必须给 Ali 表示很多赞赏。
Matei Zaharia [00:56:58]: 是的。
Swyx [00:56:59]: 他是一位非常出色的CEO。我认为他是IQ、EQ、技术狂热、执行力和商业洞察力的完美结合。
Swyx [00:57:07]: 而且他本身也是一位创始人,这使他更容易
Matei Zaharia [00:57:12]: 是的
Swyx [00:57:12]: 去动员和执行。我认为这一点,
Matei Zaharia [00:57:15]: 哦,就是这样?所以你们有阿里,而他们,嗯,好吧。
Swyx [00:57:20]: 嗯,还有其他一些事情,但我认为阿里在其中扮演了相当重要的角色,
Matei Zaharia [00:57:23]: 我
Swyx [00:57:23]: 是的。
Matei Zaharia [00:57:23]: 我以为他会在那里做出一些技术上的选择。
Swyx [00:57:28]: 哦,不,我,嗯,
Matei Zaharia [00:57:29]: 他在很多方面都做了。比如,在一些关键的岔路口,他推动了某种方向,后来证明那确实是正确的方向。
Swyx [00:57:37]: 是的,关于你们八个人如何合作,有很多内容可以写成一本书。我认为有人已经做过一些相关的人物报道。第二个问题,不是再次提问。
Mosaic、DBRX、Genie 和专用模型
Swyx [00:57:48]: Mosaic。
Matei Zaharia [00:57:49]: 数据在那里。哦。
Swyx [00:57:50]: Mosaic。
Matei Zaharia [00:57:50]: 是的。
Swyx [00:57:51]: 我们社区的很多人对Databricks的模型故事很感兴趣,对吧?
Swyx [00:57:56]: 比如,当你们收购Mosaic时,当时的想法是“好吧,我们要做微调,我们要托管模型”,因为他们有Mosaic模型。但看起来你们并没有这么做,而是朝着LTAP和Harness之类的方向发展。这背后有什么故事?
Matei Zaharia [00:58:14]: 是的。我想Mosaic一开始的时候,他们以早期发布开源大型语言模型(LLMs)而闻名,这些模型是通用模型。在那之前,他们做的是其他事情,比如优化训练系统。他们拥有世界上最快的图像模型训练堆栈之类的东西。然后他们决定进入LLMs领域,这很聪明。他们在ChatGPT之前就进入了这个领域,因此他们拥有一些最早的开源LLMs。
Swyx [00:58:43]: 是的。
Swyx [00:58:43]: 我们采访了John Franco
Matei Zaharia [00:58:45]: 哦,是的
Swyx [00:58:45]: Abi for 7B。
Matei Zaharia [00:58:46]: 是的,没错。哦,是的,非常酷。是的,是的。所以我们决定,尽管我们已经推出了一个开源模型 DBRX,并且规模超过了 Llama Three,但我们决定真正专注于一个方面,那就是将会有如此多的人发布模型,与其做那种通用模型,其中很大一部分的“配方”就是投入大量计算资源并进行扩展,我们更想专注于下一步,比如说,如果你已经有了一个非常聪明的模型,那如何让它变得有用?对我们来说,这很大程度上是关于自动化,比如如何让模型非常擅长查询数据。我们称之为 Genie 的第一个代理系统就是如此。它就像一个虚拟的数据科学家。想象一下,有一个人已经完全了解你公司的一切,了解所有的机器学习库、所有的数据库、所有网络上的内容,你可以向他提问?这就是我们最初想要实现的目标。这意味着,我们不再那么专注于训练一些前沿模型,而是构建一个系统,使用外部模型或者微调、定制的组件。不过,我们仍然在进行大量的模型训练,事实上,我们一直在大量采购 GPU 等设备来进行训练。我们在几个地方进行这项工作。其中一个方面是,有很多高流量的使用场景,如果你有一个专门的模型,它会比任何通用模型都好得多。一个很好的例子是理解文档,比如 PDF、Word 文档之类的,解析这些文档。如果你曾经尝试过,你会发现这很令人沮丧,因为如果你把它发送给像 Claude、Fable 或者其他模型,它们几乎能理解,但总有一些地方出错,而且成本非常高。你只是把一张图片塞进去,就烧掉了大量的 token。因此,我们的团队开发了一个文档视觉模型,它接收一页文档,然后返回一个结构良好的 JSON,其中包含所有组件,而且非常有竞争力。它大概比那些前沿模型便宜 100 倍,而且效果更好。
Swyx [01:00:57]: 是的。
Matei Zaharia [01:00:57]: 这是由一位从 DeepMind 来的研究人员完成的,他也是 Adept 的创始人之一,是早期专注于扩展的人,但专注于这个方向。同样,我们在编码代理的部分也做了专门的代理。如果你看过顾问模型的相关内容,
Swyx [01:01:17]: 是的。
Matei Zaharia [01:01:17]: 来自 Harvey,也来自
Swyx [01:01:20]: Anthropic 已经开始
Matei Zaharia [01:01:20]: Anthropic
Swyx [01:01:20]: 以及 Commission。
Matei Zaharia [01:01:21]: 是的。
Swyx [01:01:21]: 是的。
Matei Zaharia [01:01:22]: 而且 UC Berkeley 的一位我的研究生,写了一篇名为《Advisor Models》的论文,我想是在这些内容发布之前。我确信其他人也同时想到了这个主意。
Swyx [01:01:30]: 是的。
Matei Zaharia [01:01:30]: 但这确实是一个非常有帮助的东西。是的,我们今天在主题演讲中展示了一些相关内容。
Swyx [01:01:38]: 是 Parth 吗?哦,Parth?
Matei Zaharia [01:01:39]: 是的,Parth。
Swyx [01:01:39]: 哦,他在我那边演讲。他正在做
Matei Zaharia [01:01:41]: 哦,真不错。
Swyx [01:01:41]: 持续学习基准。
Matei Zaharia [01:01:42]: 是的。
Matei Zaharia [01:01:43]: 是的,我是他在伯克利的导师之一。
Swyx [01:01:44]: 哦,是的。
Matei Zaharia [01:01:45]: 是的。
Swyx [01:01:45]: 我们采访了他的兄弟 Chai。
Matei Zaharia [01:01:47]: 哦,好的。
Swyx [01:01:47]: 因为他也在Abridge工作。
Matei Zaharia [01:01:48]: 是的,很酷。
Swyx [01:01:49]: 他们的家庭非常聪明。
Matei Zaharia [01:01:51]: 是的。
Matei Zaharia [01:01:51]: 是的,他们真的很棒。所以,我们正在做这些事情,当我们在第一方代理中获得一些经验后,我们也在与客户一起进行这些工作。我的感觉是,随着时间的推移,自定义模型会变得越来越容易。我们发现确实如此,因为基础模型变得更聪明了,它们在强化学习中已经能生成更好的轨迹,而强化学习就是从你自己的历史轨迹中学习。此外,合成数据的生成现在也变得更好、更容易了。我们已经有了一些使用开源模型的流水线,比如同一个模型可以生成训练环境并训练自己,甚至在某些任务上击败了Opus和GPT 5.5等模型。我认为这种情况会继续发展。问题是,训练算法的便捷性只会随着时间的推移而提高。还有一个问题是,什么时候它会进入主流?比如,我们之前做的那种专门的文档解析工作,那时你需要一个资深的LLM研究员,什么时候它变得足够简单,以至于任何人都可以轻松地输入一些内容并描述一个任务?
Swyx [01:02:53]: 是的。
Matei Zaharia [01:02:53]: 是的。
Swyx [01:02:53]: 那么,是什么让这件事变得容易?是接口。
Matei Zaharia [01:02:56]: 是的。
Swyx [01:02:56]: 以及统一的API。
Matei Zaharia [01:02:57]: 是的。
Swyx [01:02:57]: 因为显然,如果不兼容,你就无法切换。
Matei Zaharia [01:03:00]: 这就是我们看到的,比如Omnigentt等工具
Swyx [01:03:04]: 是的。
Matei Zaharia [01:03:04]: 可组合代理,你可以拥有代理或专门的模型,然后你可以训练整个系统。我认为这也会带来很大的帮助。
上下文、AI 运行时和强化学习微调
Swyx [01:03:11]: 是的。我最后要提到的是这个,我正在按顺序排列这些内容,所以我很为自己感到骄傲。Satya正在谈论这个。我在微软Build上采访了他。
Matei Zaharia [01:03:22]: 是的。
Swyx [01:03:22]: 几周前,然后他写了一篇文章,我相信你已经看到了。
Matei Zaharia [01:03:25]: 是的。
Swyx [01:03:26]: 他谈到构建前沿生态系统。当我与他交谈时,他听起来更像是Databricks的CEO,比我以前见过的任何时候都更像。
Matei Zaharia [01:03:32]: 哦。
Swyx [01:03:35]: 我猜这件事在我们圈子里已经疯传了。我不确定它是否在你们圈子里也流行起来。
Swyx [01:03:41]: 什么是关于将令牌视为知识产权,构建上下文的理论?他说了除了数据是新石油或上下文是新石油之外的所有内容。你们应该听过类似的说法。
Matei Zaharia [01:03:54]: 是的,我同意。我认为你拥有的数据,随着相关技术的不断进步,你可以在自己的领域中做更多的事情。这不仅仅是关于人工智能。即使当人们开始实时收集数据时,比如我记得电力公司安装了智能电表,汽车制造商也开始在车辆中安装传感器和摄像头等设备。任何让数据更有价值并能为你带来优势的技术,任何能帮助你利用数据并做出决策的技术,人工智能也是如此。比如,你之前可能只是通过客户投诉才发现产品中某个功能出现了问题,而现在的智能代理会告诉你:“我注意到没有人再上传文件了,因为他们在上传时遇到了错误等等。”正如你看到的,像Reyden这样的数据库公司,因为我们拥有所有查询的历史记录、表结构以及它们是如何工作的信息,我们能够非常快速地构建出一个性能良好、我们有信心的全新引擎。我认为这个观点是正确的。我认为问题的关键在于它将如何落地,但我确实认为像Satya提到的模型定制,会随着时间的推移变得更容易。
Swyx [01:05:09]: 是的。
Swyx [01:05:10]: 这也是为什么,顺便说一下,我提到了模型的问题,因为他们有他们自己的MEI东西,而你们没有。这就是那个心理上的问题。
Matei Zaharia [01:05:17]: 是的。我们确实有,我们正在提供基于强化学习的微调服务,并且已经拥有一批客户。我们目前有预览客户,还有一个叫做AI Runtime的通用产品,它能按需为你提供带有软件堆栈的GPU集群,使训练变得简单。我们并没有正式发布
Swyx [01:05:38]: 用个花哨的名字,是的
Matei Zaharia [01:05:39]: 但这个产品已经存在了一段时间。我们之前就已经有GPU计算能力了,而Mosaic的很多技术栈也是基于这个
Swyx [01:05:46]: 是的
Matei Zaharia [01:05:46]: 用来帮助扩展。是的,我们发现客户参与度分为两种类型。一种客户只是想要GPU和库,以便能够导入和导出数据并进行监控,这就是AI Runtime的作用。而另一种客户会说:“嘿,你能和我一起合作,构建评估,构建合成数据,并创建-”
Swyx [01:06:05]: 是的。这些是更倾向于部署解决方案的架构师。
Matei Zaharia [01:06:07]: 是的。而这就是我们正在做的事情,而且越来越多的事情将从定制化转向非定制化,但目前就是这样。
数据、代理、安全与客户平台
Reynold Xin [01:06:15]: 回到你最初的问题,我认为我们有一个假设,一旦数据被放置在正确的位置,AI模型的表现将变得非常出色。通用代理已经相当成熟了。Ali提到过
Matei Zaharia [01:06:27]: 是的
Reynold Xin [01:06:27]: AGI已经存在了。它们已经具备了相当不错的推理能力。我认为很多传统软件将在这个新范式下被重新编写,这个范式就是让数据就位,然后在上面添加一个代理。
Reynold Xin [01:06:40]: 魔法将随之而来。
Matei Zaharia [01:06:41]: 是的。
Reynold Xin [01:06:42]: 但是如果没有正确的数据,你实际上无法做到这一点。这正是我们在安全领域和客户数据平台领域所采取的策略。
Matei Zaharia [01:06:51]: 是的。
Reynold Xin [01:06:51]: 我们推出了两款产品,
Matei Zaharia [01:06:54]: 是的。
Reynold Xin [01:06:54]: 在数据与人工智能峰会上,一款面向安全团队,另一款面向营销团队。这些领域已有许多现有技术,我认为我们的策略是,一旦你获取了数据,通过在上面使用代理,一切都会变得容易得多。
Matei Zaharia [01:07:09]: 是的。
Reynold Xin [01:07:10]: 嗯,你们作为嘉宾非常棒。我真的很喜欢这次讨论。我既喜欢深入探讨技术方面,也喜欢讨论文化和战略。我希望这不是我们最后一次聊天。祝贺你们迄今为止取得的所有成功。
Matei Zaharia [01:07:23]: 谢谢。
Reynold Xin [01:07:24]: 是的。
Matei Zaharia [01:07:24]: 祝贺你取得的成功。
Reynold Xin [01:07:27]: 是的。是的。Databricks正在支持我的活动,所以
Matei Zaharia [01:07:31]: 是的。
Reynold Xin [01:07:32]: 人工智能工程师大会,是的。我一直是数据人工智能峰会的参与者,我注意到这发生在2022年,当时大约90%是数据,10%是人工智能。
Matei Zaharia [01:07:43]: 是的。
Reynold Xin [01:07:44]: 我当时就想,“好吧,我们需要一个社区,其中90%是人工智能。”
Matei Zaharia [01:07:49]: 是的。
Reynold Xin [01:07:50]: 现在每个人都是这样。
Matei Zaharia [01:07:51]: 是的,我们很兴奋能支持。
Reynold Xin [01:07:52]: 是的。所以Databricks将参加这次会议。我知道,看到你们构建出如此有趣的云平台,这真的很令人惊叹,这是除了三大巨头之外我见过的最有趣的云平台。你们的成长令人惊叹。
Matei Zaharia [01:08:07]: 谢谢。
Reynold Xin [01:08:07]: 这是我见过的最有洞察力的之一。我不是风险投资家,但我在电视上扮演一个。
Reynold Xin [01:08:12]: 比如Ben Horowitz在与你们交谈并指导你们公司发展方向时,他说过,“不要以1000亿美元的价格出售它”,或者类似的故事,对吗?
Matei Zaharia [01:08:22]: 是的,他说公司应该价值10000亿美元,你们以100亿美元的价格低估了它。
Reynold Xin [01:08:26]: 他并不是对每个人都这样做的?出于某种原因,我认为他看到了你们的愿景,也看到了你们无限的发展前景。
Matei Zaharia [01:08:36]: 我们很幸运能有Ben。是的。
Reynold Xin [01:08:37]: 是的。
Matei Zaharia [01:08:37]: 他是我们的重要支持者。
Reynold Xin [01:08:39]: 是的,太棒了。好吧,非常感谢。
Matei Zaharia [01:08:41]: 好的。非常感谢你,Swyx。
#### 关于本集的讨论
评论
Restacks
专为人工智能工程师打造的播客!2025年,超过1000万的读者和听众来到Latent Space,了解Software 3.0领域的新闻、论文和访谈。我们报道基础模型如何在代码生成、多模态、人工智能代理、GPU基础设施等多个领域带来变革,内容直接来自推动前沿技术的创始人、建设者和思考者。我们力求为您提供对当前热点的权威解读,以及您未来三个月将使用的技术的首次介绍!我们率先发布来自OpenAI、Anthropic、Gemini、Meta(Soumith Chintala)、Sierra(Bret Taylor)、tiny(George Hotz)、Databricks/MosaicML(Jon Frankle)、Modular(Chris Lattner)、Answer.ai(Jeremy Howard)等的独家新闻和专访。完整的节目说明请访问https://latent.space
收听方式:
Substack App
Apple Podcasts
Spotify
RSS Feed
近期节目
Mythos之后的红队演练 — Zico Kolter & Matt Fredrikson, Gray Swan
6月22日
输出最大化教授 — Anjney Midha, AMP
6月18日
🔬 自动驾驶实验室 — Joseph Krause, Radical AI
6月17日
•
Brandon Anderson
现实:最终评估 — Andon Labs的Lukas Petersson和Axel Backlund
6月4日
🔬 超越非正式AI的扩展 — Carina Hong, Axiom Math
6月3日
RJ Honicky
⚡️ Satya Nadella:No Priors x Latent Space 跨界特别节目,在微软Build上
GitHub对代理的计划 — Kyle Daigle, GitHub
6月2日