Services / AI agents

AI agents that use your tools, follow your rules and are measured on your tasks.

We build agents as engineered systems: a model in a loop with scoped tools, memory, guardrails, evaluation and a budget. You choose the model, and you can swap it without rebuilding anything. A core team leads, and dedicated engineers join where the work needs them.

01 / The loop

What an agent is in production

An agent is a loop around a model, never a single prompt. Every pass through the loop is bounded, logged and checked.

  1. GoalA task with a success measure
  2. PlanBreak the task into steps
  3. Call a toolThrough a scoped service account
  4. ObserveRead the result and its source
  5. CheckRules, guardrails, evaluation set
  6. Answer or hand overDone, or a person decides

02 / Building blocks

Eight blocks in every agent

The same parts appear in every agent we build. Each one is configured, tested and owned, so you can see what the agent is made of.

03 / Your own model

Bring your own model, swap it any time

The harness talks to models through one interface. You choose the model per task, and changing it is a configuration change: prompts, tools and evaluation stay where they are.

  1. TaskOne agent task, one success measure
  2. HarnessPrompts, tools, guardrails, evaluation
  3. Unity AI GatewayAccess, budgets, limits, logging
  4. Your choice per task

    1. Model AA provider API
    2. Model BOpen-weight, your infrastructure
    3. Your own modelFine-tuned for the task
Where the model can come from
OptionWhere it runsA good fit when
A provider APIThe provider's platform, reached through the gatewayYou want the strongest general model and the data may go there
A model you already licenseYour existing agreement, connected and governed in the gatewayA contract is in place and the task is covered by it
An open-weight modelYour own infrastructure: Nebius in European regions, on-premises or Azure in an EU regionData must stay where you decide, or volume is steady and high
A fine-tuned model of your ownServed on endpoints you controlThe task is narrow and a smaller model can do it well

The model is one line per task. Everything around it stays.

  • A new model runs against the same evaluation set and the same cost test as the current one.
  • It goes live only when quality holds and cost per task fits.
  • The gateway splits traffic with failover, so a shadow run or a gradual switch needs no code change.
  • Rollback is one step: the task points at the previous model again.
agent.configIllustration
# Schematic configuration, not real syntax
tasks:
  classify_request:
    model: small-model-a
  draft_reply:
    model: large-model-b
  extract_fields:
    model: our-fine-tuned-model
gate:
  evaluation_set: real-cases
  quality: must-hold
  cost_per_task: within-budget
rollout: shadow-run, then traffic-split

04 / Patterns

Patterns we build

We pick the simplest pattern that does the job and add structure only where the task needs it.

Agent patterns and when to use them
PatternWhat it doesWhen to use it
Single tool-using agentOne model calls a small set of tools in a loop until the task is doneOne well-defined task with a few tools, the place to start
Router to specialised agentsA first step classifies the request and hands it to the agent built for itSeveral distinct request types that each need their own tools and rules
Supervisor with sub-agentsA supervising agent splits a task, delegates the parts and combines the resultsTasks that decompose into independent parts with different skills
Planner and executorOne step writes the plan, another carries it out step by stepLong tasks where the plan should be reviewed before anything runs
Agent with human approvalThe agent prepares an action and a person confirms it before it happensAny action with consequences, such as a booking, a payment or a message to a customer
Multi-agent workflow as a graphNodes and edges define the flow, with checkpoints that save state at each stepProcesses that must resume after a failure and be audited step by step

We build these with the frameworks your team prefers, for example LangChain, LangGraph or PydanticAI, with MLflow tracing and tool access through MCP.

  • LangChain
  • MLflow
  • OpenTelemetry
  • Databricks

Omnigent: a governed layer above your agents

Omnigent is an open-source meta-harness from Databricks that sits above the agents you already use, such as Claude Code, Codex and Pi, or agents you write yourself. It gives them one interface, so the agent and the model underneath stay swappable. Policies for permissions and cost are enforced outside the prompt, and model access runs through Unity Gateway.

Open source in alpha; managed version in Beta. Last verified: 11 November 2026. Our rule: preview features run in a test environment until they are generally available.

05 / Tools and MCP

Tools an agent can use

Tools are where an agent touches your systems, so they are the most carefully governed part.

06 / Memory and state

What an agent remembers

Memory is a design decision with a retention rule, not a feature that happens by default.

Per session

  • The conversation so far and the tool results of this task
  • Summarised when it grows, so context stays small
  • Discarded when the session ends

Long term

  • Facts the agent should recall in later sessions, such as preferences and earlier decisions
  • Stored in governed Postgres, with access per user
  • Kept for a defined period and deleted on request

