用途:fabric-council 用于需要多视角权衡的任务,例如架构选择、方案评审、计划审查等。它通过一次 fabric_exec 调用做有界的角色扇出,选择 3 至 5 个能产生有效分歧的角色,如正确性、安全性、可运维性、可维护性、需求质疑等,而不是让多个角色重复同一视角。
主要能力:并行运行各角色独立分析,每个角色使用 read、grep、find、ls 工具;收集完成与失败情况;在至少两个角色完成时,再调用一个合成代理,把报告整合为一份决策,要求拒绝无依据的主张、保留实质性分歧、把每个关注点归属到对应角色,且不推断失败角色的观点。
使用方式:把任务作为 strings.task 传入,把 JSON 角色数组作为 strings.roles 传入。角色需为 3 至 5 个去重后的非空字符串,否则报错。成功合成时只返回紧凑的决策、覆盖情况和失败信息;仅当合成失败时才返回原始完成报告;若只有一个角色存活,则直接返回该报告,不再消耗额外代理调用。
状态与限制:状态为 success、partial 或 failed。partial 结果是有名有姓缺口的可用证据,不应自动触发整个 council 重跑;若缺失视角重要,可用原任务和角色单独重试该角色,不要新建 council 或重跑成功角色。并发调用可能超出观测性的 tokenBudget,因为用量事后才结算;应预留至少 roles.length + 1 次顶层代理调用,并使用有限角色集,不要把 token 记账当作硬性并发上限。不要用于查找类任务或没有实质竞争性考量的决策。