LLMs Can Simulate Standardized Patients via Agent Coevolution¶
会议: ACL 2025
arXiv: 2412.11716
代码: https://github.com/ZJUMAI/EvoPatient
领域: LLM Agent
关键词: 标准化病人, 多智能体协同进化, 医学教育, 角色扮演, 对话模拟
一句话总结¶
EvoPatient 提出了一个多智能体协同进化框架,通过患者 Agent 和医生 Agent 之间的自主模拟对话,让 LLM 无需人工监督即可学会模拟标准化病人(SP),在需求对齐度上超过现有推理方法 10%+。
研究背景与动机¶
- 领域现状:标准化病人(SP)是医学教育的关键手段,但训练真人 SP 成本高、对 SP 心理健康有负面影响
- 现有痛点:
- 基于规则的数字病人缺乏真实性和多样性
- 现有 LLM-based SP 只关注数据检索或人工反馈调整 prompt,忽略了学习标准化表达模式的关键需求
- LLM 需要扮演「明明拥有医学知识但必须表现得像不懂医学的患者」的双重角色,单纯 prompt 工程无法解决
- 核心矛盾:如何让 LLM 在无人监督的情况下,自主学会将病历数据转化为类人的标准化患者回答
- 本文要解决什么:设计一个框架让患者 Agent 通过模拟诊断过程自动积累经验,从新手成长为合格 SP
- 切入角度:医生 Agent 和患者 Agent 协同进化——医生问的问题越专业,患者的回答越标准化,形成正向循环
- 核心idea一句话:通过多Agent模拟诊断过程中的协同进化机制,让患者Agent自动积累标准化表达经验
方法详解¶
整体框架¶
输入是真实病历 → 三个核心模块:(1) 模拟流程将诊断过程建模为多阶段对话 → (2) 模拟Agent对(患者+多个医生)进行自主多轮对话 → (3) 协同进化机制验证并存储高质量对话,构建注意力库和轨迹库 → 输出训练好的虚拟SP供人类医生训练使用。
关键设计¶
- Simulated Flow (模拟流程):
- 做什么:将真实诊断过程建模为结构化的多阶段对话序列
- 核心思路:将诊断流程分为主诉生成、分诊、问诊、结论等阶段 \(\mathcal{F} = \langle \mathcal{S}^1, \mathcal{S}^2, \dots \rangle\),每个阶段包含医生-患者之间的多轮对话
-
设计动机:结构化流程让模拟贴近真实场景,同时可灵活定制不同阶段
-
Simulated Agent Pair (模拟Agent对):
- 做什么:患者Agent和多个医生Agent进行自主多轮诊断对话
- 核心思路:患者Agent配备5000个多样化背景画像(家庭、教育、性格等)+ RAG 检索病历信息;医生Agent通过多学科会诊机制动态招募其他学科Agent,形成 DAG 拓扑结构避免信息回流,提升问题多样性
-
设计动机:多学科医生提问覆盖不同角度,促进患者Agent学习更全面的标准化表达
-
Coevolution Mechanism (协同进化机制):
- 做什么:自动验证、存储和利用高质量对话经验
- 核心思路:两个经验库协同工作:
- Attention Library: 将SP要求分解为注意力要求,存储 <问题, 病历, 回答, 注意力要求> 四元组,推理时检索相似问题获取refined requirements和few-shot demonstrations
- Trajectories Library: 存储高质量对话轨迹 \(t_i = \{(q_{j-1}, a_{j-1}, q_j, a_j)\}\),帮助医生Agent学习更专业的提问路径
- 设计动机:让双方都能从历史经验中学习——患者学标准化表达,医生学专业提问,形成正向循环
损失函数 / 训练策略¶
无需微调。基于 GPT-4 / GPT-3.5-turbo。协同进化需要约200个案例、10小时即可达到较优平衡,具有良好的泛化性。
实验关键数据¶
主实验¶
| 方法 | Relevance | Faithfulness | Robustness | Ability(综合) |
|---|---|---|---|---|
| CoT | 0.716 | 0.557 | 0.671 | 0.648 |
| ToT | 0.747 | 0.714 | 0.771 | 0.744 |
| Self-Align | 0.721 | 0.727 | 0.815 | 0.754 |
| Few-shot | 0.725 | 0.742 | 0.821 | 0.763 |
| EvoPatient | 0.759 | 0.879 | 0.941 | 0.860 |
消融实验¶
| 配置 | 说明 |
|---|---|
| w/o Attention Library | Faithfulness 和 Robustness 显著下降 |
| w/o Trajectories Library | 医生提问质量下降,间接影响患者进化 |
| w/o 多学科会诊 | 问题多样性降低,SP能力提升减缓 |
关键发现¶
- Robustness 提升最显著(0.941 vs 次优 0.821),说明协同进化机制有效防止患者Agent泄露过多医学信息
- 多学科会诊对患者Agent进化有正面贡献——更多学科的医生意味着更多样的问题
- 进化在约200个案例后趋于稳定,资源消耗合理
- 人类医生偏好评估中,EvoPatient 得到最高评分
亮点与洞察¶
- 协同进化的思路很精彩:医生和患者互相push对方进步,不需要人工标注
- Attention Library 将SP要求分解为问题级别的注意力要求,比全局要求更实用
- 多学科会诊的 DAG 拓扑设计优雅,避免了信息回流同时保证了问题多样性
- 框架具有通用性,可迁移到教育、法律等其他需要角色模拟的场景
局限性 / 可改进方向¶
- 依赖高质量的真实病历数据,数据获取有伦理和隐私障碍
- 评估指标(Relevance/Faithfulness/Robustness)主要基于自动评估,人工评估规模有限
- 未探索开源模型的效果(仅用 GPT-4/3.5),成本较高
- 患者Agent的情感表达和非语言行为未涉及
相关工作与启发¶
- vs Agent Hospital: Agent Hospital 在模拟世界中做自进化但缺乏标准化表达训练,EvoPatient 专注于SP的标准化能力
- vs ExpeL: ExpeL 从成功轨迹积累经验但是单Agent,EvoPatient 通过多Agent协同进化同时提升双方
- vs Self-Align: Self-Align 用原则驱动的推理做对齐,EvoPatient 用实际模拟对话积累experience
评分¶
- 新颖性: ⭐⭐⭐⭐ 多Agent协同进化训练SP的idea新颖且有现实意义
- 实验充分度: ⭐⭐⭐⭐ 多基线对比+消融+人工评估+资源分析
- 写作质量: ⭐⭐⭐⭐ 结构清晰,公式化表达规范
- 价值: ⭐⭐⭐⭐ 医学教育领域的实用框架,协同进化思路可迁移