We store state in Lakebase, the managed Postgres service on Azure Databricks, governed in Unity Catalog next to your lakehouse. Current-state data in small reads and writes is what Postgres does well, and pgvector is among the supported extensions.

OLTP, OLAP and Lakebase in depth

  • Databricks
  • Lakebase
  • PostgreSQL
  • Unity Catalog

07 / Evaluation and safety

Evaluation and safety

An agent is only as good as the evidence that it works. These controls are part of every build.

08 / Running it

Running agents with control

After go-live, an agent needs the same operations as any service. The Unity AI Gateway below is where access, spend and logs are governed.

Governance for AI

One gateway for every model, agent and tool

Every call from teams, agents and coding tools passes through Unity AI Gateway, so access, spend and logs follow the rules of the rest of your data.

  1. Teams, agents, coding toolsWhoever calls a model
  2. Unity AI GatewayPermissions, budgets, limits, policies, logging
  3. Models, MCP servers, toolsDatabricks-hosted and external

How we set it up

  • The gateway and its policies are defined as code and deployed by pipeline, never clicked together.
  • One service per use case, each with its own budget and an owner who answers for it.
  • Inference tables with a retention period and access groups, so logs are useful and not a liability.
  • System-table dashboards for tokens, cost and latency per team.
  • Coding agents such as Claude Code are routed through the gateway, with repository rules and review gates on top.
  • Fallbacks are tested before go-live, by switching a destination off on purpose.
  • Smart Routing stays out of production while it is in Beta.

Generally available. Smart Routing is in Beta. Last verified: 10 November 2026. Unity AI Gateway documentation

09 / Approach

How we engineer it

Five steps, each ending in something you can review. Everything is code in your repositories.

  1. Pick one task and its success measure

    One task, one owner and one number that tells you whether the agent does it well.

  2. Build the harness and the evaluation first

    The test set, the tracing and the regression gate exist before the agent does much.

  3. Add tools one at a time, behind approval

    Each tool arrives with its service account, its tests and an approval step for writes.

  4. Run beside the team

    The agent proposes and people decide. We compare its proposals with their decisions and tune.

  5. Widen with evidence

    Only the cases where measured quality is good enough move to lighter review.

10 / Proof

Agents and models in real work

We set up AI harnesses and frameworks for clients, and we build every evaluation set on your own tasks.

At RIVM, the Dutch National Institute for Public Health, we built LLM operations frameworks and multi-agent proofs of concept with MLflow, LangChain and Azure AI Foundry. Read the RIVM case

We completed the Databricks Delivery Expert training track for Agent Evaluation.

11 / Deliverables

What you get and how to start

Each starts with a conversation about your scope.

Typical duration: 2 to 3 days

Data & AI quick scan

In 2 to 3 days we map how data and documents flow today and rank the three AI or data use cases with the best value for effort.

What you get

  • Current state of systems, data and manual work
  • Three use cases ranked by value, effort and risk
  • Roadmap with a pilot proposal
  • Session with management to discuss the result

Typical duration: 4 to 8 weeks

MLOps and LLMOps foundation

We build the path to production for your models and LLM applications on Databricks: registry, pipelines, evaluation gate, serving and monitoring, with your first use case running through it.

What you get

  • Assessment of your current path to production
  • Registry, pipelines and serving as code in your repositories
  • First model or LLM application taken through the evaluation gate to production
  • Monitoring, alerts and a runbook
  • Handover and training for your team

All engagement models

12 / FAQ

Questions about AI agents

What is the difference between an agent and a chatbot?

A chatbot answers questions. An agent works toward a goal: it plans, calls tools in your systems, reads the results and checks them before it answers or hands over. That is why an agent needs scoped access, evaluation and a budget.

Can an agent change records without a person?

Only when you decide so. We start with proposals that a person approves. Cases where the measured quality supports it move to lighter review, and every action is logged and can be reversed.

Which models do you use?

The ones you choose. The harness works with provider APIs, models you already license and open-weight models on your own infrastructure, and a model can be swapped by configuration. Each model is tested on your evaluation set before it handles a task.

How do you stop prompt injection?

In layers. Agents run with least privilege, so an injected instruction can reach only what the role allows. Write actions wait for approval, and guardrails check tool calls and answers. We also red-team with injected documents and tool output before go-live.

What does it cost to run an agent?

Cost depends on tokens and calls. We set a budget per agent through the gateway and measure cost per task, so you see it before and after every change. The page on cost and token optimisation shows how.

Next step

Which task should an agent take first?

Tell us about one task, the tools it needs and the model you would like to use. We will say what the first engagement involves.

Currently accepting projects for Q4 2026