Foremerge 是一种全新的协调协议,允许多个 AI 编码智能体在编写代码前共享各自的工作计划,并提前告知冲突。
想象一下:你正和 5 名团队成员一起堆一座巨大的乐高城堡。这时,3 个人坚持要“在这里搭一座桥”,而另外 2 个人却主张“在这个位置立一面城墙”,并且他们同时开始行动。会发生什么?如果彼此不知道对方的计划,各行其是,最终城堡只会坍塌,白白浪费时间。
最近,软件开发领域也正在发生同样的事情。因为我们进入了一个多个 AI 编码智能体(coding agents,指能自主编写和修改代码的 AI)可以同时修改同一个项目的时代。参考资料 1 然而,如果这些 AI 智能体在编写代码时不了解彼此的计划,整合时就会产生严重的冲突。今天,我们要介绍一种能提前预防此类悲剧的新技术——“Foremerge”。
为什么这项技术如此重要?
一直以来,开发者们都是通过“Git”(一种辅助软件版本控制的工具)来合并代码的。但这种方式是在代码全部写完之后才发现问题,属于亡羊补牢。参考资料 2 如果两个 AI 智能体各行其是,决定以不同的方向修改软件结构(架构),Git 只会在代码写完后告诉你“发生冲突了”。到那时,时间和精力早已白白浪费。
这种方式损害了整个项目的稳定性。如果 AI 智能体在写代码之前就能掌握彼此的“意图”,那会怎样?Foremerge 正是在这一点上带来了创新。参考资料 10
简单来说,就是“AI 的共享会议室”
如果用一句话来定义 Foremerge,它就是“AI 智能体的共享会议室”。
就像在组装乐高之前先绘制设计图一样,Foremerge 会强制每个智能体在写下一行代码之前,先将自己的设计图发布到公共仓库中。参考资料 8 具体运作方式如下:
- 共享意图:智能体 A 上传计划:“我要改进登录功能”。
- 确认范围:智能体 B 上传计划:“那我就去修改数据库配置”。
- 检测冲突:Foremerge 通过数学计算,检测这两个计划是否冲突(例如:是否都动了同一个文件,或者结构是否会混乱)。参考资料 3
- 提供建议:如果预计会发生冲突,Foremerge 会向智能体提供可解释的建议:“停下!照这样下去,以后会发生冲突”。参考资料 2
有趣的是,Foremerge 的检测过程并不使用昂贵的 LLM(大语言模型)。参考资料 2 相反,它利用 SQLite(一种轻量且快速的数据库)和预定规则,能够快速且准确地进行判断。参考资料 5
目前进展如何?
目前,Foremerge 已被开发为一种运行在 Git 之上的开源协调协议。参考资料 3 开发者们即便在各自独立的工作环境中,也可以通过 Foremerge 分享各自的工作意图和计划变更事项。参考资料 7
它采取提供参考建议而非强制停止作业的方式,因此非常灵活。参考资料 2 得益于此,人类与 AI 之间,或多个 AI 智能体之间的协作变得更加顺畅。
会成为 AI 时代的协作标准吗?
随着 AI 编码智能体承担的任务日益复杂,协调它们的这项技术将不再是选择,而是必然。像 Foremerge 这种“基于意图的冲突预防系统”,很有可能在未来的企业级软件开发环境中成为标准。参考资料 6 未来,那种等代码全部写完才爆发争端的情况将不复存在,取而代之的将是 AI 之间彼此对话、提前规避冲突的智能开发环境。
参考资料
-
ShowHN: Foremerge – Catch Intent Conflicts Between Parallel Coding Agents https://modernorange.io/item/49789356 -
Foremerge: catch intent conflicts before code conflicts https://foremerge.com/ -
GitHub - naw103/foremerge: Catch intent conflicts before code conflicts https://github.com/naw103/foremerge -
ShowHN: Foremerge – Catch Intent Conflicts Between Parallel Coding Agents Comments https://vk.ru/wall-238001969_5977 -
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 -
Foremerge: Local Coordination for Coding Agents - Open Source https://reporank.net/en/repo/naw103-foremerge.html -
Foremerge: Foremerge catches intent conflicts before code conflicts https://softwareontheweb.com/product/foremerge -
Foremerge demo - YouTube https://www.youtube.com/watch?v=miuABG2hlkg -
Foremerge MCP Server https://mcp.so/servers/foremerge -
31 hard questions about coordinating parallel coding agents, answered https://dev.to/naw103/31-hard-questions-about-coordinating-parallel-coding-agents-answered-2md2
- 在代码完成后确认冲突
- 在编写代码前提前检测计划冲突
- AI 自动修复所有冲突
- 每次都使用 LLM 来理解上下文
- 需要用户亲自审查代码
- 使用预定义的确定性规则,不使用 LLM
- 是的,会进行硬锁定 (Hard Lock)
- 不是,它提供建议 (Advisory)
- 直到用户批准前都会停止