Files
AIclinicalresearch/docs/03-业务模块/SSA-智能统计分析/04-开发计划/00-MVP开发计划总览.md

17 KiB
Raw Blame History

SSA-Pro MVP 开发计划总览

文档版本: v1.5
创建日期: 2026-02-18
最后更新: 2026-02-18纳入专家配置体系 + 决策表匹配 + R代码库
项目代号: SSA (Smart Statistical Analysis)
MVP 目标: 打通完整闭环,上线 10 个核心统计工具,支持咨询模式


1. MVP 范围定义

1.1 包含内容

类别 内容
统计工具 10 个高频工具T检验、ANOVA、卡方、相关性等
双模式支持 🆕 智能分析模式(上传数据→执行)+ 咨询模式无数据→SAP文档
核心流程 上传数据 → AI规划 → 用户确认 → R执行 → 结果交付
交互能力 计划确认卡片、执行路径树、结果展示、代码下载、🆕 SAP文档导出
智能能力 RAG工具检索、Planner规划、Critic结果解读
配置中台 🆕 统计决策表 + R代码库 + 参数映射 + 护栏规则链 + 解读模板
数据安全 LLM只看SchemaR服务处理真实数据

1.2 不包含内容

类别 说明 后续阶段
50+ 工具量产 MVP只做10个核心工具 Phase 3
跨模块 Skills 化 不实现 Global Skill Registry V2.0
Word 报告导出 先实现代码下载 + SAP 文档 Phase 3
大文件 OSS 传输 MVP 限制 2MB 以内 Phase 3
配置管理 UI MVP 使用 Excel 导入 V2.0

1.3 MVP 工具清单10个

序号 工具代码 名称 类别
1 ST_T_TEST_IND 独立样本 T 检验 假设检验
2 ST_T_TEST_PAIRED 配对样本 T 检验 假设检验
3 ST_ANOVA_ONE 单因素方差分析 假设检验
4 ST_CHI_SQUARE 卡方检验 假设检验
5 ST_FISHER Fisher 精确检验 假设检验
6 ST_WILCOXON Wilcoxon 秩和检验 非参数检验
7 ST_MANN_WHITNEY Mann-Whitney U 检验 非参数检验
8 ST_CORRELATION Pearson/Spearman 相关 相关分析
9 ST_LINEAR_REG 简单线性回归 回归分析
10 ST_DESCRIPTIVE 描述性统计 基础统计

2. 整体架构(双引擎 + 配置中台)

2.1 架构概念

┌─────────────────────────────────────────────────────────────────┐
│                        用户触点                                   │
│   ┌─────────────────┐        ┌─────────────────┐               │
│   │  智能分析模式    │        │   咨询模式       │               │
│   │ (上传数据+执行)  │        │ (无数据,生成SAP) │               │
│   └────────┬────────┘        └────────┬────────┘               │
└────────────┼──────────────────────────┼─────────────────────────┘
             │                          │
             ▼                          ▼
┌─────────────────────────────────────────────────────────────────┐
│              Planner (大脑) - Node.js                            │
│  ┌─────────┐  ┌───────────────┐  ┌─────────┐  ┌─────────┐     │
│  │ Rewriter│→ │🆕 决策表匹配  │→ │ Planner │→ │ Critic  │     │
│  └─────────┘  │(Goal,Y,X,Design)│  └─────────┘  └─────────┘     │
│               └───────────────┘                                 │
│  📌 只看 Schema四维匹配精准选工具支持有数据/无数据            │
└────────────────────────────┬────────────────────────────────────┘
                             │ (仅智能分析模式)
                             ▼
┌─────────────────────────────────────────────────────────────────┐
│              Executor (四肢) - R Docker                          │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐                        │
│  │ 护栏检查 │→ │ 核心计算 │→ │ 代码生成 │                        │
│  └─────────┘  └─────────┘  └─────────┘                        │
│  📌 处理真实数据,网络隔离                                        │
└─────────────────────────────────────────────────────────────────┘
                             ▲
┌────────────────────────────┴────────────────────────────────────┐
│         🆕 配置中台 (Config Center) - 专家知识库                 │
├─────────────────────────────────────────────────────────────────┤
│  📊 Planner 配置                                                 │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │ 决策表: Goal_Type + Y_Type + X_Type + Design → Tool_Code    ││
│  └─────────────────────────────────────────────────────────────┘│
│  🔧 Executor 配置                                                │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │ R代码库: 100+ 成熟脚本 │ 参数映射 │ 护栏规则链(Block/Warn/Switch)││
│  │ 输出定义 │ 解读模板 │ 代码交付模板                          ││
│  └─────────────────────────────────────────────────────────────┘│
│  📌 统计专家配置,系统动态加载,统一入口 run_analysis()          │
└─────────────────────────────────────────────────────────────────┘

