Keep thoughts out of multi-turn history

prompting & control tokens

// what it does

When you feed a conversation back for the next turn, include only the model's final response and strip the <|channel>thought ... <channel|> block from prior turns. Carrying old thoughts forward wastes context and can derail reasoning. The one exception is tool-call turns, where the thinking that produced the call should be preserved.

// gotcha

Frameworks that naively append the full raw model output to history re-feed private thoughts on every turn, quietly inflating token cost and confusing the model. Persist only the final response text, not the whole decoded string.

// resources