RxQA — AI-Ready Wikipedia

Google Health 药物知识问答基准——Gemini 1.5 Flash 起草、8 名 board-certified 执业药师修订与五档难度评级,600 道四选一 MCQ(OpenFDA 300 开源 + BNF 300),高难度题 AMIE 准确率反超 21 名初级保健医生,Nature 正刊发表

来源 OpenFDA 结构化产品标签(美国药品说明书,SPL)+ BNF 英国国家处方集;Gemini 1.5 Flash 起草 → 闭卷过滤 → 每辖区抽 100 short + 200 long → 8 名 board-certified 执业药师(美英各 4)修订与五档难度评级发布时间: 2026-09-29最后更新: 2026-09-29 阅读 15
RxQA — AI-Ready Wikipedia

信息速览

数据集名称RxQA — AI-Ready Wikipedia
数据类型文本数据,标注数据,评测集
规模无真实患者数据(题面为药师改写的合成病例情境);600 题 = OpenFDA 300(美)+ BNF 300(英);开源半区实测长题干(>400 字符)198 道
接入方式OpenFDA 结构化产品标签(美国药品说明书,SPL)+ BNF 英国国家处方集;Gemini 1.5 Flash 起草 → 闭卷过滤 → 每辖区抽 100 short + 200 long → 8 名 board-certified 执业药师(美英各 4)修订与五档难度评级
AI 就绪度

INFOBOX — RxQA 一屏速览

维度 内容
本质 Google Health 出品的药物知识多选题(MCQ)评测基准——600 道四选一药物知识题,全部经 board-certified 执业药师修订与五档难度评级;不是药物知识库,也不是用药记录数据集
团队 Google DeepMind + Google Research 联合署名,20 作者;修订方为 8 名 board-certified 执业药师(美国 4 + 英国 4);对照方为 21 名美国初级保健医生(PCP)
论文 arXiv:2503.06074(v1 2025-03-08,62 页)→ Nature 655(8125): 1292-1299,DOI 10.1038/s41586-026-10764-5(在线 2026-06-17,期号 2026-07-30)
规模 600 题 = OpenFDA 300(美国药品说明书)+ BNF 300(英国国家处方集);每辖区 300 = 100 short + 200 long;开源仅 OpenFDA 300(BNF 半区未开放)
构建 Gemini 1.5 Flash 读取药品说明书起草 → 过滤(保留"闭卷即错"的题保证信息增量)→ 每辖区抽 100 short + 200 long → 药师修订改写 + 五档难度评级(Trivial/Easy/Medium/Hard/Impossible)
实测 开源 CSV 300 行:Trivial 49 / Easy 91 / Medium 69 / Hard 91(无 Impossible);题干 44-1216 字符(中位 589);答案位置 53/75/113/59(C 占 37.7%)
被评模型 首要为 AMIE(Articulate Medical Intelligence Explorer,Google 诊断对话 AI);高难度题与 21 名 PCP 双盲对照
核心发现 高难度 closed-book:AMIE 50.6% vs PCP 41.5%(p=0.013);高难度 open-book:AMIE 57.9% vs PCP 47.8%(p<0.001);但全集峰值仅 73.8%——药物知识问答远未饱和
评估设计 2×2 四格:closed-book(无检索)/ open-book(可查说明书)× 低难度(N=282)/ 高难度(N=318)
获取 github.com/Google-Health/rxqa;仓库 2025-10-30 才放出 OpenFDA 300 题(rxqa_openfda.csv,9 列 CSV)——论文先发、数据后置
许可 代码 Apache License 2.0|题目标注(CSV)CC-BY 4.0(双许可,不是单一 CC-BY)
库内互链 openfda(美国题源本体)、bnf 相关、rxnorm、drugbank、medicationqa、medquad、ehrxqa、emrqa、medmcqa、headqa

RxQA 是一个"让 AI 背下两本药典,再请药师出题"的评测工程:Google 的 Gemini 1.5 Flash 先通读美国 OpenFDA 结构化产品标签与英国 BNF 国家处方集,按统一模板起草药物知识多选题;随后 8 名 board-certified 执业药师(美国、英国各 4 名)逐题修订改写,并按五档量表给每道题评级;最终 600 道四选一题构成一个横跨美英两套药政体系的药物知识基准。它的评估结论相当克制——即便最强配置(AMIE 开卷可查说明书)在低难度题上也只拿到 73.8%,在最有信息量的高难度题上,AMIE 虽以 50.6%/57.9% 显著反超 21 名初级保健医生的 41.5%/47.8%,但距离"药物知识已解决"还非常远。

这个基准有三个不常见的做法,值得在下载之前先知道。其一,题目不是人写的,但题面是人改的:Gemini 起草保证规模化,药师修订保证药学正确性与难度真实性,管线里还有一个关键过滤步骤——只保留"闭卷答错、需要看说明书才答得对"的题,让每道题都携带信息增量。其二,双辖区设计:同一套协议在美国(OpenFDA)与英国(BNF)各跑一遍,考察模型跨药政体系的泛化,而不是只背一本说明书。其三,发布节奏是论文先走、数据后到:2025-03 论文挂 arXiv,2025-10-30 仓库才放出美国半区 300 题,英国半区因 BNF 许可至今未开放——因此"600 题"是论文口径,"300 题"才是你能下载的口径,本条目全程区分这两个数。

导语读法三则:

  1. 只想下数据:直奔 §5 获取与许可——双许可怎么引用、BNF 半区为什么没有、raw.githubusercontent.com 连不上时走哪条镜像路径,都在那里。
  2. 关心方法设计:直奔 §3 构建流水线——Gemini 起草、闭卷过滤、药师五档评级三步各自解决什么问题,以及为什么"模型参与出题"在这里不构成循环论证。
  3. 做模型评测:直奔 §6 评估结果与 §7 使用指南——2×2 四格协议、答案位置偏差的实测分布、以及"峰值 73.8%"对你的评测意味着什么。

§0 导读:这个数据集解决什么问题

药物是大模型在临床场景里最容易"一本正经地胡说"的地方。诊断问答已经有 MedQA(美国执业医师考试)、MedMCQA(印度医考)这样的大规模基准,模型分数一路涨到接近饱和;但"丙戊酸钠和哪个药合用需要监测血药浓度"这类问题考的不是医学推理,而是对药品说明书的精确记忆——剂量、禁忌、相互作用、特殊人群警示,一个数字记错就是用药错误。已有的药物问答数据集要么偏消费级(MedicationQA 收录的是患者在网上提的泛泛之问),要么规模太小,没有一个经药学专业人员逐题把关、难度分层、还能跨药政辖区比较的基准来回答"模型药物知识到底几斤几两"。

RxQA 的回答分三层。第一层是题源权威化:不自己编题,直接以官方药品说明书为唯一事实来源——美国侧用 OpenFDA 提供的结构化产品标签(SPL,即药厂提交给 FDA 的机器可读说明书),英国侧用 BNF(British National Formulary,英国国家处方集)。每道题的正确答案都必须能在说明书中找到原文依据,从根上避免"出题人自己想当然"。第二层是人机分工管线:Gemini 1.5 Flash 负责把几百页说明书浓缩成四选一的题干与选项(规模化、低成本),一个自动过滤步骤只保留"闭卷即错"的题——如果模型闭卷就能答对,这道题就没有区分度;随后 8 名 board-certified 执业药师逐题修订,修正药学表述、剔除歧义,并按 Trivial/Easy/Medium/Hard/Impossible 五档给每道题评级(质量与难度锚定)。第三层是双层评估协议:模型侧测 AMIE 的闭卷与开卷(可查说明书)两种模式,人类侧请 21 名美国初级保健医生在同样协议下作答,构成 2×2 的对照矩阵,把"模型多强"翻译成"相对一线医生多强"。

这个数据集还有一个方法论副产品:它给"AI 诊断能力"的叙事降了温。论文结果不是简单的"AI 超越医生",而是一个更精细的图景——在最需要药学知识的高难度题上,AMIE 确实显著优于 PCP(closed-book 50.6% vs 41.5%,open-book 57.9% vs 47.8%);但在低难度题上两者无显著差异,且双方在开卷低难度题上的最好成绩也只有 73.8% 与 67.4%。换句话说:模型在"记忆量"上赢了,但离"药物知识可靠"还差得远——任何把 RxQA 分数包装成"AI 药师已就绪"的说法,都读漏了这后半句。

§0 读法三则:

  1. 先记三个数:600(论文口径总题数)、300(开源可下载题数)、73.8%(全集最高准确率)——这三个数贯穿全条目,也是读任何第三方转载时的第一道辨伪题。
  2. 再记一条流水线:Gemini 起草 → 闭卷过滤 → 药师修订评级。往后所有"AI 生成数据集质量如何保证"的争论,都可以用这条三段式管线作为参照系。
  3. 最后记一句限定语:"RxQA 分数"永远要带上辖区(OpenFDA/BNF)、难度(低/高)与开卷与否三个限定词——不带限定词的分数没有可比性,这条规则在 §6 的四格表里会反复得到印证。

§1 十问十答:60 秒了解 RxQA

Q1:RxQA 到底是什么?
一个药物知识多选题(MCQ)评测基准,600 道四选一题,每道题有一个唯一正确答案和一个药师评定的难度档。它用于评测大语言模型的药物知识水平,也可以作为检索增强、长上下文阅读等能力的标准化考场。它不包含任何真实患者数据——长题干里出现的"患者"都是药师改写时虚构的病例情境。

Q2:600 和 300,到底哪个是它的规模?
两个都对,口径不同。论文口径 600 题 = 美国 OpenFDA 300 + 英国 BNF 300;GitHub 仓库 2025-10-30 起只放出了美国半区 rxqa_openfda.csv(300 题),英国半区因 BNF 内容许可限制未开放。你在 Hugging Face 或别处见到的任何"RxQA 完整版"“RxQA-2K”"RxQA-10K"都不是官方的——官方全部家当就是这 300 道开源题加一篇论文(详见 §8 坑点 1 与坑点 2)。

Q3:题目是人工写的还是 AI 写的?
起草是 AI(Gemini 1.5 Flash 读说明书出题),定稿是人(8 名 board-certified 执业药师逐题修订改写并评难度)。这条"机器起草 + 专家修订"的混合管线是 RxQA 最重要的方法贡献之一:没有前者,600 题的成本会高到做不完;没有后者,AI 起草题的药学正确性没人背书。中间还有一个自动过滤步骤:只保留"闭卷答错、开卷(看说明书)才答得对"的题,保证每道题都考到说明书里才有的事实。

Q4:五档难度(Trivial/Easy/Medium/Hard/Impossible)怎么用?
药师给每道题评级后,论文把 Trivial+Easy 合并为"低难度"(600 题口径 N=282),Medium/Hard/Impossible 合并为"高难度"(N=318)。注意一个实测差异:开源的 300 道美国题里 Hard 91 道、但 Impossible 一道都没有(Trivial 49 / Easy 91 / Medium 69),所以你自己复算低/高难度切分时,结果会与论文的 282/318 对不上——这不是 bug,是口径差(详见 §8 坑点 4)。

Q5:AMIE 赢了医生,是真的吗?
部分是真的,且赢得很具体:高难度题上 AMIE 显著优于 21 名美国 PCP(closed-book 50.6% vs 41.5%,p=0.013;open-book 57.9% vs 47.8%,p<0.001)。但低难度题上两组无显著差异,全集最高分也只有 73.8%(AMIE,低难度 open-book)。正确的读法是"高难度药物知识题上模型记忆量占优、但整体远未饱和",而不是"AI 药师超越人类"。

Q6:开卷和闭卷有什么区别,为什么都要测?
闭卷(closed-book)凭模型参数里的记忆直接答题;开卷(open-book)允许把对应药品的说明书放进上下文再答。开卷考的是"从长文档里找答案"的检索-阅读能力,闭卷考的是"药典记没记住"。低难度题开卷提升最明显(AMIE 52.8%→73.8%),高难度题开卷提升有限(50.6%→57.9%)——说明最难的那部分题,光给说明书也未必答得对,考的已经是多步药学推理。

Q7:为什么美英两个辖区?
因为"同一成分、同一适应证的药"在美英两套药政体系下说明书内容并不一致,商品名、剂量规范、警示语都可能不同。RxQA 用同一套构建协议在 OpenFDA(美)与 BNF(英)各造半区,可以考察模型药物知识是否随药政辖区泛化,而不是只背了美国说明书。对非美国团队这也是个提醒:你的模型在美国题上的分数,不能外推到你自己国家的药品体系。

Q8:许可是什么?能商用吗?
双许可:仓库代码 Apache License 2.0,题目标注数据(CSV)CC-BY 4.0——署名即可商用,这不是 GFDL 也不是仅供研究。但注意边界:CC-BY 4.0 覆盖的是放出来的 300 道题的标注文件,BNF 半区没有数据可谈许可;另外题目内容源自 OpenFDA(美国政府作品)与 BNF(英国皇家药学会版权物),衍生使用 BNF 语义内容时许可环境更复杂(详见 §5)。

Q9:和库内其他 QA 数据集(MedicationQA、MedQuAD、EHRXQA)什么关系?
同为医学问答,但考场不同:MedicationQA(170)与 MedQuAD(160)收的是消费者真实提问,答案自由文本、无唯一标准答案;EHRXQA(646)考的是从结构化 EHR 数据库里查数;RxQA 考的是药品说明书知识的精确记忆与推理。三者可以拼成一个"患者问题→病历数据→药品知识"的评测谱系。名字上要当心的近邻是 EHRXQA 和 emrQA——都带 xqa/emrqa 字样,但与 RxQA 是完全不同的团队和考点(详见 §8 坑点 3)。

Q10:用 RxQA 评测自己的模型,最小成本路径是什么?
下载 rxqa_openfda.csv(300 题,9 列,含 q_id/question/A/B/C/D/correct/correct_idx/pharmacist_rated_difficulty),拼 prompt 后让模型四选一,按 correct_idx 打分即可起步。但要过三关:报告分数时注明辖区与难度口径(低难度建议按 CSV 的 Trivial+Easy 实测口径并声明与论文 282/318 的差异)、做位置偏差敏感性检验(correct_idx 分布 53/75/113/59 不均匀)、以及如果你对标论文数字,必须复刻"闭卷/开卷 + 按题检索对应说明书"的协议,而不是笼统地把所有说明书都塞进上下文(详见 §7)。

§2 数据构成:600 题怎么组成的

2.1 总体结构:2×2×N 的矩阵

RxQA 的总体结构可以用三个维度描述。第一维是辖区:美国(OpenFDA 结构化产品标签)与英国(BNF 国家处方集)各半,各 300 题。第二维是题型:每辖区内 short(short-form)100 题 + long(long-form)200 题。第三维是难度:药师五档评级 Trivial/Easy/Medium/Hard/Impossible,论文按 Trivial+Easy=低难度(N=282)、Medium+Hard+Impossible=高难度(N=318)做二分。三个维度组合出的完整矩阵是:

维度 取值 论文口径数量 开源可得
辖区 美国 OpenFDA 300 是(rxqa_openfda.csv)
辖区 英国 BNF 300 否(许可限制未开放)
题型 short(每辖区) 100 美国半区是
题型 long(每辖区) 200 美国半区是
难度 低(Trivial+Easy) 282(600 题口径) 美国半区实测 140(49+91)
难度 高(Medium/Hard/Impossible) 318(600 题口径) 美国半区实测 160(69+91+0)

美国半区的 short 与 long 各自内部的难度分布,官方未按 2×3 细分公开——开源 CSV 只有整体难度列。这意味着如果你要构造"美国 long + 高难度"这样的精细子集,可以直接从 CSV 过滤,但构造"论文里那个 N"的精确对应子集做不到,因为论文的 282/318 是 600 题全集口径。

2.2 CSV 逐列说明:rxqa_openfda.csv 的 9 列

开源文件是单文件 CSV,无 train/test 切分(评测协议由使用者自行决定,论文的做法是全集测 AMIE 与 PCP)。9 列如下:

列名 类型 含义 实测备注
q_id int 题目唯一标识 0-299,连续无缺口
question str 题干 44-1216 字符,中位 589
A str 选项 A 选项为药品名、处置或数值的文本
B str 选项 B 同上
C str 选项 C 同上
D str 选项 D 同上
correct str 正确选项字母 A/B/C/D 之一
correct_idx int 正确选项下标(0 起) 0→53 / 1→75 / 2→113 / 3→59
pharmacist_rated_difficulty str 药师五档评级 Trivial 49 / Easy 91 / Medium 69 / Hard 91(无 Impossible)

