Murmell 对比 Windsurf
Windsurf 让代理并行运行的方式,是给每段对话分配自己的 git worktree——你文件的第二份拷贝,最后由你合并。Murmell 把代理放进一台云端机器上的同一个目录,在写入发生之前就决定谁写哪里。
真正的区别
Windsurf 对自己的机制说得很直白,这让这次对比很容易做得诚实。并行代理拿到的是 worktree:你文件真正的第二份拷贝,在属于它们自己的分支上,所以一个正在编译测试的代理不会打扰你正在敲字的那个工作区。竞技场模式走得更远,给每个模型一个 worktree,好在同一个请求上比较它们的回答。
这是做得很好的隔离,代价也是隔离一贯的代价。二十个 worktree 就是二十份拷贝,每一份最后都要合并一次。冲突没有被避免,只是被推迟到了你按下按钮的那一刻。
Murmell 去掉了拷贝这一步。一个目录,代理写入前先占用要动的路径。看板为每个路径保持一个持有者,拒绝所有其他人直到它被释放,所以第二个代理等的是三十秒,而不是产出一个日后还要协调的文件版本。
Windsurf 更强的地方
编辑器本身,以及它就在你自己的机器上这件事。没有任何东西被上传,代码留在你的硬盘上,代理处理的是你眼前的这些文件。Murmell 没有自托管选项:如果代码不允许离开,这个问题已经有了答案。
选哪个
自己动手写代码、想要旁边有并行执行时,选 Windsurf。写代码的是代理、多个同时进行、在项目的同一个角落、还需要别人旁观时,选 Murmell。占用机制如何运作。
对比
| Windsurf | Murmell | |
|---|---|---|
| 第二个代理在哪里工作 | 自己的 git worktree,位于 ~/.windsurf/worktrees 下,每个空间最多二十个 | 共享目录,写入前先占用要动的路径 |
| 谁能旁观 | 坐在这台机器前、在指挥台上的人 | 拿到链接的任何人,实时查看,每个光标都带名字 |
| 工作产物落在哪里 | 你按下合并按钮之后,进入你的主工作区 | 项目的私有仓库,随工作进度不断推送 |
直接回答
Windsurf 是怎么同时运行多个代理的?
靠 git worktree。Windsurf 的文档说明,每段 Cascade 对话都会拿到自己的会话和 worktree 来编辑、编译、测试,不会打扰主工作区;worktree 按仓库存放在 ~/.windsurf/worktrees 下,一个空间最多二十个,一个合并按钮会把修改带回来。
Windsurf 还是原来的 Windsurf 吗?
它属于 Cognition,这款编辑器正在被收编进 Devin 这个名字下:文档把 Cascade 标注为遗留功能,给出了终止日期,由一个叫 Devin 的本地代理取代。如果你现在要选,请知道这款产品正处在改名的过程中。
该选哪个?
自己动手写代码、并行执行是你自己在自己硬盘上跑的东西时,选 Windsurf。多个代理需要在同一个小时里碰同样的文件、还需要其他人看到这个场景时,选 Murmell。