Dan Birman

Agent Trust Patterns

Six patterns · v1 · Oct 2026 · Updated Nov 2026

Six interface patterns for AI agents that act for someone: booking a flight, paying an invoice, emailing a restaurant. They’re for the people who design and build those agents and decide when one should stop and ask, and what it should show.

Each pattern starts from a documented problem, proposes an interface I haven’t seen shipped, credits the closest prior work, and has a demo you can try. Victor Yocco’s six patterns, which follow the lifecycle of an agentic interaction from Intent Preview to Escalation Pathway, are the closest published set to these that I know of (Smashing Magazine).

How to use them

Start with the demos. They use made-up data, and Drift, Shelf and Record have a switch to try them with and without the pattern. Consent also has a live version that takes your own instruction. In a design review, check any flow where an agent acts for someone against the four rules under “The pattern,” and read “Watch for” to see how each one can go wrong. If you’re building one, Build it maps each pattern to today’s protocols and names the gap. Once a month I score a real agent product against all six. Review No. 1 is ChatGPT Work.

The six

01 Consent by exampleDon’t make people read the rules they’re granting. Show them the edge cases and let them sort.
02 Interrupt on drift, not on dangerThe agreed plan is the baseline. Interrupt when the agent leaves it, not every time it does something risky.
03 Questions with a shelf lifeAsk early, say what you’ll assume, and stop asking once the answer can’t help.
04 Whose idea was this?Before an irreversible step, mark any part of the reasoning that came from someone other than you.
05 Show the track recordBefore you delegate, see how often “done” was actually done for this kind of task.
06 The other side of the agentDesign for the person on the receiving end of an agent’s email, booking, or purchase.

Build it

Each pattern can build on a piece of today’s agent protocols and specs, and each one shows a gap in them. The links go to the versions current on November 9, 2026: MCP (spec 2026-07-28), AG-UI 1.0, OpenAI’s Model Spec (October 29, 2026) and AP2 (v0.2).

PatternBuild onThe gap
01 ConsentAn MCP elicitation form to show the edge cases and collect your answers. A Model Spec scope to hold the result: a semi-structured record, with fields like max_cost and tool_constraints, that the platform can validate, enforce and audit.A scope holds rules once someone has written them. This pattern is about writing them: the agent picks the cases it’s least sure about, and each disagreement becomes a written rule.
02 DriftThe Model Spec’s scope of autonomy. When a task can’t be completed within the scope, the model should notify the user and seek approval.The Spec’s example scope record has fields for tools, time and cost, plus a free-text additional_details. The approved plan has no field of its own, so a step can stay inside every limit and still leave the plan.
03 Shelf lifeAn AG-UI interrupt can carry an optional expiresAt. Once the consumer judges it expired, it can no longer be answered, only abandoned.In this pattern, expiry follows progress, not the clock, and an expired question takes its stated default instead of being abandoned. MCP elicitation has no expiry field. The spec says servers should put a short expiry inside requestState to prevent replay, and clients must not read that string, so the interface has nothing to show when a question lapses.
04 Whose ideaFor payments, AP2’s signed checkout mandates tie an approval to a specific, finalized checkout.MCP makes clients show which server is asking, but not which input led the agent there. A request has a mode, a message, and a form schema or URL. None of them is for where a step came from, which leaves the free-text message.
05 Track recordThe Model Spec says scopes should be recorded in a semi-structured format so the platform can validate, enforce and audit them.A scope records what the agent may do. This pattern also needs a record of how it went: how often “done” held up for this kind of task, measured from what happened, not from the agent’s report.
06 Other sideMCP requires clients to show which server is asking, with clear decline and cancel options. That’s the disclosure this pattern asks for, but made to the person who sent the agent.Neither MCP nor AG-UI has a field that names who should answer, so neither can address a question to the person on the receiving end. MCP servers must bind each request to the client and user identity, and an AG-UI interrupt’s message is a prompt “for whoever answers.”

The AG-UI 1.1 working draft, which no SDK implements yet, keeps the same expiry rule and still has no field that names who should answer.

Each demo is plain HTML and JS in its page’s source. A package comes later.

How to cite

Cite as: Dan Birman, Agent Trust Patterns, dbirman.com/patterns, 2026. For a single pattern, add its number and version from the top of its page.

Changelog

Get each new pattern by email

One email when a new pattern, review or essay ships. Nothing else, and unsubscribing takes one click.

Review No. 1 · Home