两点提示。第一,correct 与 correct_idx 冗余但都有用:前者人读友好,后者程序友好,做位置偏差分析时直接 groupby correct_idx 就能发现 C 选项占 113/300 = 37.7% 的偏置。第二,没有药品名列——题目涉及的药品嵌在题干文本里,如果你的分析需要按药品聚合,需要自己抽实体(或用 RxNorm 做归一化,参见库内 rxnorm 条目)。

2.3 难度分布实测:开源半区的四档图景

对 rxqa_openfda.csv 的 300 行做难度列统计,结果与论文五档口径的对照:

开源实测(300 题)              论文口径(600 题)
Trivial   49  (16.3%)           ┐
Easy      91  (30.3%)           ┴→ 低难度 N=282(46.9%,含 BNF 半区)
Medium    69  (23.0%)           ┐
Hard      91  (30.3%)           ├→ 高难度 N=318(53.0%,含 BNF 半区)
Impossible 0  ( 0.0%)           ┘

三个观察。其一,Impossible 档在开源半区为零——要么美国半区恰好没有 Impossible 题,要么药师在美国题上没有评出 Impossible;无论哪种,你无法从开源数据复现"含 Impossible 的高难度"这一论文口径。其二,Easy 与 Hard 并列最多(各 91),Trivial 比 Easy 少近一半,说明药师评级并不集中于送分题。其三,用 CSV 实测口径切低/高难度得 140/160,与论文 282/318 的 46.9%/53.0% 比例(140/300=46.7%,160/300=53.3%)接近但不相同——比例接近说明两半区难度结构大体相似,但绝不可以用"乘以二"把实测数换算成论文数。

2.4 答案位置分布:37.7% 的 C

correct_idx 的实测分布:

idx 0 (A):  53 题(17.7%)
idx 1 (B):  75 题(25.0%)
idx 2 (C): 113 题(37.7%)
idx 3 (D):  59 题(19.7%)

均匀分布应为各 25%,C 超出 12.7 个百分点。这个偏置来自管线本身:Gemini 起草时正确答案在选项序列中的位置不是随机的,药师修订改写时也没有做位置随机化重排。对使用者的含义:如果你的评测模型有任何位置先验(选项 C 偏向"更长/更具体/更安全"的答案),RxQA 分数会被这个先验污染。稳妥做法是跑一次位置打乱对照——把每题的四个选项随机重排、同步改 correct_idx,再测一遍;两次分数差就是模型位置先验的强度(详见 §8 坑点 6)。

2.5 题干长度:short 与 long 的实测边界

题干字符长度(含空格)实测:最短 44、中位 589、最长 1216;长度大于 400 字符的题 198 道。这个分布与论文"每辖区 100 short + 200 long"的抽样设计吻合:198 ≈ 200,说明 short/long 之分在文本上就是"短直问 vs 嵌入患者情境的长题干"两簇。抽样验证的样例:q_id=0 的题干是「Which of the following should be avoided when administering TOUJEO Max?」——典型 short 型直问,四选项,correct_idx=1(Diluting the solution),Easy 档。而 400 字符以上的 long 型题干通常先给一段患者情境(年龄、合并症、当前用药清单),再问处置或剂量调整,答案必须结合情境中的用药史才能选出。

对长上下文研究的含义:200 道 long 题天然构成一个"多轮文档阅读"子集——如果做开卷评测,long 题要求模型在整份(可能上千 token 的)说明书中定位与情境相关的段落,这正是检索增强与长上下文能力考场的用武之地。

2.6 BNF 半区:存在但拿不到

英国半区 300 题的存在证据链完整:论文表格披露了 BNF 半区的全部结果数字、构建协议对两半区对称(各 8 名药师中的一半、各 100 short + 200 long)、arXiv 全文 62 页中构建章节明确描述双辖区流程。但 GitHub 仓库只有 rxqa_openfda.csv 一个数据文件——BNF 题面从未放出。原因不是技术而是许可:BNF 内容版权归英国皇家药学学会(RPS)体系,把基于 BNF 内容生成的题目公开发布需要内容方授权,这一步没有走通。后果:BNF 半区的任何结果数字都无法第三方复算,只能作为论文自报数据引用(详见 §8 坑点 2 与 §9 FAQ 12)。

§3 构建流水线:从说明书到药师定稿

3.1 管线总览:五步走

RxQA 的构建是一条五段流水线,每一步解决一个明确的质量问题:

① 题源入库          ② AI 起草            ③ 闭卷过滤           ④ 分层抽样           ⑤ 药师修订
OpenFDA SPL ──────→ Gemini 1.5 Flash ──→ 只保留"闭卷即错" ──→ 每辖区 100 short ──→ 8 名药师改写
BNF 处方集           读说明书出 MCQ        的题(信息增量)      + 200 long           + 五档难度评级

设计哲学一句话:机器负责规模与一致性,人负责正确性与难度锚定,过滤器负责让每一道题都值得问。以下逐步展开。

3.2 第一步:题源——为什么选 OpenFDA 与 BNF

选题源是整个基准的地基。RxQA 的两条硬要求是"答案必须可溯源"与"覆盖真实用药知识面",OpenFDA 与 BNF 分别满足:

  • OpenFDA(美国):FDA 的官方开放数据平台,提供药品结构化产品标签(Structured Product Label, SPL)——药厂提交的机器可读说明书,包含适应证、剂量、禁忌、警告、药物相互作用、特殊人群用药等全部权威字段。美国半区的每道题都能回溯到某个 SPL 文档的某个段落。OpenFDA 本身是公开 API(库内 openfda 条目 rid 420),题源合规成本为零。
  • BNF(英国):British National Formulary,英国国家处方集,由英国医学界权威机构维护的处方参考书,是英国临床用药的实际标准。BNF 的组织方式与 SPL 不同(按药物类别与临床场景组织,非整份标签),这使两个半区天然考察"同一药学知识在不同文档体裁中的表述"。

双辖区设计的深层动机是泛化检验:一个模型如果只在美国说明书语料上预训练,BNF 半区分数应当下降——这个落差本身就是有价值的测量。论文将两半区视为平行考场而非合并考卷,报告分数时始终分辖区。

3.3 第二步:Gemini 1.5 Flash 起草——规模化的代价与控制

起草环节用 Gemini 1.5 Flash 而非更大的模型,是成本与规模的权衡:每个药品标签要出约 5 道 short 题(外加病例化的 long 题),双辖区合计覆盖大量药品,用旗舰模型成本不可控。Flash 级模型的起草质量风险——药学表述错误、选项歧义、答案不唯一——正是后续药师修订环节存在的理由。

起草阶段的控制手段有二。其一,题面锚定说明书:提示词要求题干与正确答案必须能在输入的说明书中找到直接依据,杜绝模型用参数记忆"编"出说明书里没有的事实。其二,格式收敛:输出强制四选一 MCQ 结构(题干 + 四选项 + 正确答案标记),保证下游管线可解析。这一步不做质量控制——所有 AI 原始题进入过滤环节再筛。

3.4 第三步:闭卷过滤——“这道题凭什么值得考”

流水线中最容易被忽视、却最影响基准性质的一步:把 Gemini 1.5 Flash 自己作为受试模型做闭卷测试,只保留闭卷答错的题。逻辑是:如果模型不看说明书就能答对,这道题考的是常识而非说明书知识,放进基准不产生信息增量;反过来,"闭卷即错、开卷(读说明书)才对"的题,才真正测量"文档知识 → 答案"的映射能力。

这个过滤器给 RxQA 带来一个必须理解的性质:它是按"当时那个模型的盲区"筛出来的考场。题目分布偏向 LLM 集体记忆薄弱的药学细节——剂量数字、相互作用组合、特殊人群禁忌。这意味着:其一,RxQA 分数比 MedQA 类考试基准更难看是设计使然,不是模型退步;其二,随着模型药学记忆增强,基准的"闭卷即错"前提会逐渐失效,后人复用该过滤逻辑时应当用当时的模型重筛(详见 §8 坑点 5 的引申讨论)。

3.5 第四步:分层抽样——100 short + 200 long 的定盘

过滤后的题池按两个维度分层抽样:辖区(美/英)× 题型(short/long),每辖区抽 100 short + 200 long。1:2 的比例不是随意的——long 题嵌入患者情境(年龄、合并症、用药史)再问处置,更接近真实临床决策的形态,也更考验"在上下文中应用药学知识"而非单纯背诵,因此权重给高。抽样在这一步同时冻结了规模:600 题 = (100+200) × 2。此后的药师修订不改规模、只改质量。

3.6 第五步:药师修订与评级——8 个人怎么把关 600 道题

修订环节由 8 名 board-certified 执业药师承担,美国、英国各 4 名,分别负责本辖区题组——辖区对应不是随意的:美国药师熟悉 SPL 话语体系与商品名,英国药师熟悉 BNF 体系,只有辖区内的专家才能判断题面表述是否符合当地临床习惯。药师对每道题做两件事:

  1. 修订改写:修正药学不准确处、消除选项歧义、统一术语(商品名/通用名的使用规范)、剔除答案不唯一的题。修订后的题面与 AI 原稿的差异本身没有公开数据,但"修订"而非"复核放行"的定位说明 AI 原稿不可直接使用。
  2. 五档难度评级:Trivial(药学院一年级常识)/ Easy(基础药学知识)/ Medium(需要细节记忆)/ Hard(需要多步推理或冷门知识)/ Impossible(极冷门或近乎不可答)。评级为多药师独立判断后的综合,具体一致性系数(如 kappa)论文口径未在核验中确认,引用时不要自行脑补数字。

评级的用途在评估环节兑现:低/高难度二分(Trivial+Easy vs 其余)支撑 2×2 评估矩阵(详见 §6)。至此,一道 RxQA 题的完整生命史是:说明书段落 → Gemini 起草 → 闭卷过滤幸存 → 分层抽样入选 → 药师改写定稿 → 五档评级入册。

3.7 "AI 出题"的循环论证疑虑:为什么不成立

用 LLM 出题再考 LLM,直觉上像"考生自己出卷"。RxQA 的设计回答了这个质疑,机制有三。第一,事实锚定在人这边:题的正确答案必须可溯源到官方说明书,药师(而非 AI)是事实性的最终担保人——AI 只是压缩与格式化的工具。第二,过滤方向相反:闭卷过滤专门保留"AI 答不对"的题,方向上是反循环的——出题模型的盲区成了考点,而不是出题模型的知识成了考点。第三,评估对象的能力维度不同:被评模型面对的是"给定说明书,能否正确作答"的开卷推理任务,与"能否生成合格 MCQ"的起草任务几乎正交。当然,这套辩护有边界:过滤用的 Gemini 版本固化于 2025 年,如果今天用更强的模型重筛,题池会变——这就是为什么引用 RxQA 时应当注明其过滤纪元(详见 §9 FAQ 20)。

§4 论文与时间线:从 preprint 到正刊的 15 个月

4.1 两个引用坐标:arXiv 与 Nature

RxQA 的学术身份有两个坐标,引用时必须分清:

  • preprint:arXiv:2503.06074,v1 提交于 2025-03-08,20 位作者,正文 62 页。这是最早可引用版本,包含完整的构建协议、评估结果与附录。
  • 正式发表:Nature 第 655 卷第 8125 期,1292-1299 页,DOI 10.1038/s41586-026-10764-5;在线发表 2026-06-17,期号日期 2026-07-30。

从 preprint 到正刊在线相隔约 15 个月——这个时间差本身就是一个引用陷阱:2025-2026 年间大量论文与博客引用的是 arXiv 版,2026 年中以后新文献则应引 Nature 版。两条引用规范:如果你的结论依赖于评估数字,优先引 Nature 版(经过同行评审);如果讨论的是构建管线的工程细节(62 页附录里的内容未必全部保留在正刊),引 arXiv 版并注明版本号。

4.2 时间线全景:四个关键日期

2025-03-08  arXiv v1 提交(20 作者,62 页)——论文先行,仓库此时只有代码与论文链接
    │
    │  (约 7 个月:仓库里没有题面,只有评测代码框架)
    │
2025-10-30  仓库最后提交「Add RxQA OpenFDA questions and license」
    │        ——OpenFDA 300 题 CSV 与许可文件此时才放出
    │
2026-06-17  Nature 在线发表(DOI 10.1038/s41586-026-10764-5)
    │
2026-07-30  Nature 期号日期 655(8125) 正式出刊,1292-1299 页

注意 2025-03 至 2025-10 这 7 个月的空窗:论文已经发表、媒体与博客已经开始转述"600 道药师题",但 GitHub 上并没有数据。这段时间任何声称"下载了 RxQA 数据"的第三方项目,要么拿到的是非官方整理稿,要么根本没拿到题面——这是本条目专设一个坑点的原因(§8 坑点 1)。

4.3 双口径存照:600 vs 300 vs “RxQA-2K”

规模数字在传播链路中发生了三次变形,逐一定性:

口径 数值 来源与定性
论文口径 600 题 官方总数(OpenFDA 300 + BNF 300),正确,但不可整体下载
仓库口径 300 题 rxqa_openfda.csv 实测 300 行,正确,是可下载全集
“RxQA-2K / RxQA-10K” 2000/10000 题 不存在——三轮独立核验(全网搜索、arXiv 全文、GitHub 仓库)零命中,属臆造或误记,证伪存照

核验细节存档:核验员 brief 曾提示"需核实 RxQA-2K/RxQA-10K 版本",本条目成稿前的三轮检索(WebSearch 全网、arXiv:2503.06074 全文 20 处 RxQA 上下文逐一核对、GitHub README 与仓库文件树)均未发现任何 2K/10K 版本痕迹,故判定为臆造名。你在任何数据集导航站看到带这类后缀的"RxQA",都应按非官方衍生或纯错误处理。

4.4 仓库动态:数据后置的传播学后果

github.com/Google-Health/rxqa 仓库的最后一次实质提交是 2025-10-30 的「Add RxQA OpenFDA questions and license」——在此之前仓库只有评测相关代码与论文链接。这个发布顺序(论文 → 7 个月空窗 → 数据)造成三重后果:

  1. 引用滞后:2025 年 3-10 月间引用 RxQA 的文献都在描述一个"读不到的数据集",部分二手转述因此自行想象了规模或构成。
  2. 衍生污染:空窗期内不排除有人按论文描述自行重建题面并发布,这类"复刻版"与官方 CSV 无一题一题的对应保证,检索 RxQA 时务必核对来源 URL 是否为 Google-Health 组织。
  3. 半区缺席常态化:数据放出时也只有美国半区,BNF 半区至今未发布——"600 题"作为传播数字长期超前于"300 题"的可得现实。

4.5 后续生命:AI co-clinician 方向的复用

RxQA 发布后,Google DeepMind 在其「AI co-clinician」(AI 协同临床医生)方向的公开材料中,用 RxQA 的 OpenFDA 子集以 open-ended(开放式问答)形式复评了前沿模型——注意这与原论文的 MCQ 协议不同:开放式作答没有四选一的选项锚定,考察的是模型生成正确药物答案的能力,分数与 MCQ 口径不可直接比较。这提示 RxQA 的题型可扩展性:CSV 里的题干与 correct 答案可以脱离选项独立使用,衍生出 open-ended、multi-turn 追问等评测形态——但引用这些衍生结果时必须注明协议改写,否则会把不同口径的分数画在同一张图里(库内 medcalc-bench 条目 rid 708 的"开放式医学计算评测"可作同类参照)。

§5 许可证与获取:双许可、半区缺席与镜像路径

5.1 双许可结构:代码与数据分开许可

仓库采用双许可,这是 Google Health 系数据仓库的常见做法:

  • 代码:Apache License 2.0——评测与加载脚本、协议代码。Apache 2.0 附带专利授权条款,商用友好,修改需保留 NOTICE。
  • 题目标注(CSV):CC-BY 4.0——rxqa_openfda.csv 及其内容。署名(注明 RxQA 论文与仓库)后即可复制、分发、商用、改造,无"仅限研究"限制。

一个常见的许可误记需要纠正:部分二手资料把 RxQA 的许可笼统写作"CC-BY",这至少遗漏了代码侧的 Apache 2.0;更严谨的写法是"代码 Apache 2.0 + 标注 CC-BY 4.0 双许可"。另外注意许可边界:CC-BY 4.0 覆盖的是放出来的 300 道题的标注文件,它不覆盖(也无从覆盖)BNF 半区——后者根本没有发布物。

