ClinSeek-35B-A3B

ClinSeek-35B-A3B is the open-source model of ClinSeekAgent: Automating Multimodal Evidence Seeking for Agentic Clinical Reasoning. It is Qwen/Qwen3.5-35B-A3B fine-tuned on ClinSeekAgent trajectories generated by GPT-5.6 Sol.

In ClinSeekAgent, evidence is not handed to the model in a curated prompt. The agent receives the task, the patient identifier, and the prediction time, and retrieves patient-specific evidence from the raw EHR with tools before answering. ClinSeek-35B-A3B learns this multi-round evidence-seeking process: it reasons in its native thinking block and acts through native tool calls.

On AgentEHR-Bench, ClinSeek-35B-A3B reaches 35.6 average F1 (+16.1 over its base model), outperforming all evaluated open-source models, including Qwen3.5-397B-A17B, as well as Claude Opus 5, and reaching 92% of its teacher.

ClinSeek-35B-A3B performance on AgentEHR-Bench

Evaluation uses the questions and labels of AgentEHR-Bench but runs them through ClinSeekAgent's own tool interface and strict temporal runtime view, on a fixed sample of 100 questions for each of five tasks. The scores below may therefore differ from those reported in the AgentEHR paper and are best compared within this table.

Release information

Item Value
Base model Qwen/Qwen3.5-35B-A3B
Teacher model GPT-5.6 Sol (reasoning effort high)
Training method Full-parameter supervised fine-tuning
Checkpoint End of epoch 2 (lowest validation loss)
Architecture Qwen3_5MoeForConditionalGeneration, bf16, 14 shards
Paper https://arxiv.org/abs/2605.20176
Code https://github.com/UCSC-VLAA/ClinSeekAgent
Benchmark metadata https://huggingface.co/datasets/UCSC-VLAA/ClinSeek-Bench
Project page https://ucsc-vlaa.github.io/ClinSeekAgent/

The weights on main are the checkpoint reported in the revised paper (arXiv v2). The checkpoint released with arXiv v1 (May 2026) is kept under the v1 tag.

Training data

GPT-5.6 Sol runs ClinSeekAgent with the 16 EHR tools and the strict temporal policy on the 3,000 questions of the AgentEHR-Bench training split, which cover six tasks (diagnoses, procedures, laboratory tests, microbiology tests, prescriptions, and transfers). We keep the 2,947 trajectories that end with an answer and drop those longer than 52K tokens, leaving 2,681, split at random into 2,628 for training and 53 for validation. None of the evaluation questions appears in the training data.

During data generation the teacher records its reasoning with a think tool before each action. For training, this reasoning is moved into the student's native thinking block of the following turn, so the student reasons in its thinking channel instead of calling the tool. Tool calls are rendered in the Qwen3.5 native tool-call format. The loss is computed on assistant tokens only (reasoning, tool calls, and the final answer).

The trajectories are not released: they contain records from credentialed clinical datasets.

Training configuration

Component Configuration
Training / validation size 2,628 / 53 trajectories
Maximum sequence length 52,000 tokens
Epochs 3 (checkpoint after epoch 2 released)
Global / micro batch size 32 / 1 per GPU
Optimizer Adam (β1 = 0.9, β2 = 0.999); optimizer states offloaded to CPU
Learning rate 2e-5, cosine decay to 2e-6, 10 warmup steps
Weight decay / gradient clipping 0.1 / 1.0
MoE auxiliary loss / z-loss 0.01 / 0.001
Precision bfloat16; fp32 optimizer states
Backend verl + Megatron + mbridge
Hardware 2 × H200
Parallelism tensor 2, expert 2, pipeline 1, context 1
Activation recomputation Full
Random seed 42

Evaluation

AgentEHR-Bench test split, 100 questions per task, F1 (%). All models run ClinSeekAgent with the same tools, temporal policy, and inference settings. The base and fine-tuned models are served locally with identical decoding settings.

