Munder Difflin的GOD编排器Michael:你的克隆体老板如何调度整个Agent办公室
Munder Difflin的GOD编排器Michael:你的克隆体老板如何调度整个Agent办公室
【免费下载链接】munder-difflinlocal multi-agent harness项目地址: https://gitcode.com/GitHub_Trending/mu/munder-difflin
同时运行多个AI编码Agent(Multi-Agent)时,最大的难题往往不是"干活",而是"谁来分活"。Munder Difflin给出的答案是:在办公室里放一位GOD编排器——Michael。这位名字致敬美剧《The Office》的"克隆体老板"不亲自写代码,而是负责Agent办公室的调度:读请求、派任务、裁决定常事务、只在关键时刻找你拍板。本文带你快速看懂这位老板是怎么运转整个Agent团队的。
Michael是谁:CEO专属办公室里的常驻Boss
在Munder Difflin中,整个多Agent团队(hive)被具象化成一个像素风办公室:每个Agent是《The Office》里的一个角色,坐在自己的工位上。而Michael默认坐在CEO专属办公室(desk-ceo),随hive启动、常驻在线。
他的默认名字"Michael"并非魔法字符串,而是写死在应用层的身份默认值,你可以随时重命名他:
源码参考:godIdentity.ts
需要澄清一个常见误解:Michael不是特殊模型。他就是一个普通的Claude进程,身上戴了"编排器"标记,他的调度策略(何时升级、偏向哪位专家)都写在系统提示词里——想调整老板风格,改提示词就行,不用改代码。
GOD编排器的四大职责:调度Agent办公室的完整指南
Michael的工作可以浓缩为四句话:管名册、派活、裁决、升级。
职责一:维护"花名册"(Roster)
要派活,先要知道办公室里都有谁。harness维护一份注册表(registry):每个Agent的ID、名字、角色、能力和当前状态(空闲/工作中/被阻塞/下线)。Michael读取这张"花名册"做路由决策——"给新接口写测试"会派给角色写着tests的Agent,而不是随便找个空闲的。
职责二:把工作"路由"到收件箱
Michael不会伸手进工人文件里指挥,而是把目标拆解成自包含的任务说明,作为一条消息投递到目标Agent的收件箱(inbox)。每条消息都会声明自己的意图(request / inform / propose / query / agree / refuse / done),这样工人拿到任务就能直接开工,不需要回头追问——这才是真正加速团队的路由。
职责三:裁决日常消息流量
这是"自治"真正落地的地方。Agent干活时会互相提问:用哪个schema、暂存URL是否还有效、计划的小调整……如果每个问题都弹回给你,所谓"团队"只是变慢版的你。Michael持续清空自己的收件箱,日常问题自己答,让楼层(the floor)保持运转——绝大多数Agent间往来根本不打扰你。
职责四:只升级"真正的关键少数"
Michael最重要的边界,是知道什么不该自己决定。升级策略是一张短而明确的清单:
- 🗑️破坏性操作——难以撤销的删除或覆盖
- 💸花真金白银——有美元成本的行动
- 🎯范围变更——工作偏离了你原本要的东西
- ⚖️无法解决的冲突——两个Agent陷入僵局
命中清单才升级,其余全部自主处理。这就是为什么一个hive可以长时间无人值守运行。
Michael的指挥中心:一张屏幕看懂整个Agent团队
从v0.1.6开始,Michael的侧边栏升级成了完整的Command Center,六个标签页覆盖管理场景:
| 标签页 | 用途 |
|---|---|
| Terminal | 直接和Michael对话,下达指令 |
| Floor | 名册与调度:雇佣Agent、派活、逐Agent选模型 |
| Tasks | 依赖感知的看板:todo / doing / blocked / done |
| Activity | 事件日志、真实token成本遥测、CI监控 |
| Triggers | 一切"不靠你也会启动"的机制:定时任务、webhook |
| Memory | 共享记忆宫殿的语义搜索 |
其中Tasks看板支持任务依赖:下游任务会等前置任务完成才启动,顺序不再需要你人工盯。Triggers则让你预编程周期性指令——你睡觉时,楼层依然在运转。
四道安全护栏:为什么AI编排器不会失控
自治不等于失控。让Michael可以放心放权给你的,是harness层的四道护栏——智能在Michael身上,机制在harness里,即使老板判断失误,机制兜底依然可靠:
- 跳数上限(livelock保险丝):每次回复都会累加hop计数,超过上限直接升级给人类,两个Agent永远乒乓不了。
- 只有请求类消息才要求回复:
inform和done是终结性的——禁止回复它们,从协议上掐死死循环。 - 人审队列:关键事项进入审批队列,你批准后(可附注"可以,但上限$5"),备注会作为人类消息回传给提问的Agent,它带着你的指引继续干活。
- 熔断器 + 逐Agent预算:给每个Agent设token预算,跑飞的Agent会被"引导→限制→停止"三级熔断接住,而不是靠你发现账单。
另外,消息处理是幂等的:每个Agent记录已处理游标,同一条消息绝不会被执行两次。拿不准时的默认动作永远是"问人",而不是"擅自行动"。
跟踪一个请求的完整旅程
把四大职责串起来,一条指令在Munder Difflin中的完整生命周期是:
- 你用自然语言告诉Michael一个目标
- 他读取花名册,拆解目标,把任务说明路由进对应Agent的收件箱
- Agents在隔离会话中并行干活,需要协作时通过outbox互发消息
- Michael裁决日常问题,回答或改派,保持楼层流动
- 遇到关键事项,升级到审批队列,等你拍板
- 每一步都提交到hive的git仓库并写入追加式日志——整段过程可审计、可回放
快速问答
没有Michael能跑吗?能。但那时你就是编排器——手动分活、手动传话。GOD Agent就是把这个角色从你肩上卸下来。
Michael"住"在哪里?一个固定、常驻的Agent,坐在角落办公室(自然是Michael的房间),有预留工位,随hive启动,和工人一起跑——只是特殊的那一个。
怎么调教他?升级策略就是提示词本身。想让老板更谨慎或更放手,改系统提示词即可,底层机制不变、依然安全。
想深入了解设计细节,可以阅读项目内的原始文档:HIVE.md、how-the-god-orchestrator-works.md、command-center-guide.md。
【免费下载链接】munder-difflinlocal multi-agent harness项目地址: https://gitcode.com/GitHub_Trending/mu/munder-difflin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
