Planet Python
Follow
Armin Ronacher: What Is Reasoning
A recent paper revealed how to extract reasoning traces from closed-weight models, sparking online discussion. Reasoning traces are typically hidden from users, unlike in open-weight models where they are visible. These traces are essentially text that models are trained to output onto a scratchpad before their final answer. Special tokens demarcate these reasoning sections, with a parser directing this content to a separate stream. For closed models, this intermediate text is likely redacted or summarized. The amount of reasoning a model performs is determined by its system prompt, not sampling. For instance, it might be set to "low" or "Absolute maximum with no shortcuts permitted." Models are trained to keep this scratch work separate from the final response channel. Tricking a model into believing it is within the reasoning channel can cause these traces to be leaked. Older models, when thinking was disabled, sometimes wrote their thoughts to a null device. In some cases, the only special behavior is the model's ability to refrain from thinking. This can be achieved by disabling the model's usual thinking mechanisms. Some inference APIs might prefill tokens to manage reasoning, which can be bypassed by custom tools, particularly when native reasoning is disabled. The author humorously encountered content filters while trying to use a specific model for grammar checking this very blog post.