论文:Towards Conversational AI for Disease Management
-
研究机构:Google Research、Google DeepMind
问 1:这个算法的“目的”是什么?
-
大模型已在单次问诊上有一定成功,但缺乏后续随访和病情发展(如多回合用药、病程跟踪、引用指南)
-
论文要解决的核心痛点:如何在多次就诊、病情演变的场景中,为病人提供可追溯、符合指南的连续性医疗管理。
问 2:要解决的“核心难题”是什么?
一是诊断之外,还要考虑治疗演变过程;
二是要随时间推进来更新诊断与治疗决策;
三是要能够引用权威指南并提供可追溯的临床依据;
四是在多次对话中保持患者上下文一致性。
具体算法:
- 多代理分工协作:对话 Agent(快速对话与信息收集)+ 管理环境 Agent(检索和制定管理方案)。
- 长上下文检索 + 结构化输出(JSON + 引用来源):可将多篇临床指南一次放入模型,上下文容量大;输出包含引用来源、具体药物剂量、后续随访安排等。
问 3:对话代理(Dialogue Agent)在算法里扮演什么角色?
对话代理负责与患者进行自然语言交互,用较快、直觉式的推理与信息收集方式获取患者的病情描述,并保持对话上下文,形成对患者现状的概括与主要诊断方向。
问 4:具体怎么做信息收集?(机制是什么?)
通过多回合“Plan → Generate → Refine”的链式推理(Chain-of-Reasoning)过程:
- Plan:先决定下一步打算问什么或回答什么
- Generate:再生成具体的自然语言回复;
- Refine:最后检查并优化措辞、避免重复或冲突;并且在每一次回合后更新患者的摘要、病史、假设诊断等“Agent State”。
问 5:另一个管理推理代理(Mx Agent)又为什么要单独设置?
因为管理推理本身涉及更复杂的计算、要引入长上下文临床指南和大量文档(如 医学指南 或 药物手册、论文)。
如果对话代理也来做深度检索与融合,可能会影响实时响应。
所以分开,Mx Agent专门去阅读长文档、综合分析,再给出结构化的管理方案。
问 6:“如何”读取那么多临床指南?
算法里先用嵌入(embedding)把临床文献做索引,Mx Agent产生搜索 query,检索到最相关的文档,再将它们放进长上下文模型进行跨文档 reasoning。
最后输出 JSON 格式的治疗或检查清单,并附上对哪些指南作了引用。
备注:论文使用的是 Gemini,无限注意力机制会总结长文-记忆压缩,实现 200 万长上下文,也有 40% 信息丢失率。
医疗丢失40%的信息,那不凉了,所以自研了专做长文档的 Agent。
问 7:“结构化输出”是怎样的?
用一个JSON Schema 或 特定约束,明确分成:
-
- in_visit_investigations
(当次就诊要做的检查/提问),
- ordered_investigations
(会后或下次前要做的项目),
- recommendations_or_actions
(具体药物、剂量、其他干预),并且在每条推荐后标明
- in_visit_investigations
引用(citation)到具体的临床指南段落。
为什么要做“多草稿(multiple drafts)”的管理方案?
因为某些治疗场景下可能有不同可行方案,系统会并行生成多版草案。
让模型进行“自检或自洽”比较,再合并成最优或综合性的最终计划。
这样做能提高方案的覆盖面与合理性。
问 9:两代理之间“怎么”协作?
对话代理发现需要给病人一个管理方案或更新治疗时,会调用管理代理 Mx Agent。
Mx Agent生成 JSON 形式的结果并传回;然后对话代理再基于此给患者解释、回答问题。
如果患者有新信息或新的检查结果,对话代理就再次调用 Mx Agent 更新计划。
问 10:这个算法最终“输出”给患者和医生的是什么?
实时的文字对话(医生风格回答)+ 一份可执行且可追溯的结构化管理方案,包括检查、药物、下一步随访计划等,并附带临床指南来源。
有了TA,医生也能验证或更改方案,或在实际临床中作对照与审慎应用。
不仅能做诊断,还能多轮跟踪病情、精细化管理处方与随访,并以结构化、可追溯的方式引用临床指南。
算法拆解
[总体解法: AMIE多代理 + 长上下文 + 结构化输出]
├─ 子解法1: Dialogue Agent
│ ├─ 特征A: 快速对话 & 收集信息
│ └─ 功能: Plan→Generate→Refine, 同理心语言, 更新对话状态
├─ 子解法2: Mx Agent
│ ├─ 特征B: 深度推理,制定管理方案
│ └─ 功能: 多草稿合并, 输出结构化
├─ 子解法3: Long-Context Retrieval
│ ├─ 特征C: 并行加载大量临床指南
│ └─ 功能: embedding检索,合并上下文
├─ 子解法4: 结构化输出(Structured Generation)
│ ├─ 特征D: 对接临床工作流,需可追溯可执行
│ └─ 功能: JSON Schema,强制分段输出+引用
工作流程:
[患者多次就诊场景]
└─ (1) Dialogue Agent对话收集
├─ 确认症状、病史
└─ 发现需深入管理 -> 调用 Mx Agent
└─ (2) Mx Agent检索长文本指南
├─ 选择最相关文档(embedding)
├─ 多草稿生成 + 合并
└─ 输出JSON管理方案 + 引用来源
└─ (3) Dialogue Agent整合并传递给患者
└─ 后续复诊 -> 循环
(4) 医生审核
实验数据
结论:多次就诊中,与 21 位全科医生对比,显示管理方案不劣于人类水平;引用指南一致度、高精度用药推荐等方面甚至表现更佳。
-
多次就诊,每个病例包含:
- 患者初诊资料
(病史、主诉、症状),
- 后续复诊更新
(新的检查结果、用药反馈),
- 涉及多学科专科
(心内科、呼吸科、消化科、妇产等),形成较为广泛的病例覆盖。
- 患者初诊资料
设计了 100 个多回合病例场景(来自加拿大、印度等多位临床专家的编写)。
作者确实对各专业做了均衡分配(每科 20 例),避免偏重于单一领域。
然而百例场景仅能覆盖“常见类型”,不代表所有可能病程。
-
临床指南和药物手册
-
引入 527 条 NICE Guidance + 100 条 BMJ Best Practice,共约 627 份文档,长度达 数十页到上百页不等。
-
这些资料用于让模型进行长上下文检索与决策。
-
-
人体实验数据(OSCE 设计)
-
21 名全科医生(PCPs)+ 21 位模拟病人角色
-
在远程文本对话的方式下,让 PCP 或 AMIE 分别与模拟病人进行 3 次就诊
-
专科医生对两组结果(AMIE vs. PCP)进行盲评打分。
-
-
RxQA 基准数据集
-
涉及 600 道问答题,从美国和英国药典(OpenFDA、BNF)提取,经专业药师审定分难度等级,以测评用药和处方准确性。
-
DeepMind 把很多提示词都记录在论文末尾,但没有写清楚算法机制,比如 多草稿合并如何保证不冲突,这个还得自己琢磨。