Files
AIclinicalresearch/docs/03-业务模块/SSA-智能统计分析/06-开发记录/J技术报告审核评估与建议/SSA-Pro Prompt体系与专家配置边界梳理.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

5.8 KiB
Raw Blame History

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 消费)

  1. 解释模板与禁忌语
    • 专家填写:当 P < 0.05 时,话术模板为:{X} 对 {Y} 存在显著影响 (P={P_value})。

C. 严谨性配置 (直接供 R Executor 消费,与 Prompt 无关!)

  1. 统计护栏规则 (Guardrails)
    • 专家配置:必须执行 Shapiro-Wilk 检验,阈值 P < 0.05 时,触发 Switch_To_Wilcoxon 动作。
    • ⚠️ 注意:这些护栏规则 绝对不要 放到 Prompt 里让大模型去判断。这些规则是直接存为 JSON发给 R Docker由 R 代码强逻辑执行的。

D. 资产生成配置 (直接供 R Executor 消费)

  1. 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 引擎让计算变严谨。