round-table 是一个 AI 技能,用于围绕一项具有利害关系的决策召开圆桌讨论。其核心理念是“多体一魂”:一个代理可以同时容纳多个灵魂,让它们相互辩论,最终将决策交还给人类。
用途
当面临一个决策(而非话题),且该决策具有 2–4 个规范选项,并且选错的代价高昂或难以逆转时,可以使用 round-table。它适合需要多视角权衡的场合,例如战略选择、方案取舍等。如果用户只给出模糊的“我们应该……”表述,需要先确认是否召开圆桌。
主要能力
- 容纳 3–8 个灵魂(法定人数为 3,默认 5 个),每个灵魂来源必须真实:人格文件、Oracle 舰队中的 Oracle,或由人类提供的一行真实人物描述(姓名 + 习惯)。
- 每个灵魂作为独立子代理并行参与,进行恰好 4 轮辩论:OPEN(各自陈述)、DEEPEN(听取第一轮立场并点名挑战)、CONVERGE(提取分歧轴)、VOTE(绑定投票,禁止 5 分)。
- 使用脚本 table.ts 进行轮间检查(早期停止、跳过第三轮、专家尊重等)和最终投票聚合,支持加权(默认)、多数、一致或升级等聚合器。
- 投票结果由脚本计算,而非模型自行判断。脚本会强制执行规则:加权求和置信度、多数计人头、一致或升级需所有灵魂在同一侧且置信度 ≥7;平局按最高单置信度、较少反对意见、最后由人类打破;当获胜方加权置信度低于 60%、10 分出现在对立面或反对意见引用价值观(诚实、安全、同意等)时升级给人类。
- 生成圆桌会议记录(分钟)和决策摘要,分别保存在 ψ/lab/round-table 和 ψ/inbox/decisions 下。
使用方式
- 确认问题符合圆桌标准(决策、2–4 个规范选项、有利害关系),并定位 oracle 根目录(包含 CLAUDE.md 和 ψ/ 的 git 顶层)。
- 组建圆桌:选择 3–8 个灵魂,打印名单(含每个灵魂的来源)、问题、选项和聚合器,收集所有事实到 question_context。创建状态文件(JSON)和会议记录文件,并在每轮后刷新。
- 进行四轮辩论:每轮从 prompts/ 目录读取对应模板(round1-open.txt 至 round4-vote.txt),为每个灵魂启动一个 Agent 调用,全部在一条消息中并行。解析回复为 JSON,格式错误或选项外则重新提示一次,再次失败则空缺席位。
- 在第二轮和第三轮后调用
bun "$SKILL_DIR/scripts/table.ts" inspect "$STATE"进行检查,根据输出决定早期停止、跳过第三轮、询问人类或继续。 - 投票:将每个灵魂第四轮答案写入 final 和 dissent_note,然后运行
bun "$SKILL_DIR/scripts/table.ts" vote "$STATE"。根据退出码处理:0 表示已决定;2 表示重新提示;3 表示升级;1 表示输入错误或灵魂不足。 - 关闭会议记录,包含投票表(灵魂 · 投票 · 置信度 · 理由)和脚本输出块。将决策和记录路径写入 ψ/inbox/decisions/$SLUG.md,并宣布路径。
适用场景
适用于错误代价高昂或难以逆转的决策,例如采用某模式、选择技术方案、确定产品方向等。不适用于一般话题讨论、需要工具调用的任务、人类中途插话或需要超过 4 轮的场景。
限制
- 轮次中不使用工具,灵魂不能召唤其他代理,人类不能中途插话,没有第 5 轮。
- 灵魂来源必须真实,不得虚构;Oracle 未找到则拒绝该席位。
- 每个席位只是一个视角,会议记录中的表述应体现“某视角投票……”,而非该 Oracle 或人物的真实观点。
- 决策只是建议,最终由人类发布、合并和签署。
- 该技能基于参数重建,提示词可替换;自检需确保示例输出为 DECISION: adopt-modified 和 37/50 (74%),否则 table.ts 可能已偏移。