Files
AIclinicalresearch/docs/03-业务模块/SSA-智能统计分析/04-开发计划/09-智能化差距分析与演进路线图.md
HaHafeng 371e1c069c 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>
2026-02-21 18:15:53 +08:00

17 KiB
Raw Blame History

SSA-Pro 智能化差距分析与演进路线图

文档版本: v1.0
创建日期: 2026-02-20
基准文档: 00-系统设计/SSA-Pro 理想状态与智能化愿景设计.md
当前状态: Phase 2A 前端集成完成,多步骤工作流端到端通过
文档目的: 明确当前系统与理想智能化之间的差距,规划演进路径


1. 执行摘要

核心结论

当前系统已搭好"四肢"R 执行 + SSE 实时进度 + 前端展示 + Word/R 导出),但缺少"大脑"LLM 意图理解 + 决策表规划 + 论文级结论生成)。

维度 当前状态 理想状态 差距
用户输入 用户需了解变量名和分析意图 用自然语言描述临床问题即可 🔴
方法选择 硬编码 if/else 规则 决策表四维匹配 + LLM 兜底 🔴
流程规划 从零拼装步骤列表 预定义流程模板 + 数据驱动调整 🔴
执行引擎 顺序执行,各步独立 结果串联 + 护栏降级 + 可中断 🟡
结果输出 数值表格 + 基础图表 论文级综合结论 + 方法学说明 🔴

智能化等级评估

L1 单方法执行    ████████████████████ 100%  ✅ 已完成2026-02-19
L2 智能选方法    ███████░░░░░░░░░░░░░  35%  🟡 有规则匹配,缺决策表和 LLM
L3 数据自适应    ████░░░░░░░░░░░░░░░░  20%  🔴 护栏在 R 内部,未与规划联动
L4 流程编排      ████████░░░░░░░░░░░░  40%  🟡 多步骤能跑,缺模板和串联
L5 论文级输出    ███░░░░░░░░░░░░░░░░░  15%  🔴 缺 LLM 结论生成

2. 五大核心组件差距详析

2.1 意图理解器 (Intent Parser) — 完成度 20%

理想状态:

  • LLM 从用户自然语言中提取四维信息Goal / Y_Type / X_Type / Design
  • 不确定时主动追问澄清(展示选择卡片)
  • 支持模糊输入:"有没有效"、"帮我分析一下"

当前实现:

  • WorkflowPlannerService.parseUserIntent() — 正则匹配关键词
    • "相关" → correlation"影响" → regression"比较" → comparison
  • 变量名通过正则从用户文本中提取,与 DataProfile 变量列表交叉匹配
  • 变量类型通过 DataProfile 判断categorical / numeric

差距明细:

能力 理想 当前 状态
Goal 分类 Difference / Association / Prediction / Description 关键词硬编码 🔴
Y/X 类型提取 LLM 自动识别结局变量和自变量 正则提取变量名 🟡
Design 识别 独立 / 配对 / 重复测量 不支持 🔴
模糊理解 "有没有效" → 差异比较 需要用户说"比较" 🔴
追问澄清 展示选择卡片让用户确认 不追问,直接猜测 🔴
多目标识别 识别多个分析目标并分拆 不支持 🔴

关键缺失文件/服务:

  • IntentParserServiceLLM 驱动的意图解析,替代当前的 parseUserIntent 方法)
  • 前端追问卡片组件(当 AI 不确定时展示选项)

2.2 数据诊断器 (Data Diagnostician) — 完成度 30%

理想状态:

  • 独立的"数据体检报告"模块
  • 检测项:正态性、方差齐性、缺失比例、异常值、样本量、分组平衡性
  • 诊断结果直接传递给路径规划器,影响方法选择

当前实现:

  • Python DataProfileService:变量类型推断、缺失率、基本统计量、唯一值
  • R guardrails.R在方法执行时检查正态性Shapiro-Wilk和方差齐性Levene
  • 前端 DataProfileCard + DataProfileModal:展示数据概况

差距明细:

