Claude给出的回答:gen_emb 需要 decode 循环(自回归生成 <think>...</think>...<gen_emb>),而 embedding 端点没有这个循环。两个端点是完全不同的代码路径。即使你把 gen_emb 的 prompt 发给 /v1/embeddings,vLLM 也只会做一次前向,直接对输入序列做 last-token pooling,取到的是 GEN_INSTRUCTION 末尾的 token,而不是经过推理后的 <gen_emb>。