9.5 KiB
PRD: SSA-Pro 智能统计分析 (v2.0 双引擎架构版)
文档状态: v2.1 (Optimized for User Scenarios)
发布日期: 2026-02-18
文档密级: 内部绝密
核心变更: > 1. 重构业务流程,确立“智能分析(混合模式)”为主流程。
2. 明确“执行模式”为“标准化复用”场景,而非手动填参。
3. 强化“专家配置”在架构中的核心地位。
1. 核心变革说明 (Executive Summary)
致研发团队:为什么要进行这次架构升级?
经过前几轮的技术验证与业务推演,我们发现原有的“上传->规划->执行”一条龙模式存在两个致命的业务死角:
- 用户意图模糊:用户往往不知道自己要做什么(如“帮我分析一下”),直接跑代码会报错或产生无意义结果。
- 统计专家缺位:护栏规则硬编码在代码里,统计专家无法维护,导致系统缺乏“灵魂”。
因此,我们将架构解耦为两个独立子系统,通过编排满足不同场景:
- Planner(大脑):负责陪聊、澄清意图、生成方案。(独立上线,无需数据)
- Executor(四肢):负责接收明确指令、跑数、出结果。(复用之前的 R 开发成果)
架构拆分与用户体验的关系:
架构上的拆分(Planner/Executor)是为了技术上的解耦和复用,但在用户体验端,对于最常见的“智能分析”场景,我们将这两者无缝串联,给用户提供“一站式”体验。
2. 研发背景与业务价值
2.1 用户真实痛点
- 场景 A (无数据):医生在写基金本子,还没收病人,但他急需一份《统计学分析计划书》来填表。原方案不支持此场景。
- 场景 B (数据脏):医生上传的 Excel 列名全是中文,且有特殊字符。原方案直接跑 R 会崩溃。
- 场景 C (隐私顾虑):医生不敢把数据上传到云端,但又想知道该用什么统计方法。
2.2 产品解决方案:双引擎 + 配置中台
- 独立咨询 (SSA-Planner):无需上传数据,通过多轮对话澄清意图,输出专业的 SAP (分析计划)。
- 独立计算 (SSA-Executor):用户确认方案后,再上传数据,一键执行计算,交付代码。
- 专家协同 (Config Center):统计专家通过 Excel 配置规则,系统动态加载,不再硬编码。
2.3 商业价值
- 降低门槛:用户不用传数据就能体验 AI 能力(Planner),极大地提高了转化率。
- 数据安全:实现了逻辑(云端)与数据(本地/隔离)的彻底解耦。
3. 系统架构与模块定义
3.1 总体架构图
graph TD
subgraph "用户触点"
Chat[前端 Chat 界面]
end
subgraph "Module A: 智能规划师 (SSA-Planner)"
Intent\[意图识别引擎\]
Clarify\[澄清引导模块\]
GenSAP\[SAP 生成模块\]
end
subgraph "Module B: 智能执行器 (SSA-Executor)"
API\[Executor API\]
R\_Core\[R Docker 容器\]
Guard\[统计护栏\]
end
subgraph "Module C: 统计配置中台 (Admin)"
Meta\[元数据管理\]
Rules\[规则引擎\]
Templates\[代码模板\]
end
Chat \--"1. 咨询/方案"--\> Intent
Intent \<--\> Clarify
Intent \--\> GenSAP
Chat \--"2. 执行/计算"--\> API
API \--\> R\_Core
Meta \-.-\> Intent
Rules \-.-\> Guard
3.2 模块功能详述
🧩 模块 A:SSA-Planner (智能规划师)
- 定位:纯 NLP 应用,不涉及 R 计算。
- 输入:自然语言 + (可选) 数据 Schema。
- 核心能力:
- 意图澄清:当用户指令模糊时,主动反问("您是想做差异分析还是相关性分析?")。
- 方案生成:检索 RAG 库,生成结构化的 JSON 计划和 Markdown 报告。
- 交付物:《统计分析计划书》 (PDF/Word)。
🧩 模块 B:SSA-Executor (智能执行器)
- 定位:纯计算服务,无状态 API。
- 输入:skill_code + params + data_source。
- 核心能力:
- 混合数据加载:支持 JSON 和 OSS 数据源。
- 护栏检查:执行正态性、方差齐性检查。
- 结果交付:生成三线表、高清图、R 源码。
- 技术备注:这部分完全复用原 V1.3 计划中的 R 服务开发内容。
- 注意:Executor 无法直接处理用户的自然语言。必须经由 Planner 将自然语言转化为结构化参数后,才能被调用。
🧩 模块 C:统计配置中台 (Config Center)
- 定位:专家知识注入入口。
- MVP 实现:Excel 导入工具。
- 配置内容:
- 工具定义(Name, Desc, Usage)。
- 护栏阈值(P < 0.05)。
- R 代码模板(Glue Template)。
4. 核心业务流程 (User Journey)
流程一:智能分析模式 (Intelligent Analysis Mode) - ⭐ 最常见场景
场景:用户有数据,有模糊的意图(如“帮我对比一下差异”),希望一站式出结果。
架构逻辑:串联调用 Planner -> Executor。
- 用户:上传 data.csv 并输入:“帮我对比一下吸烟组和非吸烟组的体重差异”。
- Planner(后台隐形介入):
- 读取 Data Schema,识别出 Group 和 Weight 列。
- 理解用户意图("对比差异"),结合变量类型(二分类 vs 连续),推荐“独立样本 T 检验”。
- 生成 Executor 能听懂的 JSON 参数。
- 交互:系统弹出 [ 方案确认卡片 ](由 Planner 生成)。
- 设计意图:给用户一种“专家先审视,再执行”的安全感。
- 用户:点击 [ 确认并执行 ]。
- Executor:接收 Planner 的 JSON -> 跑 R 代码 -> 返回结果。
- 用户:获得结果。
流程二:纯咨询模式 (Consultation Mode) - 科研设计场景
场景:用户还没收集数据(无数据),在写开题报告或基金标书,需要设计统计方案。
架构逻辑:仅调用 Planner。
- 用户:“我想研究阿司匹林对心血管事件的影响,该怎么设计统计?”
- Planner:检索知识库,生成《统计分析计划书 (SAP)》。
- 包含:研究假设、变量定义、推荐方法(Cox 回归)、样本量估算建议。
- 用户:下载 SAP 文档。(流程结束)
流程三:标准化复用模式 (Standardized Reuse Mode) - 专家/高阶场景
场景:
- 复用:上周生成了一个完美的 SAP,这周新数据来了,直接套用,不想再跟 AI 废话。
- 专家下发:科室主任定义好了标准分析流程,存为模板,研究生直接上传数据运行。
架构逻辑:跳过 Planner 推理,直接调用 Executor。 - 用户:上传 new_data.csv,并从“我的方案库”中选择“肺癌生存分析标准模板”(或加载之前的 SAP ID)。
- 系统:自动校验新数据是否符合模板要求的列名(Schema Check)。
- Executor:直接读取模板参数 -> 跑数 -> 出结果。
- 用户:下载结果。
5. 接口与数据协议 (Schema)
5.1 Planner 输出协议 (Plan JSON)
这是连接 Planner 和 Executor 的契约。
{
"analysis_id": "uuid",
"tool_code": "ST_T_TEST_IND",
"reasoning": "因变量为连续数值,自变量为二分类...",
"params": {
"group_col": "Gender",
"val_col": "BMI",
"conf_level": 0.95
},
"guardrails": {
"check_normality": true,
"action_on_fail": "switch_to_wilcoxon"
}
}
6. 实施路线图 (Updated Roadmap)
基于新架构,我们将开发顺序调整为 “Planner 先行,Executor 并行”。
Phase 1: 智能规划师上线 (Week 1-2)
- 目标:上线“统计咨询 Chatbot”。
- 后端:开发 Excel 配置导入脚本;开发 Planner Service (DeepSeek)。
- 前端:开发咨询模式 UI。
- 专家:整理 Top 10 工具的 Excel 配置。
- 注:此阶段不需要 R 服务参与。
Phase 2: 执行器与联调 (Week 3-4)
- 目标:打通计算闭环。
- R 团队:完成 Docker 封装、数据加载器 (Data Loader)、T 检验 Wrapper。
- 后端:对接 R API,透传 Planner 的参数。
- 前端:开发结果展示卡片。
Phase 3: 量产与优化 (Week 5+)
- 目标:覆盖更多工具。
- R 团队:批量复制开发剩余 9 个工具。
- 专家:持续优化配置 Excel。
7. 风险与应对
| 风险点 | 影响 | 应对策略 |
| Planner 瞎指挥 | 生成的参数 Executor 无法执行 | 引入 Zod Schema 强校验,参数不合法直接让 AI 重试。 |
| 数据列名不匹配 | R 代码报错 "Column not found" | 在 Executor 入口增加 模糊匹配/同义词映射 逻辑。 |
| 专家配置进度慢 | 阻塞 Planner 上线 | 提供标准模板,先配 1 个工具(T检验)跑通全流程。 |
8. 结语
这次架构调整不是推翻过去,而是升维。
我们保留了最核心的 R 计算引擎 (Executor),它是我们的硬实力;
我们剥离出了 AI 规划师 (Planner),它是我们的软实力;
我们引入了 配置中台,它是我们的护城河。
请大家基于此文档,放心开工。