2.2 双模式流程

模式 数据要求 调用链 输出
智能分析 上传数据 Planner → Executor 结果 + R 代码
统计咨询 无需数据 Planner only SAP 文档Word

2.3 代码目录结构(概念显性化)

backend/src/modules/ssa/
├── planner/                    ← Planner 职责
│   ├── DataParserService.ts    # 解析数据 Schema
│   ├── DecisionTableService.ts # 🆕 决策表匹配 (Goal,Y,X,Design)
│   ├── ToolRetrievalService.ts # RAG 检索(辅助)
│   ├── PlannerService.ts       # 生成分析计划(有数据)
│   └── ConsultService.ts       # 无数据咨询(生成 SAP
│
├── executor/                   ← Executor 职责
│   └── RClientService.ts       # 调用 R 服务
│
├── config/                     ← 配置中台
│   ├── DecisionTableLoader.ts  # 🆕 加载统计决策表
│   ├── RCodeLibraryService.ts  # 🆕 R 代码库管理
│   ├── ParamMappingService.ts  # 🆕 参数映射配置
│   ├── GuardrailConfigService.ts # 🆕 护栏规则链
│   └── ConfigValidatorService.ts # 配置校验
│
├── routes/                     # API 路由
├── dto/                        # 数据传输对象
└── types/                      # 类型定义

2.4 🆕 专家配置文件结构

config/ssa/
├── decision_table.xlsx         # 统计决策表Planner 用)
│   └── Sheet: Scenarios        # Goal + Y + X + Design → Tool
├── r_scripts/                  # 🆕 100+ 成熟 R 脚本
│   ├── t_test_ind.R
│   ├── wilcoxon.R
│   ├── anova_one.R
│   └── ...
├── tool_config.xlsx            # 工具配置
│   ├── Sheet: Metadata         # 工具基础信息
│   ├── Sheet: ParamMapping     # JSON Key → R 参数名
│   ├── Sheet: Guardrails       # 护栏规则链
│   ├── Sheet: OutputDef        # 输出字段定义
│   └── Sheet: Interpretation   # 结果解读模板
└── code_templates/             # 用户下载的代码模板
    ├── t_test.R.template
    └── ...

3. 里程碑与时间线

Phase 1骨架搭建 + 配置中台Week 1-2

目标: 跑通 T 检验 + 配置中台基础 + 决策表匹配

交付物 验收标准
R Docker 镜像 本地可运行,健康检查通过
Plumber API POST /api/v1/skills/ST_T_TEST_IND 返回 JSON
Node.js 转发 POST /api/v1/ssa/execute 调用 R 成功
数据库 Schema tools_library, sessions, messages, 🆕r_code_library 表创建
🆕 决策表加载 从 Excel 加载 (Goal,Y,X,Design) → Tool 映射
🆕 R 代码库管理 上传 R 脚本到数据库,统一 run_analysis() 入口
🆕 参数映射配置 JSON Key → R 参数名映射可配置
🆕 护栏规则链 Block/Warn/Switch 三种 Action 可配置
🆕 配置热加载 Admin API /config/reload 触发配置更新
前端骨架 基础页面框架,🆕 模式切换 Tab(分析/咨询)

Phase 2智能规划与咨询模式Week 3-4

目标: 决策表驱动规划 + 纯咨询模式双上线

交付物 验收标准
🆕 决策表匹配 根据 (Goal,Y,X,Design) 精准选工具RAG 辅助
Planner有数据 决策表 + Schema → 参数映射 JSON
🆕 Planner无数据 决策表 + 用户描述 → SAP 文档
🆕 SAP 文档导出 Word/Markdown 格式下载
🆕 结果解读模板 根据配置的解读模板生成论文级结论
计划确认卡片 前端展示,用户可修改参数
执行路径树 显示护栏检查步骤(含 Action 类型)
5 个工具 T检验、配对T、ANOVA、卡方、相关性

Phase 3完善与联调Week 5-6

目标: MVP 功能完整,可演示

交付物 验收标准
Critic 解读 生成严谨的统计结论
代码下载 用户可下载 .R 文件
10 个工具 全部上线并测试通过
🆕 配置验证 Excel 导入时校验格式/必填/唯一性
端到端测试 10 个典型场景通过(含咨询模式)
SAE 部署 R 服务部署成功

4. 核心 API 设计

4.1 会话与分析 API

POST /api/v1/ssa/sessions                    # 创建会话
POST /api/v1/ssa/sessions/:id/upload         # 上传数据(智能分析模式)
POST /api/v1/ssa/sessions/:id/plan           # 生成计划(有数据)
POST /api/v1/ssa/sessions/:id/execute        # 确认执行
GET  /api/v1/ssa/sessions/:id/messages       # 获取消息历史
GET  /api/v1/ssa/sessions/:id/download-code  # 下载代码

