🐾 claw-stack

最后更新:2026 年 3 月 · 源码:agent-meeting

多智能体共识协议

通过中介模式协调多个 OpenClaw 智能体进行结构化轮次讨论。每个智能体独立推理并在回复中嵌入立场标记,协调器自动检测共识并生成会议记录。

← 模块概览

是什么

agent-meeting 是一个多智能体会议系统。协调器向每个智能体发送当前滚动摘要和问题,智能体回复其推理内容及结构化立场标记。每轮结束后,协调器提取立场、检查共识、压缩对话历史,然后推进到下一轮或生成最终 Markdown 会议记录。

为什么

缺乏结构的多智能体协作有两种失败模式:token 爆炸和结果模糊。没有协调器,智能体之间以 N×N 模式互发消息,对话历史呈二次方增长。没有正式的共识机制,就无法可靠地判断团队是否真正达成了一致。

基于 prompt 的多智能体框架通常要求智能体"讨论"一个话题然后总结。这在简单场景下有效,但在轮次较长、智能体存在分歧或需要可验证审计追踪时会失效。本模块将流程正式化:固定协议、确定性共识检测,以及记录完整发言和决策的结构化会议记录文件。

架构

组件 职责
Coordinator(协调器) 会议编排循环——驱动轮次、管理状态、路由所有消息
Session Manager(会话管理器) 生成并向 OpenClaw 智能体会话发送消息
Summarizer(摘要器) 每轮结束后将轮次历史压缩至约 500 token
Consensus Detector(共识检测器) 通过正则提取立场;FULL / MAJORITY / NO 共识逻辑
Minutes Writer(记录生成器) 生成含完整记录的最终 Markdown 会议记录
Timeout Handler(超时处理器) 每智能体 60 秒超时;整体会议 10 分钟上限

轮次生命周期:

协调器
  → 向每个智能体发送:滚动摘要 + 问题
  → 收集含 [STANCE: AGREE/DISAGREE/NEUTRAL] 的回复
  → 提取立场(正则,确定性)
  → 检查共识
  → 若达成共识或达到最大轮次 → 生成会议记录
  → 否则 → 压缩历史至约 500 token → 进入下一轮

共识规则:

结果 条件
FULL_CONSENSUS(完全共识) 所有智能体均 AGREE
MAJORITY_CONSENSUS(多数共识) ≥ 2/3 智能体 AGREE,且无 DISAGREE
NO_CONSENSUS(未达共识) 两个条件均不满足——继续进入下一轮

关键设计决策

中介模式——消除 N×N 混乱

所有消息通过协调器路由,智能体之间不直接通信。这使消息图保持线性(每轮 N 条消息,而非 N×N),协调器对会话状态拥有完全控制。

滚动摘要——每轮 O(1) token 消耗

每轮结束后,完整记录被压缩至约 500 token。后续每轮只接收滚动摘要加当前轮次回复,而非完整历史。无论轮次多少,token 消耗大致恒定,使长会议变得可行。

立场标记——确定性,无需额外 LLM 调用

智能体在回复中嵌入 [STANCE: AGREE | DISAGREE | NEUTRAL]。正则解析提取立场,无需额外 LLM 调用进行解读。未知或缺失的立场视为 NEUTRAL——不会阻断多数共识。

达成共识后提前退出

一旦达到完全或多数共识,即使未到最大轮次也立即结束会议,避免智能体已达成一致后的无意义追加轮次。

如何自行构建

1. 在智能体系统提示中注入立场指令

每个参与智能体的系统提示必须指示其包含立场标记。格式必须一致且可被共识检测器解析。使用固定格式如 [STANCE: AGREE/DISAGREE/NEUTRAL]——不要让智能体自行选择格式。

2. 用正则提取立场,而非 LLM 解析

调用 LLM 来判断智能体是否同意会增加成本和延迟,还会带来解析 LLM 误读原始内容的失败风险。简单正则如 /\[STANCE:\s*(AGREE|DISAGREE|NEUTRAL)\]/i 确定且高效。

3. 每轮压缩,而非最后再压缩

滚动压缩必须逐步进行。只在最后压缩会失去意义——上下文窗口已经耗尽。用 LLM 将当前轮次回复与前一个滚动摘要合并为新的约 500 token 摘要。

4. 同时设置智能体级和整体超时

单个缓慢或卡死的智能体不应无限期阻塞整个会议。智能体级超时(如 60 秒)触发时该智能体立场记为 NEUTRAL;整体会议上限(如 10 分钟)确保协调器最终终止。

5. 将会议记录写入磁盘,而非仅保留在内存

多智能体会议的输出价值取决于其记录。写入结构化 Markdown 文件,包含:主题、参与者、时间戳、含解析立场的逐轮记录、滚动摘要以及最终共识结果。这成为决策的审计追踪。

常见问题

这适用于我已配置的任何 OpenClaw 智能体吗?

是的。你传入 OpenClaw workspace 中已有的智能体 ID。会话管理器通过 OpenClaw 网关生成它们,而非创建新的智能体配置。

如果智能体未包含立场标记会怎样?

立场记录为 UNKNOWN。协调器在共识计算时将 UNKNOWN 视同 NEUTRAL——如果其他所有智能体均同意,不会阻断多数共识。

滚动摘要压缩是如何工作的?

每轮结束后,摘要器将完整记录发送给 LLM 并请求约 500 token 的压缩摘要。该摘要成为下一轮的上下文,无论轮次多少,token 消耗保持大致恒定。

可以不依赖 OpenClaw 使用本模块吗?

不能直接使用——会话管理器通过 OpenClaw 网关生成智能体。但核心协议(立场标记、滚动压缩、共识检测)与框架无关,可针对任何智能体运行时重新实现。

Authors: Qiushi Wu & Orange 🍊