在同一个仓库里同时跑两个编程智能体
同一份检出上跑两个 Claude Code 或 Codex 会话,改动会互相覆盖。用 git worktree,每条 Mirasim 会话都能起在自己的 worktree 里。


两个智能体共用工作树时实际会出什么问题
在同一个仓库里运行一个编程智能体已经不成问题,但同时运行两个就会出乱子。两个智能体操作同一份工作树,却不知道对方的存在,改动会混在一起。整个过程不会报错,但结果比报错更隐蔽、更棘手:你最后会拿到一份哪个智能体都没打算写成、也没人解释得清来源的 diff。
- 智能体 A 正在修改文件
两个智能体共用同一个工作树目录
- 智能体 B 切换了分支
智能体 B 也可能把智能体 A 刚改写的文件加进暂存区
- 测试读到改了一半的代码
两边的改动混在一起,但 Git 不会报错
- 得到谁都没打算做出的 diff
- 给每个智能体各克隆一份仓库
- 重复复制历史,且互相看不到分支
- 让多个智能体排队依次运行
- 失去了同时用两个智能体的意义
- 叮嘱智能体「只准改这几个」
- 没有强制力,智能体随时会越界
在同一个仓库里跑两个智能体时,分别克隆仓库、排队运行或口头约定文件范围这三种常见绕法,实际效果都比看起来更糟。
Linked worktree:让一个仓库拥有多份独立检出
Git 从 2.5 版本起就提供了解决办法。运行 git worktree add 会创建另一个工作目录,背后共用同一个对象库和同一套引用——它只是第二份检出,而不是第二个仓库。每份 worktree 都在独立的分支上,拥有各自的索引和 HEAD,因此分别在两份 worktree 里改代码的两个智能体看不到对方未提交的改动,不会把对方的文件加进暂存区,也切不动对方的分支。
- ../feature-a
- 检出在独立分支 feature-a 上的工作树
- 拥有独立的暂存区索引和 HEAD
- 智能体 A 在这里独立修改代码
- ../feature-b
- 检出在独立分支 feature-b 上的工作树
- 拥有独立的暂存区索引和 HEAD
- 智能体 B 在这里独立修改代码
# one repository, two checkouts, two branches
git worktree add ../feature-a -b feature-a
git worktree add ../feature-b -b feature-b
# each has its own HEAD and index; the objects are shared
git worktree list为什么 Mirasim 把 linked worktree 内置到会话里
git worktree addMirasim 里的并行会话是指多个编程智能体同时运行、各自处理独立的任务,而不是由一个编排器把同一个任务拆给多个下属去执行。系统不会跨面板替你做任务规划,也不会自动合并它们生成的代码。合并代码这件事仍然由你在审阅时对照面前的几份 diff 亲自完成。
文章 · Claude Code 的 agent teams 怎么用,以及让不同智能体和人一起干活 → Claude Code 的 agent teams,以及让不同智能体的会话互相发消息。
Conductor 替代品:搬到 Mirasim → 用过 Conductor 并行跑智能体?两边对比,以及怎么一键搬过来。
接着读

在 Claude Code、Codex 里用 DeepSeek:官方配置方法,以及按会话切换
DeepSeek 官方是怎么让 Claude Code、Codex 接上 DeepSeek 模型的,以及在 Mirasim 里不改配置、按会话选 DeepSeek。

Claude Code 怎么安装:macOS、Windows、Linux 安装教程
各平台的官方安装命令、装好后怎么检查和登录,以及 Mirasim 怎么替你装好 Claude Code,再和 Codex 并排用。

Claude Code 的 agent teams 怎么用,以及让不同智能体和人一起干活
Claude Code 的 agent teams 让一个主会话把活分给几个 Claude 队友。怎么打开、代价是什么,以及 Mirasim 怎么把 Codex 和人也拉进来。