AI engineering
AI agents with real tool access
Agents with a defined scope, real access to your systems, and explicit instructions about when to hand a conversation to a human.
What this is
The work, described plainly
A general assistant gives general answers. That is fine for drafting an email and useless for a question about order 4471, because the model has no idea what order 4471 is.
An agent becomes useful when it can read your data and write to your systems — check stock, look up an order, raise a ticket, update a schedule. That access is also what makes it dangerous, so scope is the design problem: what each agent may see, what it may change, and what it must refuse.
We build specialists rather than one agent that claims to do everything. When a question falls outside an agent’s scope it hands over and says so, rather than improvising an answer that sounds right.
What you get
What is actually handed over
Concrete deliverables, not phases on a timeline.
Scoped agent definitions
What each agent knows, which tools it can call, and the boundary where it stops and escalates.
Tool integrations
Read and write access to your ERP, database, ticketing, or messaging, through an interface that logs every call.
Handover rules
Designed behaviour, not a fallback — the conversation, its context, and what was already tried, passed to whoever picks it up.
Transcript and audit trail
Every tool call and every escalation recorded, so a disputed answer can be reconstructed rather than guessed at.
Is this you
Signals this is the right fit
- Your team answers the same questions repeatedly from data in a system.
- Support volume rises with sales and headcount is the only lever you have.
- You need answers grounded in your own records, not general knowledge.
- You need a record of what the system told a customer.
Typical stack
Chosen per project against your constraints, not applied by default. This is what the work usually involves.
- Claude and GPT tool use
- Model Context Protocol
- TypeScript
- Vector search where retrieval is needed
- WhatsApp, web chat, and internal channels
FAQ
Questions people actually ask
What stops an agent from inventing an answer?
Two things. It answers from retrieved records rather than memory, so there is a source behind each response. And its scope is explicit, so a question it has no tool to answer becomes a handover rather than a guess. Neither is a guarantee, which is why the transcript exists.
Can an agent change data, or only read it?
That is decided per tool and per agent. Read-only is the default. Write access is granted deliberately, usually with a confirmation step for anything a person would want to see before it happens.
How is this different from a chatbot?
A chatbot matches a question to a scripted answer. An agent calls tools against live systems, so it can tell you the status of an actual order, and it can act on it.
Related
Work that usually comes with this
Start here
Tell us what is slow, manual, or breaking.
Answer a few questions and get a written brief back — scope, proposed architecture, and what it would take to build.