feat(ssa): Complete QPER architecture - Query, Planner, Execute, Reflection layers
Implement the full QPER intelligent analysis pipeline: - Phase E+: Block-based standardization for all 7 R tools, DynamicReport renderer, Word export enhancement - Phase Q: LLM intent parsing with dynamic Zod validation against real column names, ClarificationCard component, DataProfile is_id_like tagging - Phase P: ConfigLoader with Zod schema validation and hot-reload API, DecisionTableService (4-dimension matching), FlowTemplateService with EPV protection, PlannedTrace audit output - Phase R: ReflectionService with statistical slot injection, sensitivity analysis conflict rules, ConclusionReport with section reveal animation, conclusion caching API, graceful R error classification End-to-end test: 40/40 passed across two complete analysis scenarios. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,47 +1,19 @@
|
||||
# SSA智能统计分析模块 - 当前状态与开发指南
|
||||
|
||||
> **文档版本:** v1.7
|
||||
> **文档版本:** v2.0
|
||||
> **创建日期:** 2026-02-18
|
||||
> **最后更新:** 2026-02-20
|
||||
> **最后更新:** 2026-02-21
|
||||
> **维护者:** 开发团队
|
||||
> **当前状态:** 🎉 **Phase 2A 前端集成完成!多步骤工作流端到端通过 + Block-based 架构共识达成**
|
||||
> **当前状态:** 🎉 **QPER 智能化主线闭环完成!Q→P→E→R 端到端 40/40 通过**
|
||||
> **文档目的:** 快速了解SSA模块状态,为新AI助手提供上下文
|
||||
>
|
||||
> **🎉 里程碑(2026-02-18):**
|
||||
> - ✅ **PRD 完成**:SSA-Pro 严谨型智能统计分析模块需求定义
|
||||
> - ✅ **架构设计 V4 完成**:Brain-Hand 双层架构 + 统计护栏 + HITL 人机协同
|
||||
> - ✅ **MVP 开发计划 v1.5 完成**:通过 5 轮评审,纳入完整专家配置体系
|
||||
> - ✅ **5 份开发文档完成**:总览、任务清单、R服务指南、后端指南、前端指南
|
||||
>
|
||||
> **🎉 T 检验端到端测试通过(2026-02-19):**
|
||||
> - ✅ **🎉 完整流程验证**:数据上传 → 计划生成 → 分析执行 → 结果展示 → 代码下载
|
||||
> - ✅ **R 服务 Bug 修复**:缺失值自动过滤,解决分组变量 3 组问题
|
||||
> - ✅ **类型推断优化**:0/1 数字列正确识别为分类变量
|
||||
> - ✅ **错误处理增强**:R 服务错误信息正确传递给前端
|
||||
> - ✅ **文件名动态生成**:`{toolName}_{dataName}_{MMDD}_{HHmm}.R`
|
||||
> - ✅ **前端模块激活**:智能统计分析入口可用
|
||||
> - ✅ **用户会话隔离**:不同用户数据正确隔离
|
||||
>
|
||||
> **🎉 V11 UI 前后端联调测试通过(2026-02-20 上午):**
|
||||
> - ✅ **V11 UI 像素级还原**:Gemini 风格对话界面,全屏沉浸式体验
|
||||
> - ✅ **多任务支持**:单会话内可执行多个分析任务,独立管理状态
|
||||
> - ✅ **单页滚动布局**:分析计划 → 执行日志 → 分析结果,步骤进度条导航
|
||||
> - ✅ **Word 报告导出**:完整统计报告,包含数据描述、方法、结果、图表、结论
|
||||
>
|
||||
> **🆕 🎉 Phase 2A 前端集成完成(2026-02-20 下午):**
|
||||
> - ✅ **多步骤工作流端到端**:数据上传 → 质量报告 → 多步骤规划 → SSE 实时执行 → 结果展示 → 报告/代码导出
|
||||
> - ✅ **Python 数据质量服务集成**:CSV 直传 Python 解析,修复端口/环境变量问题
|
||||
> - ✅ **意图识别增强**:正则提取变量名 + 变量类型判断 → 智能选择统计方法
|
||||
> - ✅ **描述性统计完整支持**:专用 DescriptiveResultView 组件 + Word 导出
|
||||
> - ✅ **6 个前端 Bug 修复**:SAP 误显示、布局混乱、SSE 卡死、结果丢失等
|
||||
> - ✅ **Block-based 架构共识达成**:4 种 Block 类型,R 输出标准化 → Node.js 零维护 → 前端动态渲染
|
||||
>
|
||||
> **🆕 v1.5 新增特性(专家配置体系):**
|
||||
> - 🆕 **统计决策表**:(Goal, Y, X, Design) 四维匹配精准选工具,替代简单 RAG
|
||||
> - 🆕 **R 代码库**:支持上传 100+ 成熟 R 脚本,统一 `run_analysis()` 入口
|
||||
> - 🆕 **参数映射配置**:JSON Key → R 参数名可配置
|
||||
> - 🆕 **护栏规则链**:支持 Block / Warn / Switch 三种 Action
|
||||
> - 🆕 **结果解读模板**:"填空题"式的论文级结论生成
|
||||
> **🎉 重大里程碑(2026-02-21):**
|
||||
> - ✅ **QPER 四层架构主线闭环** — Phase E+ / Q / P / R 全部完成,93.5h 计划工时
|
||||
> - ✅ **端到端测试 40/40 通过** — 两条完整链路(差异比较 + 相关分析)全部跑通
|
||||
> - ✅ **LLM 智能意图理解** — 自然语言→四维信息提取,Confidence=0.95
|
||||
> - ✅ **配置化决策表驱动** — JSON 驱动方法选择,热更新 API,方法学团队可配置
|
||||
> - ✅ **LLM 论文级结论生成** — 6 要素结论 + 槽位注入反幻觉 + Zod 强校验 + 敏感性冲突准则
|
||||
> - ✅ **四层降级体系** — 每层 LLM 失败时自动 fallback,系统不中断
|
||||
|
||||
---
|
||||
|
||||
@@ -53,379 +25,186 @@
|
||||
|------|------|
|
||||
| **模块名称** | SSA - 智能统计分析 (Smart Statistical Analysis) |
|
||||
| **模块定位** | AI驱动的"白盒"统计分析系统 |
|
||||
| **架构模式** | **QPER — Query → Planner → Execute → Reflection** |
|
||||
| **商业价值** | ⭐⭐⭐⭐⭐ 极高 |
|
||||
| **独立性** | ⭐⭐⭐⭐ 高(可独立使用,也可与其他模块协同) |
|
||||
| **目标用户** | 临床研究人员、生物统计师 |
|
||||
| **开发状态** | 🎉 **Phase 2A 完成,多步骤工作流端到端通过(开发 ~95%)** |
|
||||
| **开发状态** | 🎉 **QPER 主线闭环完成,Phase Deploy 待启动** |
|
||||
|
||||
### 核心目标
|
||||
|
||||
> 打造一个 **"白盒"、"严谨"、"可交付"** 的智能统计分析系统。
|
||||
> 让**不懂统计的医生**完成**专业级的统计分析**。
|
||||
>
|
||||
> **核心差异化**:
|
||||
> **三大特征**:
|
||||
> 1. **白盒**:用户完全理解 AI 做了什么,为什么这样做
|
||||
> 2. **严谨**:统计护栏自动检测前提条件,违规时自动降级
|
||||
> 3. **可交付**:生成可在本地运行的 R 代码,支持审计复现
|
||||
|
||||
### 功能规格
|
||||
|
||||
#### 核心AI能力(规划中)
|
||||
|
||||
1. **智能规划(Planner)**
|
||||
- 🆕 **决策表匹配**:(Goal, Y, X, Design) 四维精准选工具
|
||||
- RAG 工具检索:作为决策表的兜底方案
|
||||
- 参数映射:将自然语言映射为统计参数(可配置)
|
||||
- 统计分析计划(SAP)生成
|
||||
|
||||
2. **统计护栏(Guardrails)**
|
||||
- 正态性检验(Shapiro-Wilk)
|
||||
- 方差齐性检验(Levene)
|
||||
- 样本量检验
|
||||
- 大样本优化(N > 5000 抽样检验)
|
||||
- 🆕 **护栏 Action**:Block(阻止) / Warn(警告) / Switch(切换方法)
|
||||
|
||||
3. **人机协同(HITL)**
|
||||
- Plan Card:用户确认/修改分析计划
|
||||
- Execution Trace:实时展示执行路径
|
||||
- Result Card:结构化结果 + AI 解读
|
||||
|
||||
4. **代码交付**
|
||||
- 生成可复现的 R 代码
|
||||
- 自动注入依赖安装脚本
|
||||
- APA 格式化输出(p_value_fmt)
|
||||
|
||||
5. **🆕 咨询模式**
|
||||
- 无数据对话:用户只描述研究设计
|
||||
- SAP 文档生成:结构化统计分析计划
|
||||
- 多格式导出:Word/Markdown
|
||||
|
||||
6. **🆕 配置中台(专家知识库)**
|
||||
- 🆕 **统计决策表**:Goal + Y + X + Design → Tool 映射
|
||||
- 🆕 **R 代码库**:100+ 成熟脚本上传,统一 `run_analysis()` 入口
|
||||
- 🆕 **参数映射**:JSON Key → R 参数名 + 校验规则
|
||||
- 🆕 **护栏规则链**:Check → Threshold → Action (Block/Warn/Switch)
|
||||
- 🆕 **结果解读模板**:"填空题"式论文级结论
|
||||
- Excel 配置导入 + 热加载 + 配置校验
|
||||
|
||||
#### MVP 工具清单(10个)
|
||||
|
||||
| 工具代码 | 工具名称 | 适用场景 |
|
||||
|---------|---------|---------|
|
||||
| ST_T_TEST_IND | 独立样本T检验 | 两组连续变量比较 |
|
||||
| ST_T_TEST_PAIRED | 配对样本T检验 | 配对设计 |
|
||||
| ST_WILCOXON | Wilcoxon秩和检验 | T检验的非参数替代 |
|
||||
| ST_ANOVA_ONE | 单因素方差分析 | 多组连续变量比较 |
|
||||
| ST_CHI_SQUARE | 卡方检验 | 分类变量关联 |
|
||||
| ST_FISHER | Fisher精确检验 | 小样本分类变量 |
|
||||
| ST_CORRELATION | Pearson/Spearman相关 | 连续变量相关性 |
|
||||
| ST_REGRESSION_LINEAR | 线性回归 | 预测建模 |
|
||||
| ST_REGRESSION_LOGISTIC | Logistic回归 | 二分类预测 |
|
||||
| ST_DESCRIBE | 描述性统计 | 数据概览 |
|
||||
> 3. **可交付**:生成论文级结论 + 可在本地运行的 R 代码,支持审计复现
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ 架构设计
|
||||
|
||||
### Brain-Hand 双层架构 + 配置中台
|
||||
## 🏗️ QPER 四层架构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ 用户界面 (Frontend) │
|
||||
│ 🆕 ModeSwitch | DataUploader | PlanCard | ResultCard │
|
||||
│ ↓ 智能分析 ↓ 咨询模式 │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ Planner (Brain/大脑) - Node.js │
|
||||
│ ┌─────────────────────────────────────────────────────┐│
|
||||
│ │ DataParserService: 数据解析 → Schema 提取 ││
|
||||
│ │ ToolRetrievalService: RAG 工具检索 ││
|
||||
│ │ PlannerService: LLM 规划(有数据) ││
|
||||
│ │ 🆕 ConsultService: 无数据咨询 ││
|
||||
│ │ 🆕 SAPGeneratorService: SAP 文档生成 ││
|
||||
│ │ CriticService: 结果解读(流式) ││
|
||||
│ └─────────────────────────────────────────────────────┘│
|
||||
│ 📌 只看 Schema,支持有数据/无数据两种模式 │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
↓ (仅智能分析模式)
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ Executor (Hand/四肢) - R Docker │
|
||||
│ ┌─────────────────────────────────────────────────────┐│
|
||||
│ │ data_loader.R: 混合数据协议(inline/OSS) ││
|
||||
│ │ guardrails.R: 统计护栏(正态/方差齐性/样本量) ││
|
||||
│ │ tools/*.R: 统计工具 Wrapper(glue 模板) ││
|
||||
│ │ result_formatter.R: 结果格式化(p_value_fmt) ││
|
||||
│ │ error_codes.R: 结构化错误码 ││
|
||||
│ └─────────────────────────────────────────────────────┘│
|
||||
│ 📌 操作真实数据 + 生成可复现代码 │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
▲
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ 🆕 配置中台 (Config Center) │
|
||||
│ ┌─────────────────────────────────────────────────────┐│
|
||||
│ │ ConfigLoaderService: Excel 配置加载 ││
|
||||
│ │ ConfigValidatorService: 配置校验 ││
|
||||
│ │ ConfigCacheService: 配置缓存 + 热加载 ││
|
||||
│ └─────────────────────────────────────────────────────┘│
|
||||
│ 📌 统计专家可配置,系统动态加载 │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
用户:"比较两组血压有没有差别"
|
||||
│
|
||||
▼
|
||||
┌─ Q · Query ─────────────────────────────────────┐
|
||||
│ LLM 意图解析 + Zod 动态防幻觉 + 追问卡片 │
|
||||
│ 输出:ParsedQuery { goal, y, x, design } │
|
||||
└──────────────────────┬──────────────────────────┘
|
||||
▼
|
||||
┌─ P · Planner ────────────────────────────────────┐
|
||||
│ 决策表四维匹配 + 流程模板填充 + EPV 防护 │
|
||||
│ 输出:WorkflowPlan + PlannedTrace │
|
||||
└──────────────────────┬──────────────────────────┘
|
||||
▼
|
||||
┌─ E · Execute ────────────────────────────────────┐
|
||||
│ R 引擎执行 + SSE 实时进度 + Block-based 输出 │
|
||||
│ 输出:StepResult[] + ReportBlock[] │
|
||||
└──────────────────────┬──────────────────────────┘
|
||||
▼
|
||||
┌─ R · Reflection ─────────────────────────────────┐
|
||||
│ LLM 论文级结论 + 槽位注入 + Zod 校验 │
|
||||
│ 输出:ConclusionReport(6 要素) │
|
||||
└──────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 关键技术决策
|
||||
### 降级体系
|
||||
|
||||
| 决策点 | 方案 | 理由 |
|
||||
|--------|------|------|
|
||||
| **R 服务部署** | SAE Docker(固定 2 实例) | 避免冷启动延迟 |
|
||||
| **数据传输** | 混合协议(<2MB inline, 2-20MB OSS) | 平衡性能与内存 |
|
||||
| **代码生成** | glue 模板 | 可维护性好于 paste0 |
|
||||
| **LLM 输出** | jsonrepair + Zod | 容错 JSON 解析 |
|
||||
| **隐私保护** | Schema 脱敏 + 分类变量稀有值隐藏 | 防止 LLM 泄露数据 |
|
||||
| **🆕 结果渲染** | Block-based 协议(4 种 Block) | R 端标准化输出 → Node.js 零维护 → 前端动态渲染 |
|
||||
| 层 | 正常路径 | 降级路径 | 触发条件 |
|
||||
|----|---------|---------|---------|
|
||||
| Q | QueryService(LLM) | 正则匹配 fallback | LLM 超时/不可用 |
|
||||
| P | DecisionTable + FlowTemplate | 硬编码 if/else | 决策表无匹配 |
|
||||
| E | R 引擎 | 错误分类→友好提示 | R 运行时崩溃 |
|
||||
| R | ReflectionService(LLM) | ConclusionGeneratorService(规则拼接) | LLM 失败/Zod 校验失败 |
|
||||
|
||||
---
|
||||
|
||||
## 📋 开发进度
|
||||
|
||||
| Phase | 任务 | 状态 | 完成日期 |
|
||||
|-------|------|------|---------|
|
||||
| Phase 0 | 需求分析与架构设计 | ✅ 已完成 | 2026-02-18 |
|
||||
| Phase 0 | MVP 开发计划 v1.0 → v1.6 | ✅ 已完成 | 2026-02-19 |
|
||||
| Phase 1 | 骨架搭建 + 配置中台 | ✅ **核心完成 95%** | 2026-02-19 |
|
||||
| Phase 2A | 智能核心(多步骤工作流 + 意图识别) | ✅ **前端集成完成** | 2026-02-20 |
|
||||
| Phase 2B | Block-based 动态渲染重构 | 📋 计划已制定 | - |
|
||||
| Phase 2 | 智能规划 + 咨询模式 | 📋 待开始 | - |
|
||||
| Phase 3 | 完善与联调 | 📋 待开始 | - |
|
||||
| Phase | 任务 | 工时 | 状态 | 完成日期 |
|
||||
|-------|------|------|------|---------|
|
||||
| Phase 0 | 需求分析与架构设计 | - | ✅ 已完成 | 2026-02-18 |
|
||||
| Phase 1 | 骨架搭建(T 检验端到端) | - | ✅ 已完成 | 2026-02-19 |
|
||||
| Phase 1.5 | V11 UI 前后端联调 | - | ✅ 已完成 | 2026-02-20 |
|
||||
| Phase 2A | 多步骤工作流 + 前端集成 | - | ✅ 已完成 | 2026-02-20 |
|
||||
| **Phase E+** | **Block-based 标准化** | **15.5h** | ✅ **已完成** | 2026-02-20 |
|
||||
| **Phase Q** | **LLM 意图理解** | **33h** | ✅ **已完成** | 2026-02-21 |
|
||||
| **Phase P** | **决策表 + 流程模板** | **23h** | ✅ **已完成** | 2026-02-21 |
|
||||
| **Phase R** | **LLM 论文级结论** | **22h** | ✅ **已完成** | 2026-02-21 |
|
||||
| Phase Deploy | 工具补齐 + 部署上线 | 37h | 📋 待开始 | - |
|
||||
| Phase Q+ | 人机协同增强 | 20h | 📋 待开始 | - |
|
||||
|
||||
### 🎉 已完成核心功能
|
||||
### 已完成核心功能
|
||||
|
||||
| 组件 | 完成项 | 状态 |
|
||||
|------|--------|------|
|
||||
| **R 服务** | T 检验、描述性统计、卡方检验、Logistic 回归、相关分析、错误码、护栏 | ✅ 100% |
|
||||
| **后端** | 路由、RClientService、DataProfileService、WorkflowPlannerService、WorkflowExecutorService、SSE | ✅ 95% |
|
||||
| **前端** | V11 UI、多步骤工作流、DescriptiveResultView、R 代码/Word 导出、SSE 实时进度 | ✅ 95% |
|
||||
| **Python 服务** | 数据质量分析(JSON + CSV 双端点) | ✅ 100% |
|
||||
| **配置中台** | 数据库表、热加载 API | 🔄 18% |
|
||||
|
||||
### 开发计划文档
|
||||
|
||||
| 文档 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| **MVP总览** | `04-开发计划/00-MVP开发计划总览.md` | 范围、架构、里程碑 |
|
||||
| **任务清单** | `04-开发计划/01-任务清单与进度追踪.md` | 可追踪的 TODO 列表 |
|
||||
| **R服务指南** | `04-开发计划/02-R服务开发指南.md` | R 统计工程师专用 |
|
||||
| **后端指南** | `04-开发计划/03-后端开发指南.md` | Node.js 工程师专用 |
|
||||
| **前端指南** | `04-开发计划/04-前端开发指南.md` | 前端工程师专用 |
|
||||
| **🆕 Block-based 渲染** | `04-开发计划/08-Block-based动态结果渲染开发计划.md` | 动态结果渲染架构重构 |
|
||||
|
||||
### 评审记录
|
||||
|
||||
| 版本 | 评审报告 | 结论 | 日期 |
|
||||
|------|---------|------|------|
|
||||
| v1.0 | `06-开发记录/SSA-Pro 方案深度审查与风险评估报告.md` | 需修订 | 2026-02-18 |
|
||||
| v1.1 | `06-开发记录/SSA-Pro 方案深度审查与风险评估报告 V2.0.md` | 需修订 | 2026-02-18 |
|
||||
| v1.2 | `06-开发记录/SSA-Pro V1.2 终极审查与发令报告V3.0.md` | 🟢 通过 | 2026-02-18 |
|
||||
| v1.4 | 🆕 纳入双引擎 + 咨询模式 + 配置中台 | 🟢 通过 | 2026-02-18 |
|
||||
| **R 服务** | 7 个 R 工具(T 检验、描述统计、卡方、Logistic、相关分析等)+ Block-based 输出 | ✅ |
|
||||
| **Q 层** | QueryService + LLM Intent + Zod 动态防幻觉 + 追问卡片 + DataProfile 增强 | ✅ |
|
||||
| **P 层** | ConfigLoader + DecisionTable + FlowTemplate + PlannedTrace + 热更新 API | ✅ |
|
||||
| **E 层** | WorkflowExecutor + RClient + SSE 实时进度 + 错误分类映射 | ✅ |
|
||||
| **R 层** | ReflectionService + 槽位注入 + Zod 校验 + 敏感性冲突准则 + 结论缓存 + Word 增强 | ✅ |
|
||||
| **前端** | V11 UI + DynamicReport + ClarificationCard + ConclusionReport(渐入动画)+ Word/R 代码导出 | ✅ |
|
||||
| **Python** | DataProfileService(is_id_like 标记)+ CSV 解析 | ✅ |
|
||||
| **测试** | QPER 端到端测试 40/40 通过 | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 🔧 技术依赖
|
||||
## 📂 代码目录结构
|
||||
|
||||
### 复用的平台能力
|
||||
```
|
||||
backend/src/modules/ssa/
|
||||
├── services/
|
||||
│ ├── QueryService.ts # Q 层:LLM 意图解析
|
||||
│ ├── DecisionTableService.ts # P 层:四维匹配
|
||||
│ ├── FlowTemplateService.ts # P 层:流程模板
|
||||
│ ├── WorkflowPlannerService.ts # P 层:核心规划入口
|
||||
│ ├── WorkflowExecutorService.ts # E 层:步骤编排 + SSE
|
||||
│ ├── RClientService.ts # E 层:R 引擎调用
|
||||
│ ├── ReflectionService.ts # R 层:LLM 结论生成
|
||||
│ ├── ConclusionGeneratorService.ts # R 层 fallback
|
||||
│ ├── DataProfileService.ts # 共享:Python 数据质量
|
||||
│ └── DataParserService.ts # 共享:文件解析
|
||||
├── config/
|
||||
│ ├── ConfigLoader.ts # 通用 JSON 加载 + Zod 校验
|
||||
│ ├── tools_registry.json # R 工具注册表
|
||||
│ ├── decision_tables.json # 四维匹配规则
|
||||
│ └── flow_templates.json # 流程模板
|
||||
├── types/
|
||||
│ ├── query.types.ts # Q 层接口
|
||||
│ └── reflection.types.ts # R 层接口
|
||||
├── routes/
|
||||
│ ├── workflow.routes.ts # 工作流 API(含结论缓存)
|
||||
│ └── config.routes.ts # 热更新 API
|
||||
└── ...
|
||||
|
||||
| 能力 | 位置 | 用途 |
|
||||
|------|------|------|
|
||||
| **LLM网关** | `@/common/llm/LLMFactory` | Planner + Critic |
|
||||
| **RAG引擎** | `@/common/rag` | 工具检索 |
|
||||
| **存储** | `@/common/storage` | OSS 数据传输 |
|
||||
| **日志** | `@/common/logging` | 结构化日志 |
|
||||
| **流式响应** | `@/common/streaming` | Critic 流式输出 |
|
||||
backend/scripts/
|
||||
├── seed-ssa-intent-prompt.ts # Q 层 Prompt 种子
|
||||
├── seed-ssa-reflection-prompt.ts # R 层 Prompt 种子
|
||||
├── test-ssa-qper-e2e.ts # QPER 端到端测试
|
||||
└── ...
|
||||
```
|
||||
|
||||
### LLM模型
|
||||
---
|
||||
|
||||
| 模型 | 用途 | 说明 |
|
||||
|------|------|------|
|
||||
| DeepSeek-V3 | Planner + Query Rewriter | 性价比高 |
|
||||
| Qwen3-rerank | 工具重排序 | 中文理解好 |
|
||||
| GPT-5-Pro | Critic 结果解读 | 深度推理 |
|
||||
## 🔧 开发环境
|
||||
|
||||
### R 依赖
|
||||
### 启动服务
|
||||
|
||||
| 包 | 版本 | 用途 |
|
||||
|-----|------|------|
|
||||
| plumber | 1.2.1 | Web API 框架 |
|
||||
| jsonlite | 1.8.8 | JSON 处理 |
|
||||
| ggplot2 | 3.4.4 | 可视化 |
|
||||
| glue | 1.7.0 | 模板代码生成 |
|
||||
| car | 3.1-2 | Levene 检验 |
|
||||
| httr | 1.4.7 | OSS 下载 |
|
||||
```bash
|
||||
# 1. 数据库(Docker)
|
||||
docker start ai-clinical-postgres
|
||||
|
||||
# 2. Python 服务
|
||||
cd extraction_service && python main.py
|
||||
|
||||
# 3. R 服务
|
||||
cd r-statistics-service && Rscript plumber_api.R
|
||||
|
||||
# 4. Node.js 后端
|
||||
cd backend && npm run dev
|
||||
|
||||
# 5. 前端
|
||||
cd frontend-v2 && npm run dev
|
||||
```
|
||||
|
||||
### 运行测试
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
npx tsx scripts/test-ssa-qper-e2e.ts
|
||||
```
|
||||
|
||||
### Prompt 种子(需数据库运行)
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
npx tsx scripts/seed-ssa-intent-prompt.ts
|
||||
npx tsx scripts/seed-ssa-reflection-prompt.ts
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 相关文档
|
||||
|
||||
### 需求文档
|
||||
|
||||
- [PRD SSA-Pro 严谨型智能统计分析模块](./00-系统设计/PRD%20SSA-Pro%20严谨型智能统计分析模块.md)
|
||||
|
||||
### 设计文档
|
||||
|
||||
- [SSA-Pro 严谨型智能统计分析架构设计方案V4](./00-系统设计/SSA-Pro%20严谨型智能统计分析架构设计方案V4.md) ⬅️ **核心架构文档**
|
||||
- [SSA-Pro (V4.1) 统计技能中心架构规范](./00-系统设计/SSA-Pro%20(V4.1)%20统计技能中心架构规范.md)
|
||||
|
||||
### 原型文件
|
||||
|
||||
- [智能统计分析V2.html](./03-UI设计/智能统计分析V2.html) - 可直接浏览器打开
|
||||
|
||||
### 参考文档
|
||||
|
||||
- [云原生开发规范](../../04-开发规范/08-云原生开发规范.md)
|
||||
- [系统架构分层设计](../../00-系统总体设计/01-系统架构分层设计.md)
|
||||
| 文档 | 路径 |
|
||||
|------|------|
|
||||
| **QPER 开发计划(主线)** | `04-开发计划/10-QPER架构开发计划-智能化主线.md` |
|
||||
| **QPER 开发总结** | `06-开发记录/SSA-QPER架构开发总结-2026-02-21.md` |
|
||||
| **智能化愿景设计** | `00-系统设计/SSA-Pro 理想状态与智能化愿景设计.md` |
|
||||
| **PRD** | `00-系统设计/PRD SSA-Pro 严谨型智能统计分析模块.md` |
|
||||
| **架构设计 V4** | `00-系统设计/SSA-Pro 严谨型智能统计分析架构设计方案V4.md` |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 快速开始
|
||||
## 🎯 下一步
|
||||
|
||||
### 目录结构
|
||||
|
||||
```
|
||||
docs/03-业务模块/SSA-智能统计分析/
|
||||
├── 00-系统设计/ # PRD + 架构设计
|
||||
├── 01-需求分析/ # 用户故事、用例
|
||||
├── 02-技术设计/ # 详细技术方案
|
||||
├── 03-UI设计/ # 原型图
|
||||
├── 04-开发计划/ # MVP 开发文档(5份)
|
||||
├── 05-测试用例/ # 测试方案
|
||||
└── 06-开发记录/ # 评审报告、开发日志
|
||||
```
|
||||
|
||||
### 开发环境准备
|
||||
|
||||
1. **R 服务环境**
|
||||
```bash
|
||||
cd r-statistics-service
|
||||
docker build -t ssa-r-service .
|
||||
docker run -p 8080:8080 -e DEV_MODE=true ssa-r-service
|
||||
```
|
||||
|
||||
2. **后端开发**
|
||||
```bash
|
||||
cd backend
|
||||
npm run dev
|
||||
```
|
||||
|
||||
3. **前端开发**
|
||||
```bash
|
||||
cd frontend-v2
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### API 接口预览
|
||||
|
||||
#### 智能分析模式
|
||||
|
||||
```http
|
||||
### 创建会话
|
||||
POST http://localhost:3001/api/v1/ssa/sessions
|
||||
Content-Type: multipart/form-data
|
||||
# file: 数据文件
|
||||
|
||||
### 生成分析计划
|
||||
POST http://localhost:3001/api/v1/ssa/sessions/{sessionId}/plan
|
||||
Content-Type: application/json
|
||||
{"query": "比较两组GLU是否有显著差异"}
|
||||
|
||||
### 执行分析
|
||||
POST http://localhost:3001/api/v1/ssa/sessions/{sessionId}/execute
|
||||
Content-Type: application/json
|
||||
{"plan": {...}, "debug": false}
|
||||
|
||||
### 获取结果
|
||||
GET http://localhost:3001/api/v1/ssa/sessions/{sessionId}/result
|
||||
```
|
||||
|
||||
#### 🆕 咨询模式
|
||||
|
||||
```http
|
||||
### 创建咨询会话(无数据)
|
||||
POST http://localhost:3001/api/v1/ssa/consult
|
||||
|
||||
### 咨询对话
|
||||
POST http://localhost:3001/api/v1/ssa/consult/{sessionId}/chat
|
||||
Content-Type: application/json
|
||||
{"message": "我有一个双臂 RCT 研究,想比较主要终点..."}
|
||||
|
||||
### 生成 SAP 文档
|
||||
POST http://localhost:3001/api/v1/ssa/consult/{sessionId}/generate-sap
|
||||
|
||||
### 下载 SAP
|
||||
GET http://localhost:3001/api/v1/ssa/consult/{sessionId}/download-sap?format=word
|
||||
```
|
||||
|
||||
#### 🆕 配置中台
|
||||
|
||||
```http
|
||||
### 导入 Excel 配置
|
||||
POST http://localhost:3001/api/v1/ssa/config/import
|
||||
Content-Type: multipart/form-data
|
||||
# file: config.xlsx
|
||||
|
||||
### 热加载配置
|
||||
POST http://localhost:3001/api/v1/ssa/config/reload
|
||||
|
||||
### 获取工具列表
|
||||
GET http://localhost:3001/api/v1/ssa/config/tools
|
||||
```
|
||||
1. **Phase Deploy(37h)** — 补齐 ANOVA / Fisher / Wilcoxon / 线性回归 + 复合工具 ST_BASELINE_TABLE + 部署上线
|
||||
2. **Phase Q+(20h)** — 变量数据字典(AI 先猜用户微调)+ 变量选择确认面板(AI 推荐医生确认)
|
||||
3. **前端集成测试** — 用户手动测试 QPER 全链路的真实交互体验
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
### 对新AI助手
|
||||
|
||||
1. ✅ **设计文档已完成**:开发前请先阅读架构设计V4
|
||||
2. ✅ **开发计划v1.4已审批**:遵循5份开发文档进行开发
|
||||
3. ⚠️ **Planner/Executor 分离**:代码目录按 planner/executor 组织
|
||||
4. ⚠️ **Brain-Hand 隔离**:Node.js 只看 Schema,R 操作真实数据
|
||||
5. ⚠️ **支持无数据模式**:咨询模式下 Planner 可独立工作
|
||||
6. ⚠️ **配置外置**:工具定义从 Excel 加载,不硬编码
|
||||
7. ⚠️ **混合数据协议**:< 2MB inline,2-20MB OSS
|
||||
8. ⚠️ **代码模板同步**:修改 Wrapper 逻辑时必须同步更新 templates/
|
||||
|
||||
### 风险与应对
|
||||
|
||||
| 风险 | 概率 | 应对策略 |
|
||||
|------|------|---------|
|
||||
| R 工具封装进度慢 | 高 | 先做 5 个核心工具,glue 模板化开发 |
|
||||
| LLM 输出 JSON 格式错误 | 中 | jsonrepair + Zod 强校验 |
|
||||
| R 服务并发阻塞 | 中 | SAE 固定 2 实例 |
|
||||
| Node.js xlsx 内存刺客 | 中 | SAE 内存上限 2GB+ |
|
||||
| R 服务 Segfault 崩溃 | 低 | Liveness Probe + 502/504 友好提示 |
|
||||
| 本地开发 OSS 不通 | 中 | DEV_MODE 读取本地 fixtures |
|
||||
| 用户代码缺依赖 | 高 | 模板头部自动安装脚本 |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 未来规划
|
||||
|
||||
### MVP 阶段(当前)
|
||||
|
||||
- [x] Phase 1:骨架搭建(T检验端到端跑通)✅ 2026-02-19
|
||||
- [x] Phase 1.5:V11 UI 前后端联调 ✅ 2026-02-20
|
||||
- [x] Phase 2A:智能核心(多步骤工作流 + 前端集成)✅ 2026-02-20
|
||||
- [ ] Phase 2B:Block-based 动态渲染重构(~2.5 天)
|
||||
- [ ] Phase 2:智能与交互(RAG + HITL + 10工具)
|
||||
- [ ] Phase 3:打磨与调试(性能优化 + Bug修复)
|
||||
|
||||
### V2.0 阶段(规划中)
|
||||
|
||||
- [ ] 更多统计方法(Meta分析、生存分析、倾向性评分)
|
||||
- [ ] 自定义工具上传
|
||||
- [ ] 批量分析
|
||||
- [ ] 报告导出(Word/PDF)
|
||||
|
||||
---
|
||||
|
||||
**文档版本:** v1.7
|
||||
**最后更新:** 2026-02-20
|
||||
**当前状态:** 🎉 Phase 2A 前端集成完成,多步骤工作流端到端通过
|
||||
**下一步:** Phase 2B Block-based 动态渲染重构(4 种 Block 类型 → R/Node.js/前端全链路改造)
|
||||
**文档版本:** v2.0
|
||||
**最后更新:** 2026-02-21
|
||||
**当前状态:** 🎉 QPER 主线闭环完成,端到端 40/40 通过
|
||||
**下一步:** Phase Deploy 工具补齐 + 部署上线
|
||||
|
||||
Reference in New Issue
Block a user