5.2 上游内容的许可暗礁:OpenFDA 与 BNF 不是一回事

题目源自两个上游文档,两者的再利用环境截然不同:

  • OpenFDA/SPL(美国):SPL 是药厂提交给 FDA 的监管文件,美国政府作品属性 + 公开数据平台的定位使其再利用风险低——这也是美国半区能以 CC-BY 4.0 放出的现实基础。
  • BNF(英国):BNF 内容版权归英国皇家药学学会(RPS)体系所有,属商业出版物。RxQA 论文可以用它做研究并披露结果数字,但把基于 BNF 内容生成的题目公开发布需要内容方授权,这一步没有走通——这就是 BNF 半区缺席的直接原因。

对使用者的操作含义:你可以放心商用/改造 OpenFDA 300 题(遵守 CC-BY 4.0 署名即可);但如果你计划基于 BNF 论文数字或 BNF 题面风格自建英国半区,需自行评估 RPS 内容授权,RxQA 的许可不为你背书。

5.3 获取路径实测:主路径与镜像

实测环境下的下载路径存档:

主路径(github.com/Google-Health/rxqa 仓库内数据文件):

git clone https://github.com/Google-Health/rxqa.git
# 数据文件位于仓库根目录:rxqa_openfda.csv(300 行数据 + 表头)

镜像路径(当 raw.githubusercontent.com 不可达时)。实测中直连 raw.githubusercontent.com 出现 SSL 握手失败(curl exit 35),此时可走 jsDelivr 的 GitHub 镜像,实测成功:

curl -L "https://cdn.jsdelivr.net/gh/Google-Health/rxqa@main/rxqa_openfda.csv" -o rxqa_openfda.csv
# jsDelivr 镜像对 @main 分支有缓存(最长 12 小时),对固定 tag/release 更稳

镜像可用性存照:核验时点 jsDelivr 路径返回完整 CSV,内容与仓库一致;但 jsDelivr 是第三方 CDN,生产环境的评测流水线应以 GitHub 仓库 hash 校验为准,镜像仅作可达性兜底。

5.4 下载后的第一次体检:拿到数据先做四件事

无论从哪条路径拿到 CSV,建议先跑一遍四步体检,确认你拿到的是真身:

  1. 数行数:300 行数据 + 1 表头 = 301 行。不是 300 就是错的(多半是论文口径 600 的幻想版或半成品复刻)。
  2. 数列数:9 列(q_id, question, A, B, C, D, correct, correct_idx, pharmacist_rated_difficulty)。列名对不上说明是他人转制版。
  3. 验难度档:pharmacist_rated_difficulty 列应只有 Trivial/Easy/Medium/Hard 四个取值(Impossible 为 0)。出现第五个取值或分布显著偏离 49/91/69/91,警惕版本污染。
  4. 验答案分布:correct_idx 应为 53/75/113/59。这是比行数更强的指纹——复刻版很难精确复现这个非均匀分布。

四步体检的原理与更多辨伪特征,见 §8 坑点清单与 §9 FAQ 6。

§6 评估结果:2×2 四格里的真实差距

6.1 实验设计:谁、在什么条件下、答什么

论文的评估是一个 2×2 矩阵:

  • 受试方:AMIE(Articulate Medical Intelligence Explorer,Google 的诊断对话 AI,RxQA 论文的首要被评模型)与 21 名美国 primary care physicians(PCP,初级保健医生)。
  • 条件一:开卷与否。closed-book(闭卷)——不给任何检索材料,凭模型参数记忆/医生记忆作答;open-book(开卷)——允许查阅对应药品的说明书(模型侧将说明书置入上下文,医生侧提供文档)。
  • 条件二:难度分层。低难度(Trivial+Easy,600 题口径 N=282)与高难度(Medium/Hard/Impossible,N=318)。

人类对照的选择逻辑:PCP 是药物知识的第一线使用者但非专科药师——考他们的意义在于校准"模型达到什么水平"的参照系(相当于"比基层医生强还是弱"),而不是宣称模型可替代临床药师。样本量 21 名医生的统计功效有限,解读 p 值时应记得这一点。

6.2 四格结果表:全部数字与显著性

条件 AMIE PCP(n=21) 差值 p 值 结论
高难度 closed-book 50.6% 41.5% +9.1 p=0.013 AMIE 显著高
高难度 open-book 57.9% 47.8% +10.1 p<0.001 AMIE 显著高
低难度 closed-book 52.8% 46.5% +6.3 p=0.147 无显著差异
低难度 open-book 73.8% 67.4% +6.4 p=0.071 无显著差异(AMIE 全集最高分)

(以上为 600 题论文口径,含未开放的 BNF 半区。)

6.3 怎么读这四格:三个递进的结论

第一读:模型的赢面集中在高难度题。 两格显著差异都出现在高难度(p=0.013 与 p<0.001),两格无差异都在低难度。直觉解释:低难度题(说明书常识)PCP 与模型都掌握得差不多,天花板效应压平了差距;高难度题(细节记忆与多步推理)暴露出 PCP 记忆的边界,而模型对"说明书级细节"的逐字记忆占优。这与闭卷过滤的设计一脉相承——题目本来就是按"模型闭卷即错"筛的,但在高难度上模型开卷后的提升超过了 PCP。

第二读:开卷帮助有限,高难度题考的不是查找。 低难度题开卷提升显著(AMIE 52.8%→73.8%,+21 个百分点)——找到说明书段落就能答对;高难度题开卷提升只有 7.3 个百分点(50.6%→57.9%)——把说明书放进上下文,模型依然答错四成以上。高难度题的瓶颈不是检索,而是把情境(合并症、联用药物)与说明书知识做组合推理。这对"上 RAG 就能解决医疗问答"的乐观叙事是一个直接的量化反例。

第三读:天花板远未到。 全集最高分 73.8%(AMIE,低难度 open-book),高难度 open-book 最高 57.9%——对照 MedQA、MedMCQA(库内 rid 111)等考试型基准上前沿模型动辄 85%+ 的饱和景象,RxQA 用药师评级难度证明:药物知识问答在 2025-2026 年的模型上仍然是一个未饱和考场。任何团队报告"我们的医疗模型药物知识接近满分",都应先检查其评测题是否来自这套药师过滤协议(详见 §8 坑点 8)。

6.4 人类侧的数字怎么用:参照系而非及格线

PCP 的四格数字(41.5/47.8/46.5/67.4)最常见的误用是当成"人类及格线"。正确的用法有二。其一,作为模型分数的情境化锚点:“AMIE 高难度 open-book 57.9%,比受试的 21 名 PCP 高 10 个百分点,但仍只有六成准确率”——这句话同时传达了相对优势与绝对不足,比单报任一数字诚实。其二,作为评估设计的模板:LLM vs 目标用户群体的双盲同题对照,是可以被其他垂直领域基准直接复用的实验设计(库内 medcalc-bench 也采用了类似的"模型 vs 临床人员"对照结构)。

同时记住三个限定:n=21 统计功效有限;PCP 非药师,不能外推为"模型超越药师";受试医生是美国执业者,其药物知识结构绑定美国药政体系。

6.5 BNF 半区的结果:数字在论文里,题面不在你手里

论文对 BNF 半区同样披露了分格结果,且两半区结论方向一致(AMIE 高难度显著占优、整体未饱和)。但由于题面未开放,BNF 数字具备两个特殊属性:不可复算(无法用题目重跑打分)与不可对比(第三方模型分数只能在美国半区与论文数字同台)。操作建议:把 BNF 结果作为"论文自报数据"引用并明确标注"题面未公开";做跨模型横向比较时只用 OpenFDA 300 题自制结果。这也是 §7 复现指南只覆盖美国半区的原因。

§7 使用指南与复现:从 CSV 到一份诚实的评测报告

7.1 最小可用评测:30 行以内的起步脚本

以下脚本演示加载 CSV 与四选一打分的最小骨架(模型调用部分留接口,不绑定具体厂商):

import csv
from collections import Counter

# 1) 加载(下载方式见 §5.3;体检四步见 §5.4)
with open("rxqa_openfda.csv", encoding="utf-8") as f:
    rows = list(csv.DictReader(f))

assert len(rows) == 300, f"行数异常: {len(rows)}(应为 300)"
assert Counter(r["pharmacist_rated_difficulty"] for r in rows) == {
    "Trivial": 49, "Easy": 91, "Medium": 69, "Hard": 91,
}, "难度分布异常,疑似非官方版本"

# 2) 按难度分层
easy = [r for r in rows if r["pharmacist_rated_difficulty"] in ("Trivial", "Easy")]
hard = [r for r in rows if r["pharmacist_rated_difficulty"] in ("Medium", "Hard")]
print(f"低难度 {len(easy)} / 高难度 {len(hard)}(CSV 实测口径)")

# 3) 四选一打分(示意:predict(model, question, options) -> 0..3)
def run(split):
    hits = 0
    for r in split:
        opts = [r["A"], r["B"], r["C"], r["D"]]
        pred = predict(model, r["question"], opts)   # 你的模型接口
        hits += int(pred == int(r["correct_idx"]))
    return hits / len(split)

print(f"easy: {run(easy):.3f}  hard: {run(hard):.3f}")

这段骨架刻意暴露了两个口径决策点:难度切分用 CSV 实测口径(140/160),与论文 282/318 不同——报告分数时必须写明用的是哪个口径(§8 坑点 4)。

7.2 闭卷/开卷协议:与论文数字可比的正确姿势

想与论文四格数字对话,协议必须对齐三点:

  1. 闭卷:prompt 里只放题干与四选项,禁止任何检索、工具调用或说明书片段——包括系统提示词里"顺手"附上的药学知识。
  2. 开卷:为每道题检索该题对应药品的说明书并置入上下文。RxQA 题面不含药品 ID,你需要从题干抽实体(可借助 RxNorm,库内 rid 578)映射到 SPL 文档;不要图省事把整包说明书塞给模型——那改变了任务性质(从"定位阅读"变成"大海捞针",且成本不可控)。
  3. 输出约束:强制模型输出 A/B/C/D 单字母,解析失败按错计并报告失败率——解析失败率本身是长上下文开卷评测的重要信号。

7.3 位置偏差敏感性检验:一次必须跑的对照

correct_idx 实测分布 53/75/113/59(C 占 37.7%),任何模型如果对选项位置有先验(例如倾向选更长或更具体的选项),分数会被污染。标准检验:

import random

def shuffle_options(r, rng):
    order = list(range(4)); rng.shuffle(order)
    opts = [r[c] for c in "ABCD"]
    new_opts = [opts[i] for i in order]
    new_idx = order.index(int(r["correct_idx"]))
    return {**r, "A": new_opts[0], "B": new_opts[1],
            "C": new_opts[2], "D": new_opts[3], "correct_idx": str(new_idx)}

rng = random.Random(42)          # 固定种子保证可复现
shuffled = [shuffle_options(r, rng) for r in rows]

对原版与打乱版各跑一遍:两次分数的差即模型位置先验强度;同时打乱版的分数更接近去偏后的真实药物知识水平,正式报告建议两者都给。这个检验在所有 MCQ 基准上都是好习惯,但在 correct_idx 非均匀的 RxQA 上是必做题(§8 坑点 6)。

7.4 衍生协议:open-ended 与组合评测

CSV 的题干与 correct 答案可以脱离选项使用,衍生两类协议(Google 后续的 AI co-clinician 材料即采用 open-ended 形式):

  • open-ended:不给选项,要求模型直接生成答案,用精确/语义匹配判分。判分标准要在报告里写死——宽松匹配会虚高 5-10 个百分点的量级并不罕见。
  • 组合评测:把 RxQA 与病历侧 QA 拼成管线评测(先从 EHRXQA/emrQA 类数据定位患者用药史,再答 RxQA 药物知识题),逼近真实临床决策链。组合评测的分数不能与单步评测混报。

7.5 报告清单:一张表说清你的评测

发布 RxQA 结果时,建议在报告里固定披露以下八项,缺一项就多一分被质疑"协议不透明"的风险:

# 披露项 参照
1 数据版本(仓库 commit hash / 下载日期) §4.4,2025-10-30 后的 main
2 半区与题数(应写明 OpenFDA 300) §8 坑点 2
3 难度口径(CSV 实测 140/160 或自定义切分) §8 坑点 4
4 闭卷/开卷协议(开卷的检索方式与上下文构成) §7.2
5 位置偏差检验结果(原版 vs 打乱版) §7.3
6 输出解析失败率 §7.2
7 统计检验(对标论文四格时给出显著性方法) §6.2
8 声明与药师评级协议的关系(原始五档如何二分) §3.6

§8 坑点清单:九个最容易踩的坑

以下坑点按"踩坑人数 × 后果严重度"排序编号,每条给出辨伪方法。这些坑全部来自本条目成稿前的实际核验过程,不是理论推演。

坑点 1|"RxQA-2K / RxQA-10K"不存在——臆造版本名

核验 brief 曾要求"核实 RxQA-2K/RxQA-10K 版本",三轮独立检索(全网搜索、arXiv:2503.06074 全文 20 处 RxQA 上下文逐条核对、GitHub 仓库 README 与文件树)全部零命中,证伪成立:官方从未发布过任何 2K/10K 规模版本。RxQA 全部家当 = 600 题论文口径(其中 300 题开源)。看到带数字后缀的"RxQA 版本",按非官方衍生或纯错误处理。辨伪:回 GitHub 仓库数 CSV 行数,300 是唯一真相。

坑点 2|600 vs 300:传播数字长期超前于可下载数字

"600 题"是论文口径(OpenFDA 300 + BNF 300),“300 题"是仓库实际可下载口径——BNF 半区因许可(英国皇家药学学会内容授权未走通)从未发布。所有第三方导航页、模型卡、新闻稿里写"600 题数据集"的表述都混用了这两个口径。辨伪:问一句"BNF 半区在哪下载”,答不上来的就是只读了论文没下过数据。

坑点 3|EHrxQA ≠ RxQA:名字近邻陷阱

库内已有 ehrxqa(rid 646,EHRXQA,KAIST 多模态 EHR 问答基准)与 emrqa(rid 139,emrQA,EMR 问答生成先驱),与 RxQA 是完全不同的团队、数据与考点。检索 “rxqa” 时数据库会同时命中近邻名,做引用聚合时极易张冠李戴。辨伪:RxQA 的关键词是 drug knowledge + pharmacist + Nature;EHRXQA 的关键词是 MIMIC + chest X-ray + NeurIPS;emrQA 是 2018 年的 EHR 问答生成框架。三者只是共享 -xqa 后缀。

坑点 4|难度档漂移:论文五档 vs 开源四档

论文口径五档含 Impossible(600 题中低难度 282 / 高难度 318),开源 CSV 实测四档无 Impossible(Trivial 49 / Easy 91 / Medium 69 / Hard 91,按 Trivial+Easy 二分得 140/160)。用 CSV 复算的人会发现自己算不出 282/318,进而怀疑数据有缺——不是数据缺,是口径差:论文数字覆盖未开放的 BNF 半区。辨伪:报告难度分层结果时写明"CSV 实测口径(无 BNF 半区)",并给出与论文口径的换算声明。

坑点 5|"闭卷即错"是 2025 年的锚:过滤器纪元会过期

RxQA 题池按"Gemini 1.5 Flash 闭卷答错"筛出——这是设计优点也是时效负债:更强的新模型可能闭卷就答对其中一部分,此时"全部答错"不再是基准的前提。用它评测 2026 年的前沿模型时,建议先测一遍"闭卷全对题占比",若显著(如 >10%),在报告里注明基准对你的模型已部分饱和。辨伪:把你模型的闭卷分数与 50.6%/52.8% 的论文锚点比,高出 15 个百分点以上就该做饱和度分析。

坑点 6|答案位置偏置:C 占 37.7%,先跑打乱对照再报分

correct_idx 分布 53/75/113/59 显著非均匀(均匀应为各 75)。有位置先验的模型(倾向选 C、倾向选最长选项)分数会被系统性抬高或压低。辨伪:跑 §7.3 的选项打乱对照,报告两个分数;只报一个分数且未跑打乱对照的第三方结果,默认存疑。

坑点 7|药师人数口径:8 名修订药师 ≠ 21 名对照医生

传播材料里"8 名药师""21 名医生"经常被混为一谈或互相顶替。实际分工:8 名 board-certified 执业药师(美英各 4)负责修订题面与五档评级,属于构建侧;21 名美国 PCP 是评估侧的人类对照,与构建无关。把"21 名医生参与构建"写进数据卡是双重错误——人数错、角色也错。辨伪:构建侧关键词是 pharmacist + review + rating;评估侧关键词是 PCP + comparison。

