Files
MMGame/AI剧本杀PRD.md
T

26 KiB
Raw Blame History

AI 剧本杀 — 产品需求文档(PRD)

版本:V1.0 | 日期:2026年7月 | 状态: Draft 目标读者:开发团队、设计师、产品经理 本文档用于指导 Vibe Coding 全流程开发,按模块拆分,可直接落地。


一、产品概述

1.1 产品定位

AI 剧本杀是一个以 AI 驱动的线上剧本杀平台,核心解决"凑不齐人就玩不了"的终极痛点。1 位真人玩家即可开局(AI NPC 补位),多人模式空缺角色也由 AI 自动填充。

1.2 产品 slogan

随时开局,人人都是主角。

1.3 核心指标(KPI

指标 MVP 目标 V1.0 目标
单局完成率 > 60% > 80%
平均游戏时长 45-90 min 可配置(30min - 4h
NPS(净推荐值) > 30 > 50
NPC 回复合理率 > 70% > 85%
防剧透漏出率 < 5% < 1%

二、用户角色与场景

2.1 用户画像

角色 描述 核心需求
独狼玩家 喜欢剧本杀但凑不到人 单人也能玩,不需要社交等待
异地好友 朋友分散在不同城市 线上一起玩,AI 补位凑满
新手小白 没玩过剧本杀怕尴尬 AI 陪练无压力,有引导
硬核推土机 推理爱好者,追求逻辑挑战 高难度剧本 + 严谨推理体验
创作者 剧本作者,想变现 上传剧本 + 分成收入
门店老板 线下剧本杀店主 AI DM 降本增效

2.2 核心用户场景

编号 场景 用户 频率
S01 晚上在家无聊,想玩一局剧本杀但凑不到人 独狼玩家 高频
S02 和异地朋友约好线上玩,但只有 3 个人凑不满 异地好友 中频
S03 第一次接触剧本杀,想试试但又不好意思去线下 新手小白 低频/一次
S04 周末想挑战高难度推理本,找不到合适的局 硬核推土机 中频
S05 写了一个剧本想分享并赚钱 创作者 低频
S06 门店 DM 不够用,用 AI 辅助带本 门店老板 高频

三、功能需求(按模块)

优先级标记:P0 = MVP 必须,P1 = V1.0 必须,P2 = 后续迭代


3.1 用户系统

编号 功能 描述 优先级
U-01 邮箱/手机号注册登录 基本账号体系 P0
U-02 游客模式 不登录可体验 1 局 P0
U-03 用户画像填写 推理偏好、情感类型、经验等级 P1
U-04 多设备登录 同一账号可切换设备 P1
U-05 历史记录 已完成游戏列表 + 复盘入口 P0

3.2 剧本系统

编号 功能 描述 优先级
S-01 内置剧本库 预制 5 个剧本(含不同风格) P0
S-02 剧本详情页 展示类型、人数、时长、难度、简介 P0
S-03 AI 生成剧本 用户输入主题/风格/人数,AI 生成完整剧本 P1
S-04 上传解析剧本 支持上传 TXT/Markdown/PDFAI 结构化提取 P1
S-05 剧本质检 自动检测逻辑漏洞、线索链完整性 P2
S-06 剧本评分/评价 玩家玩后可评分 + 文字评价 P1
S-07 创作者上传 创作者直接上传结构化剧本到平台 P2

剧本数据结构

{
  "id": "string",
  "title": "剧本标题",
  "type": "hardcore | emotional |欢乐 | 阵营 | 恐怖 | 还原",
  "difficulty": 1-5,
  "playerCount": { "min": 4, "max": 8 },
  "duration": "2-3h",
  "background": "公共背景故事",
  "phases": [
    {
      "name": "第一幕",
      "description": "场景描述",
      "publicInfo": "所有玩家可见信息",
      "clues": ["线索id1", "线索id2"]
    }
  ],
  "roles": [
    {
      "id": "role_1",
      "name": "角色名",
      "avatar": "头像URL",
      "publicProfile": "公开身份",
      "secretProfile": "私密背景",
      "secret": "隐藏的秘密",
      "goal": "胜利目标",
      "winCondition": "胜利条件"
    }
  ],
  "clues": [
    {
      "id": "clue_1",
      "name": "线索名",
      "description": "线索描述",
      "imagePrompt": "用于AI生图的提示词",
      "phase": 1,
      "triggerCondition": "触发条件" // 可选
    }
  ],
  "truth": "完整真相"
}

3.3 游戏引擎(核心)

3.3.1 游戏流程控制

编号 功能 描述 优先级
G-01 选本 浏览剧本库 → 选择剧本 P0
G-02 选角 玩家选择角色,AI 分配剩余 NPC 角色 P0
G-03 分幕推进 DM Agent 按剧本分幕推进流程 P0
G-04 公共讨论 所有角色(含 AI NPC)在公屏发言 P0
G-05 私聊 玩家可与任一 AI NPC 一对一私聊 P0
G-06 搜证 DM 发放线索卡,玩家查看 P0
G-07 举证 玩家在公屏出示线索卡质询 NPC P0
G-08 投票 投票指认凶手或做出关键选择 P0
G-09 复盘 展示真相、全角色秘密、对话回放 P0

3.3.2 DM Agent

编号 功能 描述 优先级
D-01 开场引导 朗读背景,介绍角色,说明规则 P0
D-02 阶段推进 根据剧本分幕自动推进,切换场景 P0
D-03 线索发放 按剧本配置 + 玩家进度发放线索卡 P0
D-04 梯度扶车 玩家卡壳 20s 以上 → 微妙暗示 → 明确引导 P1
D-05 节奏控制 超时自动推进,可缩短/延长阶段 P1
D-06 投票管理 发起投票、统计结果、判定胜负 P0
D-07 复盘生成 生成完整复盘报告 P0
D-08 难度自适应 根据玩家推理表现动态调整复杂度 P2

3.3.3 NPC Agent

编号 功能 描述 优先级
N-01 信息隔离 仅知晓公共剧本 + 自己的私密剧本 P0
N-02 角色扮演 按人设语气、风格发言,不串角色 P0
N-03 策略行为 可撒谎、隐瞒、引导、反问 P1
N-04 多轮记忆 记住玩家之前说过什么,跨轮一致 P1
N-05 主动发言 在公共讨论中主动接话、点名回应 P1
N-06 私聊回应 玩家私聊时以角色身份回应 P0
N-07 线索反应 被举证时做出合理反应 P1

3.3.4 特殊游戏类型支持

编号 功能 描述 优先级
T-01 硬核推理流程 含中间推理节点、时间线梳理 P1
T-02 情感沉浸流程 情感触发事件、角色内心独白 P1
T-03 欢乐机制流程 随机事件卡、小游戏机制 P2
T-04 阵营对抗流程 分组、结盟、背刺机制 P2
T-05 恐怖流程 生存判定、心跳节奏 P2
T-06 还原流程 碎片逐步披露、世界观拼合 P1

3.4 沉浸式交互

编号 功能 描述 优先级
I-01 文字聊天 全流程文字交互 P0
I-02 语音合成(TTS AI 发言自动朗读,角色分音色 P1
I-03 语音输入(ASR 玩家可直接说话输入 P2
I-04 线索证据卡 UI 图片+文字,公屏渲染,右侧牌堆 P0
I-05 阶段共识板 显示已形成共识/分歧点/待核查 P1
I-06 随身剧本册 随时查看自己的角色信息 P0
I-07 头像/角色状态 Agent 状态可视化(思考中/发言中) P1
I-08 背景主题 根据剧本主题变换 UI 风格 P2

3.5 商用功能

编号 功能 描述 优先级
B-01 付费墙 免费体验 1 局后引导付费 P1
B-02 单局支付 支付宝/微信支付单局费用 P1
B-03 订阅系统 月卡/季卡/年卡,自动续费 P2
B-04 积分系统 签到、分享、评价赚积分 P2
B-05 创作者收益 创作者查看收益、提现 P2

四、非功能需求

4.1 性能要求

指标 要求
AI 回复延迟 < 3s(含 LLM 推理时间)
消息推送延迟 < 500ms
并发支持 MVP 支持 1000 局同时进行
剧本加载时间 < 2s
页面首屏加载 < 3s

4.2 安全要求

编号 要求
SEC-01 用户密码加密存储(bcrypt
SEC-02 API 请求鉴权(JWT
SEC-03 用户数据隔离,不能访问他人游戏数据
SEC-04 AI 内容合规过滤(敏感词库 + 审核)
SEC-05 防剧透:NPC 不能泄露私密剧本信息
SEC-06 API 限流,防止滥用

4.3 可用性要求

  • 系统可用时间 > 99.5%
  • 支持 7x24 小时运行
  • 关键操作有 Loading 状态反馈
  • 网络断开时提示用户,自动重连
  • 游戏中间可暂停,下次继续

4.4 兼容性要求

平台 MVP V1.0
Web (Chrome/Firefox/Edge)
移动端 H5
微信小程序
iOS App
Android App

五、AI Agent 详细设计

5.1 Agent 通信架构

玩家输入
    │
    ▼
Agent Orchestrator
    │
    ├─→ DM Agent (负责主持、控场、线索)
    │      │
    │      ├─→ 判断当前阶段 → 执行阶段动作
    │      ├─→ 检测玩家进度 → 判断是否扶车
    │      └─→ 管理线索发放队列
    │
    ├─→ NPC Agent Pool
    │      │
    │      ├─→ NPC_1 (信息边界: 公共+私密1)
    │      ├─→ NPC_2 (信息边界: 公共+私密2)
    │      ├─→ NPC_3 ...
    │      └─→ NPC_n ...
    │
    └─→ 输出分发 → 玩家可见 + 相应NPC可见

5.2 DM Agent Prompt 结构

系统指令:
  你是剧本杀主持人(DM),负责主持一场完整的剧本杀游戏。
  你的职责:
  1. 引导流程:按剧本分幕推进,朗读场景描述
  2. 发放线索:在适当时机发放线索卡
  3. 控场节奏:维持讨论热度,适时推进
  4. 扶车引导:玩家卡壳时提供提示
  5. 保持公正:不偏袒任何角色

  当前剧本: {剧本标题}
  当前阶段: {阶段名称}
  已发放线索: {线索列表}
  玩家进度: {进度评估}

  回复格式: 严格 JSON
  {
    "action": "narrate | release_clue | prompt | advance_phase | vote | complete",
    "content": "你的发言内容",
    "clue_id": "如果是release_clue,这里填线索id",
    "next_phase": "如果是advance_phase,这里填下一阶段"
  }

5.3 NPC Agent Prompt 结构

系统指令:
  你是剧本杀中的一个角色。玩家正在调查一桩案件,你需要以角色身份参与。

  角色信息:
  - 姓名: {角色姓名}
  - 公开身份: {公开信息}
  - 你的秘密: {私密信息}(绝对不要主动透露!)
  - 你的目标: {个人目标}
  - 人物性格: {性格描述}

  行为规则:
  1. 始终保持角色身份发言
  2. 你的秘密绝对不能主动说出
  3. 被问到时可以撒谎、回避、转移话题
  4. 不要全知视角,你只知道自己的信息
  5. 记住玩家之前问过你什么

  当前上下文:
  - 阶段: {阶段名称}
  - 公共已知信息: {公共信息}
  - 最近发言: {最近几轮消息}

  回复格式: 严格 JSON
  {
    "content": "你的发言",
    "action": "speak |  remain_silent"
  }

5.4 扶车梯度算法

Level 1 - 微妙提示 (玩家卡壳 20-40s):
  "你们有没有注意到某条线索的某个细节?"
  "要不大家复盘一下时间线?"

Level 2 - 明确引导 (玩家卡壳 40-60s):
  "我觉得线索 3 和角色 A 的发言之间有矛盾"
  "建议大家重点讨论一下案发时间段每个人的动向"

Level 3 - 直接揭示 (玩家卡壳 > 60s):
  "如果你们把线索 1 和线索 5 放在一起看……"
  直接指出关键逻辑链

5.5 防剧透三层校验

Layer 1 - 初始生成:
  NPC 的 System Prompt 中只包含:
  - 公共剧本(所有玩家可见)
  - 该角色的私密剧本(仅该角色可见)
  - 不包含任何其他角色的私密信息

Layer 2 - 批评检测:
  NPC 生成回复后,用独立检测 Agent 检查:
  - 是否泄露了私密剧本中的关键信息
  - 是否出现了全知视角
  - 如有问题 → 拦截并重新生成

Layer 3 - 智能修订:
  如果检测到轻微泄露倾向,自动修订回复:
  - 替换为模糊表述
  - 转向其他话题
  - 用反问化解

六、数据库表结构(核心表)

6.1 users

CREATE TABLE users (
  id            UUID PRIMARY KEY,
  email         VARCHAR(255) UNIQUE,
  nickname      VARCHAR(50),
  avatar_url    TEXT,
  password_hash VARCHAR(255),
  role          ENUM('player', 'creator', 'admin') DEFAULT 'player',
  preferences   JSONB,        -- 推理偏好、情感类型等画像
  game_count    INT DEFAULT 0,
  token_version INT DEFAULT 0,
  created_at    TIMESTAMP DEFAULT NOW()
);

6.2 scripts

CREATE TABLE scripts (
  id              UUID PRIMARY KEY,
  title           VARCHAR(200),
  type            VARCHAR(50),   -- hardcore/emotional/欢乐/阵营/恐怖/还原
  difficulty      INT CHECK(1-5),
  min_players     INT,
  max_players     INT,
  duration_min    INT,           -- 预计时长(分钟)
  background      TEXT,          -- 公共背景故事
  config          JSONB,         -- 完整剧本数据结构(含roles/clues/phases)
  source          ENUM('builtin', 'ai_generated', 'uploaded', 'creator'),
  creator_id      UUID REFERENCES users,
  status          ENUM('draft', 'published', 'disabled'),
  rating_avg      DECIMAL(2,1),
  play_count      INT DEFAULT 0,
  created_at      TIMESTAMP DEFAULT NOW()
);

6.3 game_sessions

CREATE TABLE game_sessions (
  id            UUID PRIMARY KEY,
  script_id     UUID REFERENCES scripts,
  status        ENUM('waiting', 'playing', 'paused', 'completed'),
  phase         VARCHAR(100),     -- 当前阶段
  phase_index   INT DEFAULT 0,
  started_at    TIMESTAMP,
  completed_at  TIMESTAMP,
  config        JSONB,            -- 游戏配置(计时设置等)
  created_at    TIMESTAMP DEFAULT NOW()
);

6.4 session_players

CREATE TABLE session_players (
  id            UUID PRIMARY KEY,
  session_id    UUID REFERENCES game_sessions,
  user_id       UUID REFERENCES users,
  role_id       VARCHAR(100),    -- 剧本中的角色id
  is_human      BOOLEAN DEFAULT TRUE,
  is_ready      BOOLEAN DEFAULT FALSE,
  agent_id      VARCHAR(100),    -- 如果是AI,对应的agent实例id
  status        ENUM('active', 'left', 'eliminated'),
  joined_at     TIMESTAMP DEFAULT NOW()
);

6.5 chat_messages

CREATE TABLE chat_messages (
  id              UUID PRIMARY KEY,
  session_id      UUID REFERENCES game_sessions,
  sender_role_id  VARCHAR(100),     -- 发言者角色id
  message_type    ENUM('public', 'private', 'system', 'clue'),
  content         TEXT,
  target_role_id  VARCHAR(100),     -- 私聊目标(public时为null)
  clue_id         VARCHAR(100),     -- 如果是举证消息
  phase_index     INT,
  created_at      TIMESTAMP DEFAULT NOW()
);

6.6 clues_state

CREATE TABLE clues_state (
  id            UUID PRIMARY KEY,
  session_id    UUID REFERENCES game_sessions,
  clue_id       VARCHAR(100),      -- 剧本中的线索id
  status        ENUM('unreleased', 'released', 'revealed'),
  revealed_by   VARCHAR(100),      -- 谁发现的
  released_at   TIMESTAMP,
  created_at    TIMESTAMP DEFAULT NOW()
);

6.7 votes

CREATE TABLE votes (
  id            UUID PRIMARY KEY,
  session_id    UUID REFERENCES game_sessions,
  round         INT,               -- 第几轮投票
  voter_id      UUID REFERENCES session_players,
  target_id     UUID REFERENCES session_players,
  reason        TEXT,
  created_at    TIMESTAMP DEFAULT NOW()
);

七、API 设计(核心接口)

7.1 用户接口

POST   /api/auth/register         注册
POST   /api/auth/login            登录
POST   /api/auth/logout           登出
GET    /api/user/profile          获取用户信息
PUT    /api/user/profile          更新用户信息
GET    /api/user/history          游戏历史

7.2 剧本接口

GET    /api/scripts               剧本列表(带过滤/搜索/排序)
GET    /api/scripts/:id           剧本详情
POST   /api/scripts/generate      AI 生成剧本 {theme, style, players}
POST   /api/scripts/upload        上传解析剧本 (multipart)
POST   /api/scripts/:id/submit    创作者提交剧本(审核)

7.3 游戏接口

POST   /api/games/create          创建游戏房间 {script_id, mode}
GET    /api/games/:id             获取游戏状态
POST   /api/games/:id/join        加入游戏 {role_id}
POST   /api/games/:id/start       开始游戏(DM 就绪后)
POST   /api/games/:id/chat        发送消息 {type, content, target_id}
POST   /api/games/:id/clue/:cli_id/reveal  举证线索
POST   /api/games/:id/vote        投票 {target_id, reason}
POST   /api/games/:id/pause       暂停
POST   /api/games/:id/resume      继续
POST   /api/games/:id/skip        跳过当前阶段
GET    /api/games/:id/replay      获取复盘数据

7.4 WebSocket 接口

连接: ws://host/ws?game_id=&user_id=&token=

服务端 → 客户端消息:
{
  "type": "chat_message" | "clue_released" | "phase_change" | "vote_start" | "vote_result" | "game_end" | "npc_status" | "consensus_update",
  "data": { ... }
}

客户端 → 服务端消息:
{
  "type": "chat" | "vote" | "reveal_clue" | "request_hint" | "request_summary",
  "data": { ... }
}

八、UI/UX 设计规范

8.1 设计风格

  • 整体风格:暗色主题,沉浸式推理氛围
  • 主色调#1a1a2e(深蓝黑)、#16213e(藏蓝)、#0f3460(普鲁士蓝)、#e94560(戏剧红)
  • 字体:系统字体栈,中文用 Microsoft YaHei / PingFang SC
  • 布局:左中右三栏(左侧角色列表,中间主聊天区,右侧线索/共识面板)

8.2 页面结构

┌─────────────────────────────────────────────────────────┐
│  顶部导航: Logo | 剧本库 | 历史 | 商城 | 用户菜单        │
├──────┬──────────────────────────────────┬────────────────┤
│      │                                  │                │
│ 角色  │      主聊天区(公共+私聊频道)       │   线索牌堆     │
│ 列表  │                                  │   (证据卡)     │
│      │  ┌────────────────────────────┐  │                │
│ NPC1 │  │  DM: 欢迎来到雾港庄园...    │  │ 线索1 [图片]   │
│ NPC2 │  │  玩家A: 我觉得凶手是XX      │  │ 线索2 [图片]   │
│ NPC3 │  │  NPC1: 你凭什么怀疑我?     │  │ 线索3 [图片]   │
│ 玩家 │  │  ...                       │  │                │
│      │  └────────────────────────────┘  │  共识板         │
│      │                                  │  已形成: xxx    │
│      │  输入框 [ 请输入... ] [发送] 🎤 │  分歧: xxx      │
│      │                                  │                │
├──────┴──────────────────────────────────┴────────────────┤
│  底部状态: 阶段: 第一幕讨论中 | 已用时间: 35min | DM状态: 正常 │
└─────────────────────────────────────────────────────────┘

8.3 核心交互流程

首页
 ├─ 快速开始(推荐热门剧本)
 ├─ 剧本库(浏览/搜索/筛选)
 │    └─ 剧本详情 → 选择角色 → 确认开始
 ├─ 历史记录 → 继续/复盘
 └─ 个人中心 → 画像/设置/订阅

游戏中:
  DM开场 → 玩家读本 → 自我介绍 → 分幕推进
      ↓                              ↓
  私聊 ← → 公聊 ← → 搜证/举证    DM扶车
      ↓
  投票 → 结局判定 → 复盘

8.4 关键 UI 组件

组件 说明
剧本卡片 封面图+类型标签+难度星+时长+人数
角色选择器 角色头像/名称/一句话简介/适合人群标签
聊天消息 头像+角色名+时间+内容;DM 消息特殊样式
线索卡 AI 生成图片 + 标题 + 描述,可点击放大
共识板 左侧栏,分"已形成共识/分歧点/待核查"三区
投票面板 Modal 弹窗,选择目标 + 填写理由
复盘报告 时间线 + 真相 + 角色秘密全公开 + 投票记录

九、开发优先级与里程碑

9.1 MVP 范围(Month 1-3

必须完成

  • 用户注册登录(邮箱 + 游客)
  • 内置 5 个预制剧本
  • 单人模式(1 真人 + N AI NPC)
  • DM Agent:分幕推进、线索发放、投票管理、复盘
  • NPC Agent(3-5 个):信息隔离、角色扮演、私聊
  • 公共聊天 + 私聊
  • 线索证据卡(文字+图片)
  • 投票系统
  • 复盘(真相+投票记录)
  • 响应式 Web 界面

不纳入 MVP

  • AI 生成剧本
  • 上传解析剧本
  • 语音交互(TTS/ASR
  • 多人模式
  • 付费系统
  • 类型特化流程(情感/欢乐/阵营/恐怖)
  • 共识板
  • 梯度扶车

9.2 V1.0 范围(Month 4-6

在 MVP 基础上增加:

  • AI 生成剧本(输入主题+风格生成完整剧本)
  • 上传解析剧本(TXT/Markdown/PDF
  • 多人模式(含 AI 补位)
  • 全部 6 种游戏类型流程
  • TTS 语音朗读
  • 共振板
  • 梯度扶车
  • 付费系统(单局付费)
  • 微信小程序

9.3 后续迭代(Month 7+

  • ASR 语音输入
  • 创作者 UGC 平台
  • 订阅系统
  • iOS/Android App
  • B 端 SaaS
  • VR 版本预研

十、技术实现要点

10.1 LLM 选型建议

用途 推荐模型 原因
DM Agent Claude Sonnet 4 / GPT-4o 需长上下文、结构化输出
NPC Agent Claude Haiku / DeepSeek 高频调用,性价比优先
剧本生成 Claude Opus / GPT-4 需创造力和逻辑性
防剧透检测 GPT-4o-mini / DeepSeek 低成本高频
本地兜底 Ollama + Qwen2.5 离线、低成本

10.2 成本控制策略

策略 说明
小模型兜底 简单回复用本地小模型,复杂推理用大模型
响应缓存 相似问题命中缓存,减少 LLM 调用
批量生成 NPC 发言队列化,合并请求
流式输出 SSE 流式推送,降低用户感知延迟
Token 预算 每个 Agent 严格限制 max_tokens

10.3 游戏状态管理

状态机:
  WAITING → READING → INTRO → PHASE_1 → DISCUSSION_1
    → SEARCH → DISCUSSION_2 → ... → VOTE → RESULT → REPLAY

每个阶段的状态:
{
  "session_id": "...",
  "phase": "PHASE_1",
  "phase_started_at": "2026-07-28T12:00:00Z",
  "time_limit": 1800,    // 秒
  "is_paused": false,
  "clues_released": ["clue_1"],
  "consensus": {
    "formed": ["xx是凶手"],
    "disagreements": ["作案动机"],
    "to_check": ["时间线"]
  }
}

10.4 参考开源项目

项目 地址 可复用部分
SoloPlay github.com/pengcong2020520/soloplay Agent 架构、信息隔离机制、TTS 集成、共识板
AI Murder Mystery github.com/ScottishFold007/ai-murder-mystery 防泄露三层校验、多 LLM 路由、自定义剧本
MysteryHost AI Lite github.com/yuuu956/mysteryhost-ai-lite 防剧透设计、Prompt 模块化、评测体系

十一、验收标准

11.1 MVP 验收

验收项 标准
单人完成一局完整剧本杀 选本→选角→分幕→讨论→搜证→投票→复盘 全流程跑通
AI NPC 正常对话 4 个 NPC 均在公聊/私聊中合理回应
DM 正常主持 分幕推进、线索发放、投票引导正常
信息隔离通过 NPC 不会说出其他角色的秘密
复盘正常 真相展示 + 投票记录

11.2 质量验收

验收项 标准
NPC 回复延迟 平均 < 3sP95 < 5s
防剧透漏出率 < 5%(人工抽检 100 条 NPC 回复)
游戏完成率 > 60%(用户不主动退出的比例)
用户满意度 内测 NPS > 30

十二、附录

12.1 术语表

术语 说明
DM 游戏主持人,负责控场、发线索、推进流程
NPC 非玩家角色,由 AI 扮演
Agent 智能体,LLM + Prompt 驱动的自主角色
扶车 DM 在玩家卡壳时提供提示引导
信息隔离 NPC 只能看到自己的信息,不能全知视角
防剧透 防止 AI NPC 意外泄露关键信息
公聊 所有玩家可见的公开讨论
私聊 两人之间的一对一秘密交流
举证 出示线索卡质询其他角色
复盘 游戏结束后回顾真相和过程

12.2 MVP 剧本需求(5 个内置剧本)

编号 名称 类型 角色数 预计时长 难度
1 雾港庄园谋杀案 推理(本格) 5 人 60-90min
2 零号舱的悖论 硬核(新本格) 5 人 90-120min
3 遗忘照相馆 情感(亲情) 4 人 45-60min
4 翡翠城的交易 欢乐机制 6 人 60-90min
5 阴雨公寓 恐怖还原 5 人 60-90min

说明:本 PRD 采用"渐进式交付"策略。MVP 阶段只做单人硬核推理本闭环,验证核心 AI Agent 能力;V1.0 扩展到全类型和多人模式;后续迭代叠加商用和生态能力。每个阶段的开发遵循"先跑通、再优化"原则。