Table of Contents
Fetching ...

EvoClinician: A Self-Evolving Agent for Multi-Turn Medical Diagnosis via Test-Time Evolutionary Learning

Yufei He, Juncheng Liu, Zhiyuan Hu, Yulin Chen, Yue Liu, Yuan Sui, Yibo Li, Nuo Chen, Jun Hu, Bryan Hooi, Xinxing Xu, Jiang Bian

TL;DR

The paper addresses the gap between static, one-shot medical AI and the iterative reasoning used in clinical practice by introducing the Med-Inquire benchmark and EvoClinician. Med-Inquire simulates multi-turn diagnosis with gatekeeping to require proactive questioning and testing under a cost model. EvoClinician embeds a Diagnose-Grade-Evolve loop that updates prompts and external memory at test time using action-level feedback, improving diagnostic quality and efficiency across multiple backbone models. The findings demonstrate that test-time adaptation with action-level grading outperforms static prompts and memory-only approaches, offering a reproducible framework for studying interactive diagnostic strategies with practical resource constraints.

Abstract

Prevailing medical AI operates on an unrealistic ''one-shot'' model, diagnosing from a complete patient file. However, real-world diagnosis is an iterative inquiry where Clinicians sequentially ask questions and order tests to strategically gather information while managing cost and time. To address this, we first propose Med-Inquire, a new benchmark designed to evaluate an agent's ability to perform multi-turn diagnosis. Built upon a dataset of real-world clinical cases, Med-Inquire simulates the diagnostic process by hiding a complete patient file behind specialized Patient and Examination agents. They force the agent to proactively ask questions and order tests to gather information piece by piece. To tackle the challenges posed by Med-Inquire, we then introduce EvoClinician, a self-evolving agent that learns efficient diagnostic strategies at test time. Its core is a ''Diagnose-Grade-Evolve'' loop: an Actor agent attempts a diagnosis; a Process Grader agent performs credit assignment by evaluating each action for both clinical yield and resource efficiency; finally, an Evolver agent uses this feedback to update the Actor's strategy by evolving its prompt and memory. Our experiments show EvoClinician outperforms continual learning baselines and other self-evolving agents like memory agents. The code is available at https://github.com/yf-he/EvoClinician

EvoClinician: A Self-Evolving Agent for Multi-Turn Medical Diagnosis via Test-Time Evolutionary Learning

TL;DR

The paper addresses the gap between static, one-shot medical AI and the iterative reasoning used in clinical practice by introducing the Med-Inquire benchmark and EvoClinician. Med-Inquire simulates multi-turn diagnosis with gatekeeping to require proactive questioning and testing under a cost model. EvoClinician embeds a Diagnose-Grade-Evolve loop that updates prompts and external memory at test time using action-level feedback, improving diagnostic quality and efficiency across multiple backbone models. The findings demonstrate that test-time adaptation with action-level grading outperforms static prompts and memory-only approaches, offering a reproducible framework for studying interactive diagnostic strategies with practical resource constraints.

Abstract

Prevailing medical AI operates on an unrealistic ''one-shot'' model, diagnosing from a complete patient file. However, real-world diagnosis is an iterative inquiry where Clinicians sequentially ask questions and order tests to strategically gather information while managing cost and time. To address this, we first propose Med-Inquire, a new benchmark designed to evaluate an agent's ability to perform multi-turn diagnosis. Built upon a dataset of real-world clinical cases, Med-Inquire simulates the diagnostic process by hiding a complete patient file behind specialized Patient and Examination agents. They force the agent to proactively ask questions and order tests to gather information piece by piece. To tackle the challenges posed by Med-Inquire, we then introduce EvoClinician, a self-evolving agent that learns efficient diagnostic strategies at test time. Its core is a ''Diagnose-Grade-Evolve'' loop: an Actor agent attempts a diagnosis; a Process Grader agent performs credit assignment by evaluating each action for both clinical yield and resource efficiency; finally, an Evolver agent uses this feedback to update the Actor's strategy by evolving its prompt and memory. Our experiments show EvoClinician outperforms continual learning baselines and other self-evolving agents like memory agents. The code is available at https://github.com/yf-he/EvoClinician
Paper Structure (57 sections, 21 equations, 2 figures, 3 tables)

This paper contains 57 sections, 21 equations, 2 figures, 3 tables.

Figures (2)

  • Figure 1: EvoClinician architecture and test-time learning loop. The Actor interacts with the Med-Inquire environment through AskQuestion and OrderTest, receiving responses from the Patient and Examination agents, while the Cost Estimator tracks resource use. After SubmitDiagnosis, the Judge assigns a graded correctness score. The Process Grader then reviews the full transcript and assigns action-level labels (for example, HIGH YIELD, LOW YIELD, INEFFICIENT) for credit assignment. Finally, the Evolver uses these labels, the final score, and the cost report to update the Actor's prompt rules and external memory before the next episode, forming a repeated Diagnose--Grade--Evolve loop over a stream of cases at test time.
  • Figure 2: Running-mean learning curves on Med-Inquire over $N=915$ cases (fixed evaluation order). Left: running mean Judge grade $\bar{S}_{1:t}=\frac{1}{t}\sum_{i=1}^{t} S_i$, where $S_i\in[0,100]$ is the per-case diagnosis grade. Right: running mean cost $\bar{C}_{1:t}=\frac{1}{t}\sum_{i=1}^{t} C_i$, where $C_i$ is the per-case cumulative cost in normalized units from the fixed cost table. Faint points show per-case values, and lines show the running mean. Shaded bands show an approximate $95\%$ interval based on the running standard error, $\bar{x}_{1:t}\pm 1.96\,\mathrm{SE}_{1:t}$, computed from the first $t$ cases.