面向用药安全的多智能体协同决策系统第二阶段汇报
面向用药安全的多智能体协同决策系统第二阶段一、阶段背景在第一阶段中项目已经完成了系统整体技术路线设计确定了采用“前后端分离 多智能体后端调度 图谱审查 状态机控制”的总体方案并明确了后端与模型微调方向将以 MIMIC-III、MIMIC-IV、eICU、TWOSIDES 作为主要数据来源以 Qwen2.5-3B-Instruct、Qwen2.5-7B-Instruct、MedGemma 与 BioMistral 作为候选模型。第一阶段的任务重心在于明确“做什么、为什么这样做、后面怎么做”属于完整的方案规划阶段。fileciteturn1file0L44-L83 fileciteturn1file0L165-L229进入第二阶段后项目工作的重点发生了明显转变不再停留在纯方案层面而是开始围绕“最小可运行原型”进行实际实现。对于本人负责的“后端设计与模型微调”部分而言本阶段的核心目标是完成统一数据结构的初步落地完成 MIMIC-III 数据到训练样本的首轮构造搭建 FastAPI 后端服务的基础骨架使用 Qwen2.5-3B-Instruct 完成结构化抽取原型验证为第三阶段的风险审查、图谱接入和追问生成任务打好基础。因此第二阶段的本质可以概括为从“技术路线论证”转入“核心链路实现与原型打通”。二、第二阶段目标定位结合第一阶段已经确定的总体路线本阶段本人负责部分的主要目标可以归纳为以下五点1. 将规划阶段的统一建模方案转化为可执行的数据结构第一阶段虽然已经提出要统一定义患者上下文对象、药物实体对象和风险证据对象但仍停留在设计层面。本阶段的第一项工作就是把这些对象真正固化为程序中的 schema作为后续样本构造、模型训练与后端接口调用的基础。2. 先使用 MIMIC-III 构造最小可用训练数据考虑到第二阶段主要目标是尽快形成原型因此本阶段并未一开始同时处理 MIMIC-IV、eICU 与 TWOSIDES而是优先选择结构相对清晰、可控性较强的 MIMIC-III 作为第一版数据源以降低工程复杂度并提高迭代速度。3. 优先完成“结构化抽取”这一基础任务在第一阶段中系统已将任务划分为结构化抽取、药物风险审查和追问生成三类。为了避免多任务同时推进导致样本混乱、接口复杂和调试困难本阶段优先只落地最基础的“结构化抽取任务”即输入病历摘要或自然语言描述输出患者基本信息、症状、诊断、当前用药、缺失字段等统一 JSON。4. 搭建最小可运行的后端抽取接口第二阶段强调原型因此后端工作不追求一开始就完成全部业务接口而是先实现/api/extract的最小服务闭环以验证模型调用、请求响应格式和服务链路是否跑通。5. 为第三阶段任务扩展预留接口与数据基础虽然本阶段聚焦结构化抽取但所完成的 schema、数据管线和服务骨架都将直接复用于第三阶段的风险审查与图谱接入因此本阶段的实现不仅是局部验证也承担承前启后的作用。三、第二阶段总体实现思路本阶段的实现遵循“先统一、再最小、后扩展”的原则具体流程如下先统一对象定义先写 schema而不是一开始就直接训模型先做数据样本闭环先把 MIMIC-III 多张表映射成统一 patient context先做单任务原型先只做 extract不同时混入 review 和 clarify先做轻量模型验证先用 Qwen2.5-3B-Instruct LoRA 打通流程先做后端骨架先把 FastAPI 接口跑通再扩展业务逻辑。这一实现路径与第一阶段中“第二阶段应完成后端基础搭建与样本构造”的规划是一致的只不过当前已经从计划变成了具体落地执行。fileciteturn1file0L271-L291四、本阶段已完成的主要工作4.1 统一数据结构落地为了保证后续数据处理、微调训练与推理服务使用统一接口本阶段首先完成了第一版核心数据结构定义。围绕结构化抽取任务目前已设计并实现以下对象1DrugItem用于表示药物条目主要字段包括药物名称name给药剂量dose给药途径route频次信息frequency2DiagnosisItem用于表示诊断条目主要字段包括ICD 编码icd_code诊断名称name3PatientContext用于表示患者完整上下文是当前阶段最核心的统一对象主要字段包括subject_idhadm_idgenderageadmission_typechief_complainthistory_present_illnesspast_medical_historydiagnosescurrent_medicationsallergiespregnancy_statusmissing_fields这一对象是第二阶段的核心成果之一。它将原本分散在多张表和临床文本中的信息统一到了同一结构中为后续训练样本构造和 API 输出提供了直接支撑。4ExtractionOutput用于表示结构化抽取任务的最终输出主要字段包括年龄性别孕哺状态过敏史症状/主诉诊断结果当前用药缺失字段列表这一输出结构保证模型训练目标和后端返回格式一致有助于降低后续联调成本。4.2 MIMIC-III 数据处理与样本构造在数据层面本阶段没有直接处理全部候选数据集而是优先选用 MIMIC-III 作为第一版样本构造数据源。这一策略与第一阶段中对 MIMIC-III 的定位是一致的即先利用其作为结构化抽取任务的基础数据来源。fileciteturn1file0L134-L1531使用的数据表本阶段主要使用了以下几张表PATIENTS.csv提供人口学信息ADMISSIONS.csv提供住院信息与入院类型DIAGNOSES_ICD.csv提供住院诊断编码D_ICD_DIAGNOSES.csv提供诊断名称映射PRESCRIPTIONS.csv提供用药记录NOTEEVENTS.csv提供临床文本重点使用 discharge summary2样本构造方式本阶段的样本构造主要包含三步第一步表级字段读取与清洗对上述表中的关键字段进行读取和清洗包括时间字段解析性别、年龄、入院类型等基础字段抽取ICD 诊断编码与名称映射用药记录中药名、剂量、给药方式的抽取文本字段中的空值、异常值、格式杂质处理。第二步基于住院级别聚合患者上下文以(SUBJECT_ID, HADM_ID)为主键将诊断、用药和文本信息进行聚合形成住院级别的统一 patient context 样本。第三步从临床文本中抽取关键段落在NOTEEVENTS中优先选取 discharge summary并通过简单的规则方法从中定位以下部分Chief ComplaintHistory of Present Illness对于缺失字段则直接记录在missing_fields中供后续模型学习在信息不足时输出缺失项。3本阶段构造结果目前已完成首批 MIMIC-III 结构化抽取样本的构造流程形成了第一版 patient context 数据文件并在此基础上进一步转换为 SFT 微调所需的聊天格式数据。为了便于后续训练本阶段将样本统一转换为如下训练形式system要求模型执行医疗信息结构化抽取并严格输出 JSONuser输入病例摘要assistant输出目标 JSON。这一转换使得后续模型可以直接以 SFT 形式进行微调训练。4.3 Qwen2.5-3B-Instruct 结构化抽取原型根据第一阶段的规划Qwen2.5-3B-Instruct 被设定为快速原型模型主要用于样本模板验证、后端联调和 JSON 输出测试。第二阶段的模型实验也正是按这一定位推进的。fileciteturn1file0L196-L2061模型任务定义当前阶段模型只承担一个任务从病例摘要中抽取患者年龄、性别、症状、诊断、当前用药和缺失信息并输出结构化 JSON。这一设计有两个好处将模型目标限制在可控范围内便于快速验证为后续风险审查任务提供上游标准输入。2训练方式本阶段采用 LoRA 方式对 Qwen2.5-3B-Instruct 进行轻量微调主要考虑如下显存成本较低适合 4090 级别单机环境快速实验便于后续更换底座模型或扩展任务更适合当前“小样本 快速验证”的阶段目标。3训练数据组织当前训练数据采用聊天式监督微调格式主要由以下部分构成病例摘要文本标准化后的目标 JSON系统提示词强调严格输出 JSON训练/验证集划分。4模型当前定位需要说明的是本阶段模型实验的目标不是追求最终性能最优而是验证以下几点模型能否稳定输出合法 JSON模型能否较好覆盖年龄、性别、诊断、用药等关键字段缺失字段是否能被正确识别训练后的模型能否被后端接口直接调用。只要这几项能够打通就说明第二阶段的原型验证是成功的。4.4 FastAPI 后端基础服务搭建按照第一阶段对后端的规划后端将承担模型调用、状态控制、图谱检索和日志管理等职责。第二阶段并没有一次性实现全部服务而是优先完成了最小可运行的基础服务骨架。fileciteturn1file0L232-L2611后端框架选择本阶段使用 FastAPI 作为基础后端框架原因包括开发效率高适合原型阶段快速迭代与 Pydantic 结合方便适合定义统一请求/响应结构接口文档自动生成便于联调支持异步扩展后续方便接入更多工具调用与服务模块。2当前已实现接口目前已优先实现POST /api/extract该接口的作用是接收用户输入的病例摘要文本调用微调后的 Qwen2.5-3B-Instruct获取模型输出尝试解析 JSON返回原始输出与解析后结果。3当前接口意义虽然当前只有一个核心接口但它已经足以完成第二阶段的最小服务闭环验证即输入病例摘要 → 调用模型 → 输出结构化结果。这意味着从数据、模型到服务的第一条完整链路已经打通。五、阶段实验设计与占位结果由于第二阶段目前仍处于原型验证与链路打通阶段实验结果尚未最终固化。因此为了形成完整汇报结构并为后续中期答辩和展示预留版式本报告先采用一般占位数值构造结果表格。后续待实验跑完后只需将表中数据替换即可。5.1 结构化抽取任务评测指标本阶段主要关注以下四项指标PrecisionRecallF1JSON 有效率其中JSON 有效率指模型输出可被成功解析为标准 JSON 的比例。5.2 第一版原型结果表占位模型数据集任务PrecisionRecallF1JSON 有效率Qwen2.5-3B-InstructBaseMIMIC-III结构化抽取0.780.740.760.88Qwen2.5-3B-Instruct LoRAMIMIC-III结构化抽取0.840.810.820.95从占位结果设定上可以体现出本阶段实验预期即在加入 MIMIC-III 样本监督微调后模型在字段抽取完整性和 JSON 稳定性方面应优于未经任务适配的原始模型。5.3 字段级结果表占位字段PrecisionRecallF1年龄0.910.890.90性别0.970.960.96主诉/症状0.800.770.78诊断0.830.800.81当前用药0.790.750.77缺失字段识别0.760.730.74从字段级占位结果上可以看出结构化抽取任务中年龄和性别通常较容易抽取而自由文本相关的主诉、诊断与当前用药识别难度相对更高缺失字段识别则更依赖样本构造质量与提示设计。5.4 系统级测试结果表占位指标结果平均接口响应时间1.82 s单条样本平均推理时间1.47 sJSON 解析成功率95.2%后端请求成功率98.6%样本构造成功率93.5%该表主要用于展示第二阶段“原型可运行性”不强调最终极限性能而强调从数据、模型到服务的链路可用性。5.5 示例输出表占位输入摘要输出要点67 岁男性胸痛、气短既往冠心病和高血压当前服用 aspirin 与 metoprolol成功抽取年龄、性别、症状、诊断和当前用药缺失字段为空女性患者诉恶心、头晕既往病史描述不完整未说明过敏史成功抽取性别和症状并在 missing_fields 中标注过敏史缺失老年患者长期服药但未给出具体剂量和给药方式成功抽取药物名称同时标记 dose 与 route 信息缺失六、本阶段取得的阶段性进展综合来看第二阶段已经取得了以下几项实质性进展1. 从“方案设计”进入“工程实现”与第一阶段相比本阶段最大的变化在于工作重心已经从论证和规划转向代码实现、样本构造和接口打通项目已经开始进入真正可演示、可测试的原型阶段。2. 已完成第一版统一数据结构patient context 与 extraction output 等对象的落地使得训练数据、模型输出和后端返回使用了统一格式显著降低了后续联调难度。3. 已打通 MIMIC-III 到训练样本的构造流程这说明后续不再只是“有数据集可选”而是已经具备将临床数据实际转化为模型训练样本的能力。4. 已完成 Qwen2.5-3B 结构化抽取原型验证路径即便当前实验结果尚未完全固化但训练与推理路径已经明确模型原型已具备可执行基础。5. 已打通最小后端接口/api/extract的实现意味着系统已经拥有第一个可调用服务接口这为后续接入 review、clarify 和 graph_search 奠定了直接基础。七、当前存在的问题尽管第二阶段已经完成了原型打通但当前仍存在一些需要继续解决的问题1. MIMIC-III 文本段落提取仍较依赖规则目前对 Chief Complaint 和 HPI 的抽取仍主要依赖规则匹配对于格式不规范的文本鲁棒性有限后续需要引入更稳健的文本分段策略。2. 药物名称标准化尚未完全完成当前结构化抽取任务主要面向第一版药物字段输出但后续如果要接入 TWOSIDES 或外部知识图谱还需要进一步完成药物实体标准化和归一化映射。3. 缺失字段识别任务仍依赖样本设计如果训练样本中缺失字段模式不丰富模型可能只能学到表面规则因此后续需要显式加入更多字段缺失模拟。4. 当前仍只有 extract 单任务闭环目前还没有完成 review、clarify 和 graph_search因此系统距离完整多智能体协同决策仍有距离。本阶段解决的是“第一条链路”不是全部链路。5. 结果表尚为占位值当前为了汇报完整性实验结果表采用了一般占位数值后续需要在正式实验完成后替换为真实指标。八、下一阶段工作计划基于当前第二阶段的实现成果下一阶段将重点推进以下工作1. 扩展结构化抽取样本规模在现有 MIMIC-III 样本基础上继续扩充训练样本规模并增加自然语言表达变体与缺失字段模拟提升模型鲁棒性。2. 引入风险审查任务样本开始构造“患者上下文 候选药物组合 风险标签”的审查任务样本为/api/review接口和药师 Agent 奠定基础。3. 接入药物风险知识来源逐步引入 TWOSIDES 或其他药物相互作用知识源用于构建第一版图谱检索或规则审查模块。4. 扩展后端接口在/api/extract基础上继续实现POST /api/reviewPOST /api/graph_searchPOST /api/clarifyGET /api/case/{id}5. 开始准备多模型对比实验在当前 Qwen2.5-3B 原型跑通后后续将逐步接入 Qwen2.5-7B、MedGemma 与 BioMistral开展结构化抽取与风险审查任务对比实验。九、结论本阶段是项目从“计划阶段”转入“实现阶段”的关键过渡期。相较于第一阶段主要完成系统目标论证、架构设计、数据集与模型选型本阶段已经在本人负责的“后端设计与模型微调”方向上取得了实质性进展完成了统一数据结构落地、完成了 MIMIC-III 样本构造流程、完成了 Qwen2.5-3B 结构化抽取原型路径设计并打通了基于 FastAPI 的最小抽取服务接口。fileciteturn1file0L299-L326虽然当前系统仍处于早期原型阶段药物风险审查、图谱接入和追问生成等核心能力尚未全部实现实验结果表也暂时使用占位值展示但从整体进度来看项目已经顺利迈出了从“技术路线设计”到“最小可运行原型”的关键一步。下一阶段项目将继续围绕风险审查任务、图谱证据接入、后端接口扩展和多模型对比实验展开以逐步完成从结构化抽取原型到多智能体协同安全用药系统的演进。