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>
5.8 KiB
5.8 KiB
SSA-Pro Prompt 体系与专家配置边界梳理
文档版本: v1.0
创建日期: 2026-02-20
核心目的: 划定 AI 工程师(写 Prompt)与统计专家(写配置)的工作边界,明确系统各环节的控制权归属。
1. 核心理念:骨架与血肉的分离
在 SSA-Pro 中,我们绝对不能让统计专家直接去维护一长串包含 <thinking>、{ "type": "json" } 等晦涩指令的原始 Prompt。这会让专家崩溃,也会导致 JSON 输出格式极易被改坏。
最佳实践是 动态 Prompt 注入 (Dynamic Prompt Injection):
- AI 工程师(Prompt 工程师):负责维护 Prompt 模板(骨架),控制 AI 的角色、思考链和严格的 JSON 输出结构。
- 统计专家(业务专家):在配置中台中维护 统计学规则(血肉)。
- 运行时:Node.js 后端将专家的配置提取出来,像填空题一样塞进 Prompt 模板中发送给 LLM。
2. 全链路 Prompt 梳理 (何处需要 Prompt?)
SSA-Pro 全流程共有 3 个核心环节 需要大模型介入,因此对应 3 个核心 Prompt:
环节一:意图重写器 (Query Rewriter Prompt)
- 作用:将医生口语(“看两个药的效果差异”)翻译成统计学黑话(“差异性分析,T检验”),用于向量库高精度检索。
- Prompt 骨架 (AI 工程师):规定必须输出 3-5 个同义词的 JSON 数组。
- 专家配置注入 (配置中台):专家在后台配置 “同义词/黑话字典”。
- 举例:System Prompt = "你是一个检索翻译官。请参考以下专家提供的字典:{{Expert_Dictionary}},将用户输入翻译为标准术语。"
环节二:智能规划师 (SSA-Planner Prompt) ⭐ 最核心
- 作用:根据用户数据列名(Schema),从检索到的 Top-5 工具中挑出 1 个,并生成参数映射计划 (SAP)。
- Prompt 骨架 (AI 工程师):
- 设定角色:“你是一位顶尖的生物统计学家。”
- 强制要求:“你必须输出包含 tool_code, reasoning, params 的 JSON,并先在 <thought> 标签中思考。”
- 专家配置注入 (配置中台):
- 注入检索到的工具定义:{{Tool_Name}}, {{Usage_Context_Rules}}, {{Data_Type_Requirements}}。
- 专家真正写的是:“T检验要求因变量为连续数值,自变量为二分类。”这句话会被原封不动塞进 Prompt 里,指导 AI 决策。
环节三:结果解读审查员 (SSA-Critic Prompt)
- 作用:将 R 跑出来的冰冷 JSON 结果(如 p_value: 0.04),写成可以放在论文里的标准段落。
- Prompt 骨架 (AI 工程师):规定输出 Markdown 格式,规定必须包含“结论”、“统计量”、“P值”三个小节。
- 专家配置注入 (配置中台):
- 注入 “解释规范与禁用词”(例如:专家在后台配置“严禁使用‘证明了’一词,必须用‘具有统计学意义’”)。
- 注入 R 执行的真实结果 {{R_Output_JSON}}。
3. 统计配置中台:到底要配置什么? (Config Center Inventory)
理清了 Prompt,我们再来看 配置中台 (Admin) 里,统计专家到底要填哪些东西。
配置中台不仅服务于 LLM (Prompt),还服务于底层的 R 引擎 (Executor)。
📊 专家需要配置的 5 大核心模块:
A. 语义与决策配置 (供 Planner Prompt 消费)
- 工具名称与描述:例如 独立样本 T 检验,用于比较两组独立样本的均值差异。(用于 RAG 检索)
- 决策要素表 (Decision Table):
- 专家勾选:X变量=分类,Y变量=连续数值。
- (后端会自动把这些勾选项翻译成自然语言,塞进 Planner Prompt 中当作判别规则)。
B. 话术与规范配置 (供 Critic Prompt 消费)
- 解释模板与禁忌语:
- 专家填写:当 P < 0.05 时,话术模板为:{X} 对 {Y} 存在显著影响 (P={P_value})。
C. 严谨性配置 (直接供 R Executor 消费,与 Prompt 无关!)
- 统计护栏规则 (Guardrails):
- 专家配置:必须执行 Shapiro-Wilk 检验,阈值 P < 0.05 时,触发 Switch_To_Wilcoxon 动作。
- ⚠️ 注意:这些护栏规则 绝对不要 放到 Prompt 里让大模型去判断。这些规则是直接存为 JSON,发给 R Docker,由 R 代码强逻辑执行的。
D. 资产生成配置 (直接供 R Executor 消费)
- R 代码片段模板 (Glue Template):
- 专家在后台贴入一段带 {{group_var}} 占位符的 R 代码。这是用户最后下载的白盒代码。
4. 总结:两者的黄金边界
为了方便团队理解,请记住这个表格:
| 资产类型 | 谁来写? | 存在哪里? | 最终被谁执行/阅读? |
|---|---|---|---|
| System Prompt 模板 (骨架) | AI 工程师 / 后端 | 数据库 prompt_templates 表 | 传给大模型 (DeepSeek) |
| 工具适用条件/数据类型要求 | 统计专家 | 配置中台 (Excel/Web) | 被塞进 Prompt,传给大模型 |
| 统计护栏 (如正态性 P<0.05 降级) | 统计专家 | 配置中台 (Excel/Web) | 传给 R 服务,由 R 代码强执行 |
| 可复现的 R 代码模板 | 统计专家 | 配置中台 (Excel/Web) | 传给 R 服务,拼接后提供给用户下载 |
| 论文结论解释规范 | 统计专家 | 配置中台 (Excel/Web) | 被塞进 Critic Prompt,传给大模型 |
💡 最终建议
配置中台(哪怕 MVP 阶段只是一个 Excel 表),是承载统计专家智慧的唯一载体。 专家只需要在这个 Excel 里用人话填表。
后端代码会负责把这个 Excel 解析拆分:一部分用来拼装 Prompt 让 AI 变聪明,另一部分以 JSON 形式发给 R 引擎让计算变严谨。