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>
95 lines
5.8 KiB
Markdown
95 lines
5.8 KiB
Markdown
# **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 消费)**
|
||
|
||
1. **工具名称与描述**:例如 独立样本 T 检验,用于比较两组独立样本的均值差异。(用于 RAG 检索)
|
||
2. **决策要素表 (Decision Table)**:
|
||
* 专家勾选:X变量=分类,Y变量=连续数值。
|
||
* *(后端会自动把这些勾选项翻译成自然语言,塞进 Planner Prompt 中当作判别规则)*。
|
||
|
||
#### **B. 话术与规范配置 (供 Critic Prompt 消费)**
|
||
|
||
3. **解释模板与禁忌语**:
|
||
* 专家填写:当 P \< 0.05 时,话术模板为:{X} 对 {Y} 存在显著影响 (P={P\_value})。
|
||
|
||
#### **C. 严谨性配置 (直接供 R Executor 消费,与 Prompt 无关!)**
|
||
|
||
4. **统计护栏规则 (Guardrails)**:
|
||
* 专家配置:必须执行 Shapiro-Wilk 检验,阈值 P \< 0.05 时,触发 Switch\_To\_Wilcoxon 动作。
|
||
* **⚠️ 注意**:这些护栏规则 **绝对不要** 放到 Prompt 里让大模型去判断。这些规则是直接存为 JSON,发给 R Docker,由 R 代码强逻辑执行的。
|
||
|
||
#### **D. 资产生成配置 (直接供 R Executor 消费)**
|
||
|
||
5. **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 引擎让计算变严谨。 |