开源协议 Foremerge:让并行 agent 在写代码前声明意图防冲突
ShiftTechnical · reddit · 2026-09-11
作者维护开源项目 Foremerge,一个并行编码 agent 的协调协议,并发起设计讨论。机制:agent 编辑前先以 scope 声明将要修改的内容与操作类型(如 symbol:PaymentService + replace),另一 agent 对同一 scope 声明 extend 会在动手前收到 HIGH 冲突预警。存储用 SQLite 放在 Git common 目录下,隔离 worktree 可共享;声明采用租约制、纯 advisory,不做锁。
关键观察:协议生命周期分两半——
- 前半(intent、claims、冲突检测、审批、resolution)不依赖 Git,只借 Git 定位存储;scope 词表是封闭集合(symbol/api/schema/config/infra/test 等),但比较逻辑是 kind+key+operation,适用于任何资源。
- 后半完全建立在 Git 上:ChangeSet 由树和 diff 指纹化,验证仅在指纹前后一致时才计为通过,acceptance 将不可变 commit 钉在 refs/foremerge/accepted,依赖顺序靠 commit ancestry 证明。
作者向社区提四个问题:1) 非 repo 资源(文档、Terraform state、CRM 记录)拿什么做内容寻址快照?没有就只能记录 attested 而非 verified;2) 大家实际见过哪些非编码 agent 的冲突(如一个 agent 退款、另一个升级工单)?3) scope 词表该开放还是按领域配置 profile?4) 不可逆操作(发邮件、退款)场景下事前检测价值更大。设计刻意不让模型判断冲突,检测器是确定性的。
「编程与Agent」频道最新
- LangChain 联手 Tavily 11月12日办纽约活动,演示生产级 Agent 实时检索 — LangChain · 2026-10-26
- 极客魔改电子墨水平板,让 Opus 帮忙画画还做动画 — Stefania_druga · 2026-10-26
- Godot 游戏极易被反编译,开发者建议 C# 编译原生 DLL 防护 — mflux · 2026-10-26
- Techhalla 公开 3D 参考工作流:2D 设计到 Kling 4.0 精细动画全流程 — techhalla · 2026-10-26
- Jason Furman 测算:无 AI 造 Econvitals 需 50 人三年烧 2000 万美元 — HarrySurden · 2026-10-26
- 骑车台上边骑边口述,4 小时全程用 Claude Code 干活 — jacob_posel · 2026-10-26