你说话的时候
判定器先读一遍
这是新任务、追问,还是在纠正它?干活时的插话要不要立刻打断?要不要把技能和工具加载进来,还是一句话就能答?
这一轮里,「relay.config.json 里 `timeout: "1h30m"` 的任务,跑一个小时左右就被杀掉了。查一下原因,修好它,并确认测试都能通过。」进来,不到一秒判定器就答复:多步任务,全力投入。用不到的技能和 MCP 服务器不进上下文,需要时才打开。
这段输出要不要看?这条命令能不能放行?活真的干完了吗?mu 在 40 个判定点上把这些是非题交给一个小模型:白白浪费的 token 少了,不看就点的允许少了,做到一半就停的也少了。大模型把注意力留给代码。
Terminal-Bench 2.1,同一个模型、同一批任务:mu 的尝试通过率 68.2%,pi 58.7%(高 9.5 个百分点,95% 区间 +3.8 到 +15.2)。怎么测的
$ npm i -g mu-agent
需要 Node.js 22.19 或更新。装好后在项目目录里运行 mu;第一次用先运行 mu setup 接入一个模型。
v0.3.7 · Windows 版暂未签名,SmartScreen 会提示。ARM 版 Windows、Linux 和全部安装包见 Releases。
再跑一遍测试。 $ npm test ... (19 earlier lines, ctrl+o to expand) ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 80.56975 Took 0.3s 修好了。一分钟被定义成了 1,000 毫秒,所以 1h30m 被读成一小时零 30 秒,worker 到点 就中止了任务。 - src/config/duration.js:m 改为 60_000。 - npm test:13 个测试全部通过。 以分钟为单位的 backoff 也受了同样的影响:exports 队列(backoff: "2m")原来 2 秒后 就重试,现在会等 2 分钟。 ──────────────────────────────────────────────────────────────────────────────────── ──────────────────────────────────────────────────────────────────────────────────── ~/code/relay (main) ↑27k ↓242 0.6%/1.0M (auto) mimo-v2.6-pro • high Jev 1.13 (free): multi-step task · full effort · 184 ms 权限:判定模式
你说话的时候
这是新任务、追问,还是在纠正它?干活时的插话要不要立刻打断?要不要把技能和工具加载进来,还是一句话就能答?
这一轮里,「relay.config.json 里 `timeout: "1h30m"` 的任务,跑一个小时左右就被杀掉了。查一下原因,修好它,并确认测试都能通过。」进来,不到一秒判定器就答复:多步任务,全力投入。用不到的技能和 MCP 服务器不进上下文,需要时才打开。
工具返回的时候
一次测试、一次搜索,动辄几百行。判定器逐块判断哪些现在有用:失败的用例留下,一遍遍刷屏的日志去掉。没进上下文的部分归档,留一个指针,需要时再取回。
网页和 MCP 返回的内容里,冲着模型来的指令会先被拦下。
动手之前
每条命令执行之前,规则先标出有风险的操作,判定器再确认这是你要的、没有越过你说过的限制。权限分三档:完全访问、判定模式、最小权限,随时切换。在「判定模式」下,任务明显需要的由判定器直接放行,其余的才来问你。
一轮结束的时候
模型说「好了」的时候,mu 会看这一轮有没有验证过,中途有没有跑偏,要不要退回检查点重来。
用 /goal <条件> 给一个目标,它会一直干到条件成立才停。做没做完由大模型核对,判定器兜底;同一个错反复出现时,判定器判断这是不是一条死路。
蜂群
让几个代理一起啃一个难题,最难的不是派活,是交流。什么都不说,各自走进同一条死路;什么都说,每个人的上下文里全是别人的聊天。
mu 的蜂群里,每个发现判定器都先判一次值不值得共享,再对每只别的蜂判一次和它的工作有没有关系:除非判定器确定没关系,发现都会作为上下文送过去,并标明「这是发现,不是指令」。后来的发现推翻了先前的结论,更正会送到每一只收到过它的蜂。
人话看板
模型越来越强,汇报却越来越像写给机器看的。mu 里干活的模型照旧用它自己的方式干活;每隔几次工具调用,判定器读一遍现场,挑出真正算新消息的几条,交给一个专门因为会说人话而选出来的模型,告诉你做到哪了。
运行结束时,你看到的不只是「做完了」,还有它到底做了什么。
在「判定模式」下,任务明显需要的由判定器直接放行,其余的才来问你。
开口第一句先判断:闲聊、追问,还是要动手的活。用不到的技能和 MCP 服务器不进上下文。
上下文变长时,过期的结果直接丢,不用写摘要;缓存快过期时,判断值不值得续一次。
40 个判定点,每个都能单独开关、单独换判定器:免费的 Jev、Mac 上的 mude 1.0,或任意一个大模型。
没配判定器的 key 时,默认由 OpenCode Zen 上免费的 Jev 回答,每天提醒一次。
命令行基于 pi,pi 的模型、扩展、技能和会话树都在;桌面端用的也是同一套会话。
/status、mu ledger,桌面端有判定页。