开源协议 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」频道最新
- 实测各 LLM 订阅真实代币价值:Grok Heavy 40 倍 ROI 最高 — thesaraharminta · 2026-09-11
- 把 Claude 当新队友配置,交接集成零会议,QA 96 分钟回报 — max_gladysh · 2026-09-11
- Replit 上线 Routines 自动化功能,还支持设置预算 — amasad · 2026-09-11
- 把 Replit Agent 装进机器人:自主建站并一键发布 — amasad · 2026-09-11
- 开源 OmniGet 支持 1800+ 站点下载课程视频并转写整理 — tom_doerr · 2026-09-11
- 独立开发者用 Fable 造群聊应用:AI 自己加班加了两个'惊喜'功能 — RileyRalmuto · 2026-09-11