多模型决策委员会 — 消除单模型偏见,通过多轮分歧讨论产出客观决策参考。支持3-6个模型同时评审,提供量化投票矩阵和6段式共识报告。触发条件:包含「多模型决策」或「多模型委员会」时自动激活。
专为 OpenClaw 设计的"数字智库",通过多模型独立评审与共识合成,消除单模型偏见,为复杂决策提供客观参考。
多模型决策委员会 是专为 OpenClaw 设计的"数字智库"。它支持调动多个不同架构的大模型(如 GPT、Gemini、豆包等)同时对同一任务进行协同思考、对抗辩论与共识合成,有效消除单模型偏见,综合性给出最优建议。
为了确保结果的绝对客观,本插件强制执行 "身份纯净原则":
task 参数接收评审内容,独立输出结论;不得调用任何工具(包括 spawn、Read、Write、Exec、Search 等),所有外部操作由组织者统一管理配置参数可采用指令方式,如:"修改配置"、"调整参数"、"增加委员"、"确认配置"。
指令关键词可调参数说明"换模型"委员模型组合从用户本地接入的模型列表中选择模型组合加入"改轮数"决策轮数默认3轮,日常事务可设为2轮,重大决策可设3-6轮"收敛分差阈值"收敛判定分差已废弃"改阈值"判定阈值通过阈值:默认≥90%; 待决策阈值:默认[72%, 90%); 否定阈值:默认<72%"改判定方式"通过判定方式全票通过(默认):所有评委均需≥阈值;均分通过:评委均分≥阈值;多数票通过:超过半数评委≥阈值"增加委员" / "减少委员"委员数量支持2-6个模型同时评审"确认配置"确认当前配置确认当前参数后开始决策
模型选择:建议至少包含 1 个具备强逻辑推理能力的模型和 1 个具备强中文语境理解能力的模型。
轮次建议:日常事务建议 2 轮;涉及架构,资金、核心规则的决策,建议 3-5 轮。
阈值设定:
多模型决策委员会采用 3 轮决策机制,基于决策点级别评审,每轮进行100分制评分,最终给出决策结果。
决策准备:组织者(当前使用模型)接收到决策任务后,将用户背景、需求、待审方案汇总,拆解为决策点及权重,发起决策申请。内容格式为:
项目名称:{项目名称}
项目背景:{项目背景}
项目需求:{项目需求}
待审方案:{待审方案}
评审方案类型:{单方案评审 / 二选一评审 / 决策点拆分评审}
决策点拆分及权重(仅决策点拆分评审时填写):
决策成员:{决策成员:调取已配置的模型组合}
决策轮次:{决策轮次:调取已配置的轮数}
阈值设置:{阈值设置:调取已配置的阈值}
提交决策:{用户确认决策点、权重及配置后开始决策}
组织者在启动评委前,执行环境自检以确保子Agent可正常 spawn 和返回结果。此步骤为系统自动执行,确保运行环境兼容性。
自检方法:通过 session_status 或检查当前会话元数据,确认通道类型。
环境适配矩阵:
环境RuntimeMode额外参数结果回收方式Webchatsubagent``"run"无subagent_announce 事件回流Feishu(支持thread)acp``"session"``streamTo: "parent", thread: true流式回流Telegram/Discordacp``"session"``streamTo: "parent", thread: true流式回流Unknown/不确定subagent``"run"无subagent_announce 事件回流(兜底方案)
动作说明:组织者接收到决策确认后,将准备流程相关内容分发至各选定模型的独立子会话中。每位委员在 完全无法感知他方意见 的情况下进行背对背评审。
评审方案类型(由组织者根据方案复杂程度判断):
评审维度示例:方案逻辑合理性、完整性、潜在风险分析、实施资源消耗预估、可行性评审、优化建议。
评审时长:不超过120秒/轮。若120秒仍未回收所有子会话,组织者将结束流程并返回结果。
核心产出:组织者汇总各委员对所有决策点的评分结果,标记出未通过(评分 < 阈值)的决策点,提取为「未通过决策点清单」。
动作说明:组织者将第1轮中标记为「未通过」的决策点整理为「未通过决策点清单」,仅将这些未通过项下发给所有委员,要求评委 只针对这些未通过决策点 进行讨论并重新评分。已通过的决策点不再讨论。
评审时长:不超过120秒/轮。若120秒仍未回收所有子会话,组织者将结束流程并返回结果。
核心产出:汇总本轮重新评分结果,若所有决策点全员通过则直接输出最终报告;若仍有未通过项则进入下一轮。
特殊说明:无论配置多少轮,最终辩论始终是 最后一轮。
动作说明:经过分歧讨论后,仍有决策点未通过时启用。组织者将仍未通过的决策点再次下发给所有委员,要求评委进行最后一轮讨论和重新评分。
评审时长:不超过120秒/轮。若120秒仍未回收所有子会话,组织者将结束流程并返回结果。
核心产出:若所有决策点全员通过,输出最终报告;若仍有未通过项,将未通过项标注状态后输出最终报告。
扩展类型说明增加轮次(4轮及以上)倒数第2轮参照「分歧讨论」;最后一轮参照「最终辩论」;中间轮次循环分歧讨论减少轮次(3轮以下)第1轮参照「独立评估」;第2轮直接输出最终报告(视为最后一轮)
为防止评委评审时间过长导致用户对当前状态不知情,组织者必须在每轮评审开始前主动通知用户:
当环境为 webchat 时,用户无法像 Feishu thread 那样看到有序的中间消息。为提升用户体验, 每轮结束后应立即向用户展示本轮汇总,而不是等到全部轮次结束后再统一输出。
环境中间结果处理webchat每轮结束后立即输出本轮汇总矩阵 + 判定结果 + 提示语,然后继续下一轮Feishu / Discord(thread 模式)按原流程执行,threaded 消息天然有序,无需特殊处理Unknown / 不确定默认视为 webchat,执行中间输出规则
webchat 环境每轮输出模板:
text
## 📊 第 X 轮评分汇总
[本轮评分矩阵]
## ⚖️ 第 X 轮判定结果
[通过/未通过/进入下一轮]
[未通过决策点清单(如有)]
**进入第 Y 轮:[轮次名称]。各位评委已开始[环节],请稍候。**
每轮结束后 必须 进行判定,不可跳过。
【核心概念:决策点】 每个方案的评审内容拆解为若干「决策点」,评委对每个决策点评分(0-100分)。通过判定基于决策点级别进行。
【判定方式】(默认全票通过制)
通过判定逻辑:
轮次判定时机判定结果后续动作第1轮结束后汇总所有决策点评分全员通过(所有决策点所有评委均≥阈值)直接输出最终报告第1轮结束后汇总所有决策点评分非全员通过(存在未通过决策点)提取未通过的决策点,进入第2轮第2轮结束后汇总未通过决策点全员通过直接输出最终报告第2轮结束后汇总未通过决策点仍有未通过进入最后一轮最终辩论最后一轮结束后汇总未通过决策点全员通过直接输出最终报告最后一轮结束后汇总未通过决策点仍有未通过输出最终报告,标注各决策点状态任意轮超限——标记超时评委,以已返回结果继续汇总
各轮次讨论范围:
轮次讨论范围第2轮(分歧讨论)仅讨论上一轮中未通过的决策点第3轮(最终辩论)仅讨论第2轮中仍未通过的决策点后续轮次循环「分歧讨论」逻辑,直至所有决策点全员通过或已达最后一轮
决策完成后,输出标准化报告,包含:
决策点通过状态标注:
状态含义标注全员通过所有评委在该决策点评分均≥阈值✅ 绿色 — 通过待决策推荐顺序一致但有评委评分低于阈值🟡 黄色 — 待用户确认有分歧推荐顺序不一致🔴 红色 — 有分歧,附原因
组织者使用 Push-based(推送式) 而非轮询来回收子Agent结果:
text
Spawn 子Agent → sessions_yield 挂起 → 收到 subagent_announce 事件 → 提取结果 → 更新跟踪
关键步骤:
Spawn 子Agent 后,立即调用 sessions_yield 主动结束当前 turn
等待 OpenClaw 以 inter-session message 形式推送 subagent_announce 事件
识别 消息中的 BEGIN_UNTRUSTED_CHILD_RESULT 块,提取评审结果
记录 结果到会话上下文(见「轻量级状态跟踪」章节)
检查 是否所有评委都已返回:
⚠️ 禁止行为:
sessions_list、 subagents list 或 exec sleep 轮询Webchat 环境(推荐默认):
yaml
SessionsSpawn:
runtime: "subagent"
mode: "run"
model: "n1n/gpt-5.4"
task: "评审任务..."
timeoutSeconds: 180
Feishu/Discord 环境(支持 thread 的通道):
yaml
SessionsSpawn:
runtime: "acp"
mode: "session"
thread: true
streamTo: "parent"
model: "n1n/gpt-5.4"
task: "评审任务..."
timeoutSeconds: 180
单轮限时 120 秒(2分钟)。若超时:
组织者使用 会话上下文变量 跟踪评审状态,无需维护持久化状态文件。
状态跟踪格式(每轮开始时初始化):
text
[本轮状态跟踪]
Round: {1/2/3}
Spawned: {N}
Received: {M} ({评委A} ✅, {评委B} ✅)
Pending: {N-M} ({评委C} ⏳)
每收到一个子Agent结果,更新此跟踪块。全部完成后清空并进入下一轮。
以下3类异常的处理标准:
异常类型处理标准状态同步错误组织者检测到会话上下文中的状态跟踪与实际回收结果不符时,应立即中止当前流程,通知用户并提示重新发起决策规则执行偏差组织者在执行中发现某委员的评审结果违反本skill规定的流程(如跳轮、跳过通过判定等),应要求该委员重新按规则执行,不得擅自修改委员结论超时处理单轮超过120秒仍有评委未返回结果时,组织者对超时评委标记「超时-未提交」,以已返回的评委结果进行汇总和判定结果未回流若 spawn 后未收到 subagent_announce 事件,检查是否使用了 sessions_yield 挂起,或 runtime/mode 配置是否正确
Read 工具仅限读取以下路径:
~/.openclaw/workspace/tmp_mmc_*.md(临时报告文件).ssh/、 .env/、 .aws/ 等)Write 工具仅限写入以下路径:
~/.openclaw/workspace/memory/ 目录(报告归档)~/.openclaw/workspace/tmp_mmc_*.md(临时报告文件)~/Desktop/*(最终报告输出到桌面)每个子会话最大执行时间: 120秒(可通过 timeoutSeconds 配置,最大 300 秒)
最大并发子会话数: 6个(与委员数量上限一致)
状态文件有效期: 24小时(V1.6.0 起不再使用状态文件,改用会话上下文跟踪)
报告自动归档路径: ~/.openclaw/workspace/memory/MONTHLY/mmd_<date>.md
文档说明references/STATE_MACHINE.md状态流转规则 + 异常处理(概念参考,V1.6.0 起实际使用会话上下文跟踪)references/OUTPUT_TEMPLATE.md6段式报告完整模板 + 评委 Promptreferences/SCHEMA.md状态文件字段规范(已归档,V1.6.0 起不再强制使用)references/TROUBLESHOOTING.md常见失败模式与排查指南(V1.6.0 新增)
🏛️ 兼听则明,万模共鉴。