4.2 🆕 咨询模式 API

POST /api/v1/ssa/consult                     # 创建咨询会话(无数据)
POST /api/v1/ssa/consult/:id/chat            # 咨询对话(多轮)
POST /api/v1/ssa/consult/:id/generate-sap    # 生成 SAP 文档
GET  /api/v1/ssa/consult/:id/download-sap    # 下载 SAPWord/MD

4.3 🆕 配置中台 API

# 决策表配置
POST /api/v1/ssa/config/decision-table       # 导入决策表 Excel
GET  /api/v1/ssa/config/decision-table       # 获取决策表

# R 代码库配置
POST /api/v1/ssa/config/r-scripts            # 上传 R 脚本
GET  /api/v1/ssa/config/r-scripts            # 获取脚本列表
PUT  /api/v1/ssa/config/r-scripts/:id        # 更新脚本

# 工具配置
POST /api/v1/ssa/config/tool-config          # 导入工具配置 Excel
GET  /api/v1/ssa/config/tools                # 获取工具列表
GET  /api/v1/ssa/config/tools/:code/params   # 获取参数映射
GET  /api/v1/ssa/config/tools/:code/guardrails # 获取护栏规则

# 通用
POST /api/v1/ssa/config/reload               # 热加载所有配置Admin
GET  /api/v1/ssa/config/validate             # 校验配置文件

5. 依赖与集成

5.1 平台能力复用

能力 使用方式 状态
LLM 网关 LLMFactory.getAdapter('deepseek-v3') 可用
RAG 引擎 VectorSearchService 可用
流式响应 StreamingService (Critic) 可用
Prompt 管理 capability_schema.prompt_templates 可用
认证授权 authenticate 中间件 可用
OSS 存储 storage.upload() (图片/代码) 可用

5.2 新增组件

组件 说明
R Docker 镜像 基于 rocker/r-ver:4.3,含 Plumber + renv
R 统计服务 SAE 新应用,VPC 内网通信
SSA 前端模块 frontend-v2/src/modules/ssa/
SSA 后端模块 backend/src/modules/ssa/(按 planner/executor/config 组织)
🆕 配置中台 Excel 配置文件 + ConfigLoaderService
🆕 SAP 生成器 ConsultService + Word 导出

5.3 关键配置要求

配置项 要求 原因
OSS Endpoint 使用 VPC 内网地址 oss-cn-xxx-internal.aliyuncs.com R 服务网络隔离需求
SAE 扩容策略 CPU > 60% 或并发 > 5 时自动扩容 R 单线程,需水平扩展
R 服务出站策略 Deny Public Internet, Allow VPC 防止数据外泄

6. 风险与应对

风险 概率 应对策略
R 工具封装进度慢 先做 5 个核心工具glue 模板化开发
LLM 参数映射错误 R 服务强类型校验 + 前端允许修改
LLM 输出 JSON 格式错误 json-repair 库修复 + Zod Schema 强校验
R 服务并发阻塞 SAE 固定 2 实例(避免冷启动 30s+
大文件导致内存溢出 混合协议< 2MB inline2-20MB OSS
R 临时文件堆积 on.exit() 清理 + 定时 CronJob
SAE 部署 R 失败 提前测试 Docker 镜像
OSS 网络不通 ENV 注入 Endpoint + DEV_MODE Mock
大样本护栏超时 N > 5000 抽样检验,避免 Shapiro-Wilk 超时
🆕 Node.js xlsx 内存刺客 SAE 内存上限 2GB+
🆕 R 服务 Segfault 崩溃 Liveness Probe + 502/504 友好提示
🆕 本地开发 OSS 不通 DEV_MODE 读取本地 fixtures
🆕 用户代码缺依赖 模板头部自动安装脚本
🆕 分类变量隐私泄露 稀有值 < 5 隐藏
🆕 R 错误信息黑盒 map_r_error 友好映射

7. 验收标准(来自 PRD

  1. 准确性:非正态数据自动降级为非参数检验
  2. 性能2MB 数据 T 检验端到端 < 5 秒
  3. 复现性:下载的 R 代码本地可运行
  4. 隐私:审计日志不含真实患者数据

8. 相关文档索引

文档 路径 说明
任务清单 04-开发计划/01-任务清单与进度追踪.md 可追踪的 TODO
R 服务指南 04-开发计划/02-R服务开发指南.md R 工程师专用
后端指南 04-开发计划/03-后端开发指南.md Node.js 工程师专用
前端指南 04-开发计划/04-前端开发指南.md 前端工程师专用
PRD 00-系统设计/PRD SSA-Pro 严谨型智能统计分析模块.md 产品需求
架构设计 00-系统设计/SSA-Pro 严谨型智能统计分析架构设计方案V4.md 技术架构