本文来自 zed.dev/blog/sequoi…
今天,我们宣布了由 Sequoia Capital 领导的3200万美元B轮融资,现有投资者也参与其中,使我们的总融资额超过4200万美元。
过去四年,我们一直在打造世界上最快的集成开发环境(IDE),但这只是我们接下来计划的基础。我们的终极愿景是创造一种新的软件协作方式,在这种方式下,关于代码的对话将始终与代码本身相连,而不是依赖于过时的快照或分散在不同工具中的记录。第一步是创建一个高质量的编辑器作为用户界面。现在,这笔新的投资使我们能够扩展并解决下一阶段的目标。我们正在开发一种基于操作的新型版本控制,它通过编辑级别的粒度来跟踪代码的演变,并将其集成到 Zed 中,使得与代理和团队成员的协作成为编码体验的一部分。
Sequoia 对我们的愿景感到兴奋,我们也很高兴能得到他们的帮助来实现这一愿景。我们正在积极招聘,如果你对我们正在构建的未来感到兴奋,我们很乐意与你交流。
为什么快照限制了我们对代码的讨论
现实世界的软件是不断对话的产物:与你自己、与你的团队成员、现在还包括与生成性AI模型的对话。讨论代码帮助我们理解它,无论是个人层面还是团队层面。但在当前的工具下,这些讨论(以及它们产生的所有见解)似乎总是存在于代码之外。
Git 通过分享提交和分支来帮助协作,但在提交之间,你通常在自己的孤立工作副本中独立工作。讨论正在变更的代码(例如拉取请求中的代码)相对容易,但如果你想就代码库中的某个任意部分进行讨论,你只能链接到相关代码的特定版本快照,或者更糟的是,将文本粘贴到聊天应用中。随着快照变得陈旧、消息向过去滚动,你的对话迅速失去与最新代码版本的联系,所有有价值的上下文也随之丧失。
当与AI代理一起工作时,快照的局限性变得更加明显。虽然你可能通过在拉取请求中与代理交换评论来管理简单任务,但实际开发通常需要提交之间的互动。你需要指导代理、纠正它们的方向,并快速迭代——而这一切都不应该每次交流都需要创建快照。我们的现有工具是为人类之间异步交易提交而设计的,而不是为了与合成协作者进行即时的来回交流。将每次AI交互强行融入基于提交的工作流程,就像试图通过传真机进行对话一样。
如今的AI编辑器通过修补这些局限性,但错过了核心问题:协作是一个持续的对话,而不是离散的提交。你无法为每一次澄清、每一次转折、每一次来回的讨论快照化。这些讨论塑造了代码。我们正在构建一个系统,捕捉整个对话:每次编辑、每次讨论,牢牢地与代码的演变相连接。这让协作摆脱了提交的严格结构。
介绍 DeltaDB:基于操作的版本控制
我们的愿景是将你的IDE转变为一个协作工作空间,人类和AI代理可以在不同时间尺度下共同工作,每个见解都被保留下来并永远与代码关联。为了实现这一目标,我们正在构建 DeltaDB:一种新的版本控制,它跟踪每个操作,而不仅仅是提交。
DeltaDB 使用冲突自由数据类型(CRDT)来增量记录和同步正在发生的更改。它旨在与 Git 互操作,但其基于操作的设计支持实时交互,而 Git 的快照不支持实时交互。对于异步交互,细粒度的更改跟踪也支持字符级的永久链接,这些链接能够在任何代码变换中幸存,从而使我们能够将交互固定在代码库中的任意位置,而不仅仅是与最近更改代码的快照关联。
Zed 的目标是将你的代码库变成一个活生生的、可导航的历史记录,记录着你的软件如何演化,人与AI代理的讨论与他们所引用的代码牢牢相连,且始终保持最新。这是版本控制的一次进化,它不仅包含代码本身,还包括代码为何会进入某个特定状态的背景信息——AI代理可以查询这些背景信息,以便做出更有根据的编辑,理解塑造现有代码的假设、约束和决策。
想象一下,一位新工程师在 Zed 中面对生产环境的堆栈追踪。他们高亮显示一行有问题的代码,比如引发崩溃的 unwrap,看到所有相关的讨论:为什么编写了这个函数,或者一个 AI 代理关于不变性的假设是什么。他们联系了负责的同事,迅速启动了一次对话,并转为语音通话,所有内容都与代码的确切位置索引在一起,形成一个共享的、可回访的记录,而无需离开代码库。
Zed 是开源的,且有一个可选的付费版本,我们计划对 DeltaDB 做同样的事:先构建它,再开源,并提供一个可选的付费服务。随着开发的推进,我们将分享更多细节;这仅仅是重新想象开发者如何协作的开始,无论是与 AI 代理还是与团队成员。
帮助我们构建协作的未来
我们已经具备了愿景、技术基础和资金,能够从根本上改善开发者之间的协作方式。现在,我们只需要你。如果你对我们博客中讨论的话题充满激情,欢迎加入我们团队,帮助我们实现软件开发的未来。