Mirasim Build Fund$100 – $10,000面向开发者的免费额度,无需偿还。仅 500 席立即申请
← Mirasim 教程第 03 章

并行会话

多个智能体同时工作,并且在它们之间切换时不会丢失位置。

阅读约 10 分钟,共 7 节,属于「动手做」

同时运行多个智能体#

每个会话对应一个窗格,各个窗格同时运行。开启第二个会话不会让第一个变慢,因为两者的智能体进程、对话记录和队列都是独立的。真正需要管理的不是智能体的产出速度,而是你自己的注意力。

实际的并行工作主要有两种形式。

  • 分工并行:每个窗格负责互不重叠的一部分,例如一个做接口、一个做界面、一个做测试。合并时按顺序进行,先合改动最小的。
  • 同一任务并行尝试:让两三个窗格做同一件事,使用不同的模型或不同的表述方式,最后保留效果最好的一份,其余丢弃。问题本身还不明确时,这通常是取得可用结果最快的方式。

在多个智能体之间切换而不丢失位置#

侧栏列出工作区及其下属会话。你可以只看当前工作区,也可以查看全部;可以筛选,可以把经常回访的会话置顶,也可以重命名任意会话(清空标题即恢复自动生成的名称)。会话的排序看的是谁需要你,而不是时间先后:等你回答的排在最前,其次是还在运行的,剩下的按最近活跃时间排。带数字的快捷键用的是同一个顺序,所以 ⌘1 跳到的是最需要你处理的那个,不一定是最近的那个。

在会话之间切换
会话侧栏,其中展开了多个工作区,另有搜索入口和新建会话按钮。

一条会话每次对话占一行,显示标题、运行它的智能体、最后活跃时间,以及一个状态标识。(该控件不在当前这一屏上)

这块面板上的按钮可以直接点,点着看看。

  • K命令面板:会话、工作台命令和对话全文匹配结果集中在一份列表中
  • 1至 ⌘9,按上面说的那个顺序(等你回答的在前)把第 N 个会话打开为窗格
  • 1至 ⌥6,聚焦当前分组内的第 N 个窗格
  • 在窗格之间循环切换焦点,⌘⌥→ 为反向
  • 循环切换工作区分组,切换的是整套布局而非单个窗格,⌃⇧⇥ 为反向

阅读正在运行的会话#

对话记录不是一份隐去关键内容的聊天日志。每一轮都会展示智能体的推理过程、工具调用及其返回结果、它派出的子任务,以及正在执行的计划。这些内容默认收起,需要细节时展开即可。

对话记录展示的内容
推理与工具调用
推理过程,以及每次工具调用及其返回值,可就地展开。过长的输出会收起,并标注字符数和行数。
子任务
派发出去的一部分工作单独成块,包含交给它的任务说明、执行过程,以及最终交回的结果。
计划
智能体自己的待办清单,并实时显示进度:已完成、进行中和未开始各有多少项。
实时用量
每轮一行,显示已占用的上下文、累计 token 和本轮输出量。它的作用是让你在账单之前就发现某个会话开始产生较高成本。
备注与状态
可以给会话标注状态(待处理、进行中、待审阅、已完成、已搁置),记录它的产出类型(答案、方案、实现、部分完成、受阻、仅对话),并留下备注。

判断哪个会话在等待你#

同时打开五个窗格时,唯一重要的问题是哪一个在等待你。会话会明确标出自身状态,不需要你从滚动记录中推测。会话长时间没有输出时,Mirasim 会说明原因,而不是假装它仍在工作。

运行中
有一轮正在执行。
等待你处理
智能体提出了问题、请求授权,或者遇到需要你决定的事项。就地回答即可,不需要重启会话。
队列中
后续指令排在当前这一轮之后。
已停滞
一段时间内没有任何进展。原因会明确写出:静默了多少秒、某个具名工具仍在运行、正在等待模型返回,或者进程仅处于存活状态。
已完成或已失败
这一轮已结束;或者它在没有返回结果的情况下结束、以报错结束。状态会如实标出,不作模糊处理。

在执行过程中回答智能体#

智能体需要授权或需要你做出选择时,问题会出现在会话中,有多个时会编号。你可以选择它给出的选项、自行输入答案,或者跳过。回答不会导致这一轮重新开始,智能体会从暂停处继续执行。

上下文、压缩与长会话#

会话持续时间长了会触及上下文窗口上限。Mirasim 会显示每一轮占用了多少,对话也可以进行压缩,即通过概括腾出空间。压缩可以在输入区的命令列表中手动触发,也会在窗口占满时自动进行。两种情况都会在对话记录中留下记录,说明何时压缩、腾出了多少,因此智能体突然遗忘上文时原因是清楚的。

结束与清理会话#

会话是记录,不是临时草稿,因此删除时会先确认你要删除的范围。

  • 仅删除 Mirasim 侧的记录:智能体命令行自身的对话记录保留,你仍然可以在 Mirasim 之外继续这次对话。
  • 同时删除智能体的对话记录:一并删除它自身的 jsonl 与 rollout 文件,这次对话将完全消失。
  • 同时移除 worktree:适用于运行在 worktree 中的会话。若其中仍有未提交的改动,Git 会拒绝移除。这是正确的行为,不需要设法绕开。

正在运行的会话需要先停止才能删除。如果你打算改用智能体自己的命令行继续这次对话,可以在会话菜单中复制它的原生恢复命令。

这一页有错或缺了什么? 告诉我们