Guides
Session 2 · 24 min

Session 2

Steer the Attention

Why an attention brief works: it steers tools, search, scope, and stopping rules, not just wording.

  • Rewrite an implement prompt into an attention-steering brief
  • Use the explicit rule: let the agent come up with the path
  • Map each clause to a concrete agent mechanism
  • See why search keywords and tool choice follow attention

A situation you may recognize

Same ticket. Same soft delete. This time you try to be thorough. You paste schema notes, auth quirks, and three related files. You still end with: “Implement soft delete for user accounts.”

The agent has more to chew on. It still charges into code. The steering survived the context dump.

What changes the run is not packing more. It is steering attention at different jobs: let the agent come up with the path, check blast radius, suggest one next step, and do not implement yet.

Explicit rule: let the agent come up with the path

Write this on a sticky note if you need to:

You own the destination. Let the agent come up with the path.

That is the prompt habit behind Session 2. Do not pre-write every fork in English (“first add this column, then wrap this service, then change this page”). State what you need. Ask the agent to propose high-level steps. Then you steer, challenge, and accept.

You bringAgent proposes
Destination (soft delete for users)Candidate roads
Rails (no billing changes, smallest safe change)Order of work
Blast-radius worriesWhere the change touches
Judgment on the proposalThe next step to take

Prescribing the path too early steers attention at your guessed forks. Letting the agent propose the path steers attention at exploration first: search the repo, name options, defend a recommendation. You still decide. You just stop pretending the GPS script was the job.

When the path itself is already settled (ADR, migration playbook), Session 5 covers prescribing on purpose. Until then, the default advice is: let the agent come up with the path.

A brief that steers attention

Compare these two:

Implement soft delete for user accounts
I need to implement soft delete for user accounts.
Tell me what we should do to do that.
Give me high-level steps.
Make sure you check blast radius for this change.
Suggest the next step.
Do not implement yet.

The second is not “better” because it is longer. It is better because each clause steers a different part of the agent’s behavior:

ClauseAttention it steersWhat changes in practice
”Tell me what we should do”Let the agent propose the pathPrefer explore and explain over edit
”High-level steps”Plan shape, not file lock-inAvoid premature architecture commitment
”Check blast radius”Sideways relevanceWiden what counts as “in scope” to find
”Suggest the next step”Short horizonOne move, then a human gate
”Do not implement yet”Stop coding jobBlock write-heavy tool use for now

Line count is not the skill. Steering is. The first clause is the explicit ask: do not invent the road for the agent; make it come up with the path.

Why this is best practice: the mechanisms

These are not vibes. They are levers inside how coding agents actually run.

1. Search keywords follow attention

When an agent explores a repo, it searches: grep, file search, semantic search. The keywords come from what it thinks the job is.

“Implement soft delete” steers queries toward generic delete/archive patterns from training data. “Check blast radius” and “find existing soft-delete / auth / sessions” steer queries toward your login paths, list filters, billing FKs, and an organizations pattern if one exists. Miss the keywords, miss the targets, then invent a path in the dark.

2. Tool selection follows attention

“Implement” biases the loop toward edit and apply tools. “Tell me what we should do” / “do not implement yet” biases toward read, search, and summarize. Same repo. Different tool policy. Steering attention is partly steering which tools get called.

3. Premature action is a known agent failure

Agents optimized to finish tasks often act before they have grounded knowledge. Your brief forces explore-then-decide: look before leaping into a soft-delete diff. That is especially important when edits are cheap to produce and expensive to unwind.

4. High-level caps premature commitment

“High-level steps” keeps the first pass from locking an archive table, purge job, or new service before the codebase has been seen. Granularity is a steering dial: too fine too early, and the agent defends the wrong forks with confidence.

5. Blast radius widens retrieval

Blast radius is not only a safety slogan. It expands the set of surfaces that should enter context: auth, sessions, default lists, billing, admin permissions. Wider attention → wider reads → risks become visible before code.

6. Next step sets a horizon and a checkpoint

“Suggest the next step” bounds how far the loop should run before yielding. That cuts thrash, runaway edits, and tool addiction. It also creates a natural human gate: align on one move, then continue. Irreversible or wide changes stay cheap to redirect.

7. Context stays cleaner longer

Jumping to implement fills the window with diffs, dead ends, and repair chatter. Plan-and-explore first keeps capacity for discovery. Later, Session 5’s short summary compresses decisions so the next coding session does not reconstruct them from scrollback.

8. The optimization target changes

Without those clauses, the silent score is often “produce a soft-delete-looking diff.” With them, the score includes “surface a path,” “name blast radius,” and “propose one safe next step.” Agents chase what the brief makes salient.

Soft delete: what steered attention finds

When blast radius and “what should we do” are in focus, the agent is more likely to surface:

  • Do default user lists hide soft-deleted rows?
  • Can soft-deleted users still authenticate?
  • What happens to open sessions?
  • Does billing assume hard delete?
  • Is there already a soft-delete pattern in organizations?

Those are not manners. They are the difference between a small safe change and a polite wreck. Session 1’s one-liner rarely puts them in frame, because it never steered search there.

Same skill with humans, clearer with agents

You already do this with people when you ask them to propose a plan instead of handing them your private GPS. With agents the emotional story falls away, so the mechanism is easier to see: wrong steering → wrong exploration → wrong diff. Use that clarity. Do not treat “let them come up with the path” as an AI-only trick.

What you still own

Letting the agent come up with the path is not handing the destination away. You still own:

  • what “done” means
  • what must not break
  • what good enough looks like

You do not have to pre-write every fork. You do need the agent to propose the path so you can steer, challenge, and accept before code. That pairs with Learning Loops, Not Prompts: name the kind of work before the run gets long.

A prompt shape you can reuse

I need to: [destination]
Let the agent come up with the path:
Tell me what we should do.
Give high-level steps.
Check blast radius for: [areas you worry about]
Suggest the next step.
Do not implement yet.

Or say it in one breath: destination, then you propose the path, then blast radius, then next step, then stop before code.

Fill the brackets. Keep it short. Hard rails (“do not touch billing”) belong here as constraints, not as a full GPS script.

Before Session 3

Session 3 looks at plan mode: a product feature that tries to force this redirect automatically, and why a formal plan dump can still make you lose focus even when the agent’s attention was steered correctly.

Next: Session 3: Plan Mode’s Gift and Trap