需用json结构化角色数据并配置coze bot实现动态推理:characters.json含name、role_type、secret和known_facts;bot设置中禁用自动摘要,启用知识库与多跳推理;通过workflow、共享变量或关键词广播实现角色协同。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让多个角色在剧本杀场景中自主对话、推理、隐藏动机并实时响应玩家选择,而不是用固定脚本硬编码每句台词。
准备剧本结构化数据
新建一个JSON文件,命名为characters.json,按角色维度组织基础属性:每个角色必须包含name、role_type(“真凶”/“嫌疑人”/“侦探”)、secret(仅自己知晓的隐藏信息)、known_facts(开局已知的公共线索)。缺少secret字段会导致角色无法触发关键隐瞒行为。
在known_facts里写入的线索必须是所有角色都能逻辑自洽引用的内容,比如“死者左手有新鲜烫伤”——若某角色设定为厨房帮工却未被赋予该观察权限,Agent运行时会因知识冲突直接拒答。
在扣子中创建角色Agent
登录Coze平台→进入Bot管理页→点击“创建Bot”→选择“空白Bot”。
在Bot设置页填写名称如“林晚_女仆_嫌疑人”,描述栏明确写入:“表面谦卑,实则三年前被死者勒索过。绝不会主动提‘地下室’三个字。”——这段文字会成为Agent的角色锚点,影响其语言风格与回避策略。
进入“知识库”标签页,上传刚才准备的characters.json,勾选“启用知识库检索”。【必须关闭“自动摘要”开关,否则角色秘密会被压缩丢弃】
在“插件”标签页,开启“多跳推理”和“上下文记忆强化”两项——没有它们,角色无法把玩家三分钟前问过的问题和当前新线索做关联推演。
配置角色间动态交互逻辑
方法一:用Workflow串联多个Bot
新建Workflow→添加“HTTP请求”节点→URL填入其他角色Bot的API地址(可在对应Bot的“发布”页复制)→Body中传入当前对话上下文JSON,包含说话者ID、上一句内容、时间戳。这能让张警官Bot收到李管家Bot刚说的“钥匙不在抽屉里”后,立刻触发“检查证物袋”动作。
方法二:用Bot内变量实现轻量协同
在单个Bot的“Bot设置→变量”中新增全局变量shared_alibi_pool,类型设为“数组”。当任意角色声明不在场证明时,用“设置变量”动作将其追加进去;后续发言若涉及时间矛盾,Bot会自动检索该数组并指出冲突点——比如王医生说“十点整在煎药”,而池子里已有“十点零三分煎药记录”,此时触发质疑逻辑。
方法三:用关键词触发跨角色广播
在Bot的“回复逻辑”中添加条件分支:当用户输入含“血迹”“刀”“监控”任一词时,自动调用“发送消息”动作,目标选择所有已上线的角色Bot ID,并附带标记[紧急线索]。收到该标记的角色会暂停当前叙事节奏,优先输出符合人设的即时反应,例如佣人角色可能颤抖着说“那…那不是我的围裙…”。










