信息速览
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 题"才是你能下载的口径,本条目全程区分这两个数。
导语读法三则:
- 只想下数据:直奔 §5 获取与许可——双许可怎么引用、BNF 半区为什么没有、raw.githubusercontent.com 连不上时走哪条镜像路径,都在那里。
- 关心方法设计:直奔 §3 构建流水线——Gemini 起草、闭卷过滤、药师五档评级三步各自解决什么问题,以及为什么"模型参与出题"在这里不构成循环论证。
- 做模型评测:直奔 §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 读法三则:
- 先记三个数:600(论文口径总题数)、300(开源可下载题数)、73.8%(全集最高准确率)——这三个数贯穿全条目,也是读任何第三方转载时的第一道辨伪题。
- 再记一条流水线:Gemini 起草 → 闭卷过滤 → 药师修订评级。往后所有"AI 生成数据集质量如何保证"的争论,都可以用这条三段式管线作为参照系。
- 最后记一句限定语:"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 体系,只有辖区内的专家才能判断题面表述是否符合当地临床习惯。药师对每道题做两件事:
- 修订改写:修正药学不准确处、消除选项歧义、统一术语(商品名/通用名的使用规范)、剔除答案不唯一的题。修订后的题面与 AI 原稿的差异本身没有公开数据,但"修订"而非"复核放行"的定位说明 AI 原稿不可直接使用。
- 五档难度评级: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 个月空窗 → 数据)造成三重后果:
- 引用滞后:2025 年 3-10 月间引用 RxQA 的文献都在描述一个"读不到的数据集",部分二手转述因此自行想象了规模或构成。
- 衍生污染:空窗期内不排除有人按论文描述自行重建题面并发布,这类"复刻版"与官方 CSV 无一题一题的对应保证,检索 RxQA 时务必核对来源 URL 是否为 Google-Health 组织。
- 半区缺席常态化:数据放出时也只有美国半区,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,建议先跑一遍四步体检,确认你拿到的是真身:
- 数行数:300 行数据 + 1 表头 = 301 行。不是 300 就是错的(多半是论文口径 600 的幻想版或半成品复刻)。
- 数列数:9 列(q_id, question, A, B, C, D, correct, correct_idx, pharmacist_rated_difficulty)。列名对不上说明是他人转制版。
- 验难度档:pharmacist_rated_difficulty 列应只有 Trivial/Easy/Medium/Hard 四个取值(Impossible 为 0)。出现第五个取值或分布显著偏离 49/91/69/91,警惕版本污染。
- 验答案分布: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 闭卷/开卷协议:与论文数字可比的正确姿势
想与论文四格数字对话,协议必须对齐三点:
- 闭卷:prompt 里只放题干与四选项,禁止任何检索、工具调用或说明书片段——包括系统提示词里"顺手"附上的药学知识。
- 开卷:为每道题检索该题对应药品的说明书并置入上下文。RxQA 题面不含药品 ID,你需要从题干抽实体(可借助 RxNorm,库内 rid 578)映射到 SPL 文档;不要图省事把整包说明书塞给模型——那改变了任务性质(从"定位阅读"变成"大海捞针",且成本不可控)。
- 输出约束:强制模型输出 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 四格合读:三条总规律
- 难度决定显著性,检索决定水位:两格显著差距都在高难度(AMIE 占优),两格水位跳升都来自开卷(+21pp 量级)。解读任何一格前先问"这格的难度与检索条件是什么"。
- AMIE 四格全胜但只有两格显著:方向一致(+6.3/+9.1/+6.4/+10.1pp),证据强度分层。诚实报告法是"四格方向一致,其中高难度两格达统计显著"。
- 人类基线是参照系不是及格线: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 名药师,加入这套评级体系。本附录把五档量表还原成可操作的判定规程——它同时也是使用者理解"难度标签怎么来的"的镜像视角。
判定流程(逐题三问):
- 闭卷能答对吗?——先不看说明书默答。答对且确定 → Trivial 候选;答对但靠机械记忆具体数字 → Easy 候选;答错或靠猜 → 进入第 2 问。
- 开卷一次定位能答对吗?——通读对应说明书一遍。单一段落可定答案 → Easy;需组合两个字段(适应症×禁忌、剂量×人群)→ Medium;需跨章节组合(相互作用×监测×特殊人群)→ Hard;仍无法可靠确定 → 进入第 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 增量解读:这些数字联合说明了什么
- 难度分布不是均匀设计而是过滤结果:Trivial 到 Hard 各 16%-30%、Impossible 缺席——这是"闭卷即错"过滤器与抽样共同作用的自然产物(§12.3-12.4),不是人工配平。
- 长题占三分之二:198/300 的 long 占比意味着默认混跑时你的模型主要在考"情境化组合推理",只有三分之一是纯知识检索——分层报告时别让 short 型的简单分稀释 long 型的信号。
- 位置偏置的工程含义: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 给评测工程师(今天就要跑分的你)
- 从官方仓库下载 rxqa_openfda.csv,跑 §7.1 的 30 行校验脚本(行数+难度分布双断言)。
- 决定难度切分口径并写进配置(140/160 实测口径起步)。
- 跑闭卷基线 + floor 基线(全选 C = 37.7%)。
- 跑位置打乱对照(§7.4),双报告。
- 若做 open-book:按题拉取 SPL(openfda,rid 420),记录获取成功率。
- 按 §13 模板写报告,附录 E 的 10 问逐项打勾。
M.2 给药物安全团队(想拿评测结果指导业务的你)
- 用 RxQA 测出模型在哪些知识点薄弱(按药物分组聚合,RxNorm 归一,rid 578)。
- 弱点清单对齐 FAERS 真实不良事件报告量(rid 264),做"知识盲区×真实风险"矩阵(§10.4)。
- 高风险×高盲区的组合优先做人工兜底(药师复核、说明书强制引用)。
- 把四格协议(§6.2)作为上线前回归测试的固定科目,版本迭代逐次留档。
M.3 给数据集构建者(想复刻这条管线的你)
- 通读 §12 五步重演,确认预算结构:药师时数 > 起草算力(§12.5)。
- 题源锁定官方一手文本(对应你辖区的"药典"),存照版本与抓取日期。
- 起草与过滤用当下前沿模型,阈值与采样次数存照(§12.2-12.3)。
- 抽样阶段就加入位置随机化(RxQA 的已知教训,§12.3)。
- 评级阶段做辖区/领域配对与一致性对齐(附录 H)。
- 发布节奏学 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
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

