← Back to context

Comment by adam_arthur

5 days ago

This is the same concept as Chain of Thought.

Just that when "native" thinking is used it's hidden from the end result via special tags. If you force a model to reason about a result before producing the result, you get more accurate results.

Because "reason" comes before the selection, it has to think through why it is producing the result beforehand (e.g. produce a block of text that makes the correct answer statistically more likely to be sampled from the distribution. Giving it a property name does influence the direction of the thinking, but it's the same concept. You can call the property "yourThinking" too.

It sounds like you may be thinking too highly/mysteriously about how LLMs work.

At the end of the day they stream completely unstructured text outputs and all behaviors on top of that are just parsing XML-like tags to do tool calls, hide thinking etc (which they were trained to produce in certain circumstances).

There is no special "thinking process" it is a stream of text in the response that is simply wrapped in <Thinking> tags (or similar)

I'm aware how reasoning works. But maybe I am misunderstanding how you use it.

Because from what I see, you are not getting a chain of thought, but just a summary of a non-chain-of-thought answer, with no reasoning either explicit or implicit.

  • If the LLM has to write out the reason, it is "thinking".

    Whether you ask it to give <reason> or <thinking>, both will produce similar chain of thought processes.

    To explain the "reason" requires producing thoughts that justify the answer that is not produced yet, because it writes the JSON linearly from top to bottom.

    Not sure where the misunderstanding is coming from.