ai interface study
The Interface Is the Loop
AI products get better when the loop is visible enough for people to steer it.
Capture the user's goal before the model plans around the wrong target.
the starting point
Most AI demos hide the loop. The interface jumps from prompt to answer, so the user cannot see the intent, the plan, or the moment where the system should slow down.
setting up the structure
I split the loop into readable states: intent, plan, action, observation, eval, and checkpoint. The UI does not need to expose everything, but it should expose enough for the human to steer.
The important part is sequence. A checkpoint should appear before risk, not after the system has already done the work.
polishing the loop
The loop should remember failure. When the same mistake repeats, the interface should turn it into an eval instead of another vague retry.
## Loop Decision Tree
Does the model understand the user's intent?
├── No -> ask one clarifying question
└── Yes
├── Is the next action reversible?
│ ├── Yes -> act, then observe
│ └── No -> checkpoint before action
│
├── Did the same failure repeat?
│ ├── Yes -> create an eval
│ └── No -> retry with better evidence
│
└── Is the user still in control?
├── Yes -> continue the loop
└── No -> surface state + pauseThe loop stays useful when the interface knows when to act, when to ask, and when to stop.
rules I keep
visible state intent, plan, action the user should know what the system thinks it is doing
checkpoint before risk pause before irreversible actions, not after them
eval loop failure -> test good loops remember what went wrong
final code
const loop = [
"intent",
"plan",
"action",
"observation",
"eval",
"checkpoint",
];
const nextStep = loop.find((step) => needsHumanJudgment(step))
?? loop.find((step) => needsMoreEvidence(step))
?? "finish";