论文来源: https://arxiv.org/pdf/2405.02957
1 引言
大型语言模型(LLM)代理在各种任务中表现出了有前景的性能,包括代码生成、信息博弈和问答等。受 LLM 代理能力的启发,一些研究采用它们来模拟人类互动和行为,而不是处理单一任务,例如社交媒体上的信息传播和"Stanford Town"模拟器项目。学术界和工业界的人士都相信,LLM 代理将对各种场景产生重大影响。
尽管现有研究取得了成功,但 LLM 代理通常用于解决特定任务或社会模拟。这引发了一个问题:我们能否将这两种能力结合起来?也就是说,社会模拟的过程是否可以提高 LLM 代理在特定任务上的性能?受此假设的启发,我们旨在通过设计一个医院模拟器来验证它,从而实现医疗 LLM 代理的进化。选择医疗场景主要有两个原因:一方面,医疗 AI 被广泛认为是 AI 技术可以取得重大改进的理想场景,而有效的医院模拟可以促进相关研究。另一方面,医院环境涉及多个典型任务,例如疾病诊断和异构信号理解,这些都是检验仿真环境是否可以帮助 LLM 代理进化的极好基准。
在这项研究中,我们开发了一个全面的模拟系统,涵盖了医院中几乎所有的医疗过程,我们将其命名为 Agent Hospital。图1显示了模拟环境的概览。主要有两类代理:居民(潜在患者)和医疗专业人员。每个居民在患病时都会选择去医院就诊。在住院期间,他们会经历一系列程序,就像医院中的真实医疗过程一样,包括分诊、挂号、就诊、检查、诊断和治疗。在 Agent Hospital 中,患者在获得治疗方案后,其健康状况变化会在 LLMs 的帮助下预测,一旦康复,他们会主动向医院汇报以进行随访。整个医院互动过程的模拟为进一步研究提供了一个极好的平台,例如,让一位医生代理通过治疗无限的模拟患者来进化。
在 Agent Hospital 的基础上,我们的目标是训练出精通医疗任务的医生代理,如诊断和治疗建议,这在医院环境中至关重要。传统研究通常通过预训练、监督微调或检索增强生成策略将医学知识整合到 LLMs/代理中,以构建强大的医疗模型。然而,我们提出了一种新颖的策略,通过在模拟环境中模拟医患互动来训练医生代理。由于没有使用人工标注数据,我们将该策略命名为 MedAgent-Zero。医生代理与 Agent Hospital 中的各种患者代理互动,通过从成功病例中积累记录和从失败病例中总结经验,从而逐渐进化为更出色的代理。由于医生代理训练的成本低、效率高,我们可以轻松让代理在短短几天内处理数万个病例,而现实世界的医生可能需要数年时间。
我们进行了两类实验来验证通过我们医院中的 MedAgent-Zero 策略进化的医生代理的有效性。一方面,在虚拟医院内,我们进行了从100到10000个生成的患者互动实验(人类医生可能每周治疗约100名患者),涵盖了8种不同的呼吸系统疾病、十几种类型的医学检查以及每种疾病的三种不同治疗方案。通过 MedAgent-Zero 策略训练的医生代理在处理模拟患者的过程中不断自我进化,最终在检查、诊断和治疗任务中分别实现了88%、95.6%和77.6%的准确率。另一方面,我们采用进化后的医生代理参加了 MedQA 数据集子集的评估。令人惊讶的是,即使没有任何人工标注数据,我们的代理在 Agent Hospital 中进化后还是实现了最先进的性能。这些结果表明,模拟环境可以有效地帮助 LLM 代理进化,以处理特定任务。
我们工作的主要贡献总结如下:
- 据我们所知,这是第一个医院模拟器,全面反映了整个医疗过程,具有出色的可扩展性,使其成为研究医疗 LLMs/代理的宝贵平台。
- 在这个虚拟环境的基础上,我们提出了 MedAgent-Zero策略,旨在实现医疗代理的自我进化,无需人工标注数据。记录累积和经验总结模块使医生代理能够通过在 Agent Hospital中处理医疗病例并进行自我反馈来不断进化其能力,从而提高他们处理各种医疗任务的能力。
- 在模拟病例的实验中,MedAgent-Zero可以在几天内处理数万个病例(人类医生可能需要两年多),并展示出强大的性能。此外,在 Agent Hospital中自动积累的经验甚至使我们的医生代理在真实世界评估数据集(MedQA 的子集)上实现了最先进的性能,即使没有任何人工标注数据。
2 相关工作
2.1 基于 LLM 的真实世界仿真
最近的研究倡议利用LLMs来复制真实世界的动态。在流行病学、社会学和经济学等多个领域,研究人员正在利用基于LLMs的代理来模拟人类决策,导致各个领域出现了许多令人兴奋的新兴现象。
基于LLMs的代理在具有竞争性和动态性的真实世界模拟中展示了互动能力,通过提供服务和接收反馈,使其行为与现有的社会学和市场理论保持一致,以确保各个代理之间的公平竞争。由LLM驱动的代理通过理解用户查询和沟通需求,在推荐框架内模拟用户偏好和行为,从而提供深度个性化的推荐服务。
LLMs被用于通过开发能够理解人类决策过程的代理来模拟宏观经济活动,从而适应复杂的经济环境,改善对经济行为和趋势的预测。社交网络模拟系统使用LLMs赋予代理模拟个人情感、态度和互动行为等人类行为的能力,利用真实的社交网络数据构建模拟环境。
基于生成代理的公共管理危机模拟系统使非技术社会科学研究人员能够轻松进行复杂的模拟,并分析公共管理危机中的个人和群体行为。此外,基于LLMs的多智能体战争模拟系统被设计用于模拟和分析大规模历史冲突,如世界大战。该系统重构了历史军事事件、政治谈判和战略规划,探索了通向和平和未来预防冲突的过程。
在流行病学领域,研究人员整合了LLMs来开发模拟个人行为的模型。每个代理由其自身的性格、健康状况和对疫情传播的感知所驱动,模拟真实世界的行为模式,从而理解社会行为与疾病传播之间的动态关系。
这些应用表明,LLMs能够模拟真实世界的动态,为我们提供了许多令人兴奋的见解。利用基于LLMs的代理进行医疗保健模拟也是一个有前景的方向。然而,现有研究主要侧重于模拟治疗任务,而不是全面模拟患者疾病治疗的整个闭环。它们也未能让医生在这个过程中不断进化,更不用说模拟季节性流感暴发等社会医疗事件。我们的工作旨在填补现有研究的空白,希望能更好地利用LLMs进行诊断和治疗,为医疗决策提供更准确、更有效的支持。
2.2 代理的进化
最近LLMs的进步极大地启发了它们在各个领域的集成和应用。目前的LLMs已经通过预训练、微调和其他形式的人工监督训练等方法取得了多项突破。然而,随着任务复杂性和多样性的增加,当前的LLMs可能会遇到性能瓶颈。现有的训练范式需要使用大量的数据语料库或大量的人工监督,代价高昂。因此,自我进化方法的发展势头正猛。这些方法使LLM驱动的代理能够通过自我进化策略自主获取、完善和学习。
一种方法涉及直接明确地整合外部知识,以增强解决任务的能力。例如,Self-Align使用主题引导方法收集跨20个科学领域的主题,包括科学和法律专业知识。SOLID生成实体的结构化知识来发起对话。UltraChat编译来自20种不同类型文本材料的非结构化知识,围绕30个元概念组织,以设计对话任务。这种经验的积累使代理能够处理更广泛的任务。
代理还可以在解决方案生成过程中进行反思,以促进自我进化。STaR在解决任务时产生理由。如果发生错误,它会修改理由和答复,然后指导模型的微调,以提高模型性能。LSX引入了两个相互关联的模块,协同进化:一个学习者模块执行基础任务,一个评论者模块评估学习者提供的解释的质量。此外,SelfEvolve和LDB通过使代理能够反思和学习操作过程中产生的反馈,增强了代理在代码生成方面的能力。通过这种反思过程,代理可以自我进化、完善方法,从而实现性能的提高。
代理自我进化策略的发展前景看好。然而,目前关于代理进化的研究主要集中在孤立的独立任务上,缺乏与真实世界模拟的整合,特别是在医疗保健模拟等情境中,患者的病情随时间动态演变。因此,在没有真实世界环境的情况下使用自我进化的LLM代理具有相当大的潜力。
3 医院模拟器
3.1 环境设置
为了可视化整个就诊过程,我们首先设计了一个医院沙盒模拟环境。受之前研究的启发,医院沙盒由Tiled1和Phaser2实现,其中Tiled是一个高度灵活的地图设计工具,Phaser是一个管理代理在沙盒中的移动和交互的框架。最后,如图2所示,Agent Hospital中有16个具有不同功能的区域,包括分诊台、诊室、检查室等。
3.2 代理角色
我们为医院中的互动设计了两种角色,包括医疗专业代理和居民代理(随时可能成为患者)。这些角色的信息是使用LLM(GPT-3.5)生成的,可以轻松扩展。
3.2.1
医疗专业代理。如图2所示,有各种诊室和检查室,因此我们需要一系列医疗专业代理在Agent Hospital工作,包括14名医生和4名护士。我们的医生(医师)代理专门用于诊断疾病和制定详细的治疗计划,而我们的护理代理专注于分诊,支持日常的治疗干预。图3总结了几个模拟医疗专业代理的更多信息,例如,Elise Martin是一名在内科诊室工作的女性内科医生,Zhao Lei是一名擅长解读医学影像的男性放射科医生。
3.2.2
居民代理。医院中的另一类角色是患者。我们的模拟从患者代理健康时开始,所以我们更喜欢称他们为居民代理(一旦生病就可能转变为患者代理)。为了简化交互,我们假设医疗专业代理不会像居民代理那样患病。每个居民代理都有不同的人口统计信息,可能会随机患病。如图3所示,Kenneth Morgan是一名患有疾病的男性居民。这些代理在患病后会自动启动寻求医疗帮助的过程,反映了临床环境中典型的患者行为。
3.3 规划
为了增强我们Agent Hospital的真实性,居民代理和医疗专业代理的行为和互动都是战略性规划的,并在代理收到指令(例如,去特定诊室)时动态重新安排。这种方法不仅仅是模拟独立的治疗过程,而是全面模拟疾病的进展和随时间的恢复情况。
3.3.1
居民的规划。居民(患者)在医院中扮演最活跃的角色,所以我们首先介绍他们的计划。主要有两类计划:1)日常规划。居民代理随机出现疾病,如果发病,他们会安排就医。2)动态规划。患者代理一到医院,就会到分诊台。患者代理的行为和移动根据分诊、挂号、就诊、检查、诊断和治疗流程的顺序动态调整。这些流程是根据患者资料和医疗专业代理对不断变化的临床情况的反应动态生成的。患者根据其特定资料和疾病的动态进展情况,遵循这一适应性序列。这种动态配置使得能够全面评估治疗效果和疾病管理策略,为受控但真实的虚拟环境提供准确的模拟。
此外,代理的健康状况受到持续监测。根据治疗和用药的有效性,他们的病情可能会好转或恶化。如果病情恶化,代理会安排第二天再次就医。相反,如果有所改善,代理会留在家中,每天逐步康复,直到完全恢复健康。对于康复并保持健康状态的代理,系统每天随机生成新的症状和疾病,反映了现实世界医疗条件的不可预测性。这引发了另一个就医和就诊的周期。
3.3.2
医疗专业人员的规划。医疗专业代理被分配到医院内的特定岗位,根据其指定的角色履行职责。他们的行动类型比居民少,但他们应该提高自己的专业技能,以在Agent Hospital中获得更好的治疗水平。他们从两种类型的行动中接受训练:1)实践。医生代理被安排在各自的科室,在轮班期间管理临床会诊,为分配给他们的患者提供护理。患者的随访信息将帮助他们完善医疗记录经验。2)学习。在非工作时间,他们通过研究过去的医疗记录来获得临床经验,并通过阅读医学教科书来扩展知识。
3.4 患者事件/互动
患者代理通常经历八种主要类型的事件或互动,这是Agent Hospital中最活跃的角色。为了清晰起见,我们将从一个例子开始。图4展示了一个案例研究,主角是居民代理Kenneth Morgan,他醒来时皮肤状况不好,决定到医院寻求医疗帮助。最初,他在分诊站接受初步评估,评估他的症状。根据这一评估,他被转介到皮肤科与专家会诊。到达后,Morgan在医院前台登记,安排他的会诊时间表。然后,他在指定区域等待,直到被叫到皮肤科医生的办公室。在会诊期间,皮肤科医生代理确定需要进行医学检查,Morgan接受了检查。皮肤科医生代理在审查结果后提供诊断,概述治疗策略,并开具药物处方。最后,Morgan从医院药房领取药物,回家开始康复。
接下来,我们详细介绍患者事件和互动:
3.4.1 发病
居民代理从预定义的数据集中随机感染疾病。每种疾病被归类为三个严重程度之一:轻度、中度或重度。模拟为每个居民分配LLM生成的特定疾病症状、诊断结果、潜在并发症、各类检查结果、鉴别诊断、确诊、治疗方案和预防措施。这些细节被封装在完整的病历中,如附录中的图16所示。请注意,所有疾病信息对医疗专业代理来说都是不可见的,他们只能通过询问患者/进行医学检查来获取信息。
医学知识参与疾病模拟,并根据患者疾病严重程度与该信息相结合生成患者病例报告。我们生成的病例严格遵循医学原则,数据构建过程涉及对信息的人工验证,以确保生成的内容符合医学逻辑。例如,附录中的图15说明了模拟COVID-19患者时应用的医学知识。
3.4.2 分诊
。患者一到Agent Hospital,就从分诊台开始就诊。患者到达后向护理代理描述他们的症状。指示指导护理人员做出决策,使他们能够将患者引导到有医疗专业代理可以进行进一步诊断的适当专科。
3.4.3 挂号
。在初步评估之后,患者遵循分诊站的建议,在登记处登记。然后,他们在指定的等候区等待与各科室专家会诊。
3.4.4 会诊
。轮到会诊时,患者与医生代理进行初步对话,描述他们的症状和发病时间。然后,医生决定需要进行哪些医学检查以调查病因,并协助诊断和治疗。在当前版本中,根据医生代理的决定,每个患者只会进行一种类型的医学检查。
3.4.5 医学检查
。患者在收到开具的医学检查单后,前往相关科室接受检查。由LLM预先生成的医学数据随后呈现给患者和医生。这一过程旨在模拟实时诊断反馈,与图16中患者资料所示的症状一致。
3.4.6 诊断
。在医学检查之后,患者被引导到相应科室,由医生代理进行诊断。患者向医生代理披露他们的症状,并分享医学检查结果,然后医生代理根据预定义的疾病集进行诊断。诊断结果立即反馈给患者,展示了该模型整合复杂医学数据和先进诊断能力的能力。
3.4.7 治疗建议
。医疗代理获得患者的症状、医学检查结果以及他们做出的疾病诊断。此外,还提供了三种针对轻度、中度和重度病情定制的不同治疗方案。医生的任务是根据患者的特定需求,从轻度、中度或重度方案中选择适当的方案。如果开具任何药物,患者需要到药房领取。
3.4.8 康复(随访)
。在诊断和治疗过程结束时,患者提供有关其健康状况的反馈或更新,以便采取后续行动。为了准确模拟疾病的动态进展,增强LLM的模拟涉及几个关键步骤:医生根据患者的详细健康信息和检查结果制定治疗计划,然后将这些细节(特别是患者的症状、开具的治疗计划和诊断的疾病)纳入模拟模板。
3.5 医疗专业事件
除了与患者代理互动外,医疗专业代理(特别是医生代理)主要从事以下两类行动。这两类行动都旨在实现Agent Hospital内医疗代理的自我进化。
3.5.1 实践
。医生代理在Agent Hospital的治疗过程中不断学习和积累经验,从而像人类医生一样提高他们的医疗能力。我们假设医生代理在所有工作时间内都在不断重复这一过程。第4.3节详细介绍了一种新设计的进化策略。
3.5.2 学习
除了通过临床实践提高技能外,医生代理还通过在工作时间之外阅读医学文献主动积累知识。这一过程主要涉及避免代理参数化知识学习的策略,我们也将在第4节介绍。
4 方法
4.1 医疗任务的定义
LLM评估任务通常采用多项选择格式,其性能比生成任务更容易衡量。因此,我们也以这种方式格式化一些有代表性的医疗任务,以评估医疗代理的能力,包括检查判断、诊断和治疗计划。值得注意的是,我们的方法侧重于如何增强医生(医师)代理。
我们在这里定义三个医疗任务:
(1) 检查决策:患者代理讲述她/他的症状,医生代理应从可用选项中选择一项医学检查。由于每种疾病都有几种检查选项,如果医生代理选择的检查在真实答案列表中,则可以视为正确答案。
(2) 诊断:根据患者的症状和医学检查结果,医生代理应给患者做出诊断。所有候选疾病都包含在提示中,只有当医生代理生成的疾病名称与患者的实际疾病相同时,答案才是正确的。
(3) 治疗计划:根据患者的症状和诊断结果,医生代理应决定适合患者的治疗计划。为避免难以评估的多样化输出,所有疾病分为轻度、中度和重度三个治疗级别。如果输出与真实情况一致,则答案正确。
4.2 数据集
4.2.1 模拟医学数据集
在第3.4节中,我们介绍了如何基于LLMs为患者生成模拟电子健康记录。生成此类记录也需要基础领域知识。因此,我们主要从《传染病学》第8版[10]中收集了8种有代表性的呼吸系统疾病的数据,包括急性鼻咽炎、急性鼻炎、支气管哮喘、慢性支气管炎、COVID-19、甲型流感、乙型流感和支原体感染。对于每种疾病,我们收集了症状、实验室检查/检查结果和治疗计划。图15显示了有关COVID-19的医学知识。
之后,将疾病知识添加到病历生成提示中。我们通过LLM生成了大约一万条记录,其中10,000条记录用于训练,500条记录用于测试。每条记录涉及三项医学测试(检查、诊断和治疗),以帮助医生代理在实践中进化。这个数据集被命名为模拟医学数据集。
4.2.2 医学文献数据集
。医生代理也通过学习来提升自己,因此我们收集了一些关于呼吸系统疾病的医学新闻/教科书数据集。从医学新闻网站3收集了超过500万个标记,从默克手册网站4收集了大约400万个标记。为了帮助代理从中学习,这些文档被用来生成与模拟医学数据集一样的多项选择题。虽然与模拟医学数据集不同,后者的选择来自预定义的集合(例如,诊断选择是提到的八种疾病),但这里的多项选择题都是由LLM生成的。这个数据集被命名为医学文献数据集。
4.3 进化
为了促进LLM驱动的医疗代理的进化,我们提出了MedAgent-Zero策略,如图5所示。MedAgent-Zero是一种无参数策略,没有像AlphaGo-Zero那样应用人工标注数据。该策略有两个重要模块,即医疗记录库和经验库。成功的病例被编译并存储在医疗记录库中,用作未来医疗干预的参考。对于治疗失败的病例,医生需要反思和分析诊断不准确的原因,并提炼指导原则,用作后续治疗过程中的警示提醒。第4.3.1节和第4.3.2节将详细介绍构建细节。
在患者治疗过程中,我们采用密集检索器从医疗记录库和经验库中检索相关的历史医疗记录和指导原则,帮助医生提供更好的患者护理。随着经验和记录的积累,它们被积极应用,医疗记录库和经验库都在不断更新。
4.3.1 医疗记录库建设
在实施治疗的过程中,医生查阅和参考之前经过验证的医疗记录是非常有益的。这些医疗记录包含丰富的知识,展示了对各种医疗条件做出准确和充分反应的基本原理。因此,我们建议为医生代理建立一个医疗记录库,以提高他们的医疗能力,包括医院实践中的历史医疗记录和医学文献中的示例病例。该库的结构采用问答对的形式,其中问题详细说明需要决策的医疗状况,答案包含经过验证的反应和思维链。
如图5上部所示,对于医生代理生成的每个答案,如果答案正确,则将问答对添加到医疗记录库中。当新查询到来时,我们将基于密集检索技术从库中搜索相关记录。由于存在各种医疗任务,我们希望每个任务都应该有自己的私有医疗记录库,以避免使用不相关的记录。
对于模拟医院任务,我们旨在使医疗专业代理能够从历史医疗记录中获得临床经验。我们将每次就诊分为三部分:检查、诊断和治疗(详见4.1)。为了构建不同任务中用于检索的查询部分,我们记录检查阶段的症状;诊断阶段的症状和检查结果;治疗阶段的症状、检查结果和可能的治疗计划。在答案部分,我们记录与特定查询相对应的思维链。
从医学文献中生成的问题被用来构建一个额外的记录库,供医生代理学习一般医学知识。正确的问答对也被添加到学习记录库中,并将被用于一般医学相关任务。请注意,我们最终得到了两个不断增长的记录库,一个基于实践,一个基于学习,医生可以随时利用这些记录库来诊断患者或回答其他医学问题。
4.3.2 经验库扩展
从诊断错误中学习对医生的成长也至关重要。我们相信,LLM驱动的医疗专业代理可以从这些错误中进行自我反思,提炼出相关原则(经验),以确保在将来遇到类似问题时做出正确诊断。
我们从之前的研究中获得灵感,让医生代理从失败中学习。如图5下部所示,如果答案错误,代理将反思最初的问题、生成的答案和正确答案,以总结可重用的原则。所有生成的原则都要经过验证过程。生成后,将原则整合到最初回答错误的原问题中,允许医疗专业代理重新诊断。只有在诊断正确的情况下,原则才会被添加到经验库中。
为了消除噪音的影响并最大限度地利用经验库,我们在利用经验时纳入了额外的判断。这种判断涉及评估基于语义相似性检索到的前K个经验是否有助于治疗过程。有用的经验将被纳入提示,而无用的经验将被排除。
我们利用和积累经验的框架是动态的。具体而言,一旦医疗专业代理初始化,他们就开始从错误中学习并不断积累经验。一旦经验库中至少有前k个经验,他们就开始利用经验,这反映了现实世界医生的做法。不同任务的经验库与医疗记录库一样单独积累。
4.4 推理
基于上面介绍的医疗记录库和经验库,我们通过使用从其中检索到的成功医疗记录和有效经验来增强医疗代理的提示。对于医疗记录,我们通过比较医疗记录库中现有的查询与当前查询来获取最相似的记录。然后,将选定的记录按查询和答案组合成提示中的少样本示例。
对于经验,在真实世界评估中,我们通过计算经验本身与当前查询之间的相似性来识别最相关的经验。在模拟评估中,对于检查决策任务,我们计算当前患者的症状与经验库中以前患者症状之间的相似性。对于诊断和治疗计划任务,我们计算当前查询与经验查询之间的相似性以检索经验。在将这些检索到的经验添加到提示之前,我们将使用LLMs判断它们是否有助于回答问题。一些有价值的经验被选中,其他的被丢弃。
记录和经验都使用余弦相似度进行检索,文本通过OpenAI提供的"text-embedding-ada-002"模型嵌入到向量空间中。
5 模拟评估
5.1 实验设置
5.1.1 数据集
如第4.2.1节所述,利用GPT Turbo-3.5的见解和我们全面的医学数据库,我们可以动态生成详细的患者资料和完整的病史。我们使用模拟医学数据集进行评估,其中包括姓名、年龄、性别等个人信息,以及当前疾病、严重程度、生理症状和必要的诊断检查等医疗细节。为了提高实验的可重复性,我们构建了一个包含10,000个实例的平衡训练数据集和一个包含500个实例的独立测试集。表5显示了这些记录在附录中的详细分布。
5.1.2 评估指标
我们提出了一种评估策略,通过三种主要能力来评估Agent Hospital中的医生代理:医学评估、诊断和治疗建议。首先,根据患者症状,测试每个代理在医学检查任务上从16个候选项中选择医学检查的能力。如果选择与预定义的适合患者的医学检查真实答案列表中的任何项目匹配,则认为选择是正确的。其次,在给定患者症状和医学检查结果的情况下,通过提示从8种疾病中选择正确的一种来评估代理的疾病诊断技能。最后,要求代理根据患者的症状和检查结果,从为轻度、中度和重度病情定制的三种治疗方案中推荐最合适的治疗方案。
准确性被用作评估每项任务中代理性能的指标。请注意,这些指标旨在整体关联,以复制现实世界中观察到的顺序决策过程,因为前一阶段的结果会影响下一阶段。特别是,由于治疗计划与诊断结果高度相关,一旦诊断错误,治疗结果就被视为不正确。
5.1.3 实施细节
对于每个查询,检索后使用的医疗记录和原则数量设置为3,即只采用前3个相关经验和记录在提示中。医疗记录库和经验库从空开始训练,并在训练过程中动态更新,以支持进一步的决策。因此,医生代理的训练类似于一名新医生通过实践提高她/他的医疗技能。我们所有的模拟实验都基于gpt-3.5-turbo-1106 API。
5.2 实验结果
基于所描述的设置,我们进行实验以验证所提出的MedAgent-Zero的有效性。图6显示了训练期间三项任务的准确性变化,图7显示了训练过程中测试集上的准确性变化(每100个训练样本评估一次)。
从实验结果来看,我们有以下结论。首先,提出的MedAgent-Zero策略有效地增强了医生代理在三项任务上的能力,对10,000个训练样本的累积准确性显示出持续增长。检查、诊断和治疗的最佳表现分别为88%、95.6%和77.6%。这表明,我们的代理在训练阶段不断进化,就像人类医生在治疗数千名患者后变得经验丰富一样。此外,代理进化比人类更有效,因为人类医生可能需要两年多的时间来治疗一万名患者。
其次,原始GPT-3.5在三项医疗任务上的表现较差(没有训练样本时的准确性),测试集上的精确度都低于0.4。然而,经过训练,医生代理在测试集上的表现迅速提高。虽然存在波动,但诊断和治疗任务的准确性持续提高。检查任务的表现变化更大,可能是由于任务的复杂性(每个问题可能有多个正确答案)。
第三,尽管仅使用医疗记录库或经验库进行训练时准确性也在不断提高,但测试集上的表现不如同时使用两者。
5.3 进一步分析
5.3.1 不同疾病的表现
为了进一步验证MedAgent-Zero在不同疾病上的表现,我们绘制了图8、图9和图10来分别展示检查、诊断和治疗准确性。
根据结果,一个共同趋势是,更多的训练样本有助于在不同任务的不同疾病上获得更好的表现。此外,乙型流感是一种难以处理的疾病,因为我们的医生代理在所有三项任务中对这种疾病的表现最差。而支气管哮喘很容易处理,其检查和治疗精确度最高。
5.3.2 经验积累
图11、图12和图13分别显示了检查、诊断和治疗任务中有效经验和错误答案的累积情况。当训练样本增加时,经验数量和错误答案数量都缓慢增加。如图所示,经验曲线低于错误答案曲线。原因是我们的代理无法从所有失败中反思经验。此外,诊断经验比其他任务更容易积累。
请注意,所有正确样本都添加到医疗记录库中,因此数量和趋势与图6相似。
5.3.3 案例研究
为了进一步分析医疗记录库和经验库的有用性,我们在此进行案例研究。表1说明了经验库、医疗记录库分别以及MedAgent-Zero在患者病例的三项任务上的表现。最初,没有经验或医疗记录时,所有答案都是错误的。当只添加经验时,检查和诊断反应是正确的,但治疗反应是错误的。当只添加相关医疗记录时,检查反应是错误的,而诊断和治疗水平反应是正确的。最后,当经验和记录同时添加时,医生可以为所有三项任务提供正确的反应。
图14显示,通过添加经验和记录,MedAgent-Zero在所有三项任务上都能正确回答,检索到的每项任务的经验和示例都有助于最终答案。经验库提供了潜在的错误观点和回答时需要特别注意的关键点。记录库根据累积的医疗记录提供前k个最相关的参考答案。这个案例说明,经验库和医疗记录库都有助于完成所有三项任务,它们可以相互补充以获得更好的结果。
6 真实世界评估
在第5节中,在模拟医学数据集上验证了所提出的MedAgent-Zero的有效性。虽然医疗记录可能只对三类医疗任务有帮助,但我们想验证累积的医疗经验是否对现实世界的医学数据集有用。
6.1 任务定义
为了评估我们的进化设置在现实问题中的有效性,我们在MedQA上将我们的方法与其他基线进行比较,MedQA是一个广泛认可和权威的医学问答数据集。MedQA包括多项选择格式的问题,反映了用于评估医学专家能力的医学执照考试问题。在这个数据集上的更高准确性表明医生代理更好的医疗能力。
由于我们目前在Agent Hospital中只生成了有关呼吸道的疾病,如COVID-19和甲型流感,我们只通过GPT-3.5从MedQA测试集中选择相关问题。最后,有一个由72个问题组成的子集,我们进一步的实验在这个数据集上进行。
6.2 实施细节
对于推理,我们采用MedAgent-Zero,结合来自医学文献学习的医疗记录库(第4.2.2节)和来自Agent Hospital患者治疗的经验库(第4.2.1节)。这种组合的原因是医学文献与现实情况很好地一致,因此派生的成功记录包含准确的医学信息,而患者治疗的经验更具体,可以无限累积。经验库包括从医生代理的错误检查和诊断中得出的经验,因为这些过程包含最有价值的医学知识。
我们从零到十之间调整经验和记录的数量,选择验证经验的前k个和最相似记录的前k个来形成推理提示,都是2。对于累积的经验库,我们选择在Agent Hospital中每诊断2,000个患者病例的关键帧。我们最终总共有8,000个患者病例,因为性能高于所有基线。医生代理的LLM版本是gpt-3.5-turbo-1106和gpt-4-1106-preview。
6.3 实验结果
实验结果如表2所示。首先,MedAgent-Zero在呼吸系统疾病数据集上取得了最佳性能,当使用GPT-3.5时,优于SOTA方法Medprompt 2.78%,当使用GPT-4时,优于SOTA方法MedAgents[24] 1.39%。结果验证了我们的模型有助于代理进化,只使用模拟和医学文献,而无需MedQA的任何训练样本,有效地增强了医生代理的医疗能力。其次,基于GPT-4的MedAgent-Zero的最佳性能为93.06%,优于MedQA数据集中的人类专家(约87%)。第三,基于GPT-4的医疗代理在vanilla或任何其他方法中的表现都优于基于GPT-3.5的,表明GPT-4在医疗领域更强大。
综上所述,我们的实验结果表明,当在Agent Hospital中通过MedAgent-Zero策略进化时,医疗代理可以从模拟患者和医学文献中学习,并总结有用的经验,在真实世界的医学考试中取得最佳成绩,即使没有人工标注数据。
6.4 进一步分析
6.4.1 消融研究
为了进一步验证所提出的两个模块的有效性,我们进行了消融研究,结果总结在表3中。首先,MedAgent-Zero同时利用医疗记录库和经验库,取得了最佳性能,表明两个模块都很有帮助。其次,当使用GPT-4推理时,记录库和经验库一起的结果比单独使用记录或经验高1.39%和2.78%,表明这两部分具有协同效应,记录库对最终结果有很大影响。第三,我们可以发现,当使用GPT-3.5时,仅使用医疗记录库或经验库进行推理的性能分别优于CoT方法8.33%和2.78%,这证明了MedAgent-Zero的两个模块的有效性。当我们使用GPT-4进行推理时,它保持相同的趋势。
6.4.2 经验积累分析
为了证明在Agent Hospital中治疗模拟患者所积累的经验对真实世界Agent Hospital的影响,我们使用从不同数量模拟患者总结的经验进行实验。我们保持实验设置,使用前2个经验和前2个成功记录来帮助回答MedQA测试。我们选择一些典型的病例点,范围从0到8,000例。结果如表4所示。
我们可以发现,随着患者病例的积累扩大经验库,准确性总体上越来越高。使用8,000个病例积累的经验库的性能高于使用2,000/4,000/6,000个病例的性能,无论使用GPT-3.5还是GPT-4。值得注意的是,更大的经验库并不总是更好,因为我们发现在2,000例和4,000例之间有明显下降。原因可能是这一时期的病例分布与呼吸系统疾病数据集有显著差异,并得出了一些无用的经验。然而,随着越来越多高质量的经验,总体趋势越来越好。
7 讨论
7.1 主要发现
首先,我们的研究验证了在Agent Hospital中自我进化的可能性,为医疗LLMs/代理的研究提供了一种新方法。这一见解展示了代理在模拟环境中进化的新方式,代理可以在没有人为干预的情况下提高技能。其次,提出的MedAgent-Zero策略为无参数、无知识的代理进化提供了一种新方法。通过使代理能够在模拟中通过持续的互动和反馈循环来完善和扩展他们的专业知识,该策略在没有任何人工标注数据的情况下提高了他们的能力。第三,Agent Hospital展示了良好的可扩展性和交互性,使其适合更复杂的医疗模拟实验。它的设计允许广泛的定制和调整,使研究人员能够在医疗保健领域测试各种场景和互动。
7.2 局限性
我们的工作仍有一些局限性:1)只采用GPT-3.5作为Agent Hospital的模拟器和评估。2)由于代理之间的交互及其进化涉及API调用,我们医院的效率受到LLM生成的限制。3)尽管每个患者的健康记录和检查结果是在没有领域知识的情况下生成的,以模拟真实的电子健康记录,但可能与真实世界的记录仍有一些差异。
7.3 未来工作
我们对Agent Hospital的未来计划主要包括以下内容:1)扩大模拟中涵盖的疾病范围,扩展到更多医疗部门,旨在反映真正医院提供的全面服务,以进行进一步研究。2)增强代理的社会模拟方面,如纳入医疗专业人员的完整晋升制度,随时间改变疾病分布,以及纳入患者的历史病历。这些修改将增加代理互动和决策的深度。3)优化基础LLM模型的选择和实现,旨在通过利用强大的开源模型来实现整个模拟过程的更高效执行。
8 结论
在本文中,我们基于LLM和代理技术为医疗场景构建了一个医院模拟器,名为Agent Hospital。Agent Hospital不仅包括两类角色(医疗专业人员和患者代理)和数十个特定代理,还涵盖了院内流程,如分诊、挂号、就诊、检查和治疗计划,以及院外阶段,如患病和康复。在这个Agent Hospital中,我们提出了MedAgent-Zero策略来进化医疗代理,该策略是无参数和无知识的,允许通过模拟患者进行无限的代理训练。该策略主要包含医疗记录库和经验库,使其能够像人类医生一样从正确和失败的治疗中积累经验。在模拟患者数据集上,我们观察到,随着患者记录的增加,医生代理在检查、诊断和治疗任务上的准确性不断提高。医生代理能够在几天内完成对数万名患者的诊断和治疗,而人类医生通常可能需要至少两年时间。此外,我们发现在Agent Hospital中积累的经验可以显著提高医生代理在MedQA数据集子集上的准确性,甚至达到最先进的性能。我们的研究验证了利用设计策略进行真实世界模拟可以提高LLM代理在特定任务上的性能。
附录
B 涉及的疾病知识
B.1 疾病
图15所描述的COVID-19信息对于构建受COVID-19影响的患者的健康记录至关重要。我们目前在知识库中编译了八种疾病的详细医疗信息,以构建模拟医院环境。未来,我们将纳入更广泛的疾病,以确保患者信息的多样性和准确性。
B.2 数据分布
我们研究中的患者病例数据在几种疾病中均匀分布,包括急性鼻咽炎、急性鼻炎、支气管哮喘、慢性支气管炎、COVID-19、甲型流感、乙型流感和支原体感染。下表和图中详细说明了这些数据的分布情况。
B.3 患者电子健康记录示例
个人信息
姓名:Kenneth Morgan
年龄:42岁
性别:男
病史:糖尿病,慢性阻塞性肺病
疾病信息
疾病:急性鼻咽炎
严重程度:重度
症状:咳嗽,高烧,呼吸困难,急性肌肉疼痛,完全失去嗅觉和味觉,喉咙痛
持续时间:症状在过去48小时内迅速升级
检查结果
血液检查:
ALT(丙氨酸氨基转移酶):45 IU/L(7-40)
AST(天冬氨酸氨基转移酶):50 IU/L(13-35)
尿素:7.0 mmol/L(2.6-8.8)
肌酐(Cr):95 μmol/L(41-81)
甘油三酯(TG):1.5 mmol/L(1.7)
总胆固醇(TC):6.0 mmol/L(5.18)
乙型肝炎表面抗原(HBsAG):阴性
HIV抗体检测(anti-HIV):阴性
梅毒检测(RPR):阴性
白细胞计数(WBC):3.0×109/L(3.5-9.5)
红细胞计数(RBC):3.8×1012/L(3.5-5.5)
红细胞比容(Hct):35%(35-50)
血红蛋白(Hb):110 g/L(115-150)
血小板计数(PLT):200×109/L(125-350)
淋巴细胞百分比(LYMPH%):15%(20-50)
中性粒细胞百分比(NEUT%):80%(40-75)
淋巴细胞绝对值(LYMPH#):0.45×109/L(1.3-3.2)
中性粒细胞绝对值(NEUT#):2.4×109/L(1.8-6.3)
单核细胞绝对值(MONO#):0.3×109/L(0.2-1.0)
单核细胞百分比(MONO%):10%(3-10)
嗜酸性粒细胞绝对值(EO#):0.02×109/L(0.02-0.52)
嗜酸性粒细胞百分比(EO%):0.7%(0.4-8.0)
嗜碱性粒细胞绝对值(BASO#):0.01×109/L(0-0.06)
嗜碱性粒细胞百分比(BASO%):0.3%(0-1)
平均血小板体积(MPV):11 fl(9-13)
乳酸脱氢酶:250 U/L(135-225)
肌肉酶(CK):200 U/L(男性22-198)
肌红蛋白:80 ng/mL(90 ng/mL)
肌钙蛋白I:20 ng/L(14 ng/L)
铁蛋白:600 ng/mL(男性20-500)
C反应蛋白(CRP):50 mg/L(3 mg/L)
红细胞沉降率(ESR):40 mm/hr(0-20)
降钙素原:0.5 ng/mL(0.5)
D-二聚体:1.0 mg/L FEU(0-0.5)
Rh血型:阳性
ABO血型:O型
特异性抗原:SARS-CoV-2 核衣壳
血银水平:60 μg/L(50-150)
胸部X射线检查:肺实变伴双侧胸腔积液
胸部CT:双肺多发斑片状磨玻璃影和浸润影
血清学诊断:正常
病毒抗原检测:阴性
过敏原检测:正常
鼻分泌物细菌培养:正常
呼吸功能检查:严重受损
痰液检查:存在病毒颗粒
鼻咽检查:炎症和水肿
血清抗体检测:SARS-CoV-2抗体阳性
肺功能检查:气体交换受损
核酸扩增检测:SARS-CoV-2阳性
痰液嗜酸性粒细胞计数:异常
口咽检查:溃疡和病变
鼻内镜检查:黏膜炎症和充血
图16. 生成的完整的居民代理病历示例。
我的观感:
- 构建了一个全面的医院模拟环境Agent Hospital,涵盖了从患者发病到治疗、康复的整个闭环流程,为医疗AI的研究提供了一个极具价值的实验平台。
- 提出了一种无需人工标注数据的医疗代理进化策略MedAgent-Zero,代理可以在与模拟患者的互动中不断积累经验、学习进化,这种自我学习的能力非常类似人类医生的成长过程。
- 在Agent Hospital中训练的医疗代理,无论是在虚拟环境还是在真实医疗数据集上,都展现出了良好的诊断和治疗能力,在某些任务上甚至超越了人类专家。这说明虚拟环境训练确实可以帮助AI在实际任务中取得优异的表现。
- 研究过程中提出的医疗记录库和经验库机制,为医疗AI的持续学习提供了一种有效的思路。通过对成功和失败案例的分析,AI可以不断完善自己的知识和决策能力。
- 整个研究设计严谨、实验详实,从数据准备到实验结果分析都有详细阐述。作者在局限性部分也提出了一些有价值的讨论,并对未来工作进行了展望。
这项研究为医疗AI的发展提供了一种新的研究范式,即利用虚拟环境进行自我学习和进化。这种范式不仅可以大幅降低数据标注和人工设计的成本,还能让AI系统拥有类似人类的学习和进化能力。我相信这项工作能够为医疗领域的智能化发展带来重要的启示,期待看到更多在其他领域应用该研究思路的尝试。