sglang的实现里为什么target先prefill,decode再prefill呢两者都需要构建上下文(KV Cache 强依赖)无论是 Target 还是 Draft 模型,在生成或验证任何后续 Token 之前,都必须先理解用户的 Prompt。Prefill 阶段的本质就是把输入的一大段 Prompt 并行计算一遍,存下它们的 Key-Value 向量(KV Cache)。如果 Target 模型不事先完成 Prompt 的 Prefill,当 Draft 模型抛出几个草稿 Token 让它去验证时,Target 模型手里根本没有前面 Prompt 的上下文,自然也就无法计算概率并进行验证了。确保第一个 Token 的绝对正确率(Vanilla 场景)在传统的投机解码逻辑中,Target 模型的 Prefill 阶段不仅会建立 KV Cache,还会顺手生成第一个绝对正确的 Token。由于处理 Prompt 的长序列算力开销是不可避免的,Target 模型反正要完整算一遍,不如直接让它把第一个词吐出来。拿到这第一个“保真”的 Token 后,Draft 模型再把Prompt + 绝对正确的第一个词一起做 Prefill,然