Interfaces for Multi-Step Agents
What changes when the system acts over minutes rather than responds in seconds, how to make a long trajectory legible without demanding constant attention, and where the intervention points belong.
A chat interface assumes a turn: the user asks, the system responds, the user reads. An agent that works for several minutes across a dozen steps breaks every part of that assumption. It is not responding, it is working; the user is not reading, they are supervising; and the thing they need is not an answer but visibility and the ability to intervene.
Legibility without attention
The user should be able to look away and come back. That requires the trajectory to be reviewable after the fact rather than only observable live, which means a persistent, structured record of what happened rather than a scrolling log.
The right granularity is by step and by intent: "searched the codebase for the authentication handler", "read three files", "proposed a change to session.py". Raw tool calls with full arguments are too detailed to scan and are the right thing to reveal on expansion. The summary layer is what makes a twenty-step run comprehensible in ten seconds.
Grouping matters too. Twelve consecutive file reads should collapse into one line that expands, or the important step is lost among the routine ones.
Intervention points
Before a consequential action. The reversibility test decides which: irreversible and externally visible actions get a confirmation, reversible ones do not. Confirmations placed on everything become reflexive and stop functioning.
At a plan boundary. Showing the plan before execution lets the user correct a misunderstanding at the point where correction is cheapest, before work has been done on the wrong premise.
On request. A stop control that actually stops, promptly, and leaves the system in a describable state. An agent that cannot be interrupted mid-step, or that leaves half-finished work with no account of it, teaches users not to start long tasks.
On failure. When the agent is stuck, looping, or has exhausted its budget, handing back to the user with what it tried and what it concluded is more useful than a generic failure, and it is what allows the user to supply the missing piece.
When it breaks
Attention cannot be sustained. A user watching an agent for five minutes has not saved time, so the design has to work for someone who checks back. Notification on completion or on a decision point is the interaction, and continuous observation is a debugging mode.
Partial completion is the hardest state to communicate. An agent that did six of ten steps and failed has left the world modified. The interface must say what was done, what was not, and what needs undoing, and this is the state most implementations handle worst.
Trust calibration goes wrong in both directions over time. Users who watch closely at first stop checking as the agent succeeds, arriving at over-reliance exactly when the agent starts encountering novel situations. Surfacing when a run is unusual, longer than typical, more errors, an unfamiliar tool, is what re-engages attention where it is warranted.
Cost and time are invisible until the bill. A long agent run consumes tokens at a rate the user cannot see. Showing elapsed steps and accumulated cost during the run, and against a budget, makes the tradeoff visible while it can still be acted on.
10 flashcards for this concept
Click a card to reveal the answer.