All categories/Agents and automation
Designing agents · Level Advanced · Agents Agent Flow
State machine: no jumping around
A multi-turn flow keeps returning to steps already completed.
Prompt
Your first line in any agent design is what the agent must not do. Most failures come from unclear scope, sloppy tool contracts and missing failure handling, not from a weak model.
Task: A multi-turn flow keeps returning to steps already completed.
[Before you start, do three things]
1. Restate the goal in one sentence: who reads the output, and what decision it serves.
2. If I have not given you the following, ask me. Do not assume:
- all states and legal transitions
- entry and exit conditions
- where the user may interrupt
3. Say how you plan to do it (at most 5 steps) and wait for my go-ahead.
[Go through each of these]
- a state table: state, allowed actions, exit condition, failure target
- required data per state; no progress without it
- mark reversible and irreversible states
- where state is stored and how it resumes
[Process]
1. Write the boundary: what it may do, must never do, and when to hand back to a human
2. Define each tool's inputs, outputs, failure semantics, idempotency
3. Write the flow as a state machine with exit conditions
4. Design failure paths: retry, degrade, abort, escalate
5. Give one testable success criterion
[Output]
Fixed shape: boundary, tool contracts, state machine, failure paths, criteria.
[Do not]
- No general-purpose agent that does everything
- Never let fuzzy prose stand in for a tool contract
- The agent must not decide whether approval is needed
- No 'do your best' instead of an abort conditionWhat to state before it starts
Leave these unsaid and the model fills them with an assumption. Most 'wrong answers' start here.
- all states and legal transitions
- entry and exit conditions
- where the user may interrupt
Go through each of these
Where this kind of work most often goes wrong. Already in the prompt, so you do not have to remember it.
- a state table: state, allowed actions, exit condition, failure target
- required data per state; no progress without it
- mark reversible and irreversible states
- where state is stored and how it resumes