首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

Show HN:Foremerge – 捕获并行编码代理之间的意图冲突

摘要

Foremerge is the open-source coordination protocol for coding agents, built above Git. Agents keep isolated worktrees while sharing intent, semantic claims, dependencies, provisional ChangeSets, decis...

the and agent they about you same Foremerge agents Git
2026-09-22 1 阅读 约7分钟阅读 foremerge
分享:
字号:
Foremerge 是编码代理的开源协调协议,构建于 Git 之上。代理保持隔离的工作树,同时共享意图、语义声明、依赖关系、临时变更集、决策、验证和来源。告诉您的代理安装 → 完成 → 在着陆之前查看冲突 将一行粘贴到 Claude Code、Codex 或 Cursor 它会安装 Foremerge 并自行连接 每个代理都会看到其他代理将要更改的内容,即使是在单独的工作树中 状态:Foremerge 0.5.0 是 1.0 之前的本地优先 MVP。实施了 CLI、JSON API、MCP 服务器、SQLite 存储、确定性冲突检测器和验证门控生命周期。公共架构可能仍会发生变化。已发布的基准测试结果尚不存在,机器之间的协调超出了该项目的范围。假设您有两个人工智能代理同时处理同一个项目。每个人都有自己的代码副本,因此他们永远不会争夺文件。两者都完成。两者看起来都是正确的。然后你发现他们毁掉了彼此的工作。 Git 无法对此发出警告,因为 Git 比较文本而不是意图。当两个代理编辑同一文件的同一部分时,它会阻止您。它看不到的是两个编辑,每个编辑本身都是完全合理的,并且位于不同的文件中。如果一个代理将每个调用者转移到新的 StripePaymentService 上,而另一个代理将 PayPal 支持添加到旧的 PaymentService 中,则不会有任何重叠,因此 Git 会毫无怨言地将两者合并,并且 PayPal 工作将搁浅在一个不再调用的类上。 Foremerge 通过让代理在行动之前宣布他们将要做什么来解决这个问题。每个特工都会说出将要接触的东西。不是代码,只是目标,例如“我要更改 sendEmail 函数”。每个代理都从一个共享列表中读取内容。它是项目 .git 文件夹中的一个小型数据库,因此计算机上的每个代理都会看到相同的图片,无论是 Claude、Codex 还是 Cursor。如果两个计划发生冲突,您会立即听到。 Foremerge 列出了这两个代理的名字,解释了他们的计划冲突的原因,并提出了如何分配工作的建议。此时两个工作树仍然是干净的,因此不必丢弃任何工作。将其视为共享白板。在代理开始之前,它会写下它将要处理的内容,并读取其他人已经写过的内容。有两件事 Foremerge 故意不做。它永远不会锁定文件或阻止代理,因为单个崩溃的代理会导致整个队列停顿,因此警告是建议性的,您仍然负责。而且它从不要求模型判断冲突,因此相同的输入总是会产生相同的答案。 Git 还无法看到冲突 代理 A:将 PaymentService 替换为 StripePaymentService 代理 B:将 PayPal 支持添加到 PaymentService 这些代理可以在不同的树中工作,而无需触及同一行。这些计划仍然存在冲突:一个删除了扩展点,而另一个则依赖于它。两个代理都声明相同的符号:PaymentService 范围,一个表示将替换它,另一个表示将扩展它。 Foremerge 在编写代码之前比较这两个声明,提出 HIGH 建议,并建议在稳定的抽象(例如 PaymentProvider )上进行协调。该建议是可解释的证据,而不是自动架构决策或硬锁。由于操作是声明的而不是从摘要中读出的,因此任一代理如何措辞其计划并不重要。 “将支付整合到 Stripe 上”和“用 Stripe 替换 PaymentService”得出了相同的结论。 Git 仍然是持久的存储库。 Foremerge 提供了上面缺失的共享意识。从 example/terminal-session.txt 中运行的 0.1.0 release-binary 捕获的实际冲突字段呈现。显示的命令使用显示的 jq 过滤器;为了便于阅读,输出被删节。快速入门:五分钟内发生第一次冲突 让您的编码代理执行此操作 从您想要协调的存储库中将其粘贴到 Claude Code、Codex 或 Cursor 中:在此存储库中设置 Foremerge,以便我们可以协调并行代理。 1.安装:curl -fsSL https://foremerge.com/install.sh | sh 2. 初始化:foremerge init 3. 连接此客户端和正在使用的任何其他客户端:foremerge setup all 4. 注册我应该验证的检查,例如:foremerge Checks set test --cargo test --all-targets 5. 确认:foremerge doctor --client all 然后阅读步骤 3 为该客户端安装的 Foremerge 技能,并从现在开始遵循它:在编辑之前使用语义范围发布您的意图,声明范围,并在开始之前检查冲突。将步骤 4 调整为该存储库的实际测试命令。步骤 3 要求客户端启用 MCP 服务器,因此在执行此操作之前它会提示您。 Codex 注册是用户级别的,但一次注册服务于每个存储库:在您希望它协调的存储库内启动 Codex。您需要最近的 Git 和 jq 。安装预构建的、经过校验和验证的版本二进制文件(ma
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