Repository navigation
Description
Problem
Speculative next-turn prefill builds a SpeculativePrefillRequest from messages alone. It loses the normalized request's tools, tool choice, response format, reasoning effort, and chat-template arguments before calling the formatter.
For DeepSeek V4.1, these fields affect the system prefix. With nvext.agent_hints.speculative_prefill=true, a request with reasoning_effort=low is warmed using the default effort 75 instead of 50. Declared tools disappear from the warmup prompt, and thinking=false is replaced by the formatter's default thinking mode.
Reproduction
On main 2fb3b132fc, compare the pinned dynamo-renderer 8.2.0 DeepSeek V4.1 formatter with the same user/assistant history through the messages-only speculative adapter and through an adapter retaining the request's rendering settings.
- Low effort renders 75 through the speculative adapter and 50 with the request settings.
- Tool schemas are absent through the speculative adapter.
- Thinking-off requests acquire a reasoning-effort system prefix through the speculative adapter.
In CPU renderer probes, retaining tools or thinking=false makes the rendered completed history a prefix of the following user turn. Default thinking also has a separate last-assistant rendering difference, so preserving settings alone does not establish full prefix equality for every mode. These observations do not establish GPU cache-hit or latency improvements.
Expected behavior
Retain the effective rendering settings when constructing a speculative warmup. Cover the path from the streamed response to the warmup token request with a focused CPU regression test. Keep default-mode prefix qualification and measured inference benefits explicit.
Activity