医疗交互任务场景下多智能体工作流的运行时状态管理与流程恢复方法及系统
本发明涉及一种医疗交互任务场景下多智能体工作流的运行时状态管理与流程恢复方法及系统。
背景技术:
1、随着大语言模型及多智能体技术的发展,基于多智能体工作流的医疗交互系统逐渐应用于智能问诊、辅助诊疗、多科室协同分析及医疗信息处理等场景。现有医疗多智能体系统通常通过多个智能体分工协作完成用户问诊、信息分析、工具调用及结果生成等任务,并结合外部工具与知识库提升系统处理能力。
2、然而,在医疗长流程交互任务中,用户输入往往具有多轮次、非连续和补充式的特点,系统执行过程还可能涉及多个专家智能体协同分析以及外部工具的调用。现有方案存在以下问题:其一,在多智能体协同执行过程中,不同智能体分别产生问诊状态、专家分析状态、工具调用状态及中间推理结果,现有系统缺少统一的运行时状态表示与同步机制,容易导致不同智能体之间的上下文信息和任务进展不一致;其二,在跨轮次医疗交互过程中,用户可能中途离开、延迟补充症状信息或后续上传检查结果,现有系统难以准确识别该补充信息对应的历史任务阶段,容易造成重复问诊、重新分析或上下文衔接错误;其三,在专家智能体请求补充信息或外部工具执行过程中,现有系统缺少对等待状态、请求来源、待补充内容及恢复位置的结构化记录,容易导致补充信息返回后难以恢复至对应专家任务,或工具执行结果难以准确返回至发起工具调用请求的专家智能体。
3、因此,如何在医疗交互任务场景下,对多智能体工作流执行过程中的运行时状态进行统一维护,并在任务中断、用户补充信息返回等情况下,基于已保存的状态信息继续执行对应流程,从而提高医疗多智能体协同任务的执行稳定性、状态一致性与流程连续性,成为当前亟需解决的技术问题。
技术实现思路
1、针对现有技术的以上问题和难点,本发明提出了一种医疗交互任务场景下多智能体工作流的运行时状态管理与流程恢复方法及系统。
2、本发明面向医疗交互任务中的多智能体协同工作流场景,构建包含领域意图识别节点、交互问诊节点、专家协同节点、工具调用节点及结果输出节点的预定义工作流。在所述预定义工作流执行过程中,将用户信息状态、专家协同执行状态、工具执行状态、补充信息请求状态以及工作流控制状态统一抽象为运行时状态对象,用于表征医疗交互任务在当前轮次中的执行进度、等待状态、中间结果及流程恢复位置。
3、在运行时状态管理过程中,系统根据各节点的执行结果更新对应的运行时状态,以统一记录医疗交互任务的执行进度、等待状态和中间处理结果;当工作流因等待用户补充信息而暂停,或者当前医疗交互任务执行完成时,系统保存当前运行时状态对象,为后续流程恢复提供状态依据。
4、在流程恢复过程中,当接收到用户补充信息或检测到恢复条件满足时,系统加载已保存的运行时状态对象,并基于所述运行时状态对象中的工作流控制状态确定流程恢复位置,继续执行对应的工作流节点,从而避免重复问诊、重复工具调用或上下文信息丢失,实现医疗多智能体工作流的连续执行。
5、本发明提供医疗交互任务场景下多智能体工作流的运行时状态管理与流程恢复方法,包括如下步骤:
6、s1:加载预定义医疗多智能体工作流,包括领域意图识别节点、交互问诊节点、专家协同节点、工具调用节点及结果输出节点。
7、s2:接收用户请求并确定工作流入口;接收用户交互请求,获取用户标识、会话标识及用户输入内容,根据所述用户标识及会话标识查询历史运行时状态对象,并判断所述历史运行时状态对象是否满足流程恢复条件;当不存在满足流程恢复条件的历史运行时状态对象时,创建并初始化运行时状态对象,根据当前用户输入更新所述运行时状态对象,并转入领域意图识别节点;当存在满足流程恢复条件的历史运行时状态对象时,加载所述历史运行时状态对象,并执行流程恢复;包括如下步骤:
8、s2-1:接收用户交互请求,获取用户标识、会话标识及用户输入内容;
9、s2-2:根据所述用户标识及会话标识查询历史运行时状态对象,并判断所述历史运行时状态对象是否满足流程恢复条件;
10、s2-3:当不存在满足流程恢复条件的历史运行时状态对象时,创建并初始化运行时状态对象,根据当前用户输入更新所述运行时状态对象,转入步骤s3;
11、s2-4:当存在满足流程恢复条件的历史运行时状态对象时,加载所述历史运行时状态对象,转入步骤s8。
12、s3:基于领域意图识别节点确定当前任务类型,并根据所述任务类型执行工作流分流;
13、s3-1:进入领域意图识别节点,并更新当前执行节点;
14、s3-2:调用领域意图识别模块确定当前任务类型;
15、s3-3:当所述任务类型为非医疗通用问答处理时,转入步骤s7;
16、s3-4:当所述任务类型为医疗问题处理时,转入步骤s4。
17、s4:基于交互问诊节点执行问诊信息采集及状态更新,基于已获取用户信息判断是否满足预设问诊结束条件,并在需要用户补充信息时更新用户信息状态及补充信息请求状态,保存运行时状态对象并暂停当前工作流执行;包括如下步骤:
18、s4-1:进入交互问诊节点,并更新当前执行节点;
19、s4-2:当不存在由交互问诊节点发起的待响应补充信息请求时,基于已获取用户信息判断是否满足预设问诊完成条件;
20、s4-3:当满足所述预设问诊完成条件时,更新用户信息状态,将恢复入口节点置空,并转入步骤s5;
21、s4-4:当未满足所述预设问诊完成条件时,基于当前已获取用户信息生成问诊问题并返回,更新用户信息状态及补充信息请求状态,将恢复入口节点设置为交互问诊节点,保存运行时状态对象并暂停工作流;
22、s4-5:当存在由交互问诊节点发起的待响应补充信息请求时,判断当前用户输入是否为针对所述补充信息请求的补充信息;
23、s4-6:当当前用户输入为补充信息时,更新用户信息状态及对应的补充信息请求状态,并返回步骤s4-2;
24、s4-7:当当前用户输入为非补充信息时,关闭对应的补充信息请求,结束当前交互问诊任务的恢复处理,并将当前用户输入作为新的交互请求转入步骤s3;
25、s5:基于专家协同节点组建或恢复专家智能体团队,处理各专家智能体分析过程中产生的补充信息请求或工具调用请求,并生成各专家智能体对应的最终专家回复并为各专家智能体维护对应的专家协同执行状态;
26、s5-1:进入专家协同节点,并更新当前执行节点;
27、s5-2:根据当前医疗问题及运行时状态对象,判断是否已存在专家智能体团队及其专家协同执行状态;当已存在时,加载所述专家智能体团队及其专家协同执行状态;当不存在时,根据当前医疗问题及已获取用户信息组建专家智能体团队,并初始化各专家智能体对应的专家协同执行状态;
28、s5-3:当存在由专家协同节点发起的待响应补充信息请求时,判断当前用户输入是否为针对所述补充信息请求的补充信息;当当前用户输入为补充信息时,更新用户信息状态、补充信息请求状态及对应的专家协同执行状态;当当前用户输入为非补充信息时,结束当前医疗交互任务的恢复处理,并将当前用户输入作为新的交互请求进行处理;
29、s5-4:调用待执行的专家智能体,或者恢复尚未完成处理的专家智能体对应的专家任务,分别对当前医疗问题进行分析;当专家分析过程中需要获取用户补充信息或调用外部工具时,生成对应的补充信息请求或工具调用请求,并更新对应的专家协同执行状态;
30、s5-5:当专家智能体生成补充信息请求时,更新专家协同执行状态及补充信息请求状态,将恢复入口节点设置为专家协同节点,返回所述补充信息请求,保存运行时状态对象并暂停工作流;
31、s5-6:当专家智能体生成工具调用请求时,创建对应的工具执行状态,更新对应的专家协同执行状态,并转入步骤s6;
32、s5-7:当专家智能体所需的用户补充信息及工具执行结果均已获得,或者所述专家智能体无需获取用户补充信息和调用外部工具时,继续执行所述专家智能体对应的分析任务,生成最终专家回复,保存所述最终专家回复,并将对应的专家协同执行状态更新为已完成;
33、s5-8:当专家智能体团队中的各专家智能体均生成最终专家回复时,转入步骤s7。
34、s6:当专家智能体生成工具调用请求时,基于工具调用节点执行工具调用,并根据工具调用结果维护工具执行状态及工具执行结果;
35、s6-1:进入工具调用节点,并更新当前执行节点;
36、s6-2:根据工具调用请求确定待调用工具及工具输入参数;
37、s6-3:调用对应工具,并更新工具执行状态;
38、s6-4:根据工具调用结果,保存工具执行结果或工具异常信息,并更新对应的工具执行状态;
39、s6-5:将工具执行结果或工具异常信息返回至发起工具调用请求的专家智能体,更新对应的专家协同执行状态,并转入步骤s5。
40、s7:基于结果输出节点汇总工作流处理结果,生成并输出交互结果;在当前任务类型为非医疗通用问答处理时,基于当前用户输入内容生成通用问答结果;当当前任务类型为医疗问题处理时,基于当前医疗问题、已获取用户信息及各专家智能体的最终专家回复生成医疗交互结果;具体包括如下步骤:
41、s7-1:进入结果输出节点,并更新当前执行节点;
42、s7-2:基于当前任务类型及用户输入内容生成交互结果;当当前任务类型为非医疗通用问答处理时,基于当前用户输入内容生成通用问答结果;当当前任务类型为医疗问题处理时,基于当前医疗问题、已获取用户信息以及各专家智能体的最终专家回复生成医疗交互结果;
43、s7-3:将所述交互结果返回,将恢复入口节点置空,更新并保存运行时状态对象,结束当前交互任务。
44、s8:基于已加载的历史运行时状态对象恢复医疗多智能体工作流;根据所述历史运行时状态对象中记录的恢复入口节点确定待恢复的工作流节点,并将当前用户请求及所述历史运行时状态对象传递至对应处理步骤继续执行。
45、优选地,所述多智能体工作流通过前端交互端与用户进行信息交互,所述前端交互端用于接收用户请求、展示用户补充信息请求以及返回交互结果。
46、优选地,所述运行时状态对象包括用户信息状态、专家协同执行状态、工具执行状态、补充信息请求状态以及工作流控制状态。
47、优选地,所述用户信息状态用于记录医疗交互任务执行过程中获取的用户相关信息,包括用户输入记录、已获取用户信息;其中,所述用户输入记录包括用户输入内容及用户上传资料,所述已获取用户信息包括从所述用户输入内容或用户上传资料中提取的症状信息、病史信息、用药信息、检查信息及医学图像信息中的至少一种。
48、优选地,所述专家协同执行状态用于记录各专家智能体的执行情况,包括专家智能体标识、专家执行状态、专家输入信息、专家输出结果、关联补充信息请求标识以及关联工具调用标识;其中,所述专家执行状态包括待执行状态、执行中状态、暂停状态和已完成状态。
49、优选地,所述工具执行状态用于记录工具调用过程中的执行情况,包括工具调用记录标识、工具标识、工具调用参数、工具执行状态、工具执行结果以及工具异常信息;其中,所述工具执行状态包括待调用状态、执行中状态、调用成功状态和调用失败状态。
50、优选地,所述补充信息请求状态用于记录由交互问诊节点或专家协同节点发起的用户补充信息请求,包括请求标识、请求来源节点、请求发起对象标识、请求信息类型、请求内容、请求响应状态以及用户响应内容引用;其中,所述请求响应状态包括待响应状态、已响应状态和已关闭状态。
51、优选地,所述工作流控制状态用于记录医疗多智能体工作流的流程控制信息,包括当前执行节点和恢复入口节点;其中,所述当前执行节点用于记录医疗多智能体工作流当前正在执行的工作流节点,恢复入口节点用于记录医疗多智能体工作流因等待用户补充信息而暂停后需要继续执行的工作流节点。
52、优选地,s2-2中当查询到与所述用户标识及会话标识对应的历史运行时状态对象,且其恢复入口节点不为空时,将所述历史运行时状态对象确定为满足流程恢复条件的历史运行时状态对象;否则,确定不存在满足流程恢复条件的历史运行时状态对象。
53、优选地,s3-2中领域意图识别模块基于大语言模型实现,通过将当前用户输入内容以及用户信息状态中的历史输入记录输入所述大语言模型,判断对应的任务类型是否是医疗问题处理。
54、优选地,s4-2中所述预设问诊结束条件包括以下至少一种:已获取用户信息覆盖当前的预设必需信息项;问诊模块基于当前医疗问题及已获取用户信息,确定不存在需要继续向用户询问的关键信息;当前问诊轮次达到预设最大问诊轮次。
55、优选地,s4-4中,问诊模块基于当前医疗问题、已获取用户信息及预设问诊信息要求,通过大语言模型确定尚未获取且与当前医疗问题相关的待补充信息,并根据所述待补充信息生成对应的问诊问题。
56、优选地,s4-5中,将当前用户输入、待响应补充信息请求的请求内容及请求信息类型输入大语言模型,通过所述大语言模型判断当前用户输入是否为针对所述待响应补充信息请求的补充信息。
57、优选地,s4-7中,当当前用户输入为非补充信息时,将对应补充信息请求的请求响应状态更新为已关闭,将当前运行时状态对象中的恢复入口节点置空并保存;针对当前用户输入重新初始化运行时状态对象,并执行领域意图识别。
58、优选地,s4中设置预设最大问诊轮次,并对交互问诊过程中的问诊轮次进行统计;将问诊模块生成问诊问题并接收到针对所述问诊问题的用户补充信息作为一个问诊轮次;当当前问诊轮次达到所述预设最大问诊轮次,即使已获取用户信息尚未覆盖全部预设必需信息项,也停止生成新的问诊问题,并基于当前已获取用户信息转入专家协同节点。
59、优选地,步骤s5中组建的专家智能体团队按照医疗专科或疾病领域进行划分,包括健康管理类专家智能体、专科诊疗类专家智能体及疾病管理类专家智能体中的一种或多种。
60、优选地,步骤s5中,根据当前医疗问题及运行时状态对象组建或恢复专家智能体团队,并维护各专家智能体对应的专家协同执行状态;在调用待执行的专家智能体或者恢复尚未完成处理的专家智能体对应的专家任务过程中,当专家智能体生成用户补充信息请求时,更新补充信息请求状态,将恢复入口节点设置为专家协同节点,返回所述用户补充信息请求,保存运行时状态对象并暂停当前工作流执行;当专家智能体生成工具调用请求时,创建对应的工具执行状态并转入工具调用节点;待专家智能体所需的用户补充信息、工具执行结果或工具异常信息已经获得后,或者在专家智能体无需获取用户补充信息及调用外部工具时,继续执行对应专家智能体的专家任务,生成最终专家回复,并在各专家智能体均生成最终专家回复后转入结果输出节点。
61、优选地,s5-2中,当首次进入专家协同节点时,组建专家智能体团队并初始化各专家智能体对应的专家协同执行状态;当基于历史运行时状态对象恢复进入专家协同节点时,加载已保存的专家智能体团队及专家协同执行状态,确定尚未完成处理的专家智能体,并继续执行对应的专家任务。
62、优选地,s5-2中预设专家智能体集合按照医疗专科、疾病领域或医疗任务类型进行配置,包括健康管理类专家智能体、专科诊疗类专家智能体及疾病管理类专家智能体中的一种或多种。
63、优选地,s5-3中各专家智能体基于大语言模型实现,并通过与各专家智能体相对应的提示词配置其职责范围、处理要求及输出格式,以使不同专家智能体从对应的专业领域对当前医疗问题进行分析。
64、优选地,s5-3中,专家智能体在分析过程中生成的中间请求包括补充信息请求和工具调用请求中的至少一种;当存在补充信息请求时,优先处理所述补充信息请求;当不存在补充信息请求且存在工具调用请求时,处理所述工具调用请求;当不存在待处理的补充信息请求和工具调用请求时,基于当前医疗问题、已获取用户信息以及已获得的工具执行结果继续执行专家分析,并生成最终专家回复。
65、优选地,s5-4中通过补充信息请求标识唯一标识对应的补充信息请求,通过请求来源节点确定发起所述补充信息请求的工作流节点,并通过请求发起对象标识确定发起所述补充信息请求的专家智能体,以建立补充信息请求与对应工作流节点及专家智能体之间的关联。
66、优选地,s5-5中通过工具调用记录标识唯一标识对应的工具调用,并通过专家协同执行状态中的关联工具调用记录标识,建立所述工具调用与发起工具调用请求的专家智能体之间的关联。
67、优选地,s5中当各专家智能体之间不存在前置依赖关系时,并行调用各专家智能体生成对应的专家处理结果;当专家智能体之间存在前置依赖关系时,按照所述前置依赖关系依次调用对应的专家智能体;各专家智能体在生成最终专家回复后,将对应的专家协同执行状态更新为已完成。
68、优选地,s6中所述工具包括医学知识检索工具、医学图像分析工具、检验指标分析工具及报告解析工具中的一种或多种;不同专家智能体可关联不同工具集合,并根据当前医疗问题及专家协同执行状态生成对应工具调用请求。
69、优选地,步骤s6中,根据工具调用结果更新对应的工具执行状态;当工具调用成功时,将工具执行状态更新为调用成功状态,并保存工具执行结果;当工具调用失败时,将工具执行状态更新为调用失败状态,并保存工具异常信息;将所述工具执行结果或工具异常信息返回至发起工具调用请求的专家智能体。
70、优选地,s7-2中,当当前任务类型为非医疗通用问答处理时,将当前用户输入内容输入大语言模型,通过所述大语言模型生成通用问答结果;当当前任务类型为医疗问题处理时,将当前用户输入内容、已获取用户信息及各专家智能体的最终专家回复输入大语言模型,通过所述大语言模型对各专家智能体的最终专家回复进行汇总,生成针对当前用户问题的医疗交互结果。
71、优选地,s7-3中,通过将运行时状态对象中的恢复入口节点置空,表征当前医疗交互任务已执行完成,以避免所述运行时状态对象被再次确定为满足流程恢复条件的历史运行时状态对象。
72、本发明还提供一种医疗交互任务场景下多智能体工作流的运行时状态管理与流程恢复系统,包括:
73、工作流管理模块,用于加载预定义医疗多智能体工作流,并维护工作流节点之间的执行关系;所述预定义医疗多智能体工作流包括领域意图识别节点、交互问诊节点、专家协同节点、工具调用节点及结果输出节点。
74、状态管理模块,用于根据医疗交互请求中的用户标识及会话标识查询历史运行时状态对象,判断所述历史运行时状态对象是否满足流程恢复条件,以及创建、初始化、加载、存储和更新运行时状态对象;所述运行时状态对象包括用户信息状态、专家协同执行状态、工具执行状态、补充信息请求状态以及工作流控制状态。
75、意图识别与节点路由模块,用于在不存在满足流程恢复条件的历史运行时状态对象时,基于用户输入内容确定当前任务类型,并根据所述任务类型将医疗交互请求传递至对应的工作流节点;当所述任务类型为医疗问题处理时,将所述医疗交互请求传递至交互问诊节点;当所述任务类型为非医疗通用问答处理时,将所述医疗交互请求传递至结果输出节点。
76、问诊交互模块,用于执行交互问诊节点对应的问诊处理任务,基于已获取用户信息判断是否满足预设问诊完成条件;当不满足所述预设问诊完成条件时,确定待补充的用户信息,生成对应的问诊问题并返回至前端,以及根据用户输入更新用户信息状态及补充信息请求状态;当满足所述预设问诊完成条件时,将医疗交互任务传递至专家协同节点。
77、专家协同模块,用于根据当前医疗问题组建专家智能体团队,或者在基于历史运行时状态对象恢复执行时加载已保存的专家智能体团队及其专家协同执行状态,调度多个专家智能体分别对当前医疗问题进行分析,并维护各专家智能体对应的专家协同执行状态;当专家智能体在分析过程中需要获取用户补充信息或调用外部工具时,生成对应的补充信息请求或工具调用请求,并在所述补充信息请求或工具调用请求处理完成后继续执行对应的专家任务;各专家智能体完成分析后生成对应的最终专家回复。
78、工具调用模块,用于接收专家智能体生成的工具调用请求,调用对应工具执行处理任务,维护工具执行状态,并将工具执行结果或工具异常信息返回至发起所述工具调用请求的专家智能体。
79、结果输出模块,用于根据当前任务类型生成对应的交互结果;当当前任务类型为非医疗通用问答处理时,基于当前用户输入内容生成通用问答结果;当当前任务类型为医疗问题处理时,基于当前用户输入内容、已获取用户信息及各专家智能体的最终专家回复生成医疗交互结果,并返回所述交互结果。
80、状态恢复模块,用于在存在满足流程恢复条件的历史运行时状态对象时,根据所述历史运行时状态对象中记录的恢复入口节点确定待恢复的工作流节点,并将当前交互请求及所述历史运行时状态对象传递至对应的工作流节点继续执行。
81、本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的方法。
82、本发明的创新点是:
83、(1)提出一种面向医疗交互任务的多智能体工作流运行时状态建模机制。将用户信息状态、专家协同执行状态、工具执行状态、补充信息请求状态及工作流控制状态统一组织为运行时状态对象,以结构化记录医疗多智能体工作流的执行进度、中间结果、等待请求及流程恢复位置。
84、(2)提出一种基于恢复入口节点的流程恢复机制。当医疗多智能体工作流因等待用户补充信息或用户交互中断而暂停时,设置对应的恢复入口节点并保存运行时状态对象;在后续请求到达时,根据所述恢复入口节点确定待恢复的工作流节点,并继续执行对应流程。
85、(3)提出一种面向多专家分析过程的细粒度状态维护机制。分别维护各专家智能体对应的专家协同执行状态,并通过关联补充信息请求标识及关联工具调用记录标识,将专家智能体与其发起的补充信息请求或工具调用建立关联,使系统能够在补充信息或工具执行结果返回后继续执行对应专家智能体的分析任务,而无需重复执行已完成的专家任务。
86、本发明具有如下优点:
87、(1)能够提高医疗多智能体工作流的连续执行能力,在用户中断交互或重新进入会话并补充信息的情况下,减少重复问诊和重复执行。
88、(2)能够提高多智能体协同过程中的状态一致性,降低因用户信息状态、专家执行状态或工具调用状态不同步导致的上下文混乱。
89、(3)能够增强系统扩展性,不同专家智能体和工具可在统一运行时状态机制下接入与协同,适用于多轮问诊、多科室协同及外部工具调用等复杂医疗交互场景。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com