Model Diagnoses Labs Microbiology Procedures Transfers Avg.
Closed-source
GPT-5.6 Sol (teacher) 47.0 43.1 31.1 45.5 27.3 38.8
GPT-5.6 Luna 43.7 37.8 24.8 37.9 24.9 33.8
Claude Opus 4.6 51.1 42.1 25.4 28.7 18.6 33.2
Claude Sonnet 4.6 49.5 36.8 22.9 25.9 24.5 31.9
Claude Opus 5 48.0 44.5 23.2 20.5 22.0 31.6
Open-source
Qwen3.5-397B-A17B 38.4 30.9 21.2 26.2 23.7 28.1
MiniMax M2.7 39.4 22.3 22.1 32.0 22.9 27.7
Kimi K2.6 42.8 20.2 18.5 24.6 23.3 25.9
GLM-5.2 43.8 20.4 16.0 24.0 20.4 24.9
Qwen3.5-122B-A10B 32.6 23.7 21.6 23.8 20.5 24.4
Nemotron 3 Super 29.5 27.5 23.1 24.9 13.3 23.7
Qwen3.5-35B-A3B (base) 28.4 16.5 19.5 17.9 15.1 19.5
ClinSeek-35B-A3B 41.7 40.4 27.1 41.3 27.4 35.6
Δ vs. base +13.3 +23.9 +7.6 +23.4 +12.3 +16.1

Every gain over the base model is significant under a paired bootstrap (95% CI).

Compared with its base model on the same 500 questions, ClinSeek-35B-A3B improves both precision (18.6 → 32.4) and recall (31.1 → 53.3). It writes SQL with joins, aggregation, or time filters in 53% of the questions (base: 0.8%), reads 72% of the available tables (base: 36%), and reads imaging or discharge notes in 74% of the questions (base: 12%).

Usage

ClinSeek-35B-A3B is an agent model: it expects the ClinSeekAgent EHR tools and a multi-turn tool loop. Use the ClinSeekAgent repository, which provides the EHR MCP server, tool schemas, prompts, the AgentEHR-Bench and ClinSeek-Bench runners, and scoring.

Serving with vLLM

The paper's evaluation served the model with vLLM 0.28.1 as follows (scripts/run_vllm_server.sh in the repository applies the same flags):

vllm serve UCSC-VLAA/ClinSeek-35B-A3B \
  --served-model-name ClinSeek-35B-A3B \
  --max-model-len 196608 \
  --reasoning-parser qwen3 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --language-model-only

Inference settings used in the paper: thinking enabled with a 4,096-token budget, temperature 0, at most 8,192 output tokens per call, tool results truncated to 100,000 characters, and at most 200 rounds per question.

The model was trained with an EHR-only tool space (no web browsing). Do not add an instruction to call ehr.think: the model reasons in its thinking block instead.

Loading with transformers

import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer

model_id = "UCSC-VLAA/ClinSeek-35B-A3B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
    model_id, dtype=torch.bfloat16, device_map="auto"
)

The checkpoint keeps the Qwen3.5 architecture (Qwen3_5MoeForConditionalGeneration); ClinSeek-35B-A3B was trained and evaluated on text only.

Limitations and responsible use

  • The model was trained on trajectories over MIMIC-IV-derived patient records (PhysioNet credentialed data). Users must comply with the PhysioNet data-use agreement and must not attempt to recover patient-level information.
  • It was trained on AgentEHR-Bench tasks only; performance on other clinical tasks is not established.
  • It is a research model, not a medical device. Its outputs must not be used for clinical diagnosis, treatment, triage, or patient management.

Acknowledgements

We thank Yusheng Liao and Chaoyi Wu for their work on EHR-R1 / EHR-Bench and AgentEHR-Bench, which this project builds on, and for their help in checking the data details of our benchmark and evaluation.

Citation

@misc{wu2026clinseekagent,
  title         = {ClinSeekAgent: Automating Multimodal Evidence Seeking for Agentic Clinical Reasoning},
  author        = {Wu, Juncheng and Zhang, Letian and Wang, Yuhan and Tu, Haoqin and Chen, Hardy and Wang, Zijun and Xie, Cihang and He, Yufan and Zhao, Can and Xu, Daguang and Tang, Yucheng and Zhou, Yuyin},
  year          = {2026},
  eprint        = {2605.20176},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CL},
  url           = {https://arxiv.org/abs/2605.20176}
}

Please also cite AgentEHR-Bench, MIMIC-IV, and Qwen3.5 where applicable.

Downloads last month
384
Safetensors
Model size
35B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for UCSC-VLAA/ClinSeek-35B-A3B

Finetuned
(195)
this model

Collection including UCSC-VLAA/ClinSeek-35B-A3B

Paper for UCSC-VLAA/ClinSeek-35B-A3B

Evaluation results

  • Average F1 on AgentEHR-Bench (test, 100 questions per task)
    self-reported
    35.600