C.W.K.
Stream
Lesson 06 of 10 · published

Step-by-Step vs Open-Ended

~14 min · instructions, structure, process

Level 0Apprentice
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

Two shapes for the same task

You can ask the model to execute a process ("first do X, then do Y, then do Z") or to achieve an outcome ("return Z, given that you have access to X and Y"). Both can work; they fail differently.

When step-by-step wins

  • The task has a known, brittle order (parse → validate → transform → emit).
  • You need traceability — each step's output is logged.
  • The model has been overshooting (skipping verification, jumping to a guess).
  • You're using tool calling — explicit steps line up with explicit tool calls.

When open-ended wins

  • The task has many valid paths (creative writing, planning).
  • Steps are obvious to the model and writing them out is just noise.
  • You're using a reasoning model that already plans internally.

The pivot

If a step-by-step prompt is producing rote, mechanical outputs, soften it. If an open-ended prompt is skipping required checks, harden it. Move along this dial deliberately, not by accident.

Code

Same task, two shapes·markdown
# Step-by-step
1. Parse the input as JSON. If parsing fails, return {error: "bad_json"}.
2. Validate that all required fields are present. If not, list the missing fields.
3. Compute the total. Use the formula in <docs>.
4. Return {total: number, currency: "USD"}.

# Open-ended
Return the total in USD, given the JSON below. If the input is invalid, return a structured error explaining what's missing or wrong.

External links

Exercise

Take one open-ended prompt and rewrite it as steps. Run both on the same five inputs. Decide which shape produced more contract-passing outputs and why.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.