← Back to LabDebora’s Lab / Publication

How to build an agent without starting with a chat box

A practical guide to the rules, boundaries and feedback loops that make an agent useful in a real product.

Written from practice↓ Read the field note
[ 00 / Premise ]

An agent is not a chatbot with a few extra permissions. It is a product system that observes context, makes a judgement and decides whether to act.

[ 01 / 04 ]

Start with the job, not the prompt

Before deciding what the agent should say, write down what the person is trying to achieve. ‘Answer questions’ is too vague. ‘Protect an arrival goal when the commute changes’ gives the system something it can reason about.

A useful goal gives you a test for every later decision: does this action help the person, or is the agent just being busy?

[ 02 / 04 ]

Give it context — and uncertainty

An agent needs the small set of signals that change the job: state, timing, constraints, history and permissions. Make that context explicit before designing the interface.

A confident answer built on missing context is worse than a short explanation of what the system does not know.

01Goal before prompt
02Context before confidence
03Consent before commitment
[ 03 / 04 ]

Design the decision boundary

Most behaviour falls into three useful states.

  1. Stay quiet when nothing changed enough to interrupt.
  2. Prepare by gathering context or drafting a reversible next step.
  3. Ask when a consequential action needs attention, consent or choice.
[ 04 / 04 ]

Test the awkward cases first

Happy paths make agents look smarter than they are. Start with stale data, conflicting goals, missing permissions, a person changing their mind and a recommendation arriving too late.

A small coded model often reveals another state or human hand-off before the interface needs more polish.

[ Open materials ]

What you can reuse.

Not just a conclusion: these are the working artefacts behind the argument. Open them, question them and adapt what is useful.

01

Decision model

The visible product surface for observing, interpreting and choosing whether to act.

Inspect the agent UI
02

Server boundary

The route that keeps model access and product context outside the browser.

Inspect the API route
03

Try the behaviour

Use the agent in the portfolio and question the decisions behind the work.

Open the agent