检测项 理想 当前 状态
变量类型推断 自动识别 Python DataProfile
缺失值统计 占比 + 建议处理策略 有占比,无处理建议 🟡
正态性检验 独立模块,结果传递给 Planner R 内部执行,不回传 🔴
方差齐性 独立模块,结果传递给 Planner R 内部执行,不回传 🔴
异常值检测 IQR 方法 + 可视化标注 不检测 🔴
样本量评估 功效分析建议 不评估 🔴
分组平衡性 各组比例 + 提示不平衡 不检测 🔴
诊断→规划联动 自动影响方法选择 完全割裂 🔴

关键问题:

  • 数据诊断Python DataProfile和统计前提检查R guardrails是两个独立系统
  • R 护栏在执行时发现正态性不满足时自动降级(如 T→Wilcoxon但不通知 Planner
  • Planner 做规划时不知道数据特征,全凭变量类型硬编码选方法

2.3 路径规划器 (Pathway Planner) — 完成度 15%

理想状态:

  • 决策表匹配:(Goal, Y_Type, X_Type, Design) → 精准选工具
  • 流程模板:预定义标准分析流程(如"两组差异比较 = 清洗 → 描述 → 正态检验 → [T/U] → 效应量 → 可视化"
  • 数据驱动调整:根据诊断结果动态修改流程
  • 生成完整的 SAP统计分析计划供用户确认

当前实现:

  • WorkflowPlannerService.generateSteps() — 硬编码 if/else 链
    • 如果 analysisType === 'comparison' 且 Y 是连续 → 加 T 检验步骤
    • 总是先加描述性统计步骤
  • 输出 WorkflowPlan { title, steps[] } 结构

差距明细:

能力 理想 当前 状态
决策表匹配 四维精准匹配 硬编码 if/else 🔴
流程模板 5-8 个预定义模板 无模板概念 🔴
数据驱动调整 诊断结果影响规划 不参考诊断结果 🔴
SAP 生成 结构化计划文档 简单步骤列表 🔴
敏感性分析 自动添加补充分析 不支持 🔴
效应量步骤 自动包含 不支持 🔴
可视化步骤 自动规划图表 不支持R 内部生成) 🟡

关键缺失文件/服务:

  • DecisionTableService — 决策表加载和四维匹配
  • FlowTemplateService — 流程模板管理
  • 决策表 Excel 配置文件
  • 流程模板配置文件

2.4 流程执行器 (Workflow Executor) — 完成度 40%

理想状态:

  • 按 SAP 定义的顺序执行多个方法
  • 上一步输出作为下一步输入(结果串联)
  • 护栏检查失败时自动降级方法
  • 每步实时反馈中间结果
  • 用户可暂停/跳过/取消

当前实现:

  • WorkflowExecutorService.executeWorkflow() — 顺序遍历 steps 数组
  • 每步独立调用 R 服务(通过 RClientService
  • SSE 实时推送 step_start / step_complete / workflow_complete
  • 前端实时展示执行日志和结果terminal-box + 结果卡片)

差距明细:

能力 理想 当前 状态
顺序执行
SSE 实时反馈
步骤级结果展示
结果串联 上步输出 → 下步输入 各步独立执行 🔴
护栏降级 失败时自动切换方法 不支持 🔴
暂停/跳过/取消 用户可控 一旦开始无法中断 🔴
错误恢复 某步失败提供重试选项 失败则标记 failed 🟡
步骤间数据共享 共享清洗后数据集 每步重新加载原始数据 🔴

这是完成度最高的组件,架构基础已就位,需要补充的是上层能力。


2.5 结论生成器 (Conclusion Generator) — 完成度 15%

理想状态:

  • 论文级综合结论,包含 6 个要素:
    1. 样本描述(纳入/排除)
    2. 主要结果(核心统计量 + P 值)
    3. 效应解读(效应量含义)
    4. 敏感性分析(结果稳健性)
    5. 方法学说明(为什么选这个方法)
    6. 局限性声明(数据处理说明)
  • LLM 生成自然语言结论

当前实现:

  • ConclusionGeneratorService 存在但功能有限
  • 前端展示统计量数值、P 值、效应量(数字形式)
  • Word 导出executive_summary + 各步骤统计量表格

差距明细:

结论要素 理想 当前 状态
样本描述 "共纳入 186 例,剔除 14 例..." 🔴
主要结果 LLM 自然语言描述 数字展示P=0.015 🔴
效应解读 "中等程度效应" 数字展示r=0.52 🔴
敏感性分析 "T 检验得到一致结论" 不支持 🔴
方法学说明 "因不满足正态性..." 🔴
局限性声明 自动生成 🔴
多步骤整合 综合所有步骤生成报告 各步骤独立展示 🟡
可发表质量 直接用于论文 需大量人工整理 🔴

关键缺失:

  • LLM 结论生成 Prompt调用 GPT/DeepSeek 生成论文级文字)
  • 结果解读模板("填空题"式结论模板)
  • 多步骤结果整合逻辑

