如果多个 AI 同时编码会怎样?提前预防“冲突”的聪明方法

一幅形象化的图像:不同颜色的 AI 智能体向同一个代码仓库发送各自的计划,Foremerge 在中间协调冲突
AI Summary

Foremerge 是一种全新的协调协议,允许多个 AI 编码智能体在编写代码前共享各自的工作计划,并提前告知冲突。

想象一下:你正和 5 名团队成员一起堆一座巨大的乐高城堡。这时,3 个人坚持要“在这里搭一座桥”,而另外 2 个人却主张“在这个位置立一面城墙”,并且他们同时开始行动。会发生什么?如果彼此不知道对方的计划,各行其是,最终城堡只会坍塌,白白浪费时间。

最近,软件开发领域也正在发生同样的事情。因为我们进入了一个多个 AI 编码智能体(coding agents,指能自主编写和修改代码的 AI)可以同时修改同一个项目的时代。参考资料 1 然而,如果这些 AI 智能体在编写代码时不了解彼此的计划,整合时就会产生严重的冲突。今天,我们要介绍一种能提前预防此类悲剧的新技术——“Foremerge”。

为什么这项技术如此重要?

一直以来,开发者们都是通过“Git”(一种辅助软件版本控制的工具)来合并代码的。但这种方式是在代码全部写完之后才发现问题,属于亡羊补牢。参考资料 2 如果两个 AI 智能体各行其是,决定以不同的方向修改软件结构(架构),Git 只会在代码写完后告诉你“发生冲突了”。到那时,时间和精力早已白白浪费。

这种方式损害了整个项目的稳定性。如果 AI 智能体在写代码之前就能掌握彼此的“意图”,那会怎样?Foremerge 正是在这一点上带来了创新。参考资料 10

简单来说,就是“AI 的共享会议室”

如果用一句话来定义 Foremerge,它就是“AI 智能体的共享会议室”

就像在组装乐高之前先绘制设计图一样,Foremerge 会强制每个智能体在写下一行代码之前,先将自己的设计图发布到公共仓库中。参考资料 8 具体运作方式如下:

  1. 共享意图:智能体 A 上传计划:“我要改进登录功能”。
  2. 确认范围:智能体 B 上传计划:“那我就去修改数据库配置”。
  3. 检测冲突:Foremerge 通过数学计算,检测这两个计划是否冲突(例如:是否都动了同一个文件,或者结构是否会混乱)。参考资料 3
  4. 提供建议:如果预计会发生冲突,Foremerge 会向智能体提供可解释的建议:“停下!照这样下去,以后会发生冲突”。参考资料 2

有趣的是,Foremerge 的检测过程并不使用昂贵的 LLM(大语言模型)。参考资料 2 相反,它利用 SQLite(一种轻量且快速的数据库)和预定规则,能够快速且准确地进行判断。参考资料 5

目前进展如何?

目前,Foremerge 已被开发为一种运行在 Git 之上的开源协调协议。参考资料 3 开发者们即便在各自独立的工作环境中,也可以通过 Foremerge 分享各自的工作意图和计划变更事项。参考资料 7

它采取提供参考建议而非强制停止作业的方式,因此非常灵活。参考资料 2 得益于此,人类与 AI 之间,或多个 AI 智能体之间的协作变得更加顺畅。

会成为 AI 时代的协作标准吗?

随着 AI 编码智能体承担的任务日益复杂,协调它们的这项技术将不再是选择,而是必然。像 Foremerge 这种“基于意图的冲突预防系统”,很有可能在未来的企业级软件开发环境中成为标准。参考资料 6 未来,那种等代码全部写完才爆发争端的情况将不复存在,取而代之的将是 AI 之间彼此对话、提前规避冲突的智能开发环境。


参考资料

  1. ShowHN: Foremerge – Catch Intent Conflicts Between Parallel Coding Agents https://modernorange.io/item/49789356
  2. Foremerge: catch intent conflicts before code conflicts https://foremerge.com/
  3. GitHub - naw103/foremerge: Catch intent conflicts before code conflicts https://github.com/naw103/foremerge
  4. ShowHN: Foremerge – Catch Intent Conflicts Between Parallel Coding Agents Comments https://vk.ru/wall-238001969_5977
  5. Foremerge: a Git like coordination protocol for parallel coding agents. https://users.rust-lang.org/t/foremerge-a-git-like-coordination-protocol-for-parallel-coding-agents-one-binary-sqlite-deterministic-conflict-rules/142084
  6. Foremerge: Local Coordination for Coding Agents - Open Source https://reporank.net/en/repo/naw103-foremerge.html
  7. Foremerge: Foremerge catches intent conflicts before code conflicts https://softwareontheweb.com/product/foremerge
  8. Foremerge demo - YouTube https://www.youtube.com/watch?v=miuABG2hlkg
  9. Foremerge MCP Server https://mcp.so/servers/foremerge
  10. 31 hard questions about coordinating parallel coding agents, answered https://dev.to/naw103/31-hard-questions-about-coordinating-parallel-coding-agents-answered-2md2
AD
测试你的理解
Q1. Foremerge 与传统的 Git 冲突解决方式最大的区别是什么?
  • 在代码完成后确认冲突
  • 在编写代码前提前检测计划冲突
  • AI 自动修复所有冲突
Foremerge 不是在代码修改阶段介入,而是让智能体在各自开始工作前先共享“意图 (Intent)”和“范围”,从而预先阻断结构性冲突。
Q2. 关于 Foremerge 检测冲突的方式,下列描述正确的是?
  • 每次都使用 LLM 来理解上下文
  • 需要用户亲自审查代码
  • 使用预定义的确定性规则,不使用 LLM
Foremerge 的检测路径中不包含 LLM,而是基于 SQLite 等工具的确定性规则运行。
Q3. Foremerge 会强制停止智能体的作业吗?
  • 是的,会进行硬锁定 (Hard Lock)
  • 不是,它提供建议 (Advisory)
  • 直到用户批准前都会停止
Foremerge 不会采取强制性的硬锁定方式,而是向智能体提供有关潜在冲突的可解释性建议。