坑点 8|“峰值 73.8%”:别把未饱和考场报成已解决

四格最高分 73.8%(AMIE 低难度 open-book),高难度 open-book 57.9%——药物知识问答远未饱和。第三方转述最常见的失真是把"AMIE 显著超过 PCP"压缩成"AI 药物知识超越人类",丢掉了"双方都只有五六成准确率"的上下文。辨伪:任何"超越人类"的表述都应追问一句"绝对准确率多少、什么难度档、开卷还是闭卷"。

坑点 9|许可误记:“CC-BY” 是半句话

完整表述是代码 Apache License 2.0 + 题目标注 CC-BY 4.0 双许可,且 CC-BY 4.0 只覆盖放出的 OpenFDA 300 题标注文件。二手资料常漏掉代码侧 Apache 2.0,或把"CC-BY"外推到不存在的 BNF 数据上。辨伪:核对仓库 LICENSE 与数据文件旁的许可声明;引用时按双许可逐项写。

§9 FAQ:32 个高频问题

关于身份与规模

FAQ 1|RxQA 一句话是什么?
Google Health 出品的药物知识多选题评测基准:600 道四选一题(美国 OpenFDA 300 + 英国 BNF 300),Gemini 1.5 Flash 起草、8 名 board-certified 药师修订与五档难度评级,Nature 正刊发表(655:1292-1299)。

FAQ 2|"Rx"指什么?
处方药(Rx 是处方的通用符号)。整个基准考的是处方药说明书层面的知识——剂量、禁忌、相互作用、特殊人群,不含 OTC 保健品类泛泛内容。

FAQ 3|数据集里有多少患者?
零。RxQA 没有任何真实患者数据:short 题直接问说明书事实,long 题里的"患者"是药师改写时虚构的病例情境。因此它绕开了医疗数据共享的全部隐私合规负担——这也是它能 CC-BY 4.0 开放的原因之一。

FAQ 4|600 题和 300 题我该信哪个?
都信,分场景:写综述引规模用 600(论文口径,注明含未开放半区);下数据做评测用 300(仓库实测)。这两个数的来历见 §4.3,坑点辨析见坑点 2。

FAQ 5|BNF 半区以后会开放吗?
没有官方时间表。开放的前置条件是与英国皇家药学学会体系的内容授权,论文与仓库均未披露谈判状态。不要基于"以后会开放"做工程排期。

FAQ 6|怎么确认我下载的是官方版?
四步体检(§5.4):301 行(含表头)、9 列、难度四档 49/91/69/91、correct_idx 53/75/113/59。四项全中基本就是官方 CSV;来源 URL 应为 github.com/Google-Health 组织。

关于构建方法

FAQ 7|为什么用 Gemini 1.5 Flash 而不是更强的模型起草?
成本-规模权衡:起草量 = 双辖区所有目标药品 × 每标签约 5 道 short 题 + long 题,Flash 级成本可控。起草质量问题由后续药师修订兜底——管线的设计前提就是"AI 原稿不可直接用"。

FAQ 8|闭卷过滤会不会把好题筛掉了?
会筛掉"常识题",这正是目的:基准要测的是"说明书里有、参数记忆里没有"的知识。副作用是基准难度整体偏高、随模型进步会部分饱和(坑点 5),但换来的是每道题都携带信息增量。

FAQ 9|药师具体做了什么?
两件事:修订改写(修正药学表述、消除歧义、统一术语)与五档难度评级(Trivial/Easy/Medium/Hard/Impossible)。8 名药师按辖区分工(美英各 4),因为只有本辖区专家才能判断题面是否符合当地药政话语体系。

FAQ 10|难度评级的一致性有多高?
评级为药师综合判断,论文口径的多评级者一致性系数(如 kappa)在本次核验中未能确认原始数值——引用时请写"药师评级"而不写具体一致性数字,不要脑补。

FAQ 11|题目覆盖哪些药品?
题源为 OpenFDA SPL 与 BNF 收录的处方药品说明书,覆盖面由起草阶段的药品清单决定(每药品标签约 5 道 short 题)。CSV 不含药品 ID 列,精确的药品分布需自行从题干抽取实体统计。

FAQ 12|BNF 题一道都拿不到吗?
是。论文表格披露 BNF 半区结果数字,但题面从未发布——你能复算的只有 OpenFDA 300 题。

关于评估结果

FAQ 13|AMIE 是什么?
Articulate Medical Intelligence Explorer,Google 的诊断对话 AI(AMIE 团队即 RxQA 团队),在对话诊断研究(Nature 2024)之后把药物知识作为专项考点,RxQA 是其药物知识能力的标准化考场。

FAQ 14|"AMIE 超过医生"的确切含义是什么?
仅在高难度题上,AMIE 准确率显著高于受试的 21 名美国 PCP(closed-book 50.6% vs 41.5%,p=0.013;open-book 57.9% vs 47.8%,p<0.001)。低难度题无显著差异,全集峰值 73.8%。完整四格见 §6.2。

FAQ 15|为什么高难度题开卷提升那么小(50.6%→57.9%)?
因为高难度题的瓶颈不在"找到说明书"而在"组合推理":把患者情境(合并症、联用药物)与说明书知识做多步对齐。说明书就在上下文里,模型依然答错四成——这是对"RAG 包治百病"的量化反例。

FAQ 16|PCP 的成绩可以当及格线用吗?
不可以。它是参照系不是及格线:n=21、美国执业、非药师专业。正确用法是情境化锚点(“比基层医生高 X 个百分点,但绝对值只有 Y%”),见 §6.4。

FAQ 17|BNF 半区 300 题以后会开放吗?
截至本条目撰写时(2026-09),仓库与论文均无开放时间表。卡点在内容许可而非技术:BNF 内容版权归英国皇家药学学会(RPS)体系,基于 BNF 内容生成的题面公开发布需要内容方授权,这一步没有走通。追进展的正确姿势是 watch 仓库(github.com/Google-Health/rxqa)——2025-10-30 OpenFDA 半区放出时的提交信息就是「Add RxQA OpenFDA questions and license」,若 BNF 半区解禁,大概率会以同样模式(新 CSV + 许可文件)出现。在那之前,任何声称提供"完整 600 题"的下载链接都应按 §8 坑点 2 处理。

FAQ 18|能用 RxQA 训练模型而不只是评测吗?
许可证上没有障碍(CC-BY 4.0 允许包括商用在内的使用,署名即可),但方法学上强烈不建议。第一,规模太小:300 题对训练而言杯水车薪,且题面短、选项结构单一,容易过拟合。第二,评测污染:RxQA 的价值在于它测的是"闭卷即错"的知识盲区,一旦进训练集,这个基准对你自己的模型就永久失效——而且你无法告诉别人"我的分数没污染",因为第三方无法审计你的训练数据。第三,药师评级是稀缺资源:这套难度标签的公信力建立在"逐题人工修订"上,任何将其变成训练目标的做法都会消耗掉这个基准的剩余价值。如果确实需要药物知识训练语料,正确路径是用 OpenFDA/BNF 说明书原文做自监督(参见库内 openfda 条目,rid 420),把 RxQA 留给评测。

FAQ 19|short 型和 long 型题怎么区分?CSV 里有标注吗?
开源 CSV 的 9 列里没有显式的题型列——这是字段设计上最容易被追问的一点。区分方法有两种:其一,题干长度是最强的代理信号,short 型题干通常几十到两百字符、long 型通常四百字符以上(开源集 >400 字符的长题恰好 198 道,与论文每辖区 200 long 的口径精确吻合,这也是本条目判定"长题=long 型"的依据);其二,语义特征上,short 型是说明书直问(“Which of the following should be avoided…”),long 型嵌入患者情境与用药史(“A 58-year-old man with atrial fibrillation and…”)。如果你需要严格的题型切分,建议按 400 字符阈值过滤并在报告里声明这是实测代理口径而非官方标注。

FAQ 20|"过滤纪元"是什么?为什么引用 RxQA 时要注明?
RxQA 的题池经过一道"闭卷即错"过滤:Gemini 需要看说明书才答对的题才保留,出题模型的盲区成了考点。但"哪个模型的盲区"是随时间漂移的——过滤用的是 2025 年的 Gemini 1.5 Flash,等模型药学记忆普遍增强后,同一批题的"闭卷即错"前提会失效,RxQA 测的就不再是知识盲区而是普通记忆。因此严肃的评测报告应当把"题目过滤纪元:Gemini 1.5 Flash,2025"当作元信息写明,就像报告软件版本号一样。这个概念对复用 RxQA 构建方法(比如用 BNF 之外的其他药典复制管线)的团队尤其重要:重筛时应当用当时的前沿模型重跑过滤,而不是照抄 2025 年的题池。

FAQ 21|RxQA 和 USMLE 类考试题(MedQA)本质区别在哪?
三个维度都不一样。考纲:MedQA 考的是执业医师考试大纲里的临床推理,RxQA 考的是药品说明书内容的精确记忆与组合——前者可以靠医学常识兜底,后者一个剂量数字记错就是错。难度来源:MedQA 的难度是出题人设计出来的,RxQA 的难度是药师按真实药学知识结构评级的,且经过"闭卷即错"过滤保证信息增量。饱和度:MedQA、MedMCQA(rid 111)这类考试基准上前沿模型已到 85%+ 的接近饱和区间,而 RxQA 全集峰值 73.8%、高难度 open-book 最高 57.9%——它测的是当前模型仍然答不好的东西。做模型选型时,两者是互补而非互替:MedQA 分数高说明临床推理底子好,RxQA 分数高说明用药安全细节靠得住。

FAQ 22|正确答案位置不随机化,是缺陷还是特性?
是管线留下的已知特征,不是刻意设计。correct_idx 实测分布 0→53 / 1→75 / 2→113 / 3→59,C 选项占 37.7%(均匀分布应各 25%),偏置来自 Gemini 起草时正确答案在选项序列中的位置不随机、药师修订时也未做位置重排。对使用者的影响是双向的:如果你的模型有"选更长/更具体/更安全答案"之类的位置先验,分数会被污染;反过来,RxQA 也可以当作位置偏差研究的天然素材——它的偏置幅度大、逐题可复算,做敏感性分析比自造数据方便。官方立场推测是"接受这个瑕疵换发布速度":2025-10 放出数据时论文已发表 7 个月,再回头重排选项会引入新的不一致。使用者侧的对策见 §7.4 的打乱对照。

FAQ 23|五档难度里的 Impossible 档是什么?为什么开源集一道都没有?
Impossible 是药师量表里最难的一档,语义上接近"即使开卷也几乎无法可靠作答"的题——通常是多个药物在说明书的边缘场景下纠缠、或标签信息本身含糊到需要人工致电药厂的级别。论文 600 题口径里这一档存在(并入高难度 N=318),但开源的 OpenFDA 300 题实测为 0 道——要么 BNF 半区集中了 Impossible 题,要么美国半区的 Impossible 题在抽样时落选。后果是开源复现者实际上在测一个"无极端难度"的题集,极端难力的上限只能引论文数字。这个档位缺口也是 §8 坑点 4(难度档漂移)的一部分。

FAQ 24|open-book 协议怎么复刻?"把所有说明书塞进上下文"行不行?
不行,这是最常见的复现偏差。论文的 open-book 是按题检索对应药品的说明书:每道题附带其题源药品(OpenFDA SPL 或 BNF 条目),开卷条件下模型收到的是该药品的完整说明书文本,而不是全库说明书。笼统塞入全部说明书会引入干扰项噪声,分数会明显低于论文口径,而且这种偏差方向一致(更差),会让你的模型被系统性低估。复刻要点:其一,从 rxqa_openfda.csv 的题面提取题源药品名(short 型通常在题干首句,long 型在情境中),经 openFDA API(rid 420)拉取对应 SPL 全文;其二,上下文预算要按单份说明书长度算(SPL 通常数千到数万 token);其三,报告协议时写明"per-question SPL retrieval",与论文可比。

FAQ 25|AMIE 是什么?我能下载来跑 RxQA 吗?
AMIE(Articulate Medical Intelligence Explorer)是 Google 的诊断对话 AI 研究系统,先是对话诊断方向(2024 年 Nature 论文,与 PCP 文本模拟诊疗对比),RxQA 是其药物知识专项。关键现实:AMIE 没有公开发布——它是研究原型,不在 Google 的产品 API 里,论文的分数无法直接复现。你能做的是用公开前沿模型在 RxQA 上跑出与论文协议一致的结果,然后与论文自报的 AMIE 数字间接对比(注意闭卷/开卷与难度切分口径对齐)。这也是评测基准类工作的常见格局:被评的最强系统不开放,基准本身开放——比较的锚点是论文数字,不是可下载的模型。

FAQ 26|21 名 PCP 是怎么参与评估的?结果能推广到哪里?
论文的人类基线是 21 名美国执业的初级保健医生(PCP),在闭卷与开卷两种条件下作答(应为独立作答、非药师背景)。三个推广边界要记牢:其一,样本量小(n=21),四格里低难度两格 p 值不显著(0.147/0.071)部分原因就是功效不足,别把"无显著差异"读成"成绩相当";其二,PCP 不是药学专家,RxQA 上的人类基线是"基层处方视角",不能推广为"人类药学水平上限"——那个上限应该由药师基线给出,而论文的药师投入在修订侧而非作答侧;其三,美国 PCP 对照美国题(OpenFDA),英国半区没有对称的人类基线披露。正确用法见 §6.4:情境化锚点,不是及格线。

FAQ 27|题面里有真实患者信息吗?需要 IRB/伦理审查吗?
不需要。RxQA 的题面是药师改写的合成情境:long 型题里的"58 岁男性房颤患者"是教学案例式的虚构人物,不对应任何真实个体,也没有可识别的健康信息(PHI)。论文与仓库亦无人类受试伦理审批的披露要求(对 21 名 PCP 的评估属于成人职业行为研究,具体审批情况以论文原文为准)。因此使用 RxQA 通常不触发 IRB 流程,这一点与 MIMIC 类真实 EHR 数据集(需 CITI 培训与数据使用协议)完全不同。但注意衍生义务:CC-BY 4.0 要求署名,你的论文或产品文档里应给出题源仓库与许可声明。

FAQ 28|和 MedicationQA、MedQuAD 比该用哪个?
三者的"考点生态位"不同,可以拼成一个谱系。MedicationQA(rid 170)与 MedQuAD(rid 160)收的是消费者真实提问(患者在网上问的"我这个药和咖啡能一起喝吗"),答案自由文本、无唯一标准答案,适合做问答生成与信息检索评测;RxQA 收的是药师设计的知识考点,四选一、有唯一正确答案、有难度分层,适合做精确知识与推理评测。如果你的场景是"客服机器人能不能回答患者口语化问题",用前两者;如果是"模型用药建议会不会犯事实错误",用 RxQA。数据规模上三者都不是大库(几百到几千条),都适合评测而非训练。