3. 已完成的基础设施(不需要重做)

在规划演进路径之前,确认以下基础已就位,无需重复建设:

基础设施 状态 说明
R 统计引擎 Docker 部署7 个工具plumber API
Node.js 后端框架 路由、Service 架构、SSE
前端 V11 UI 三栏布局、对话式交互、结果展示
SSE 实时通信 前后端消息格式已对齐
数据上传 + OSS 文件上传、预签名 URL
Python 数据质量 变量类型推断、基础统计
R 代码导出 多步骤聚合导出
Word 报告导出 docx 库,多步骤报告
R 护栏系统 正态性、方差齐性检查R 内部)
Block-based 协议 📋 规范已制定待实施2.5 天)

4. 演进路线图

4.1 推荐路径(按投入产出比排序)

当前状态Phase 2A 完成L1-L2 之间)
    │
    │ ① LLM 意图理解 + 决策表匹配 (~5天)
    │   - IntentParserService: LLM 提取 Goal/Y/X/Design
    │   - DecisionTableService: 四维 → 工具精准匹配
    │   - 前端追问卡片组件
    ▼
    L2 完成: 智能选方法
    │  「用户不再需要知道 T 检验、卡方检验是什么」
    │
    │ ② 流程模板 + 结果串联 (~3天)
    │   - FlowTemplateService: 5-8 个预定义流程
    │   - 步骤间数据共享机制
    │   - 敏感性分析自动添加
    ▼
    L4 完成: 流程编排
    │  「从单方法跃迁到完整统计分析流程」
    │
    │ ③ LLM 结论生成 (~3天)
    │   - ConclusionService: LLM 综合解读
    │   - 结论模板体系
    │   - 方法学说明自动生成
    ▼
    L5 完成: 论文级输出
    │  「结果可直接复制到论文中」
    │
    │ ④ 数据诊断→规划联动 + 追问机制 (~5天)
    │   - DataDiagnosticService: 异常值/样本量/平衡性
    │   - 诊断结果传递给 Planner
    │   - 护栏结果回传机制
    ▼
    L3 完成: 数据自适应
    │  「系统自动根据数据特征调整方法」
    │
    │ ⑤ 高级交互 (~3天)
    │   - 执行暂停/跳过/取消
    │   - 步骤失败自动降级
    │   - 用户修改 SAP 后重新执行
    ▼
    理想状态: 完全智能化统计分析系统

4.2 各阶段详细任务

阶段 ①LLM 意图理解 + 决策表匹配(~5 天)

任务 层级 预估 说明
设计 Intent Prompt 后端 4h 提取 Goal/Y/X/Design + 置信度
实现 IntentParserService 后端 6h LLM 调用 + 结构化输出 + Zod 校验
设计决策表 Excel 模板 配置 3h 四维匹配规则 + 10 个工具映射
实现 DecisionTableService 后端 6h Excel 加载 + 四维匹配逻辑
重构 WorkflowPlannerService 后端 4h 集成 Intent + DecisionTable
前端追问卡片组件 前端 4h 当置信度低时展示选项
联调测试 全栈 4h 多场景测试

阶段 ②:流程模板 + 结果串联(~3 天)

任务 层级 预估 说明
定义 5 个流程模板 配置 3h 差异/关联/描述/回归/基线表
实现 FlowTemplateService 后端 4h 模板加载 + 参数填充
步骤间数据共享 后端+R 6h 清洗后数据缓存 + 传递
自动添加敏感性分析 后端 3h 主要分析 + 替代方法
自动添加效应量步骤 后端 2h Cohen's d / r
联调测试 全栈 4h 完整流程测试

阶段 ③LLM 结论生成(~3 天)

