Work without being asked
Tags: proactive, agents, attention
Prompt-and-response is not a law of the medium. It is an artifact of inference being expensive: you ran the model when somebody paid for it with an explicit request. Once that stops being true, the product can look at everything continuously β and the interesting question is no longer what it can answer but what earns an interruption.
The cost structure inverts
An answer to a question the user asked has already been paid for. They allocated the attention, they are looking at the screen, and a bad answer costs them the time they had budgeted plus some irritation.
Unprompted output has none of that. The user did not ask, so the attention comes out of whatever they were actually doing. A wrong unprompted result therefore costs strictly more than a wrong requested one β it spends attention that was committed elsewhere, and it spends a little of the product's standing at the same time, because the user now knows this thing interrupts for things that do not matter.
So the scarce resource stops being tokens and becomes attention, and every design instinct built while tokens were scarce points the wrong way.
The test
Would the user have asked for this, if they had known to?
Unprompted work earns its place when the answer is yes and they could not reasonably have known to ask. That intersection is smaller than it looks, and it is the whole opportunity: things that are knowable from the data but not salient to a person.
- Knowable and salient β they will ask. Answer well when they do; do not pre-empt it.
- Not knowable β you are guessing, and guessing unprompted is how a product becomes noise.
- Knowable but not salient β this is the one. Nobody is scanning forty contracts for the notice window that closes in eleven days.
Tier it, because not everything unprompted should interrupt
Most unprompted work belongs in the bottom two tiers. Most products put all of it in the top one, because interrupting is the easiest thing to build and the only one that demonstrates the capability.
Grounded in
DocRobot's rebuild. Once reading the corpus is free, the product stops waiting to be asked: a local model passes over every document as it lands and surfaces anything carrying a date β renewal windows, notice deadlines, expiring cover β without a prompt and without a person remembering to look.
Dates are the honest case for this, and worth dwelling on because they show why the test above is narrow rather than convenient. A renewal window is knowable β it is written in the text, unambiguously. It is not salient β nobody reads a filed contract again, which is the entire problem. And missing it fails silently: there is no error state, no complaint, nothing to notice, just an option that quietly stopped existing. Knowable, invisible, and silent on failure is the profile that earns an interruption. Very little else has it.
When to leave the user as the initiator
- Creative work. An unrequested suggestion anchors. Offer someone an opening line before they have written one and you have narrowed the space they were about to explore, whether or not they take it.
- When being watched is itself the cost. A product that continuously reads everything in order to be helpful is also a product that continuously reads everything. That is a boundary question before it is a features question β see answer within the boundary.
- When the user is mid-task. Correct, useful and badly timed is still an interruption. Collect it.
- When you cannot explain where it came from. An unprompted claim is harder to evaluate than a requested one, because the user has no context loaded. Without provenance it is unactionable.
Anti-patterns
- Proactivity as a firehose. Everything it noticed, surfaced, because it could. The user learns to dismiss without reading, which costs you the one item that mattered.
- No threshold control. If the user cannot make it quieter, they will make it silent.
- Unprompted output with no provenance. They did not ask, so they have nothing loaded. Where it came from is not a nicety here, it is the difference between actionable and ignorable.
- Acting rather than surfacing, with no way back. An agent that does something unasked has combined the two hardest cases. See undo over confirm β the staging point is the design.
- Treating cheap as free. Inference got cheap. Attention did not, and it is now the budget you are spending.
The smallest version worth building
Pick one class of thing that is dated, knowable from the data, and costly to miss. Just one. Surface only that, with its source attached and a way to turn it off.
Everything else the model noticed goes somewhere the user can choose to go and look. That is the whole first version, and the discipline of shipping one class rather than all of them is what keeps the second class welcome when you add it.
Related patterns
- Undo over confirm β unprompted action, as opposed to unprompted noticing, needs a staging point rather than a dialog.
- Wizard or conversation β the other half of not waiting for a prompt: when the product should not be a text box at all.
- Mark what the product vouches for β an unprompted claim needs its standing marked more clearly than a requested one, not less.