Medprompt 的全称是 "Medical Prompt" ,这是微软研究院 (Microsoft Research) 开发的一种医疗领域提示工程框架,旨在通过智能提示策略提升大语言模型在医学等专业领域的表现,无需对模型进行微调。
名称解析
- Med:取自 "Medical"(医疗),明确框架专注于医疗健康领域
- prompt:即 "提示",表示这是一种提示工程技术
核心特点
Medprompt 是一个组合提示策略框架,包含三大核心技术:
-
动态少样本选择(Dynamic Few-shot Selection):根据输入问题自动从知识库中选择最相关的示例,无需手动构建样本库
-
自生成思维链(Self-generated Chain of Thought):让模型自主生成详细的推理步骤,模拟专家思考过程,提升回答准确性和可解释性
-
选项洗牌集成(Choice Shuffling Ensemble):通过多次运行模型并打乱选项顺序,利用 "多数投票" 机制选出最优答案,大幅提高可靠性和准确率
这里举一个例子:
一、前置条件(预处理阶段)
- 样本库准备 :已预先为医学训练样本生成向量嵌入,并让 GPT-4 为每个样本生成了自洽的思维链(CoT)。以下是样本库中 3 个典型样本(含自生成思维链):
- 样本 1
- 问题:一名 55 岁男性患者,有长期吸烟史,近 1 个月出现刺激性干咳、痰中带血丝,伴右侧胸痛,最可能的诊断是?
- 自生成思维链:首先,患者有长期吸烟史(肺癌高危因素);其次,核心症状为刺激性干咳 + 痰中带血丝(肺癌典型呼吸道表现);最后,伴随右侧胸痛(提示可能累及胸膜)。排除肺炎(多有发热、脓痰)、肺结核(多有低热盗汗)、支气管扩张(多有大量脓痰),因此优先考虑肺癌。
- 答案:肺癌
- 样本 2
- 问题:28 岁女性,突发下腹剧痛 2 小时,伴恶心呕吐,末次月经为 6 周前,妇科查体宫颈举痛明显,最可能的诊断是?
- 自生成思维链:患者为育龄期女性,有停经史(6 周),突发下腹剧痛 + 宫颈举痛(宫外孕破裂的典型体征),恶心呕吐为腹腔内出血刺激腹膜的伴随症状。排除急性阑尾炎(疼痛多起于上腹部)、卵巢囊肿蒂扭转(无停经史)、急性盆腔炎(多有发热),故考虑异位妊娠破裂。
- 答案:异位妊娠破裂
- 样本 3
- 问题:60 岁女性,糖尿病史 10 年,近 1 周出现双下肢麻木、针刺感,对称分布,最可能的并发症是?
- 自生成思维链:患者有长期糖尿病史,双下肢对称麻木、针刺感(周围神经病变的典型表现,多为对称性、远端优先)。排除糖尿病肾病(无泌尿系统症状)、糖尿病视网膜病变(无眼部症状)、糖尿病足(无溃疡 / 感染表现),因此为糖尿病周围神经病变。
- 答案:糖尿病周围神经病变
- 样本 1
二、Medprompt 推理阶段(针对新问题)
1. 步骤 1:动态少样本选择
新问题:一名 45 岁男性,2 型糖尿病史 8 年,近 2 个月出现双足麻木、烧灼感,夜间加重,无肢体活动障碍,最可能的并发症是?
- 计算新问题的向量嵌入,与样本库向量做相似度匹配,检索到最相似的是样本 3(均为糖尿病相关的下肢神经感觉异常),因此选择样本 3 作为少样本示例。
2. 步骤 2:构建含自生成思维链的提示
将检索到的样本 3(含思维链)与新问题整合为提示,发送给大模型:
bash
以下是医学问题的推理示例,请你参考其逻辑回答新问题:
【示例问题】60岁女性,糖尿病史10年,近1周出现双下肢麻木、针刺感,对称分布,最可能的并发症是?
【示例推理链】患者有长期糖尿病史,双下肢对称麻木、针刺感(周围神经病变的典型表现,多为对称性、远端优先)。排除糖尿病肾病(无泌尿系统症状)、糖尿病视网膜病变(无眼部症状)、糖尿病足(无溃疡/感染表现),因此为糖尿病周围神经病变。
【示例答案】糖尿病周围神经病变
【新问题】一名45岁男性,2型糖尿病史8年,近2个月出现双足麻木、烧灼感,夜间加重,无肢体活动障碍,最可能的并发症是?
请先写出你的推理链,再给出最终答案。
3. 步骤 3:选项洗牌集成(若新问题为选择题)
若新问题为选择题形式,需执行选项洗牌以规避位置偏见,示例如下:
- 原始选择题:新问题选项:A. 糖尿病肾病 B. 糖尿病周围神经病变 C. 糖尿病视网膜病变 D. 糖尿病足
- 第 1 次洗牌 :选项顺序调整为
C、A、B、D,模型输出答案B,推理链一致; - 第 2 次洗牌 :选项顺序调整为
D、B、A、C,模型输出答案B,推理链一致; - 第 3 次洗牌 :选项顺序调整为
A、D、C、B,模型输出答案B,推理链一致; - 集成投票 :3 次预测结果均为
B,最终确定答案为糖尿病周围神经病变。
三、模型最终输出
bash
【推理链】患者有8年2型糖尿病史,核心症状为双足麻木、烧灼感且夜间加重,无肢体活动障碍(符合糖尿病周围神经病变的典型表现:对称性远端感觉异常,以麻木、灼痛为主,夜间症状更显著,早期无运动功能障碍)。排除糖尿病肾病(无蛋白尿、水肿等肾脏相关表现)、糖尿病视网膜病变(无视力下降等眼部症状)、糖尿病足(无足部溃疡、感染或坏疽表现),因此最可能的并发症为糖尿病周围神经病变。
【最终答案】糖尿病周围神经病变
再举例一个网络安全方面的。
一、预处理阶段:网络安全样本库(含自生成思维链)
预先构建网络安全领域样本库,为每个样本生成向量嵌入和自洽思维链(CoT),以下为 3 个典型样本示例:
| 样本 ID | 问题 | 自生成思维链 | 答案 |
|---|---|---|---|
| 样本 1 | 某服务器日志显示大量SYN包从不同 IP 发起,且无后续ACK响应,服务器出现连接超时、资源耗尽,该攻击类型是? |
首先,攻击特征为多 IP 发起SYN包但不回复ACK,这会导致服务器维护大量半开连接;其次,最终结果是服务器资源耗尽、正常连接无法建立;排除 DDoS(泛洪型无特定SYN半开特征)、SQL 注入(针对数据库,无网络包特征)、XSS(前端攻击,无服务器网络日志特征),因此判定为 SYN 洪水攻击。 |
SYN 洪水攻击(属于 DoS/DDos 的一种) |
| 样本 2 | 某员工点击钓鱼邮件附件后,主机出现 CPU 占用率骤升、向外发送大量未知流量,且本地文件被加密并弹出勒索提示,该安全事件类型是? | 核心特征:钓鱼邮件触发、文件加密、勒索提示,同时伴随异常流量(可能为远控或数据窃取);排除病毒(无文件加密和勒索特征)、木马(多为远控,无强制加密勒索)、挖矿病毒(仅 CPU 占用高,无文件加密),因此为勒索病毒攻击。 | 勒索病毒攻击 |
| 样本 3 | 某 Web 应用存在漏洞,攻击者可通过在 URL 中输入' or 1=1--获取数据库全部用户信息,该漏洞类型是? |
关键特征:利用 SQL 语法逻辑绕过验证,通过拼接恶意 SQL 语句读取数据库数据;排除 XSS(针对前端页面,无数据库操作)、CSRF(伪造用户请求,无 SQL 注入特征)、缓冲区溢出(底层代码漏洞,非 Web 应用逻辑漏洞),因此判定为 SQL 注入漏洞。 | SQL 注入漏洞 |
二、推理阶段:Medprompt 提示模板(可直接复制调用)
1. 动态少样本选择逻辑(嵌入匹配后)
当新问题为网络安全漏洞 / 攻击识别类时,优先匹配样本库中语义最相似的样本(如新问题为 SQL 注入相关则选样本 3,为 DDoS 相关则选样本 1),再代入以下提示模板。
2. 完整提示模板(含自生成思维链要求)
# 网络安全问题推理任务
请严格参考示例的推理逻辑,先输出详细思维链,再给出最终答案。
## 参考示例
【示例问题】{选中的样本问题}
【示例推理链】{选中的样本思维链}
【示例答案】{选中的样本答案}
## 待解决问题
【新问题】{你的网络安全具体问题}
## 输出要求
1. 推理链需覆盖3个核心维度:攻击/漏洞特征分析、与其他同类威胁的差异排除、结论依据;
2. 答案需明确具体,避免模糊表述;
3. 若为选择题,需先分析每个选项的合理性,再给出最终选择。
3. 选项洗牌集成模板(针对选择题场景)
若新问题为选择题,需执行多次选项洗牌并集成结果,以下为标准化流程模板:
(1)原始选择题示例
【新问题】某Web应用中,攻击者通过构造特殊请求,让服务器执行了非预期的系统命令(如`whoami`),该漏洞类型是?
原始选项:A. SQL注入 B. 命令注入 C. XSS D. CSRF
(2)多次洗牌预测(至少 3 次)
# 第1次洗牌(选项顺序:C、B、A、D)
请回答上述问题,先写推理链再选答案:
【推理链】{模型输出内容}
【答案】{模型选项}
# 第2次洗牌(选项顺序:D、A、B、C)
请回答上述问题,先写推理链再选答案:
【推理链】{模型输出内容}
【答案】{模型选项}
# 第3次洗牌(选项顺序:B、D、C、A)
请回答上述问题,先写推理链再选答案:
【推理链】{模型输出内容}
【答案】{模型选项}
(3)集成投票规则
# 投票统计
1. 统计3次预测的选项结果,取出现次数最多的选项为最终答案;
2. 若出现平局,对比3次推理链的逻辑完整性,选择推理最严谨的结果。
三、实际调用示例(SQL 注入变种问题)
输入提示(已匹配样本 3)
# 网络安全问题推理任务
请严格参考示例的推理逻辑,先输出详细思维链,再给出最终答案。
## 参考示例
【示例问题】某Web应用存在漏洞,攻击者可通过在URL中输入`' or 1=1--`获取数据库全部用户信息,该漏洞类型是?
【示例推理链】关键特征:利用SQL语法逻辑绕过验证,通过拼接恶意SQL语句读取数据库数据;排除XSS(针对前端页面,无数据库操作)、CSRF(伪造用户请求,无SQL注入特征)、缓冲区溢出(底层代码漏洞,非Web应用逻辑漏洞),因此判定为SQL注入漏洞。
【示例答案】SQL注入漏洞
## 待解决问题
【新问题】某电商网站登录接口,攻击者输入用户名`admin' #`、任意密码即可成功登录,该漏洞类型是?
## 输出要求
1. 推理链需覆盖3个核心维度:攻击/漏洞特征分析、与其他同类威胁的差异排除、结论依据;
2. 答案需明确具体,避免模糊表述;
3. 若为选择题,需先分析每个选项的合理性,再给出最终选择。
模型输出结果
【推理链】1. 特征分析:攻击者在用户名中注入了SQL注释符`#`,将后续密码验证的SQL语句注释掉,从而绕过登录验证,核心是利用SQL语法特性篡改查询逻辑;2. 差异排除:XSS攻击针对前端页面,无法直接绕过后端登录验证;CSRF是伪造用户已登录状态发起请求,无需注入特殊字符;命令注入是执行系统命令,而非操作数据库查询;3. 结论依据:该攻击完全符合SQL注入漏洞的核心特征------通过注入SQL特殊字符篡改查询逻辑,无权限访问系统。
【答案】SQL注入漏洞(属于身份认证绕过类的SQL注入变种)