Reddit用户称Strata的answer_room会限制思考并插入收尾文本
一名r/LocalLLaMA用户称,当启用思考、max_tokens至少为1024且未指定推理预算时,Strata和PolyStrata默认启用answer_room。据报道,该行为会将思考限制在max_tokens的0.75倍,插入模型口吻的收尾语句,并继续同一回复。客户端不会收到错误、标志或结束原因,而且通常也没有日志。发帖者引用了源码位置,但其广泛影响以及插入文本究竟有益还是有害仍未得到验证。
据该Reddit帖子称,相关限制和插入的内心独白文本可能在没有明确客户端信号的情况下改变推理长度和对话记录,使Strata与其他推理引擎的比较更复杂。
With default settings and thinking on and max_tokens ≥ 1024, and no explicit reasoning_budget_tokens, Strata / PolyStrata has a behavior called answer_room which will silently cap thinking at 0.75. * max_tokens and inject a "wrap-up" line in the model's head in its own voice, saying
I have thought about this long enough; time to give my answer. + </think>
It then continues the same reply from there. The client (harness, you or I) gets no error, flag or finish reason for this, and often no log.
This matters when you compare between strata and other engines : models served by strata had "nudges" in the form of its inner voice, and such extra text in the transcript. In some cases the nudge line is injected mid thinking, quite abruptly and it is hard to tell whether it helps or harms.
Strata main @ c62d5e3
Wrap-up message: https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L225
Trigger (the 3/4 budget): https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L5491
Injection point: https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L5848
Default on (answer_room = True): https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L4181
I noticed this when a model that tends to have long front-loaded thinking on dgx spark gave slightly but uniformly shorter answers (and task performance worsened in my hard problems), when served on polystrata.