---
id: pr-vllm-37880
repo: vllm-project/vllm
pr: 37880
title: '[Feature] Support per-draft-model MoE backend via `--speculative-config`'
author: askliar
date: '2026-03-25'
url: https://github.com/vllm-project/vllm/pull/37880
source_category: upstream-code
architectures:
- sm100
tags:
- decode
- moe
techniques: []
hardware_features: []
kernel_types:
- decode
- moe
languages:
- python
captured_at: '2026-04-17'
status: merged
merge_sha: cd7643015e583c1e78d437118a6ce8282cb85663
inclusion_reason: semantic match with file changes
changed_paths:
- tests/v1/e2e/spec_decode/test_spec_decode.py
- vllm/config/speculative.py
- vllm/v1/spec_decode/draft_model.py
- vllm/v1/spec_decode/eagle.py
- vllm/v1/spec_decode/utils.py
head_ref_oid: cbbc799f20a628e4451422198ce7f6c0c526755b
artifact_dir: evidence/pull-bundles/vllm/gh-37880
---
# [Feature] Support per-draft-model MoE backend via `--speculative-config`

- Repository: `vllm-project/vllm`
- PR: [37880](https://github.com/vllm-project/vllm/pull/37880)
- Decision: `semantic match with file changes`
- Reason: semantic match with file changes

## Changed Paths

- `tests/v1/e2e/spec_decode/test_spec_decode.py`
- `vllm/config/speculative.py`
- `vllm/v1/spec_decode/draft_model.py`
- `vllm/v1/spec_decode/eagle.py`
- `vllm/v1/spec_decode/utils.py`

## Evidence Bundle

`evidence/pull-bundles/vllm/gh-37880`
