RoundTable simulates a real roundtable meeting: multiple AI Agents assume distinct expert personas and produce high-feasibility proposals through 5 rounds of progressive, structured discussion. Its core design goal is to break single-Agent perspective blind spots — one mind inevitably circles within its own cognitive frame; cross-validating ideas under pressure from multiple expert viewpoints is far more reliable than solitary reasoning.
> 概览:RoundTable 模拟真实圆桌会议:多个 AI Agent 扮演不同专家角色,通过 5 轮渐进式讨论产出高可行性方案。核心目标是打破单一 Agent 视角盲区——一个大脑容易在自己的框架内打转;多视角交叉验证远比单一视角更可靠。
Single Agents have inherent limitations:
RoundTable's structured adversarial design breaks this cycle through 5 mandatory rounds:
R1 Independent → R2 Cross-Reference → R3 Forced Critique → R4 Debate & Revise → R5 Arbitrate
After 5 rounds, the system surfaces 15+ risks, 9+ defects, and produces a plan that has been thoroughly stress-tested against diverse expert scrutiny.
> 为什么需要 RoundTable:单一 Agent 存在天然局限——视角单一(无法跳出自身认知框架)、缺乏对抗检验(没有挑战的方案容易沦为回声室自证)、伪深度(看似全面实则同一角度反复展开)。RoundTable 通过结构化对抗设计打破这一循环:R1 独立提出 → R2 交叉引用 → R3 强制质疑 → R4 辩论修订 → R5 仲裁总结。5 轮后系统可暴露 15+ 风险、9+ 缺陷,产出经过充分压力测试的方案。
sessions_spawn. Models and thought-chains are fully isolated; no shared context leaks between experts.> 核心设计原则:
>
> 1. 真实子 Agent 隔离:每轮每句都是独立 sessions_spawn,模型与思维链完全隔离,避免专家之间共享上下文造成观点污染。
> 2. 强制质疑深度:不允许模糊敷衍;R3 质疑轮硬性要求输出 5 个风险 + 3 个缺陷,并给出具体依据。
> 3. 方案动态演进:R4 不能重复 R1,必须展示「原方案 → 修订方案 + 修订理由」对比表,证明观点在质疑后发生了真实变化。
> 4. 明确分歧仲裁:R5 主持人不能回避冲突,必须对争议点逐条裁决并说明理由。
> 5. 直接可执行输出:最终交付不是泛泛建议,而是带负责人、交付物、时间安排和风险预案的执行计划。
R1 独立提案 → R2 交叉引用 → R3 深度质疑 → R4 辩论修订 → R5 主持人总结
↓ ↓ ↓ ↓ ↓
3 位专家 引用彼此观点 5 风险 + 3 缺陷 回应质疑并修订 仲裁分歧并输出计划
800-1200 字 800-1200 字 明确证据 1000-1500 字 1500-2000 字
| 轮次 | 主题 | 核心任务 | 硬性要求 |
|---|---|---|---|
| --- | --- | --- | --- |
| R1 | 独立提案 | 每位专家从自身视角给出方案 | 至少 1 个对比表 + 5 个量化指标 |
| R2 | 交叉引用 | 引用其他专家观点并补足盲区 | 至少 3 个引用标记 + 明确赞同/反对立场 |
| R3 | 深度质疑 | 找出真实风险和缺陷 | 5 个风险 + 3 个缺陷,每项都要有依据 |
| R4 | 辩论修订 | 回应质疑并修订方案 | 必须提供「原方案 / 修订方案 / 修订理由」对比表 |
| R5 | 主持总结 | 仲裁分歧并形成最终计划 | 8 周任务表 + 风险预案 + Top 3 风险 |
v2.0 的核心缺陷是 R2-R5 对前序轮次缺乏充分感知,导致每轮都像重新开始。v3.0 强制注入完整讨论历史:
┌─────────────────────────────────────────────────────────┐
│ RoundTable Engine │
├─────────────────────────────────────────────────────────┤
│ 意图解析器 │ 模型路由器 │ 收敛控制器 │
│ MMR Intent │ 异构模型路由 │ 防循环机制 │
├────────────────────┼──────────────────┼──────────────────┤
│ 专家选择器 │ 提示词构建器 │ 通知模块 │
│ 170+ 专家库 │ 结构化模板 │ 飞书/Lark │
└─────────────────────────────────────────────────────────┘
不是简单关键词匹配,而是使用 Maximal Marginal Relevance(MMR,最大边际相关性):
score = λ × 相关性 − (1−λ) × 与已选专家的最大相似度
不同专家角色使用不同模型,充分利用各模型优势:
| 专家角色 | 能力需求 | 推荐模型标签 |
|---|---|---|
| --- | --- | --- |
| 工程 / 架构 | 代码、逻辑、技术判断 | code、technical、engineering |
| 设计 / 创意 | 长上下文、创意表达 | creative、long-context、design |
| QA / 测试 | 均衡、快速、严谨 | balanced、fast、general |
| 产品 / 商业 | 中文表达、领域知识、业务判断 | chinese、knowledge、product |
| 主持总结 | 逻辑、裁决、归纳 | logic、summary、decision、max |
三层路由策略:
local_models.json。ClawHub 合规要求:不扫描 os.environ,不读取 apiKey / baseUrl 等敏感字段;模型信息只来自公开配置文件。
R1 → R2 → R3 → R4 → R5
↑
语义分歧低于阈值 → 提前停止
达到最大轮次 → 强制仲裁
领域覆盖:
选择策略:MMR 算法 + 领域权重 + 用户强制指定。
每一轮都有独立的提示词框架(prompts/framework.md),不是自由发挥:
engine = RoundTableEngine(
topic="智能客服技术方案",
agents=["工程专家", "产品专家", "架构专家"],
mode="pre-ac" # pre-ac: 本地预分析;full: 完整模式
)
success = await engine.run()
| 场景 | 处理策略 |
|---|---|
| --- | --- |
| 子 Agent 超时 | 最多重试 2 次,间隔 5 秒 |
sessions_spawn 不可用 | 直接失败,不使用假数据兜底 |
| R5 主持人失败 | 从已有轮次中自动抽取总结 |
| 模型不可用 | 自动降级到 FALLBACK_MODEL |
data/roundtable/{topic}.json,结构化数据,便于机器读取。| 维度 | v2.0 | v3.0 |
|---|---|---|
| --- | --- | --- |
| 上下文传递 | R2-R5 缺少前序上下文 ❌ | 强制注入完整历史 ✅ |
| 质疑深度 | 泛泛而谈,约 3 个风险 | 硬性要求 5 个风险 + 3 个缺陷 |
| 方案演进 | R1-R4 内容容易重复 | R4 必须给出修订对比表 |
| 分歧处理 | 没有明确仲裁 | R5 主持人逐条裁决 |
| 输出质量 | 400-600 字,缺少表格 | 800-2000 字 + 强制表格 |
| 可执行性 | 约 50% | 90%+ |
主题:智能客服技术方案
参与专家:工程 / 产品 / 设计(3 位)
子 Agent 调用:15 次
识别风险:15 个
发现缺陷:9 个
修改建议:13 条
8 周计划:W1-W8,含每日工作量估算
分歧裁决:4 项,均有理由
总输出:约 8,500 字
| ✅ 推荐使用 | ❌ 不推荐使用 |
|---|---|
| --- | --- |
| 技术方案评审:架构、技术选型、复杂实现路线 | 简单问答:直接问主 Agent 即可 |
| 产品立项:功能规划、MVP 边界、路线图 | 紧急决策:完整讨论通常需要 15-20 分钟 |
| 复杂决策:多因素权衡、跨角色冲突 | 代码生成:请使用 Auto-Coding 类技能 |
| 跨团队对齐:需要多视角共同校验 | 快速事实查询 |
使用 local_models.json 定义自定义模型阵容:
{
"engineering": "deepseek/deepseek-v4-flash",
"design": "minimax/minimax-latest",
"host": "deepseek/deepseek-v4-pro"
}
使用 roundtable_config.yaml 声明模型能力标签。只读取模型元数据,不访问 API Key、Base URL 或其它敏感配置。
core/model_router.pycore/intent_parser.pycore/prompt_builder.pycore/convergence.pyprompts/framework.md本技能运行期间会处理以下数据:
| 行为 | 说明 | 用户控制 |
|---|---|---|
| --- | --- | --- |
| 模型配置读取 | 读取模型 ID、标签、优先级,用于异构路由 | ✅ 可通过参数覆盖 |
| 讨论历史注入 | R2-R5 注入前序轮次摘要,默认每轮截断到约 200 字符 | ✅ 截断限制暴露范围;用户控制讨论主题 |
| 报告持久化 | 保存 JSON 与 Markdown 讨论报告 | ✅ 可配置输出目录 |
| 聊天室广播 | 可选:将截断后的 Agent 输出(≤1000 字符)广播到独立会话 | ✅ 默认关闭(enable_chat_room=False) |
> ⚠️ 隐私提醒:如果讨论包含敏感信息,报告文件、聊天室会话和轮次通知可能暴露主题名称、专家角色和部分讨论内容。处理保密议题时,请关闭聊天室和通知渠道。
版本:3.0.13
更新日期:2026-05-26
共 6 个版本