没有屠杀的平行编码代理

2026年8月27日1 次浏览来源:Dev.to阅读原文

我们用数个编码代理构建了GPTree,同时运行同一寄存器:克洛德代码(Claude Codex),克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克 最终导致我们制造工具的失败是小而完全沉默的。

有一次会议被告知以 " 花旗 " 具体执行取而代之。

另一位成员被告知, 不同活树.

不同档案.

无文字相冲突.

Git将两个分支都干净地合并,现在的第二次更改取决于第一个删除的扩展点.

工具链上没有任何人对此有任何看法。

Git比较diffs.

它不能比较计划。

Worktrees将文件隔离,而不是计划Worktrees成为并行代理的标准答案,原因很好:两会编辑一个检查出会覆盖对方的文件并毒害对方的背景.

孤立的结账可以完全解决 但是有三种失败模式在文件隔离中幸存下来,因为它们从来不涉及文件: 破坏与添加剂.

一个特工去除或替换另一个特工正在建立的东西.

上所举例.

合并干净,打破了设计.

复制作业.

两个特工从不同角度解决了同样的问题,因为没有指定所有权.

你付了两次钱,然后又付了钱来和解 合约漂移。

一个代理更改了API,一个计划,或者一个配置合同,而另一个代码则与旧形状相对.

编译,运行,运行时不同意.

一份共享的任务列表帮助了第二个,如果每个代理都读,每一次.

这种设定中没有任何东西能捕捉到第一个或第三个,因为碰撞是意图之间的,意图是活在瞬间,而不是在任何文件中,一个工具都可以观看.

工作开始前先宣布 是我们本周开发的公开源代码的内部工具 它是一个协调协议,它坐落在基特之上:特工们在行动之前,以足够精确的方式宣布他们将要做什么,以便检查.

声明是一种带有一个或多个语义范围的意图,每个都带有一个操作: 范围不是文件路径.

词汇涵盖符号,api,schema,config,迁移,契约,等等,因为文件路径完全错过了API,schema,配置,以及跨语言相撞.

操作(取而代之,延伸等)被宣布,而不是从摘要中解析出,所以代理人如何表述其计划并不重要.

当第二个代理人宣布工作范围相同时,确定性规则对申报进行比较并提出调查结果,而这两个工作仍然是计划进行的。

写这篇文章时, 发现者点出规则名称 解释自己 并提出一个解决方案 它不会阻挡任何人。

在Forecommerd的索赔是租赁和咨询的:重叠产生一个警告和共享的上下文,从不锁,因为两个代理经常可以和谐地在同一区域工作,而锁会将不需要序列化的工作序列化.

协议的另一半是证据。

当一个代理完成后,它会发布一个 ChangeSet, 并且接受的门在验证Forecommerd 自己运行时: 执行您命名的检查(一个构建,一个类型检查,一个您注册的测试目标) 精确的候选指纹.

一个说"测试通过"的代理人被记录为出处;它不能满足大门.

如果在验证后树变了,尝试是非授权性的,而大门也这么说.

从机械角度来说,它是一个Rust 二进制。

CLI,一个本地的JSON API,和一个MCP服务器是同一SQLite商店的适配器,该商店位于您仓库的 git 常见目录中,这正是工作树与它合作良好的原因: 链接的工作树共享该目录,因此repo中的每一个代理在保存孤立文件的同时都会看到相同的声明.

本地第一,无云,阿帕奇2.0.

五分钟的版本 最快的办法就是让你的经纪人来安排 从您想要协调的仓库内粘入 Claude 代码、 代码或光标 : MCP 服务器也给予代理机全生命周期

分享