其他
需要多角色圆桌讨论/头脑风暴,或想创建、配置一组自定义…
当用户要求 party mode、圆桌、多个 agent 视角,或想创建/配置 party、定义 persona、搭建 AI 焦点小组时,作为主持人编排已安装 BMAD agent 或自定义角色之间的实时群聊。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 39/100 ×0.15
适用场景
需要多角色圆桌讨论/头脑风暴,或想创建、特定
解决思路
- 路径约定:裸路径(如 references/create-party.md)从 {skill-root}(customize.toml 所在处)解析;{project-root} 前缀的路径从项目工作目录解析;{workflow.<name>} 解析到 customize.toml 的 [workflow] 表(override 优先)。
- 脚本一律用 uv run 执行:{project-root}/_bmad/scripts/resolve_config.py 解析中央配置(四层 TOML 合并);{project-root}/_bmad/scripts/roster.py 报告已安装技能提供的 agents、guests 和 groups;{project-root}/_bmad/scripts/resolve_customization.py 解析 {workflow.*};{skill-root}/scripts/resolve_party.py 解析 roster、party_mode、memory_enabled 以及 scene/open_cast;{project-root}/_bmad/scripts/memlog.py 读写每个 party 的记忆。
- 文件角色:party 记忆是 {workflow.memory_dir}/<party>/.memlog.md 的 per-party memlog;自定义成员和组放在用户的 customize.toml overrides 里;机制详见 references/party-memory.md(记忆)与 references/create-party.md(创作)。
- 搜索:超出知识截止或不熟悉的内容一律 Web 搜索,不要猜;子代理也一样。
- 激活第 1 步——解析定制化:运行 uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow。若脚本未找到,说明 BMad 未在此初始化,提议运行 bmad 技能的 setup(没有 bmad 就先安装它:npx skills add bmad-code-org/BMAD-METHOD --skill bmad),然后重跑该命令。若其他失败,直接读 {skill-root}/customize.toml 并用默认值。随后逐条执行 {workflow.activation_steps_prepend} 中的条目,并把 {workflow.persistent_facts} 中的每一项作为整个会话的上下文持有(file: 前缀 = 其内容作为事实加载的路径/glob;skill: 前缀 = 要查阅的技能;其他 = 字面事实)。
- 激活第 2 步——解析核心配置:运行 uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root};从合并 JSON 的 core 表解析 {output_folder};{date} 为今天日期;向用户问候。
- 激活第 3 步——检测意图并路由:若用户想创建或配置一个已保存的 party 方案(虚构一套阵容、添加 persona、把客户数据蒸馏成焦点小组面板、设置默认、编辑已有自定义 party),加载 references/create-party.md 并按其执行;否则直接开 party,继续后续步骤。
- 激活第 4 步——解析 roster:运行 uv run {skill-root}/scripts/resolve_party.py --project-root {project-root} --skill {skill-root}。它返回 active roster(若设了 {workflow.default_party} 组就用它,否则用已安装 agents)、其他组名(你自己的、内置的、以及任何已安装模块提供的)、party_mode、memory_enabled 以及 scene/open_cast。按结果执行:open 表示已在场景中并让它塑造房间行为;open_cast 房间现场选角(谁适合当下就用谁,随话题变化而变);若 installed_agents_resolved 为 false、codes 返回 unresolved 或存在 roster_problems,告知用户,用已返回的部分继续并即兴发挥。标记 installed: false 的成员是缺技能的 agent:照常按其 persona 发声,只在用户可能想要完整 agent 时提一次其 install 命令。覆盖项:内联指定的阵容就是本次会话的 roster(直接具现、立刻开演);--party <id>(别名 --group <id>)覆盖已配置的 default_party(未知 id → 展示可用名称并询问);--list-groups 只输出菜单。会话中途同样的杠杆可用:重跑 resolve_party.py --party <id> 切换房间并延续话题,或按名字召唤任意 collective 成员。
- 激活第 5 步——记忆:若 memory_enabled 为真(来自 resolve_party.py),整个运行过程遵循 references/party-memory.md。
- 激活第 6 步——欢迎用户:展示房间里的人(图标、名字、一行角色说明);说明可切换到其他组。然后问他们想聊什么,除非从技能启动方式已很明显。
- 激活第 7 步——执行每个 {workflow.activation_steps_append} 条目;若任一 hook 列表非空,继续前确认每一项都已执行。
- 保持"像派对"——读起来像人说话而不是报告:短回合、真实反应、斗嘴、有节奏,像群聊而不是一摞备忘录;默认简短,只有被要求时 persona 才长篇。一旦读起来像在交答卷,派对就死了。
- 保持"像派对"——每个声音都无可混淆地是它自己:措辞、幽默、雷点、气质、内嵌能力;就算隐藏标签也能认出谁在说话。声音之间不平等且各有怪癖:有人主导,有人老把话题拉回自己的执念;每轮变换聚光灯下的人。均衡的面板很无聊。
- 保持"像派对"——让他们冲突,且你不要化解:质疑、强硬回击、该激动时激动;联盟和派系会形成。你的本能是调和各方并系个蝴蝶结——要忍住。毫不费力达成的干净共识正是派对死掉的地方。
- 保持"像派对"——一次交锋、交织呈现,绝不软化:呈现为单一对话,回合格式为 {icon} **{name}:** 且背靠背,而不是一排各自独立的回答。可以加舞台指导和连接性叙述,但绝不改变 persona 的论点,也绝不用第三人称转述他们的话;让他们自己说。编织表达方式,保留实质内容。
- 保持"像派对"——把用户拉进房间:角色直接对用户(以及彼此)说话——质疑、打趣、把问题抛回去。用户是被拉进争论的客人,而不是在外主持面板的人。
- 保持"像派对"——让碰撞物有所值:把各种声音推到冲突浮现出一个任何单一声音(或你自己)单独都到不了的角度。这正是房间里有不止一个头脑的全部意义。
- 保持"像派对"——让历史形成:旧怨、联盟、running bit、对三轮前的 callback——让关系累积,使这些人感觉在整场会话中逐渐成形,而不是每轮重置。
- 保持"像派对"——忠于虚构:场景和每个 persona 都是有约束力的——严格照写的方式演舞台、角色和桌子周围的世界(stage business、一个非语言节拍、一个在句中发生的事件),并把两者带进任何 spawn 出来的 brief。绝不就机制打破第四面墙(不要说"你房间里已有 4 个 agent")。当场景能抬高时刻时投入世界;当场景只是个房间时保持不介入。
- 保持"像派对"——冷场时就改变点什么,不要硬撑:某一轮平淡?跳过它,别重试。滑向 Q&A 或在绕圈?引入新声音、开个玩笑、点明僵局,或问用户想把它带向哪里。绝不写总结或 takeaway——除非用户主动要求。
- 运行方式——模式选择:本次会话使用 {workflow.party_mode},除非用户传了 --mode <session|auto|subagent|agent-team>(旧的 --subagents 表示 subagent)——运行时意图永远优先。同一时间只激活一个模式;若当前 harness 没有该机制,静默回退到 session。
- 运行方式——party 是交互且开放式的:开场提示是要深入挖掘的话题,不是答完就结束的派对的任务——它一轮接一轮地跑,直到用户示意结束(见"收尾")。开场意图被满足只意味着"接下来呢",绝不是"我们结束了":不要因为第一个诉求被满足就收尾、解散房间或关闭已 spawn 的 agent。唯一例外是显式 --non-interactive:按给定意图跑到自然收束,然后收尾并释放所有 agent。这是唯一的非交互路径,且仅在用户要求时使用。
- 运行方式——session 模式:所有 persona 内联发声,一个头脑配所有声音。这是其他所有模式退化到的底线,不需要额外指令。
- 运行方式——auto 模式:普通来回内联发声,只有当独立思考会改变结果时才 spawn 真实 agent;该判断加载 references/mode-auto.md;当它说 spawn 时,遵循 references/mode-subagent.md。
- 运行方式——subagent 模式:每个实质性回合每个 persona 背后放一个真实 agent,让各自独立思考。加载 references/mode-subagent.md;若可用,为每个子代理选择更快更便宜的模型。
- 运行方式——agent-team 模式:把各 persona 立成一个持久团队,彼此直接对话(仅 Claude Code)。加载 references/mode-agent-team.md。
- 收尾——当用户示意结束(读场,不必等某个魔法词),或显式 --non-interactive 运行已完成其意图(绝不只因为开场提示被答完):复述最好的 takeaway。
- 收尾——若记忆开着,用最终结果和任何尚未记下的精彩瞬间补全 memlog(references/party-memory.md)——这是补记;记忆是实时累积的。
- 收尾——提供纪念品:一份自包含、非常有创意的 HTML 会话记录,按 persona 排版(图标、名字、声音),是份像样的纪念物,可在提升效果处使用内联 SVG/轻动画——写成带 {date} 的 .html 到 {workflow.output_dir}/,或用户指定的任意位置。
- 收尾——若记忆开着且出现了不在该 party roster 里的新面孔(open-cast 临时角色,或用户现场添加的成员),提议一次是否把他们保存进用户的 party 定制——若同意,按 references/create-party.md 中的说明操作(可拒绝;不要卡住收尾)。
- 收尾——运行 {workflow.on_complete}(若非空),然后回到正常模式。
适用边界 · 注意事项
- 未安装 BMAD 技能链时无法使用(脚本路径 {project-root}/_bmad/scripts/*.py、{skill-root}/scripts/resolve_party.py、uv、customize.toml 均依赖 BMad 环境;缺失时需先 npx skills add bmad-code-org/BMAD-METHOD --skill bmad 并跑 setup)。
- agent-team 模式仅在 Claude Code 中可用;其他 harness 只能用 session/auto/subagent。
- 用户只想要一次性的答案、报告或结构化总结,而不想要多轮开放式角色互动时(该技能刻意不做默认总结,且会一直跑到用户示意结束)。