用 Delta 替代拉取请求
摘要
Delta 是一个多玩家协作编程环境,已发布公测版,通过使用AI代理实现上下文感知的工作流,使得无需拉取请求即可进行协作代码审查。
<p><a href="https://lobste.rs/s/c5xrht/replacing_pull_requests_with_delta">评论</a></p>
查看缓存全文
缓存时间: 2026/09/16 17:27
# 用 Delta 取代拉取请求 - Zed 博客
来源:https://zed.dev/blog/delta-public-beta
今天,我们正式发布 Delta (https://delta.dev/) 公测版。这是一个多人协作编码环境,你可以与 AI 代理(Agent)共同工作,并审查他们构建的内容。我们之所以构建 Delta,是因为代理已经从根本上改变了我们编写软件的方式,但现有的协作工具并未跟上这一变革。
上周,我们达成了一个关键里程碑:在 Delta 自身的仓库中禁用了拉取请求。我们现在完全在 Delta 内部构建和协作。
Delta 区别于传统工作流的核心在于,协作不再依赖于提交和推送代码。你可以直接邀请队友加入你与代理的对话。当有人加入你的对话线程时,他们可以看到与你相同的工作树,并在他们自己的机器上继续操作。队友可以询问同一个代理,为什么你选择使用 `Mutex` 而不是 `RwLock`。如果你下线了,他们可以从你离开的地方继续与代理工作。
从今天开始,任何人都可以下载 Delta (https://delta.dev/download)(支持 macOS、Linux 和 Windows 系统),也可以在网页上无需下载直接使用,并能通过移动浏览器随时跟进对话线程。
Richard Feldman 将演示 Delta 中的一个完整流程:修复一个问题、获得队友审查并合并它。## 无需拉取请求的代码审查 (https://zed.dev/blog/delta-public-beta#code-review-without-pull-requests)
自 GitHub 在 15 年多前引入拉取请求以来,它已成为请求队友审查代码库变更的标准方式。但随着代理生成大量代码,我们相互要求审查的代码差异量急剧膨胀。
将大型差异拆分到多个分支上可能使其更易于导航,但代码背后的决策仍然需要审查。较小的差异无法提供这种上下文。审查者可能会将你的差异输入另一个代理来帮助理解,但该代理必须重新梳理你已经推导出的决策。
为什么你队友的代理需要去猜测你是如何得出这些结论的呢?
在 Delta 中,你可以邀请任何人从你离开的地方接续对话线程,或者创建一个专门的审查子线程。审查会引导你浏览分支的变更,并能访问原始代理的上下文。每次审查都会获得父线程工作树的独立副本,因此你和你的队友可以使用代理来探索代码和尝试修改,而不会干扰原始工作。如果审查者发现问题,可以请求修订,或者自己与代理一起修复。审查期间进行的修复可以在你要求代理提交更改之前合并到父线程中。
一个在 Delta 中进行修改并获得审查的简短演示。## 基于 DeltaDB 构建,兼容 Git (https://zed.dev/blog/delta-public-beta#built-on-deltadb-compatible-with-git)
Delta 基于 DeltaDB (https://zed.dev/blog/introducing-deltadb) 构建,DeltaDB 扩展了 Git 基于内容的版本控制,加入了基于 *差异(deltas)* 的增量版本。它记录提交之间的人工和代理编辑消息,保留了整个对话线程中代码的演变过程。提交仍然是你推送、拉取和构建的检查点。DeltaDB 保留了这些检查点之间的工作成果。
你不需要将整个团队都迁移到 Delta 才能使用它。
例如,`zed-industries/zed` 仓库目前将继续保留在 GitHub 上,因为这是我们的社区发现和提交问题的地方。我们鼓励 Zed 贡献者在提交拉取请求的同时,也分享 Delta 对话线程。贡献者可以在 Delta 中协作,同时继续通过 GitHub 提交更改,而那些从未打开 Delta 的队友仍然可以看到一个正常的 Git 仓库。
## 关注我们取代 GitHub.com 的征程 (https://zed.dev/blog/delta-public-beta#follow-our-quest-to-replace-githubcom)
现在似乎每个人都在竞相取代 GitHub。大多数竞争者承诺在相同老旧的基础设施(分支、提交和差异)之上提供更好的稳定性。
我们相信,*对话线程*将成为软件开发新的基本单元,而用差异(deltas)来建模其状态是最佳方式。
拉取请求是我们正在抛弃的 GitHub 工作流的第一部分。取而代之的是 Delta 对话线程,以及我们称之为 *持续工程(continuous engineering)* 的工作方式。行业先实现了持续集成,然后是持续交付,而软件工程的其他部分仍然是批处理完成的。在 Delta 对话线程中,想法的提出、实现、审查和最终合并都可以在同一个地方完成。
我们正在为其他将开发者吸引到 GitHub.com 的工作流构建更好的替代方案,首先从 DeltaDB 中的 Git 存储开始。长远来看,基于内容的构建可以将类似 CI 的验证直接带入线程中。目前,代理可以触发现有的 CI 提供商运行任务,并在合并更改之前检查结果。
## 尝试公测版 (https://azed.dev/blog/delta-public-beta#try-the-public-beta)
感谢数千名早期申请访问并帮助我们发现 Delta 不足之处的用户。Delta 仍在形成中,我们最关心的一些功能尚未实现(在此关注我们接下来构建的内容 (https://delta.dev/roadmap))。但它已经是我们的日常工具:自我们关闭拉取请求以来,我们 33 人已向 main 分支合入了 570 次更改。
在公测期间,Delta 免费使用。我们很快会为个人和团队推出付费计划。Delta 始终会有一个免费版本。
下载 Delta (https://delta.dev/download),启动一个代理,邀请队友进入对话线程,感受其中的魔力。我们非常乐意听到你的使用体验。
### 相关文章
查看 Zed 团队的类似博客。
---
### 寻找更好的编辑器?
你可以立即在 macOS、Windows 或 Linux 上试用 Zed。立即下载 (https://zed.dev/download)!
---
### 我们正在招聘!
如果你对我们博客涵盖的主题充满热情,请考虑加入我们的团队 (https://zed.dev/jobs),帮助我们构建软件开发的未来。
相似文章
软件诞生于提交之间
Zed 推出了 DeltaDB,一种新的版本控制系统,它捕获提交之间的每一次操作,并将对话与代码更改整合在一起,从而实现与人类和 AI 代理的实时协作。
Zed DeltaDB
Zed 推出 DeltaDB,一个版本控制系统,记录提交之间的每次编辑,将更改与代理对话关联,并支持自由分支和协作审查。
Zed: Delta
Zed introduces Delta, a multiplayer environment for coding with AI agents that keeps conversations and code connected in real time via DeltaDB, with private beta access now available.
@thorstenball:为什么你还在用 pull request?是为了代码审查吗?如果是的话,你真的认为你或你的同事能发现 Opus 5.5、Fable 或 Astra 发现不了的 bug 和错误吗……
作者质疑在 AI 代理时代继续使用 pull request 的必要性,认为代码审查、知识共享和 CI 都可由 AI 模型与代理更高效地完成,主张转向更快速的持续集成工作流。
Linear Diffs
Linear Diffs 是一项新功能,可让您直接在 Linear 中审查拉取请求。