Give the Model Room to Think

Why asking for the working before the answer makes models better at multi-step problems, how to separate the working from the answer, and when to skip it.

14 minLesson 4 of 8
On this page
  1. The text is the model's scratch paper
  2. Watch it happen
  3. Separate the working from the answer
  4. When to skip it
  5. Try it yourself
  6. Common mistakes
  7. Check yourself
  8. What to practise next

Someone asks you what 17 × 24 is and wants the answer in one second. You blurt out something close, maybe 398. Give yourself a pencil and ten seconds and you write 17 × 20 = 340, 17 × 4 = 68, 340 + 68 = 408. Same brain. The difference is that the paper held the in-between steps.

A language model has a similar limit, and the same fix. The only paper it has is the text it writes.

The text is the model's scratch paper

A model produces its reply one token at a time. To choose each token, it runs the same fixed stack of calculations over everything before it: your prompt plus whatever it has already written. That is a limited amount of work per token. Unless a tool gives it a hidden scratch area (more on that below), it has no notebook where it can work things out first and then reply.

That has a direct consequence. If the first words of the reply must be the answer, the answer is produced with no working on the page. If the reply starts with the working, each step becomes text, and every later token, including the final answer, can build on it.

Watch it happen

Here is a small shopping problem: pens cost $9 for a pack of 12, or $1 each. What is the cheapest way to buy exactly 30 pens? Work it out yourself first. The tracer shows two illustrative replies, one asked for the price only and one asked to work it out first.

Answer first, then working firstUse the arrows or ← → keys
repeat:  look at the prompt and everything written so far  write the next piece
  1. reply A, written so far
    (empty)
    steps on the page
    0

    1Prompt A says "Reply with the price only." The model must start with the answer, and nothing is on the page yet except the problem.

  2. reply A, written so far
    $22.50
    steps on the page
    0

    2It writes a quick, plausible number: $9 ÷ 12 is $0.75 a pen, and 30 × 0.75 = 22.50. That ignores that you cannot buy half a pack.

  3. reply A, written so far
    $22.50
    Each pen costs $0.75 in packs,
    and 30 × $0.75 = $22.50.
    steps on the page
    0

    3Ask it to explain, and it explains $22.50. The explanation is consistent with the answer because it was written to fit it. Working that comes after the answer cannot change it.

  4. reply B, written so far
    Options: 0, 1, 2 or 3 packs of 12
    steps on the page
    1

    4Prompt B says "Work it out step by step, then give the price on the last line." The first piece is a step, not an answer: list the options. Three packs is 36 pens, so more than 3 is never needed.

  5. reply B, written so far
    Options: 0, 1, 2 or 3 packs of 12
    3 packs = $27 (6 spare)
    steps on the page
    2

    5With that line on the page, the next one prices the first option: 3 packs is $27, with 6 pens spare.

  6. reply B, written so far
    Options: 0, 1, 2 or 3 packs of 12
    3 packs = $27 (6 spare)
    2 packs + 6 singles = $18 + $6 = $24
    steps on the page
    3

    62 packs is 24 pens, 6 short. Add 6 singles at $1: $18 + $6 = $24.

  7. reply B, written so far
    Options: 0, 1, 2 or 3 packs of 12
    3 packs = $27 (6 spare)
    2 packs + 6 singles = $18 + $6 = $24
    1 pack + 18 singles = $9 + $18 = $27
    steps on the page
    4

    71 pack is 12 pens, 18 short: $9 + $18 = $27. Fewer packs means more pens at the full $1.

  8. reply B, written so far
    Options: 0, 1, 2 or 3 packs of 12
    3 packs = $27 (6 spare)
    2 packs + 6 singles = $18 + $6 = $24
    1 pack + 18 singles = $9 + $18 = $27
    0 packs: 30 singles = $30
    steps on the page
    5

    8No packs at all: 30 singles is $30. Every option now sits in the text the model is reading.

  9. reply B, written so far
    Options: 0, 1, 2 or 3 packs of 12
    3 packs = $27 (6 spare)
    2 packs + 6 singles = $18 + $6 = $24
    1 pack + 18 singles = $9 + $18 = $27
    0 packs: 30 singles = $30
    Answer: $24
    steps on the page
    5

    9The last line only has to pick the smallest of four numbers already written: $24. Five lines of working came before the answer, against none for reply A.