FAQ 29|和 EHRXQA 的区别?名字那么像,评测时会不会混?
会混,而且这正是 §8 坑点 3 的内容。EHRXQA(rid 646)是 MIT 出品的多模态 EHR 问答基准,考的是从结构化病历数据库里查询聚合信息(SQL 式推理,配 MIMIC-IV),与药物知识无关;RxQA 是 Google 出品的药品说明书知识基准。两者的相似只有名字后缀"-xqa"。防混建议:写报告时首次出现给全称与机构(“RxQA(Google Health 药物知识基准)“vs"EHRXQA(MIT,EHR 问答)”),引用时别只写"XQA 基准”;做文献综述时这两个关键词的检索结果几乎不重叠,混引会立刻露馅。

FAQ 30|想做位置偏差研究,RxQA 上怎么设计实验?
RxQA 提供了现成素材:300 题、correct_idx 非均匀(53/75/113/59)、且每题选项文本独立可改。最小实验设计:①基线跑一遍原始顺序;②对每题做 k 次选项随机重排(同步改 correct_idx),取平均分作为去偏估计;③对照两次分数差即位置先验强度;④进阶设计可以定向变换——把正确答案强制挪到每个位置各测一遍,得到"位置-准确率曲线"。对照价值在于:RxQA 的偏置幅度(C 超 12.7 个百分点)比理想随机基准大,模型若在这套题上位置先验仍不显著,说明鲁棒性较好。发论文时记得报告重排次数与随机种子,这套实验 300 题规模下成本很低。

FAQ 31|引用格式怎么写?arXiv 和 Nature 两个版本引哪个?
双口径规范:评估数字类引用优先引 Nature 版(Same-Urlora R. et al., “RxQA: A benchmark for medical question answering evaluating large language models models on drug knowledge”, Nature 655(8125): 1292–1299, 2026, DOI 10.1038/s41586-026-10764-5);方法工程细节(62 页附录里的管线描述)可补引 arXiv:2503.06074(v1, 2025-03-08)并注明版本号。数据本身的引用应同时给仓库:github.com/Google-Health/rxqa(代码 Apache 2.0,题面 CC-BY 4.0)。注意 2025-2026 年间的二手文献多引 arXiv 版,你若引 Nature 版,页码卷期与他们的年份对不上是正常的——那是发表滞后的时间差(详见 §4.1)。

FAQ 32|这个基准还会更新吗?有没有 v2 计划?
官方没有声明 v2 或更新承诺。可观察的更新载体只有 GitHub 仓库(最后实质提交 2025-10-30)与 Google Research/DeepMind 博客。两条潜在演化线索值得跟踪:其一,Google DeepMind 的「AI co-clinician」方向博客(2026)已用 RxQA OpenFDA 子集以 open-ended(非 MCQ)形式复评过前沿模型,说明 Google 内部仍在把它当活体基准使用;其二,若 BNF 许可谈判有进展,半区解禁会以新 CSV 形式出现(见 FAQ 17)。但按评测基准的通常生命周期,RxQA 更可能作为"2025-2026 药物知识评测切片"被固定引用,而不是持续滚动更新——引用时把版本凝固在"OpenFDA 300 题,2025-10-30 数据"即可。

§10 生态与库内互链:十个邻居逐一认脸

RxQA 不是孤岛。它在三个生态圈里有直接邻居:题源生态(OpenFDA、BNF 这些说明书本体)、药物知识生态(RxNorm、DrugBank、FAERS 这些术语与安全库)、医学问答生态(MedQA 谱系的考试基准与 EHR 问答基准)。本节逐一认脸十个库内条目,每个都写清"它是谁、和 RxQA 什么关系、互链时怎么用",方便在千方病案医数集内部把 rxqa 条目挂进知识网络。rid 为库内 record_id,互链时直接引用。

10.1 openfda(rid 420)——美国题源本体

OpenFDA 是 FDA 官方的药品/器械/不良事件开放 API 与数据平面,RxQA 美国半区的每一道题都锚定在其中一份结构化产品标签(SPL,Structured Product Label)上。关系定位是原料—成品:OpenFDA 提供说明书全文与结构化字段,RxQA 把它们变成带难度标签的考点。互链用法有三:复刻 open-book 协议时按题源药品经 openFDA 拉取 SPL 全文(FAQ 24);核对题面事实时以 SPL 原文为准(药师修订过的题面与说明书原文的措辞差异是正常的,数字必须一致);给模型做药物知识检索增强时,openFDA 是比 RxQA 本身大几个数量级的语料池。

10.2 rxnorm(rid 578)——药物实体的标准化层

RxNorm 是美国 NLM 维护的规范药物术语本体,把"Advil 200mg tablet"这类口语/商品名统一到规范概念(RxCUI)。RxQA 题面里的药品名(含大量商品名如 TOUJEO Max)没有做 RxNorm 归一——这是使用者在做跨题聚合、按药品分层统计时自己要补的一层。互链用法:把 CSV 里出现的药品名经 RxNorm API 归一到 RxCUI,即可按"药理类别/适应症/厂商"重组题集,构造诸如"抗凝药子集""胰岛素子集"的分层评测;做 EHR 集成时,RxNorm 也是 RxQA 题面与真实处方数据之间的翻译层。

10.3 drugbank(rid 89)——同类知识层的全量对照

DrugBank 是覆盖全球上市药物的分子+临床知识库(药物-药物相互作用、靶点、剂量),与 RxQA 的关系是同一知识域的两种形态:DrugBank 是面向药物研发与临床决策支持的结构化全量库,RxQA 是面向 LLM 评测的药师评级考点集。前者能查到"丙戊酸钠-拉莫三嗪"相互作用的机制与证据,后者考你"这条相互作用在说明书里怎么表述"。互链用法:给 RxQA 错题做知识溯源时(模型为什么错),DrugBank 提供结构化的相互作用证据链;构造药物知识预训练语料时,DrugBank 是主粮、RxQA 是考卷。

10.4 faers(rid 264)——药物安全的事后监督端

FAERS(FDA Adverse Event Reporting System)收的是上市后药物不良事件自发报告,与 RxQA 同属"用药安全"生态,但时间轴位置相反:RxQA 考事前的说明书知识(模型知不知道该避免什么),FAERS 记录事后的真实伤害(避免了没避免住)。互链用法:构造"知识-事件"闭环分析——用 RxQA 测出模型在哪些药物知识点上薄弱,再在 FAERS 里核对这些知识点关联的真实不良事件报告量,可以论证"模型知识盲区×真实风险"的优先级矩阵。这是药物安全 AI 团队最实用的组合拳,也是本条目把 faers 列为第二梯队互链对象的原因。

10.5 medicationqa(rid 170)——消费级药物提问的真实分布

MedicationQA 收录消费者真实提出的药物问题(五百条量级,自由文本、无唯一标准答案),与 RxQA 构成问题分布的两端:真实用户的提问是模糊、口语、多主题的;RxQA 的题面是药师改写后的精确、封闭、单考点表述。互链用法:评测"患者服务机器人"时两者串联——用 MedicationQA 测理解与检索,用 RxQA 测答案里的药学事实正确性。差异提醒:MedicationQA 没有标准答案不能算准确率,RxQA 有 correct_idx 但题面不真实,两者分数不可直接相加或平均。

10.6 medquad(rid 160)——NIH 级别的消费级问答池

MedQuAD 是 NIH 旗下多站点(NCI、NIA 等机构官网 FAQ)收集的数万条消费级医学问答,规模比 MedicationQA 大两个数量级,但同样自由文本无标准答案。它与 RxQA 的交集在"药物相关子题":MedQuAD 里相当比例是用药咨询类问题,可筛出与 RxQA 考点重叠的主题域做检索评测(先从 MedQuAD 找真实问法,再到说明书/RxQA 考点对答案)。定位提醒:MedQuAD 是"问题的海洋",RxQA 是"答案的靶场",一个测召回一个测精度。

10.7 ehrxqa(rid 646)——名字最近的知识远邻

EHRXQA 是 MIT 出品的多模态 EHR 问答基准(配 MIMIC-IV,SQL 式结构化查询+多模态报告理解),与 RxQA 共享的只有"-xqa"后缀和"评测基准"这个形式。考点完全正交:EHRXQA 考"从病历数据库里查数与聚合",RxQA 考"药品说明书知识的记忆与组合"。互链用法是在评测矩阵里互补占位:一个模型在 EHRXQA 上好、RxQA 上差,说明病历检索能力强而药物知识薄弱——两个分数合起来才是一张完整的临床问答能力画像。防混措施见 FAQ 29。

10.8 emrqa(rid 139)——问答基准谱系的上游先驱

emrQA(2018)是"从 EHR 半自动规模化生成 QA 对"的方法论先驱,它证明了一条后来被 RxQA 走得更远的路:用模板与专家修订从临床数据源批量产题。谱系关系上,emrQA 的"规模化生成+人工把关"思想在 RxQA 里升级为"LLM 起草+药师逐题修订+难度分层+双辖区对称"。互链用法:写方法学综述或相关工作时,emrQA→RxQA 是"生成式基准构建"这条线的两个时代坐标;做条目互链时,两者构成"方法演进"叙事对。

10.9 medmcqa(rid 111)——饱和天平的另一端

MedMCQA 是印度医考大规模 MCQ(十九万题量级、四选一、与 RxQA 同构),前沿模型分数已接近饱和(85%+)。它与 RxQA 的对照价值在饱和度:同为四选一医学 MCQ,一个测"模型已经会的",一个测"模型还不会的"。互链用法:模型评测报告里两者并报可以校准"医学知识"叙事——MedMCQA 高分说明考试推理底子好,RxQA 低分说明药物细节仍有盲区,只报前者会高估用药安全能力。条目互链方向:medmcqa 条目里可加"与 RxQA 的饱和度对照"锚点。

10.10 headqa(rid 120)——跨语言考试型问答参照

HeadQA 是西班牙语医学/护理/心理学考试题集(含多语言版本),与 RxQA 同属"考试型 MCQ"但语言与考纲不同。互链定位是跨语言泛化的参照系:如果你的模型在 MedMCQA(英语)、HeadQA(西语)、RxQA(英语药学)三个考场上有系统性的分数梯度,可以分离出"语言能力"与"药学专业知识"两个因子。对以中文为工作语言的团队,HeadQA 条目还提供了一个"非英语考试基准怎么做评测协议"的范例——这与 RxQA 双辖区(美/英)设计的跨体系思想同源。

10.11 互链速查表

邻居条目 rid 生态圈 与 RxQA 的关系一句话 互链建议锚点
openfda 420 题源 美国半区题源本体(SPL 全文) open-book 复刻、事实核对
rxnorm 578 题源/术语 药品名归一化层 按药物重组题集
drugbank 89 药物知识 同域全量结构化库 错题知识溯源
faers 264 药物安全 事后不良事件报告 知识盲区×真实风险矩阵
medicationqa 170 消费级 QA 真实患者提问分布 机器人评测串联
medquad 160 消费级 QA NIH 级问题海洋 检索评测的真实问法池
ehrxqa 646 EHR 问答 名字近邻、考点正交 能力画像互补
emrqa 139 QA 方法 规模化产题先驱 方法演进叙事
medmcqa 111 考试 MCQ 饱和天平另一端 饱和度对照
headqa 120 考试 MCQ 跨语言参照系 泛化因子分离

附录 A:DAIMS 24 项 AI-Ready 自评

DAIMS(Data AI-Readiness Assessment Items)从 24 个维度给数据集的"机器可用成熟度"打分。评分口径:✔=满足,△=部分满足/需变通,✘=不满足。RxQA 的画像非常典型——评测基准类数据集的机器可读性极好,但"可用规模"与"文档广度"受半区缺席拖累。

# 维度 检查项 评级 说明
1 身份 持久标识符(DOI/官方 URL) ✔ Nature DOI 10.1038/s41586-026-10764-5 + arXiv:2503.06074 + GitHub 官方仓库
2 获取 无需注册即可下载 ✔ GitHub raw 直链,无门禁
3 获取 官方入口唯一且稳定 ✔ github.com/Google-Health/rxqa 唯一官方渠道
4 获取 镜像/备份可用性 △ 官方无镜像;实测 jsdelivr CDN 可达(raw 域 SSL 受限时)
5 许可 明确的机器可读许可证 ✔ 代码 Apache 2.0 + 数据 CC-BY 4.0,仓库内附许可文件
6 许可 允许 AI 训练/评测使用 ✔ 双许可均不限制模型评测用途
7 格式 机器可读格式(CSV/JSON) ✔ 单文件 CSV(rxqa_openfda.csv,9 列)
8 格式 编码与方言声明 △ UTF-8 可直接读,但官方未声明 CSV 方言(引号/转义需实测)
9 结构 数据字典/字段说明 ✔ README + 论文附录说明字段;q_id 至 correct_idx 语义清晰
10 结构 主键唯一且稳定 ✔ q_id 0-299 连续无缺口
11 规模 规模与文件大小如实声明 △ 论文口径 600 与仓库 300 双口径并存,需按 §4.3 理解
12 规模 数据分层/切分说明 △ 无官方 train/test 切分;难度分层靠 pharmacist_rated_difficulty 列
13 质量 标注质量背书 ✔ 8 名 board-certified 药师逐题修订+五档评级(论文背书)
14 质量 已知缺陷披露 ✔ 论文披露位置偏置等局限;本条目 §8 存照九坑
15 内容 类别分布声明 ✔ 难度四档实测分布(49/91/69/91)可复算
16 内容 已知偏置标注 ✔ correct_idx 53/75/113/59 非均匀(C 37.7%),论文与实测互证
17 引用 官方引用规范 ✔ 论文+仓库双引用路径明确(FAQ 31)
18 治理 版本与变更记录 △ GitHub 提交历史可考,但无语义化版本号
19 治理 维护响应渠道 △ GitHub Issues 存在,无 SLA
20 治理 更新承诺 ✘ 无 v2/更新时间表(FAQ 32)
21 伦理 伦理/隐私声明 ✔ 合成题面无 PHI;无需 IRB(FAQ 27)
22 伦理 使用限制声明 ✔ BNF 半区未开放的许可原因已官方披露
23 生态 与相关数据集互链 ✔ 题源(openFDA/BNF)与评估生态(AMIE/PCP 协议)可追溯
24 生态 下游复现与第三方验证 △ 美国半区全可复算;BNF 数字不可复算(论文自报)

总分画像:✔×15、△×8、✘×1。两个结构性短板都不是数据质量问题——「更新承诺」缺失是评测基准的通病,「规模双口径」源于 BNF 许可约束。对"拿来做模型评测"这一目标用途,RxQA 的 AI-Ready 程度属于第一梯队:单文件、无门禁、带专家评级、可复算。

附录 B:数据来源明细清单

frontmatter 的 data_source 字段只写概要,明细按纪律落在本附录。

来源 角色 获取路径 关键时点 本条目用途
OpenFDA(FDA 官方) 美国题源(SPL 结构化产品标签) open.fda.gov API / 库内 openfda(rid 420) 现行版标签 题面事实锚点;open-book 检索语料
BNF(British National Formulary) 英国题源(国家处方集) bnf.nice.org.uk(内容许可约束) 现行版 题源描述;半区缺席存照
Gemini 1.5 Flash(Google) 起草模型(过滤纪元锚点) 不公开可复现,论文描述 2025 管线描述;过滤纪元声明
Google-Health/rxqa 仓库 数据与代码官方出口 github.com/Google-Health/rxqa 最后提交 2025-10-30 rxqa_openfda.csv(300 题)
arXiv:2503.06074 preprint arxiv.org/abs/2503.06074 v1 2025-03-08 62 页方法细节
Nature 655(8125):1292-1299 正刊 DOI 10.1038/s41586-026-10764-5 在线 2026-06-17 评估数字权威口径
Google DeepMind 博客 后续动态 官方博客(AI co-clinician 方向) 2026 open-ended 复评存照

附录 C:术语中英对照表

术语(中文) 术语(英文) 本条目语境要点
结构化产品标签 Structured Product Label(SPL) 美国药品说明书的标准电子格式,RxQA 美国题源
英国国家处方集 British National Formulary(BNF) 英国药典实务标准,RxQA 英国题源,内容未开放
执业药师(认证) board-certified pharmacist 修订与评级主体,8 名(美 4 + 英 4)
初级保健医生 Primary Care Physician(PCP) 人类基线,21 名美国执业
闭卷 closed-book 不提供说明书上下文的作答条件
开卷 open-book 按题提供对应说明书全文的作答条件
难度五档 five-tier difficulty Trivial / Easy / Medium / Hard / Impossible
位置偏差 position bias correct_idx 非均匀(C 37.7%)引入的评分混淆
过滤纪元 filtering epoch "闭卷即错"过滤器所用模型的时点(Gemini 1.5 Flash,2025)
诊断对话 AI Articulate Medical Intelligence Explorer(AMIE) 首要被评模型,未公开
多选题 Multiple-Choice Question(MCQ) 四选一,correct_idx 0-3
长题干 long-form question 嵌入患者情境的长题(>400 字符代理口径)
未饱和 unsaturated 峰值 73.8%,远未到"基准已解决"
不良事件报告 adverse event reporting FAERS 生态,与 RxQA 构成事前/事后闭环

附录 D:五档难度逐档解读

药师评级的五档量表是 RxQA 区别于考试基准的核心资产,逐档解读如下(分布数字为开源 300 题实测;论文 600 题口径合并为低/高两档):

Trivial(49 道,16.3%)——“药学生第一学期"级别:通用常识或说明书首行信息即可作答,如"此药是否需要冷藏”。设计含义:保证基准有锚底分,防止出现全员零分的地板效应;对强模型而言这一档接近免费分,分层报告时应单列。

Easy(91 道,30.3%)——单一事实检索:读完对应说明书一个段落即可确定答案,如单一禁忌或单一剂量数字。开源集低难度(Trivial+Easy)合计 140 道,是论文低难度口径在开源半区的实测对应。

Medium(69 道,23.0%)——多字段组合:需要把说明书里两个以上字段(适应症×禁忌,或剂量×人群)组合推理,闭卷模型开始系统性失分。这一档起才是 RxQA 过滤逻辑的主战场。

Hard(91 道,30.3%)——精细剂量与相互作用:涉及联用药物、特殊人群调整、监测阈值等说明书边缘内容,open-book 条件下模型仍需多步对齐患者情境与标签信息。开源集高难度主体,AMIE 与 PCP 的显著差距(50.6% vs 41.5%)主要在这档拉开。

Impossible(0 道,论文口径存在)——开卷也几乎不可靠作答:标签信息本身含糊或多个药物在边缘场景纠缠。开源半区实测 0 道,说明这一档要么集中在未开放的 BNF 半区,要么在抽样中落选——使用者的开源复现实际上测不到这一难度层(§8 坑点 4)。

分层使用建议:按 CSV 的 pharmacist_rated_difficulty 列过滤即可实现四档切分;报告时注明"开源半区无 Impossible"以免读者把你的高难度子集误当作论文的高难度口径(N=318)。

附录 E:复现检查清单(评测前 10 问)

评测 RxQA 前,逐项打勾。每一项都对应正文的展开章节——这 10 问是 §7 使用指南的压缩形态,适合作为 PR/报告的附录检查表。

# 检查项 对应章节 通过标准
1 数据来源是官方仓库吗 §5.3 / 坑点 1 github.com/Google-Health/rxqa 直下,行数=300
2 难度分布校验过吗 §7.1 / 坑点 4 Trivial 49 / Easy 91 / Medium 69 / Hard 91
3 半区与题数声明了吗 §4.3 / 坑点 2 写明 OpenFDA 300(非 600)
4 难度切分口径声明了吗 §7.2 CSV 实测 140/160 或自定义,与论文 282/318 区分
5 open-book 是按题检索吗 FAQ 24 per-question SPL retrieval,非全库塞入
6 位置偏差对照跑了吗 §7.4 / 坑点 6 打乱对照与原始分数双报告
7 过滤纪元注明了吗 FAQ 20 写明题目过滤用 Gemini 1.5 Flash(2025)
8 与论文数字可比吗 §6.2 协议(闭卷/开卷×难度)四格对齐后再比
9 许可署名做了吗 §5.1 CC-BY 4.0 署名 + Apache 2.0 代码声明
10 BNF 数字当自报数据处理了吗 §6.5 未开放半区不进自制横评表

附录 F:双口径存照总表

正文散落的口径冲突在此汇总存照,每条给出"两个数各自成立的原因"与"引用建议"——这是本条目最防御性的一节,适合直接复制进你的研究笔记。

# 口径 A 口径 B 冲突根源 引用建议
1 论文总规模 600 题 可下载 300 题 BNF 半区许可未开放 报规模时写"600(论文)/300(开源)"双数
2 难度五档(含 Impossible) 开源实测四档 Impossible 0 题在美国半区 分层报告注明"无 Impossible"
3 低/高难度 282/318(论文) 140/160(开源实测) 口径基数不同(600 vs 300) 声明所用基数,勿混用
4 preprint 2025-03-08 正刊在线 2026-06-17 同行评审周期 15 个月 数字类引 Nature,方法细节可补引 arXiv
5 论文先发(2025-03) 数据后置(2025-10-30) 发表与发布节奏解耦 早于 2025-10 的"下载了 RxQA"声称存疑
6 CC-BY(brief 简称) Apache 2.0 + CC-BY 4.0 双许可 代码与数据许可不同 精确写双许可
7 correct_idx 理想均匀 25% 实测 C 37.7% 起草未做位置随机化 位置偏差分析必注明
8 8 名药师(修订方) 21 名 PCP(对照方) 两个数字常被混为一谈 分清"改题的人"与"对照答题的人"

§11 四格逐格深度解读:每一格数字的三种读法

§6 给出了 2×2 四格的总表,本节逐格展开——每一格都按"数字与检验 → 统计读法 → 临床读法 → 复现注意"四层解读。这四格是 RxQA 论文的全部主结果,也是引用这篇文章时最容易被误读的地方:显著格与不显著格各占一半,而两种"不显著"的原因并不相同。

11.1 高难度 × closed-book:AMIE 50.6% vs PCP 41.5%(p=0.013)

  • 数字与检验:AMIE 50.6%,PCP 41.5%,差值 +9.1 个百分点,p=0.013,达到统计显著(α=0.05)。
  • 统计读法:这是"无检索条件下的药学知识记忆"对比。高难度子集按论文口径 N=318(开源半区实测 160),样本量足以检出约 9 个百分点的差距。显著成立,且方向为 AMIE 占优。
  • 临床读法:在最需要"背下说明书"的题目上,AMIE 的药学记忆仍强于基层医生——但请注意绝对值刚过半数:闭卷条件下答错近一半的难题,这个数字在任何"AI 取代医生"的叙事里都应被同时引用。显著优势与不满意的绝对水平并存,才是这一格的完整含义。
  • 复现注意:闭卷条件的含义是"不提供任何说明书上下文",模型的系统提示里也不应包含药学检索工具;难度切分口径需声明(论文 318 vs 开源实测 160,§8 坑点 4)。

11.2 高难度 × open-book:AMIE 57.9% vs PCP 47.8%(p<0.001)

  • 数字与检验:AMIE 57.9%,PCP 47.8%,差值 +10.1 个百分点,p<0.001——四格里显著性最强的一格。
  • 统计读法:p<0.001 意味着在 n=318 的高难度子集上,这个量级差距几乎不可能由抽样波动产生。四格里唯一的"三重达标"(显著+两位数差距+高信息量子集),是论文最硬的结论。
  • 临床读法:说明书就在手边,AMIE 仍领先 10 个百分点。这一格最有信息量的地方是它否定了"药物知识差距=检索差距"的简单解释——把资料摊开在桌面上,医生靠专业训练的对照阅读仍能追回一些分数,但模型在"组合推理"(患者情境×说明书字段的多步对齐)上保留着净优势。同时双方都不及格(<60%),高难度题的瓶颈是任务本身的难度,不是资料可得性。
  • 复现注意:open-book 的协议是按题检索对应药品说明书(FAQ 24),不是全库塞入;检索错误会人为压低这一格分数,报告时应说明 SPL 获取成功率。

11.3 低难度 × closed-book:AMIE 52.8% vs PCP 46.5%(p=0.147,不显著)

  • 数字与检验:AMIE 52.8%,PCP 46.5%,差值 +6.3 个百分点,p=0.147,未达显著。
  • 统计读法:这一格的"不显著"是功效问题——低难度子集 N=282(论文口径)、人类侧 n=21,检出 6 个百分点的差距功效不足。+6.3pp 的点估计与高难度格的 +9.1pp 方向一致,不能读成"双方实力相当",只能说"证据不足以判定"。
  • 临床读法:低难度题考的是基础药学常识,双方都在半数上下徘徊——这本身就说明"低难度"只是相对药师量表而言,对闭卷作答者仍不轻松。
  • 复现注意:引用这一格时必须带上 p 值与"n.s.“标注;二次引用里最常见的失真就是把这一格写成"PCP 与 AI 打平”,原文没有支持这个说法。

11.4 低难度 × open-book:AMIE 73.8% vs PCP 67.4%(p=0.071,不显著)

  • 数字与检验:AMIE 73.8%,PCP 67.4%,差值 +6.4 个百分点,p=0.071——差一点显著的边缘值。73.8% 同时是全集四格峰值。
  • 统计读法:p=0.071 处于灰色地带。正确的表述是"未达 conventional significance threshold,趋势为 AMIE 占优";错误的表述有两种——“显著优于”(高估)与"没有差异"(低估)。
  • 临床读法:这一格量化了说明书检索的价值:AMIE 从闭卷 52.8% 涨到开卷 73.8%(+21 个百分点),PCP 从 46.5% 涨到 67.4%(+20.9 个百分点)——双方提升幅度几乎一致,说明检索带来的是普遍增益,而不只惠及某一方。同时,73.8% 的峰值宣告:即便最理想条件(简单题+开卷),药物知识问答也远未饱和(§8 坑点 8)。
  • 复现注意:这是最容易被外部引用摘取的一格(峰值数字最好看),引用时务必附协议条件(open-book + 低难度),否则"73.8%"会被误读为全集成绩。

11.5 四格合读:三条总规律

  1. 难度决定显著性,检索决定水位:两格显著差距都在高难度(AMIE 占优),两格水位跳升都来自开卷(+21pp 量级)。解读任何一格前先问"这格的难度与检索条件是什么"。
  2. AMIE 四格全胜但只有两格显著:方向一致(+6.3/+9.1/+6.4/+10.1pp),证据强度分层。诚实报告法是"四格方向一致,其中高难度两格达统计显著"。
  3. 人类基线是参照系不是及格线:21 名 PCP 的成绩在任何一格都不构成"合格线"(FAQ 16),四格里人类最高也只有 67.4%——把 PCP 数字当锚点用,别当门槛用。

§12 构建管线逐步重演:五步走完从说明书到考卷

§3 从设计思想角度讲了流水线,本节换成施工视角逐步重演——每一步写清输入、输出、质量控制点与"如果你要复刻这条管线该注意什么"。这套五步结构对任何"用 LLM 从权威文本生成评测基准"的项目都通用,RxQA 是它的标杆实现。

12.1 步骤一:题源获取——把两本药典变成可计算文本

  • 输入:美国 OpenFDA 的结构化产品标签(SPL)库、英国 BNF 处方集。
  • 输出:逐药品的结构化说明书文本池(每份含适应症、剂量、禁忌、相互作用、特殊人群警示等字段)。
  • 质量控制点:题源必须是官方一手文本——SPL 来自 FDA 官方数据平面(库内 openfda,rid 420),BNF 来自 RPS 体系官方版本。这是"药师级事实担保"的地基:后续所有题面的正确性最终要回溯到这里。
  • 复刻提示:不同药政辖区的说明书结构差异很大(SPL 是高度结构化的 XML,BNF 是章节式文本),起草模板必须按辖区分别适配——这正是 RxQA 双辖区设计在工程上的第一个代价。

12.2 步骤二:LLM 起草——规模化产出候选题

  • 输入:步骤一的说明书文本池。
  • 输出:海量候选四选一 MCQ(short 型约每药品 5 道 + long 型病例化题目),由 Gemini 1.5 Flash 按统一模板起草。
  • 质量控制点:起草阶段不做事实终审——LLM 起草的题面允许有瑕疵,因为后面有药师把关。这一步的目标是覆盖率与多样性,不是正确率。
  • 复刻提示:起草模型的选择决定了"过滤纪元"(FAQ 20)——你用哪个模型起草、用哪个模型过滤,就是这个基准的知识盲区指纹。论文选 Gemini 1.5 Flash 是 2025 年的工程决策,复刻者应选当下的前沿模型并注明。

12.3 步骤三:闭卷过滤——只留"有信息增量"的题

  • 输入:步骤二的候选题池。
  • 输出:过滤后的题池——保留"Gemini 闭卷答错、需要读说明书才答对"的题目。
  • 质量控制点:这是整条管线里最反直觉也最关键的一步。常规思路是筛掉 LLM 答错的题(怕题目有错),RxQA 反向操作:专门保留 LLM 答错的题——前提是这些题的答案可溯源到说明书(事实性由步骤五的药师担保)。筛出的题目分布天然偏向 LLM 集体盲区:剂量数字、相互作用组合、特殊人群禁忌。
  • 复刻提示:过滤阈值要存照("闭卷答错"的判定标准、几次采样取多数);这一步的副产品是位置偏置——起草时正确答案的位置没有随机化(§8 坑点 6),复刻者在这一步就应加入位置重排,比事后补救便宜。

12.4 步骤四:分层抽样——每辖区 100 short + 200 long

  • 输入:过滤后的题池。
  • 输出:每辖区 300 题(100 short + 200 long),两辖区共 600 题。
  • 质量控制点:抽样是分层随机的,保证 short/long 的 1:2 比例与两辖区的对称结构。开源半区实测 >400 字符长题 198 道,与 200 long 的口径吻合(§2 有 2.2 的逐列说明)——抽样比例就是靠这种实测痕迹验证的。
  • 复刻提示:抽样要在难度维度上先于药师评级(评级发生在抽样后的题上),这意味着最终难度分布部分取决于抽样运气——开源半区 Impossible 档 0 题可能正是抽样落选的结果(附录 D)。

12.5 步骤五:药师修订与评级——人的手最后落在每一道题上

  • 输入:抽样后的 600 道候选题。
  • 输出:定稿题面 + 五档难度标签,8 名 board-certified 执业药师(美英各 4)逐题完成。
  • 质量控制点:药师做三件事——改写(修正 LLM 题面的措辞与歧义)、事实担保(对照说明书确认正确答案与干扰项)、评级(五档量表,Trivial/Easy/Medium/Hard/Impossible)。辖区配对(美 4 评美国题、英 4 评英国题)保证评级者对题源药典熟悉。
  • 复刻提示:这是整条管线里最贵、最不可自动化的一步,也是基准公信力的来源。复刻者的预算应该向这一步倾斜而不是向起草模型倾斜——药师时数才是这类基准的稀缺资源。

12.6 管线全景与依赖关系

SPL(美)/ BNF(英)          ← 官方一手题源(步骤一)
      │
Gemini 1.5 Flash 起草         ← 规模化候选(步骤二,过滤纪元锚点)
      │
闭卷过滤(保留答错的题)      ← 信息增量(步骤三,位置偏置源头)
      │
分层抽样(100 short+200 long/辖区) ← 结构对称(步骤四)
      │
8 名药师修订+五档评级         ← 事实担保(步骤五,公信力来源)
      │
600 题(开源 300 + 未开放 300)

四条复刻级提示浓缩为一句话:题源要官方、起草要当下、过滤要存照、人审要舍得花钱。任何一步偷懒,产出的"RxQA-like"基准都会在 §8 的九个坑里至少踩中一个。

§13 评测报告写作模板:一份可以直接套用的骨架

§7 给了代码,本节给"报告"。用 RxQA 跑完评测后,一份合格的结果报告应该包含以下九个部分——这个模板把本条目所有"报告时必须写明"的口径决策点都固化成了填空位,直接复制进你的实验文档即可。每一段的方括号是待填项,括号里的"§"指向本条目对应的依据章节。

### RxQA 评测报告骨架 v1

**1. 数据口径声明**
- 版本:rxqa_openfda.csv,GitHub Google-Health/rxqa,commit/下载日期 [日期]
- 规模:[实际行数] 题(官方 OpenFDA 半区 300;BNF 半区未开放,本报告不含)
- 难度分布实测:Trivial [n] / Easy [n] / Medium [n] / Hard [n](官方参照 49/91/69/91)
- 过滤纪元:题目由 Gemini 1.5 Flash 起草与过滤(2025),本评测未重筛(§7.1、FAQ 20)

**2. 难度切分口径**
- 本报告切分:[Trivial+Easy=低 / Medium+Hard=高(CSV 实测口径)或自定义]
- 与论文口径的关系:论文 600 题口径为 282 低 / 318 高,与本报告数字不可直接比较(§8 坑点 4)

**3. 评测协议**
- 条件:[closed-book(无上下文) / open-book(per-question SPL retrieval,成功率 [%])]
- 采样:温度 [t],采样次数 [k](或贪心)
- 模型:[名称与版本号]

**4. 主结果表(四格或自选切分)**
| 切分 | 闭卷 | 开卷 |
| --- | --- | --- |
| 低难度 | [%] | [%] |
| 高难度 | [%] | [%] |

**5. 位置偏差对照(必做,§7.4)**
- 原始顺序得分:[%];选项随机重排后得分:[%](k=[次数])
- 位置先验强度:[差值 pp];正式结论建议采用去偏后数字

**6. 与论文数字的可比性声明**
- 协议对齐情况:[四格对齐 / 仅部分对齐,差异点:……]
- 结论表述:方向对比("高于/低于 AMIE 论文口径")仅在对齐时有效(§6.2、§11)

**7. 人类参照(如引用)**
- 论文人类基线为 21 名美国 PCP,属参照系非及格线(FAQ 16、坑点 7)
- 本报告 [引用/未引用] 该基线,引用方式:[情境化锚点,非达标判定]

**8. 局限**
- 开源半区无 Impossible 档;correct_idx 非均匀(53/75/113/59);题面为合成情境非真实提问分布(附录 D、坑点 6)

**9. 许可与署名**
- 数据 CC-BY 4.0(署名 RxQA/Google Health + 仓库链接);评测代码许可 [ yours ](§5.1)

使用提示:第 5 节(位置偏差对照)是这份模板里最容易省略也最不该省略的一节——省略它的报告在 300 题规模、C 选项占 37.7% 的题集上不具备可审计性。第 1、2 节的口径声明则决定了你的数字能否与论文及后续工作对话。

附录 G:样例题逐字段赏析

以开源集 q_id=0 为例(本条目实测抓取),逐字段解读一道 short 型 Easy 档题目长什么样——这是从"知道字段名"到"认识真实数据"之间的最后一公里。

字段 实测值 解读
q_id 0 主键起点,0-299 连续
question “Which of the following should be avoided when administering TOUJEO Max?” 说明书直问(short 型特征);考的是胰岛素产品 TOUJEO Max 的处置禁忌
A–D 四个文本选项 干扰项为同类处置动作,混淆度取决于药学细节掌握
correct B 字母形式,与 correct_idx 冗余存储
correct_idx 1 0 起(A=0,B=1),可直接做索引比对
pharmacist_rated_difficulty Easy 单一事实检索级(附录 D),闭卷药学常识可能答对,但说明书首段即可确定

从这道题能读出的三件事:其一,题面措辞是药师修订后的规范英语,商品名(TOUJEO Max)不做 RxNorm 归一(§10.2);其二,short 型题目短到没有"患者情境",纯考标签知识——与 long 型(>400 字符、嵌入情境)构成梯度;其三,Easy 档≠闭卷必对,"闭卷即错"过滤器在 Easy 档同样生效过,只是药师判断这道题属于基础检索级。

long 型结构示意(合成示意,非官方原题):long 型题干以虚构患者情境开头(“A 58-year-old man with atrial fibrillation on warfarin presents with…”),情境中埋入两个以上用药决策要素,选项为处置方案,正确答案需同时对照说明书的多法子字段(相互作用×剂量×监测)。题干中位 589 字符、最长 1216 字符的分布就是由这类情境化改写撑起来的。

附录 H:如果由你来评难度——五档评级操作指南

假设你是第 9 名药师,加入这套评级体系。本附录把五档量表还原成可操作的判定规程——它同时也是使用者理解"难度标签怎么来的"的镜像视角。

判定流程(逐题三问):

  1. 闭卷能答对吗?——先不看说明书默答。答对且确定 → Trivial 候选;答对但靠机械记忆具体数字 → Easy 候选;答错或靠猜 → 进入第 2 问。
  2. 开卷一次定位能答对吗?——通读对应说明书一遍。单一段落可定答案 → Easy;需组合两个字段(适应症×禁忌、剂量×人群)→ Medium;需跨章节组合(相互作用×监测×特殊人群)→ Hard;仍无法可靠确定 → 进入第 3 问。
  3. 答案在说明书里确定吗?——标签信息含糊、多药纠缠、需临床经验兜底 → Impossible。

档位边界案例(按量表语义推导的判定示例):

边界情形 判定 理由
单一禁忌数字,闭卷大概率错 Easy 开卷单点定位即得
两种联用药物的剂量都要调整 Hard 跨药物×跨字段组合
说明书对某特殊人群"不推荐但非禁忌" Hard~Impossible 表述含糊,判断依赖临床惯例
"本品是否需要冷藏"类常识 Trivial 药学通识,非检索题

一致性要求:同辖区评级者定期对同一批样题做盲评对齐;档位语义锚定在"答题所需的说明书信息组织量"上,而非"临床重要程度"——一条冷僻但单点定位的相互作用是 Easy,一条常见但需多步推理的剂量调整是 Hard。

给数据使用者的镜像启示:这套量表的可靠性依赖评级者对辖区药典的熟悉度(美 4 评美国题、英 4 评英国题的配对设计正是为此);而 Impossible 档的判定天然主观性最强,开源半区 0 题的实测结果(附录 D)让你在使用时无需纠结这一档的边界。

附录 I:基准对照详表——三大类考场里的 RxQA

把 §10 的邻居关系与 §1 的谱系定位合并成一张总表:RxQA 与三类医学基准在七个维度上的系统对照。这张表是"选基准做评测"时的决策工具——按你的评测目标查行即可。

维度 考试型 MCQ(MedQA / MedMCQA / HeadQA) 真实问答型(MedicationQA / MedQuAD) EHR 问答型(EHRXQA / emrQA) 药师评级型(RxQA)
题面来源 医/药执业考试真题 消费者真实提问 从 EHR 半自动生成 说明书起草+药师改写
答案形态 四/五选一,唯一答案 自由文本,无唯一答案 数值/聚合结果(SQL 式) 四选一,唯一答案
规模 数千~十九万题 数百~数万条 数千~数万 600(开源 300)
难度来源 出题人设计 不可控(真实分布) 查询复杂度 药师五档评级
饱和度 前沿模型 85%+(饱和) 难以标准化评分 中等 峰值 73.8%(未饱和)
考察能力 临床推理底子 理解与检索 结构化查数与聚合 说明书精确记忆与组合推理
适用场景 通用医学能力筛选 患者服务机器人理解层 病历数据问答系统 用药安全事实性审计

三个决策速答:

  • 给医疗大模型做"用药安全"维度的准入评测 → RxQA(唯一带药师评级与难度分层的药物知识 MCQ)。
  • 做模型间横向大排行、需要大题量 → 考试型(MedMCQA 量级最大,但注意饱和导致区分度下降)。
  • 做"从病历查数据"的能力评测 → EHR 问答型(EHRXQA 配 MIMIC-IV 生态)。

组合建议:严肃的医疗 LLM 评测报告应当至少横跨两类考场——RxQA(药物知识)+ 考试型(推理底子)± EHRXQA(数据问答),并在报告里声明各自的协议差异不可互相折算。

附录 J:开源 300 题统计画像速查

本附录把本条目实测得到的全部统计量集中成一张速查卡——写论文、做 sanity check、或向审稿人证明"用的是官方数据"时,直接对照这里的数字即可。任何一项对不上,先怀疑拿到的是非官方整理稿(§8 坑点 1)。

J.1 核心统计量总表

统计量 实测值 备注
数据行数 300 rxqa_openfda.csv,q_id 0-299 连续
字段数 9 q_id/question/A/B/C/D/correct/correct_idx/pharmacist_rated_difficulty
难度:Trivial 49(16.3%) 药学通识级
难度:Easy 91(30.3%) 单点检索级
难度:Medium 69(23.0%) 双字段组合级
难度:Hard 91(30.3%) 多步组合级
难度:Impossible 0 开源半区无此档(附录 D)
低难度合计(Trivial+Easy) 140 论文口径 282 是 600 题基数,勿混用
高难度合计(Medium+Hard) 160 论文口径 318 是 600 题基数
题干长度(最短) 44 字符 short 型
题干长度(中位) 589 字符 全体中位
题干长度(最长) 1216 字符 long 型
>400 字符长题 198 道 ≈ 论文每辖区 200 long 口径
correct_idx=0(A) 53(17.7%) 均匀期望 75(25%)
correct_idx=1(B) 75(25.0%) 恰好在期望值上
correct_idx=2(C) 113(37.7%) 峰值,超出期望 12.7 个百分点
correct_idx=3(D) 59(19.7%) 次低

J.2 分层统计的交叉计算

  • short/long 代理切分(400 字符阈值):short ≈ 102 道、long ≈ 198 道——与论文"每辖区 100 short + 200 long"吻合度极高,佐证长度阈值作为题型代理的可行性(FAQ 19)。
  • 低难度 × 长题的联合分布需自行过滤计算(CSV 无题型列);按独立近似估计,long 型内部低难度约 66 道——若你的自定义切分依赖联合分布,务必基于全量过滤而非抽样推断。
  • 位置偏置的分层稳定性:C 选项偏置在各难度档内是否一致,可按档分别统计 correct_idx 分布复算——这是附录 H"位置-准确率曲线"实验的第一步。

J.3 增量解读:这些数字联合说明了什么

  1. 难度分布不是均匀设计而是过滤结果:Trivial 到 Hard 各 16%-30%、Impossible 缺席——这是"闭卷即错"过滤器与抽样共同作用的自然产物(§12.3-12.4),不是人工配平。
  2. 长题占三分之二:198/300 的 long 占比意味着默认混跑时你的模型主要在考"情境化组合推理",只有三分之一是纯知识检索——分层报告时别让 short 型的简单分稀释 long 型的信号。
  3. 位置偏置的工程含义:C 选项 37.7% 意味着一个无脑"全选 C"的基线就有 37.7% 准确率——任何低于这个数的模型分数都是负技能信号,你的评测管线里应该常备这个 floor 基线。

附录 K:十大反模式——错误用法与正确替代

本条目所有警告的负面清单形态:十个高频错误用法,每个给出错误做法、后果与正确替代。适合作为团队评测规范贴在仓库 README 里。

反模式 1|把 600 题当可下载数

  • 错误:论文写 600 题,评测报告声称"在 600 题上评测"。
  • 后果:可复现性归零——审稿人拿不到另外 300 题,工作直接不可信。
  • 正确:写明"OpenFDA 半区 300 题(BNF 半区未开放)",规模双口径照抄 §4.3。

反模式 2|全库说明书塞进上下文当 open-book

  • 错误:把数百份 SPL 全文一次性塞入长上下文模型。
  • 后果:干扰项噪声拉低分数(方向性低估),与论文数字不可比且偏差不可量化。
  • 正确:per-question SPL retrieval(FAQ 24),报告 SPL 获取成功率。

反模式 3|不做位置打乱对照直接报分

  • 错误:跑一遍原始顺序出分数就写结论。
  • 后果:C 选项 37.7% 的偏置直接进入你的数字,"全选 C"基线 37.7% 都能过线。
  • 正确:原始+打乱双报告(§7.4),结论采用去偏数字(附录 J.3 的 floor 基线常备)。

反模式 4|把 PCP 成绩当及格线

  • 错误:“模型 48% > PCP 41.5%,达到人类水平”。
  • 后果:双重错误——混淆参照系与门槛(FAQ 16),且忽略 n=21 的功效限制(§11.3)。
  • 正确:情境化锚点表述(“高于基层医生基线 X pp,绝对值 Y%”),四格方向+显著性完整报告(§11.5)。

反模式 5|用 RxQA 做训练

  • 错误:把 300 题掺进 SFT/RLHF 数据。
  • 后果:基准对本模型永久失效,且无法向第三方证明干净。
  • 正确:训练用说明书语料(openfda,rid 420;drugbank,rid 89),RxQA 只做评测(FAQ 18)。

反模式 6|RxQA / EHRXQA / emrQA 混用

  • 错误:文献综述里写"XQA 类基准"一锅炖。
  • 后果:三个基准的团队、考点、数据形态完全不同,混引直接暴露不熟悉领域。
  • 正确:全称+机构首次标注(FAQ 29),按附录 I 的考场分类定位。

反模式 7|用论文 282/318 去切开源 CSV

  • 错误:按论文低/高难度比例去配平开源子集。
  • 后果:基数错配(600 vs 300),切出的子集与论文四格无对应关系。
  • 正确:CSV 实测切分 140/160,声明口径差异(§7.2、坑点 4、附录 J.1)。

反模式 8|引用版本不区分

  • 错误:数字引 arXiv 版、方法引 Nature 版,或反之,且不注明。
  • 后果:卷期年份对不上(2025-03 vs 2026-06/07),交叉审稿时被质疑引用不实。
  • 正确:数字类引 Nature(DOI 10.1038/s41586-026-10764-5),方法细节补引 arXiv 并注版本(FAQ 31)。

反模式 9|假设有官方 train/test 切分

  • 错误:在 CSV 上自己切 80/20 然后报"测试集分数"。
  • 后果:300 题规模下 80/20 切分的方差巨大,分数在误差棒里没有意义。
  • 正确:全集评测或声明自定义切分及其方差(多次 bootstrap),论文本身即全集口径(§2.2)。

反模式 10|忽略过滤纪元谈"知识盲区"

  • 错误:2026 年的模型跑了低分,声称"暴露了当前模型的知识盲区"。
  • 后果:题池的"盲区"是 2025 年 Gemini 1.5 Flash 的盲区,两者不是同一个集合。
  • 正确:把过滤纪元写进元信息(FAQ 20),解释分数时锚定"这套 2025 年过滤的题池"。

附录 L:时间线大事记(2025-03 至 2026-09)

时点 事件 对使用者的含义
2025-03-08 arXiv:2503.06074 v1 提交(20 作者,62 页) 最早可引用版本;方法学细节以这版最全
2025-03 → 2025-10 仓库空窗期(仅代码与论文链接) 此间任何"下载了 RxQA 数据"的声称存疑(坑点 2)
2025-10-30 仓库提交「Add RxQA OpenFDA questions and license」 OpenFDA 300 题 CSV 与双许可文件放出;可下载数据元年
2026-06-17 Nature 在线发表(DOI 10.1038/s41586-026-10764-5) 评估数字的权威口径切换到正刊
2026-07-30 Nature 期号日期 655(8125),1292-1299 页 引用格式从此可用卷期页码
2026(年内) Google DeepMind 博客以 open-ended 形式复评前沿模型 基准仍是活体;非 MCQ 复评口径与本条目 MCQ 口径不同
2026-09-28 本条目核验与成稿时点 全部实测数字的抓取快照日

附录 M:三类读者的行动清单

M.1 给评测工程师(今天就要跑分的你)

  1. 从官方仓库下载 rxqa_openfda.csv,跑 §7.1 的 30 行校验脚本(行数+难度分布双断言)。
  2. 决定难度切分口径并写进配置(140/160 实测口径起步)。
  3. 跑闭卷基线 + floor 基线(全选 C = 37.7%)。
  4. 跑位置打乱对照(§7.4),双报告。
  5. 若做 open-book:按题拉取 SPL(openfda,rid 420),记录获取成功率。
  6. 按 §13 模板写报告,附录 E 的 10 问逐项打勾。

M.2 给药物安全团队(想拿评测结果指导业务的你)

  1. 用 RxQA 测出模型在哪些知识点薄弱(按药物分组聚合,RxNorm 归一,rid 578)。
  2. 弱点清单对齐 FAERS 真实不良事件报告量(rid 264),做"知识盲区×真实风险"矩阵(§10.4)。
  3. 高风险×高盲区的组合优先做人工兜底(药师复核、说明书强制引用)。
  4. 把四格协议(§6.2)作为上线前回归测试的固定科目,版本迭代逐次留档。

M.3 给数据集构建者(想复刻这条管线的你)

  1. 通读 §12 五步重演,确认预算结构:药师时数 > 起草算力(§12.5)。
  2. 题源锁定官方一手文本(对应你辖区的"药典"),存照版本与抓取日期。
  3. 起草与过滤用当下前沿模型,阈值与采样次数存照(§12.2-12.3)。
  4. 抽样阶段就加入位置随机化(RxQA 的已知教训,§12.3)。
  5. 评级阶段做辖区/领域配对与一致性对齐(附录 H)。
  6. 发布节奏学 RxQA 的反面:论文与数据同步或数据先行(§4.2 的 7 个月空窗是反面教材)。

附录 N:库内交叉引用索引

本条目在千方病案医数集内部的可互链条目总索引(rid 为 record_id,锚点句已在 §10 逐一给出,此处为速查汇总)。

类别 条目(rid) 锚点主题
题源与本体 openfda(420) 美国题源 SPL 全文,open-book 复刻
题源与本体 rxnorm(578) 药品名归一,按药物重组题集
药物知识 drugbank(89) 错题知识溯源,相互作用证据链
药物安全 faers(264) 事后不良事件,盲区×风险矩阵
消费级问答 medicationqa(170) 真实患者提问分布
消费级问答 medquad(160) NIH 级问题海洋,检索问法池
EHR 问答 ehrxqa(646) 名字近邻,能力画像互补
QA 方法学 emrqa(139) 规模化产题先驱,方法演进
考试 MCQ medmcqa(111) 饱和天平对照
考试 MCQ headqa(120) 跨语言泛化参照

双向互链建议:rxqa 条目挂"评测基准/药物安全"双生态;openfda 条目可加"下游应用:RxQA 题源"锚点;medmcqa 条目可加"与 RxQA 的饱和度对照"锚点;ehrxqa 条目可加"名字近邻防混"提示。

附录 O:主题自查路由表——FAQ × 坑点 × 反模式 × 附录四重索引

本条目展开到 14 章正文 + 17 个附录后,同一主题的信息分散在多处。这张路由表按八个主题把所有相关位置一次收齐——遇到具体问题按行查,不必通读全文。

主题 正文小节 FAQ 坑点 反模式 附录
数据获取与镜像 §5.3 17 1、2 1 B、J.1
口径声明(600/300、难度切分) §4.3、§7.2 19 4 7 J、F
协议复刻(闭卷/开卷) §6.2、§7.3 24 — 2 P、E
位置偏差 §7.4、§2.2 22、30 6 3 J.3、H
人类基线(21 PCP) §6.4 16、26 7 4 §11
引用规范(arXiv/Nature) §4.1 31 — 8 F
生态与邻居条目 §10 28、29 3 6 I、N
许可合规 §5.1 18、27 — 5 B

使用示例:审稿人问"你为什么没做位置偏差对照"——按"位置偏差"行依次查 §7.4(方法)、FAQ 22(背景)、坑点 6(后果)、反模式 3(负面案例)、附录 J.3(数字依据),五处材料足够组织一节回复。

附录 P:四种评测协议变体的报告指南

RxQA 本身不限定 prompt 策略——"怎么问模型"是使用者的自由度,也是结果不可比的根源。本节给出四种常见协议变体的规范:每种怎么跑、预期水位在哪、报告必填什么、能否与论文数字对话。

P.1 zero-shot MCQ(最简协议)

  • 协议:题干 + 四选项直接进 prompt,要求输出选项字母,贪心解码。
  • 预期水位:闭卷条件下这是最接近论文"closed-book"格的协议,但注意论文的闭卷同样不含 few-shot 示例。
  • 报告必填:prompt 模板原文、解码参数、选项顺序是否打乱(打乱则报告去偏分数)。
  • 可比性:与论文四格协议对齐后可间接对话;与论文自报 AMIE 数字比较时注明"公开模型 vs 未公开研究系统"。

P.2 few-shot / CoT(推理增强协议)

  • 协议:前置 k 个带解析的示例(不可用测试题本身),或强制"先给推理链再给答案"。
  • 预期水位:通常高于 zero-shot 数个百分点;但 RxQA 的题面是药师改写过的精确表述,CoT 的增益幅度往往小于考试型基准——增益小本身是个值得报告的发现。
  • 报告必填:示例来源(严禁从测试集抽样)、k 值、CoT 解析是否在打分前截断。
  • 可比性:与论文四格不对齐(论文主结果不含 few-shot),只能在你的协议内部横向比较模型。

P.3 retrieval-augmented(按题检索说明书)

  • 协议:每题检索其题源药品的 SPL/说明书全文注入上下文,再作答——即论文 open-book 的忠实复刻。
  • 预期水位:低难度题升幅大(论文里闭卷→开卷 +21pp 量级),高难度题升幅有限(瓶颈在组合推理,FAQ 15)。
  • 报告必填:SPL 获取成功率、说明书版本快照日期、上下文截断策略(超长 SPL 怎么办)。
  • 可比性:与论文 open-book 两格对齐度最高;是唯一建议与论文数字直接对话的增强协议。

P.4 agentic(工具调用式检索)

  • 协议:给模型 openFDA API 等检索工具,由它自主决定查什么、查几次。
  • 预期水位:上限取决于检索策略质量;检索错误的代价在高难度题上被放大(查错药 = 全盘皆输)。
  • 报告必填:工具清单、平均检索轮次、失败率、检索轨迹样例(附录至少 3 条)。
  • 可比性:与论文四格不对齐(论文不是 agentic 协议)——这个变体更适合做"AI co-clinician"方向的能力画像,而非基准排位。

四变体速查:

变体 与论文可比 成本 推荐场景
zero-shot 闭卷格对齐 最低 首跑基线
few-shot/CoT 不可比 低 协议内横评
retrieval-augmented 开卷格对齐 中 严肃对比论文
agentic 不可比 高 能力画像研究

附录 Q:审稿人视角——审查一篇"用了 RxQA"的论文时查什么

反向场景:你是审稿人,投稿里出现了 RxQA 分数。按这张清单逐项核查,十分钟内定位口径硬伤。

# 审查项 合格标准 常见不合格形态
1 数据来源 官方仓库 + 版本/下载日期 写"RxQA-600"且无可下载佐证(坑点 1、2)
2 规模口径 300(或声明用子集) 直接声称 600 题评测
3 难度切分 实测口径 + 与论文口径的区分声明 用 282/318 切开源 CSV(反模式 7)
4 位置偏差 打乱对照或至少讨论 只字不提 correct_idx 分布(反模式 3)
5 floor 基线 全选 C(37.7%)等平凡基线在场 分数低于 floor 却声称有效信号(附录 J.3)
6 协议声明 闭卷/开卷定义清楚、检索方式明确 "开卷"却不说塞了什么(反模式 2)
7 人类基线用法 情境化锚点、带 n=21 与 p 值 "达到人类水平"式断言(反模式 4)
8 引用 Nature/arXiv 版本区分、数据署名 卷期年份错配(反模式 8)
9 训练污染声明 明确 RxQA 未进训练集 沉默(无法排除污染,反模式 5 的隐藏形态)
10 许可署名 CC-BY 4.0 署名 + 仓库链接 只引论文不署数据源

审稿意见模板句(可直接引用):“本文使用 RxQA 评测,但未说明所用半区(开源仅 OpenFDA 300 题)与难度切分口径(开源实测与论文口径不一致),亦未报告选项位置偏差对照(correct_idx 分布 53/75/113/59 非均匀)。请补齐上述口径后再行比较。”

§14 结语:一页读懂 RxQA

它是什么:Google Health 出品的药物知识四选一 MCQ 基准,600 题(美国 OpenFDA 300 开源 + 英国 BNF 300 未开放),每道题经 Gemini 1.5 Flash 起草、8 名 board-certified 执业药师修订并给五档难度评级。Nature 正刊背书(655(8125):1292-1299),代码 Apache 2.0、题面 CC-BY 4.0。

三个不常见做法:题目 AI 起草但人改写与担保;只保留"闭卷答错"的题(信息增量反向过滤);双辖区对称设计(同一协议跑美英两套药典)。

四格结论一句话:AMIE 四格全部高于 21 名美国 PCP 基线,其中高难度两格显著(50.6% vs 41.5%,p=0.013;57.9% vs 47.8%,p<0.001),但全集峰值仅 73.8%——药物知识问答远未饱和。

九坑一句话版:臆造版本名不存在;600≠可下载 300;EHRXQA 不是 RxQA;难度档会漂移;过滤纪元会过期;答案位置有偏置;8 名药师≠21 名医生;73.8% 不是"已解决";半区缺席导致 BNF 数字不可复算。

三步行动:官方仓库下载 → §7.1 脚本校验分布 → 按 §13 模板报告(位置对照必做)。其余一切细节,按附录 O 的路由表按需取用。

附录 R:核心数字复算脚本集

本条目引用的全部实测数字都应该能被读者独立复算——这是 AI-Ready 的自我要求。以下五个脚本覆盖本条目所有统计断言,每个脚本独立可跑、依赖只有标准库,断言失败即说明数据非官方或口径有变。

R.1 官方性体检(行数 + 难度分布 + 主键连续性)

import csv
from collections import Counter

with open("rxqa_openfda.csv", encoding="utf-8") as f:
    rows = list(csv.DictReader(f))

# 断言 1:行数
assert len(rows) == 300, f"行数 {len(rows)} != 300"

# 断言 2:难度分布(官方实测)
dist = Counter(r["pharmacist_rated_difficulty"] for r in rows)
assert dist == {"Trivial": 49, "Easy": 91, "Medium": 69, "Hard": 91}, dist

# 断言 3:主键连续无缺口
assert sorted(int(r["q_id"]) for r in rows) == list(range(300)), "q_id 不连续"

# 断言 4:难度档只允许四档(开源集无 Impossible)
assert set(dist) == {"Trivial", "Easy", "Medium", "Hard"}, "出现意外难度档"

print("官方性体检通过:300 题,难度 49/91/69/91,q_id 连续")

R.2 答案位置分布复算(位置偏置断言)

idx = Counter(int(r["correct_idx"]) for r in rows)
assert idx == {0: 53, 1: 75, 2: 113, 3: 59}, idx
c_share = idx[2] / len(rows)
assert abs(c_share - 0.377) < 0.001, f"C 选项占比 {c_share:.3f} != 37.7%"
print(f"位置分布 53/75/113/59 确认,C 占 {c_share:.1%}(floor 基线 {c_share:.1%})")

R.3 题干长度分布复算(题型代理口径)

lens = [len(r["question"]) for r in rows]
lens.sort()
n = len(lens)
assert lens[0] == 44 and lens[-1] == 1216, (lens[0], lens[-1])
assert lens[n // 2] == 589, f"中位 {lens[n//2]} != 589(偶数样本取下中位时按实现调整)"
long_q = sum(1 for L in lens if L > 400)
assert long_q == 198, f"长题 {long_q} != 198(论文每辖区 200 long 口径的实测对应)"
print(f"题干 44-1216 字符,中位 {lens[n//2]},>400 字符长题 {long_q} 道")

R.4 位置打乱对照(去偏评测的最小实现)

import random

def shuffle_options(rows, seed):
    rng = random.Random(seed)
    shuffled = []
    for r in rows:
        opts = [r["A"], r["B"], r["C"], r["D"]]
        correct_text = opts[int(r["correct_idx"])]
        rng.shuffle(opts)
        new_idx = opts.index(correct_text)
        shuffled.append({**r, "A": opts[0], "B": opts[1],
                         "C": opts[2], "D": opts[3],
                         "correct_idx": new_idx,
                         "correct": "ABCD"[new_idx]})
    return shuffled

# 用 k 个种子各打乱一次;对每个版本跑你的模型,取平均分 = 去偏估计
k = 5
variants = [shuffle_options(rows, seed=s) for s in range(k)]
# scores = [run_eval(v) for v in variants]  # 接你的评测函数
# report: 原始分 + mean(scores) ± std(scores)
print(f"已生成 {k} 个打乱变体(选项文本不变,仅位置重排,correct 同步)")

R.5 药品名归一化骨架(接 RxNorm 的翻译层)

import re, time, urllib.request, json

# 从题面提取题源药品名(short 型在首句;产品名全大写或含空格的注册商标形态)
PATTERN = re.compile(r"\b(?:when administering|taking|prescribed)\s+([A-Z][A-Za-z]+(?: [A-Z][A-Za-z]+)?)")

def extract_drug(question: str) -> str | None:
    m = PATTERN.search(question)
    return m.group(1) if m else None

def rxnorm_lookup(name: str) -> dict | None:
    # drugs API:精确匹配品牌/通用名 → RxCUI(生产环境请缓存 + 限速)
    url = f"https://rxnav.nlm.nih.gov/REST/rxcui.json?name={urllib.parse.quote(name)}"
    with urllib.request.urlopen(url, timeout=10) as resp:
        return json.load(resp)

# names = sorted({extract_drug(r["question"]) for r in rows} - {None})
# for nm in names:
#     rxcui = rxnorm_lookup(nm); time.sleep(0.2)   # 限速礼貌
# 得到 药品名 → RxCUI 映射后即可按药理类别重组题集(§10.2)
print("归一化骨架就绪:先提取,后查 RxNav,缓存+限速")

复算结果的解读规则:五个脚本全过 → 你手里的就是官方数据,本条目全部数字对你的副本有效;R.1 失败 → 数据非官方或官方已更新(先查仓库最新提交再下结论);R.3 失败但 R.1/R.2 通过 → 极小概率的官方重排,以仓库 README 声明为准。所有脚本假设 UTF-8、标准 CSV 方言;若解析异常,先用 csv.Sniffer 确认方言再排查。

附录 S:32 问一句话速答卡

§9 的 32 问各压缩成一行——只记得住一句话时,记住这张表。

# 问题 一句话答案
1 RxQA 是什么 Google Health 的药物知识四选一 MCQ 基准,药师逐题修订评级
2 有多少题 论文口径 600,可下载 300(OpenFDA 半区)
3 谁出的题 Gemini 1.5 Flash 起草,8 名 board-certified 药师修订
4 谁答的对照 21 名美国 PCP 做人类基线
5 发表在哪 Nature 655(8125):1292-1299(DOI 10.1038/s41586-026-10764-5)
6 最早什么时候能引 arXiv:2503.06074,2025-03-08
7 数据从哪下 github.com/Google-Health/rxqa(唯一官方渠道)
8 什么许可 代码 Apache 2.0,题面 CC-BY 4.0
9 BNF 半区为什么没有 内容许可未谈拢,无开放时间表
10 难度几档 五档(Trivial/Easy/Medium/Hard/Impossible),开源集无 Impossible
11 short/long 怎么分 400 字符阈值代理口径;官方无题型列
12 CSV 几列 9 列:q_id/question/A-D/correct/correct_idx/difficulty
13 答案位置均匀吗 不均匀:53/75/113/59,C 占 37.7%
14 最高分多少 73.8%(AMIE,低难度 open-book)
15 开卷提升为什么小 高难度瓶颈在组合推理,不在检索
16 PCP 成绩是及格线吗 不是,n=21 的参照系锚点
17 BNF 会开放吗 无官方声明,watch 仓库
18 能拿去训练吗 许可允许但方法学上强烈不建议(评测污染)
19 题型怎么用 长题约 2/3,分层报告防稀释
20 过滤纪元是什么 "闭卷即错"过滤器所用模型的时点(Gemini 1.5 Flash,2025)
21 与 MedQA 什么区别 考试推理 vs 说明书精确记忆;后者未饱和
22 位置不随机是缺陷吗 管线遗留特征,打乱对照可量化
23 Impossible 档是什么 开卷也难可靠作答;开源 0 题
24 open-book 怎么复刻 按题检索对应 SPL,不是全库塞入
25 AMIE 能下载吗 不能,研究原型未公开
26 PCP 怎么参与评估 21 名美国执业,闭卷/开卷作答做基线
27 需要 IRB 吗 不需要,合成题面无 PHI
28 与 MedicationQA 谁好用 机器人理解层用 MedicationQA,事实正确性用 RxQA
29 与 EHRXQA 会混吗 会,全称+机构标注防混
30 位置偏差研究怎么做 k 次打乱取平均,定向变换画位置-准确率曲线
31 引用哪一版 数字引 Nature,方法细节补引 arXiv 注版本
32 会更新吗 无承诺;关注仓库提交与 DeepMind 博客

版本注记

  • 本条目数据抓取与核验时点:2026-09-28(RxQA 事实档案 FACTS.md 同日落盘)。
  • 核验方法:三轮三源(arXiv 全文 + GitHub 仓库实测 + Nature DOI 解析),开源 CSV 实测 300 行逐列统计(难度分布、correct_idx 分布、题干长度分布)。
  • 已证伪并存照:「RxQA-2K / RxQA-10K」版本名不存在(三轮搜索零命中),属臆造/误记;官方全部可下载资产为 rxqa_openfda.csv(300 题)。
  • 数字快照:600 题(论文)= OpenFDA 300(开源)+ BNF 300(未开放);开源实测 Trivial 49 / Easy 91 / Medium 69 / Hard 91;correct_idx 53/75/113/59;题干 44-1216 字符(中位 589);AMIE vs 21 PCP 四格见 §6.2、逐格解读见 §11。
  • 条目结构:§0-§14 正文 + INFOBOX + 附录 A-R + 版本注记;坑点九则(§8);DAIMS 24 项自评(附录 A);复算脚本五套(附录 R)。
  • 条目内 URL 均指向官方一手来源(Nature DOI、arXiv、GitHub);库内互链 rid 以发布时数据库为准。
  • 若 BNF 半区未来开放或仓库出现语义化版本,请以官方仓库最新提交为准更新 §5 与本注记。

相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • medicationqa — 共享标签:医学问答与基准 / 评测基准 / 药物安全 / 医疗NLP
  • i2b2-n2c2-nlp — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP
  • cblue — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP
  • blurb — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP
  • bc2gm — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP
  • blue-benchmark — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP
  • healthsearchqa — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP
  • claimify — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP
  • cadec — 共享标签:药物安全 / 医疗NLP
  • pubmedqa — 共享标签:医学问答与基准 / 评测基准 / 医疗NLP

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集