任务 层级 预估 说明
设计结论生成 Prompt 后端 4h 6 要素结论模板
实现 ConclusionService 后端 6h LLM 调用 + 流式输出
设计解读模板配置 配置 3h 每种工具的"填空题"模板
前端论文结论展示 前端 4h Markdown 渲染 + 复制
Word 报告增强 前端 3h 纳入论文级结论
联调测试 全栈 3h

阶段 ④:数据诊断→规划联动(~5 天)

任务 层级 预估 说明
实现异常值检测 Python/R 4h IQR 方法 + 可视化标注
实现样本量评估 Python/R 3h 功效分析建议
实现分组平衡性检测 Python 2h 各组比例 + 提示
诊断结果传递给 Planner 后端 4h DataDiagnosis → PlannerInput
R 护栏结果回传机制 后端+R 6h 护栏结果影响后续步骤
前端诊断报告增强 前端 4h 问题列表 + 建议 + 评分
前端追问机制 前端 4h 不确定时展示选择卡片
联调测试 全栈 4h

阶段 ⑤:高级交互(~3 天)

任务 层级 预估 说明
执行暂停/跳过/取消 后端+前端 6h SSE 控制消息
步骤失败自动降级 后端 4h T 检验失败 → Wilcoxon
SAP 修改后重新执行 前端+后端 6h 用户编辑步骤 → 重新规划
联调测试 全栈 4h

5. 工时与里程碑

阶段 核心目标 工时 智能等级
Block-based 重构 结果渲染标准化 2.5天 基础设施
① LLM 意图 + 决策表 用户不需要知道方法名 5天 → L2
② 流程模板 + 串联 从单方法到完整流程 3天 → L4
③ LLM 结论生成 论文级输出 3天 → L5
④ 数据诊断联动 全自动方法调整 5天 → L3
⑤ 高级交互 可中断 + 降级 3天 完善
合计 理想状态 ~21.5天 L5

里程碑时间线(预估)

2026-02-21  ─── Block-based 重构开始
2026-02-24  ─── Block-based 完成 ✓ 基础设施就绪
2026-02-25  ─── 阶段① 开始LLM 意图 + 决策表
2026-03-01  ─── 阶段① 完成 ✓ L2 智能选方法
2026-03-02  ─── 阶段② 开始:流程模板 + 串联
2026-03-05  ─── 阶段② 完成 ✓ L4 流程编排
2026-03-06  ─── 阶段③ 开始LLM 结论生成
2026-03-10  ─── 阶段③ 完成 ✓ L5 论文级输出
2026-03-11  ─── 阶段④ 开始:数据诊断联动
2026-03-17  ─── 阶段④ 完成 ✓ L3 数据自适应
2026-03-18  ─── 阶段⑤ 开始:高级交互
2026-03-21  ─── 阶段⑤ 完成 ✓ 理想状态

6. 成功标准

用户体验验证

测试场景 当前表现 目标表现
用户说"有没有效" 无法理解 AI 识别为差异比较
用户不知道该用什么方法 必须指定 AI 自动选择
数据不满足正态性 🟡 R 内部降级,用户不知 规划时就选非参数方法
分析结果 🟡 P 值 + 数字 "两组差异显著(P<0.001),中等效应"
导出报告 🟡 需大量整理 可直接用于论文

智能化评分卡

能力 权重 当前评分 目标评分
意图理解 25% 2/10 8/10
方法选择 20% 3/10 9/10
流程规划 20% 2/10 8/10
执行引擎 15% 6/10 9/10
结论生成 20% 1/10 8/10
加权总分 100% 2.7/10 8.4/10

7. 风险与依赖

风险 概率 影响 应对策略
LLM 意图提取准确率不足 低置信度时追问用户,而非猜测
决策表覆盖率不足 RAG 工具检索作为兜底方案
LLM 结论生成"幻觉" 基于模板+真实数据填充,而非自由生成
步骤间数据串联复杂度 先实现缓存共享,不做复杂依赖图
流程模板无法覆盖长尾场景 预留"自定义流程"入口

文档维护者: SSA 架构团队
最后更新: 2026-02-20
下一步行动: 确认优先级后,从 Block-based 重构 → 阶段 ① 开始执行