1 / 9

Reply A was not careless. It was asked to commit first, so it committed to the most obvious-looking number. Reply B was allowed to lay the options out, which turned a tricky question into an easy one: pick the smallest.

This does not make the model always right. Steps can still be wrong. But a wrong step written on the page is something you can see and check, which a wrong one-word answer is not.

Separate the working from the answer

Working makes replies longer. If a person or a program only needs the result, ask for the two parts in clearly marked sections.

Answer onlyIllustrative example. Real replies vary.
You
Our team of 6 needs a meeting slot. Ana can't do mornings. Ben is out Tuesday and Wednesday. Chloe only works Monday to Wednesday. Slots: Mon 10:00, Tue 14:00, Wed 15:00, Thu 11:00. Which slot works for everyone? One word.
Model
Wednesday

Wednesday fails: Ben is out. Checking each person against each slot is several small steps, and the prompt left no room for them.

Working, then answerIllustrative example. Real replies vary.
You
Our team of 6 needs a meeting slot. Ana can't do mornings. Ben is out Tuesday and Wednesday. Chloe only works Monday to Wednesday. Slots: Mon 10:00, Tue 14:00, Wed 15:00, Thu 11:00. Check each slot against each constraint inside <thinking> tags. Then give the slot that works for everyone inside <answer> tags, or "none" if no slot works.
Model
<thinking> Mon 10:00: morning, so Ana can't. Out. Tue 14:00: Ben is out Tuesday. Out. Wed 15:00: Ben is out Wednesday. Out. Thu 11:00: morning for Ana, and Chloe doesn't work Thursday. Out. </thinking> <answer>none</answer>

The honest answer was "none", which the one-word prompt made very unlikely, because it implied one slot must work. The second prompt allowed for that case explicitly, a habit from Be Clear and Specific.

With the answer in tags, a program can ignore the working and pull out the result:

function extractAnswer(reply) {
  const match = reply.match(/<answer>([\s\S]*?)<\/answer>/);
  return match ? match[1].trim() : null; // null: the tag was missing
}
 
const reply = "<thinking>Mon 10:00 ... Out.</thinking>\n<answer>none</answer>";
console.log(extractAnswer(reply)); // "none"
import re
 
def extract_answer(reply):
    match = re.search(r"<answer>(.*?)</answer>", reply, re.DOTALL)
    return match.group(1).strip() if match else None  # None: the tag was missing
 
reply = "<thinking>Mon 10:00 ... Out.</thinking>\n<answer>none</answer>"
print(extract_answer(reply))  # none

Always handle the missing-tag case. A model usually follows the format, not always, and your code should notice instead of crashing.

When to skip it

Room to think helps when there are steps: arithmetic, comparing options, checking rules, debugging, planning. It adds little to a lookup ("What is the capital of Peru?") or a short creative task, and it costs time and tokens on every request. For very large tasks, a different form of room helps more: split the job into several prompts, each doing one stage, and feed each result into the next.

Try it yourself

Try it: Let it compare before choosing

This prompt gets a one-word pick that often ignores the commute. Rewrite it so the model compares the offers on what matters before choosing, and so the choice is easy to find in the reply.

Show a sample answer
Rewritten promptIllustrative example. Real replies vary.
You
Help me pick a job offer. I care most about time with my family, then pay. A: $62k, 70-minute commute each way, 5 days a week. B: $58k, fully remote. C: $60k, 20-minute commute each way, 4-day week. Inside <thinking> tags: work out the weekly hours spent commuting for each, then compare the offers on free time first and pay second. Then give your pick inside <answer> tags as one letter, followed by one sentence explaining why.

Why it works: the model now writes the numbers it needs before deciding (A is about 11.7 hours of commuting a week, C about 2.7, B none). Stating your priorities gives it a rule for weighing them. The answer tag keeps the choice easy to find, and the one-sentence reason lets you check it against the working.

Common mistakes

Check yourself

Quick check

Why does writing the working first help a model on multi-step problems?

A prompt says "Give your answer, then explain your reasoning." What is the problem?

For which request is asking for step-by-step working least useful?

What to practise next

The tags in this lesson were a first step toward replies a program can read. Structured Output takes that all the way to JSON you can parse and check.