You Gave the Agent Tools. You Never Gave It Your Domain Model.

Release date:
Hero Vector
Abstract editorial graphic in ink purple, copper and bone: stacked ledger cards on the left linked to a knowledge-graph of nodes and copper orbital rings on the right, no text
Vector ImageVector ImageVector Image
Blog detail
Vector ImageVector ImageVector Image

Most Australian enterprises handed agents a toolkit first and a domain model never. The chatbot can raise a ticket. The claims assistant can fetch a policy. The payments bot can draft a refund. What none of them received is a shared, formal picture of what a customer, a claim, a payment, or a case is in your organisation, and what relationships are allowed to exist between them.

That gap is not a documentation nicety. Agents are probabilistic systems. They invent plausible next tokens for a living. Hallucinations are not only bugs; they are a predictable side effect of how next-token prediction works. Without a structured domain model sitting between the loop and your systems of record, the agent will fill gaps with fluent guesses. Sometimes those guesses look fine. Sometimes they quietly mutate the ledger.

The missing piece is an ontology: a formal shared conceptualisation of a domain. Put simply, it is the entities you care about, the relationships between them, and the properties and constraints that keep those relationships honest. Often it lives as a knowledge graph. Increasingly, production teams pair it with neural agents in what people call neuro-symbolic AI: probabilistic reasoning where it shines, symbolic structure where drift would hurt.

Why probabilistic agents need symbolic bones

Large language models are extraordinary at language, summarisation, and soft reasoning over messy text. They are also unbound by your enterprise rules unless you put those rules somewhere they cannot shrug off. An agent that can call tools is powerful precisely because it can close the loop: read state, decide, write state, read again. That loop is also where things break.

Loops drift between agents when each one carries a slightly different idea of what a "case" or a "payer" means. They burn tokens chasing dead ends. They retry side effects. They invent statuses that your CRM has never heard of. The failure mode is rarely a single catastrophic hallucination. It is a slow smear of almost-right mutations across systems that were never designed for conversational write paths.

Symbolic structure does not replace the model. It constrains it. Rules, graphs, and OWL or RDFS-style constraints give you a place to say: this type is disjoint from that type; this property is functional; this status may only be one of these values; this relationship is transitive. Free text cannot carry those guarantees. Typed contracts at the tool boundary can.

Ontologies as shared maps, not rigid tables

Enterprise domains evolve. Product lines merge. Case types sprout subtypes. A payment that once always had one payer now sometimes has two. Rigid relational tables struggle when the shape of the world keeps moving, because every new relationship tends to mean a migration, a nullable column, or another join table nobody owns.

Graphs cope better with that kind of change. You add nodes and edges for the new concepts without pretending the old schema was complete. You can still enforce constraints. You just stop pretending that yesterday's columns are the whole domain.

An ontology is the agreement layer on top of that graph. It answers questions your warehouse never did:

  • What counts as a customer versus a support representative, and why those must not collapse into one person-type?
  • Which properties may have only one value, such as a single primary payer on a refund?
  • Which statuses are allowed at each stage of a claim or case?
  • Which relationships carry across hops, so that "part of" or "reports to" remains coherent when agents traverse them?

Those are not academic questions. They are the difference between an agent that updates the right record and an agent that invents a plausible sibling record because nothing told it the first one was unique.

Top-down, bottom-up, and reuse

Building a domain model is not a choice between ivory-tower design and chaotic discovery. Healthy programmes use both directions.

Top-down from experts

Domain experts name the entities that matter: account, policy, claim, payment instruction, case, agent of record. They define the relationships that must hold even when the UI is messy. This is where disjoint types and functional properties earn their keep. A customer is not a support rep. A claim has one primary policy. A refund has one payer of record unless your business has explicitly modelled otherwise.

Bottom-up from operations

Real work always surfaces concepts the workshop missed. Exception queues, shadow statuses, "temporary" fields that staff rely on. Bottom-up modelling adds those entities and relationships from observed operations, then folds them into the shared conceptualisation instead of leaving them as tribal knowledge in spreadsheets.

Reuse where it helps

You do not need to invent every vocabulary from scratch. Public schema patterns for organisations, people, offers, and events are useful starting points when they map cleanly. Reuse the shape of thinking, not necessarily a product badge. The point is shared meaning across teams and tools, not brand loyalty to a particular ontology stack.

Constraints that catch what free text misses

When agents propose tool calls, the dangerous mistakes are often structural, not stylistic. Inference and constraints catch them before anything lands in a system of record.

Functional properties

  • Only one father in a kinship model, or, closer to enterprise life, only one primary payer on a refund instruction.
  • Only one open hardship arrangement per account unless the ontology explicitly allows multiples.

Disjoint types

  • A party marked as customer must not also be treated as the support representative on the same interaction without an explicit dual-role model.
  • A draft claim is not a settled claim; treating them as interchangeable invites writebacks that auditors will hate.

Allowed enums and transitions

  • Status values are not free text. "Almost approved" is not a status your ledger knows.
  • Transitions matter: you cannot jump from intake to paid without the intermediate checks your ontology encodes.

Transitive and hierarchical relationships

  • If team A reports to division B, and B reports to group C, queries and authorisations that walk the hierarchy should not invent shortcuts the ontology forbids.
  • Part-whole relationships in product catalogues or case hierarchies stay coherent when agents traverse them.

These checks are dull in the best way. Dull is what you want between a probabilistic loop and a money movement.

The production pattern: contracts, ontology, then side effects

Agent loops become survivable when you refuse to mutate systems until validation passes. A practical pattern looks like this.

Typed contracts at the tool boundary

Every tool the agent may call exposes a typed input and output contract. Not "a blob of JSON the model invented", but a schema the runtime can reject. Argument names, enums, identifiers, and required fields are explicit. If the model proposes a status that is not in the enum, the call never leaves the sandbox.

Ontology and ledger validation before side effects

Before any write, a validation layer checks the proposed mutation against the ontology and against the current ledger state. Does this party exist? Is this relationship allowed? Would this update violate a functional property? Is the transition legal? Only then does the runtime execute the side effect. Reads can be generous. Writes stay strict.

Human escalation when validation fails

When checks fail, the loop should not invent a workaround. It should escalate: surface the proposed action, the failed constraint, and enough context for a human to decide. That is not a defeat for automation. It is how you keep automation honest when the world is weirder than the graph.

This pattern also helps with token burn. Agents that thrash against soft failures burn budget. Agents that hit a hard validation wall early stop, escalate, or replan with clearer feedback.

Hypothetical Australian enterprise scenes

None of the following are client stories. They are illustrations of where domain models and guardrails change the risk profile.

Bank payments and refunds

Imagine a retail bank assistant that can draft refunds for disputed card transactions. Without a domain model, the agent might invent a second payer, reuse an outdated account identifier, or mark a refund complete before clearing checks finish. With an ontology, a refund instruction has one primary payer, a linked dispute case, and a status enum that refuses "paid" until validation and clearing flags agree. The tool contract rejects malformed payloads. The ledger check refuses the write. A human sees the failed constraint instead of a polite email that already went out.

Insurer claims triage

An insurer pilot lets an agent triage incoming claims into queues and request missing documents. Probabilistic classification is useful here. Unconstrained writebacks are not. Disjoint types keep a claimant distinct from an assessor. Allowed transitions stop a claim jumping from intake to settlement. Document requests reference real claim entities, not hallucinated claim numbers that look right in chat and wrong in the core system.

Agency case routing

A public-sector style agency routes citizen cases across programmes. Agents that summarise and suggest next steps can save staff time. Agents that reassign ownership without hierarchical and jurisdictional constraints can create privacy and fairness problems. Transitive reporting and programme-membership relationships encoded in the ontology give the runtime something firm to check before a reassignment tool fires.

What breaks when you skip the domain model

Skipping the ontology usually feels fast in week one. By week six the symptoms are familiar:

  • Multiple agents disagree on identifiers for the same real-world entity.
  • Statuses proliferate in free text until reporting becomes fiction.
  • Side effects succeed in one system and fail in another, with no shared ledger view of intent.
  • Token spend climbs as loops retry soft failures instead of hitting hard constraints.
  • Audit questions arrive and nobody can reconstruct which conceptual rules the agent was supposed to obey.

None of that is fixed by a longer system prompt. Prompts are soft. Ontologies and typed contracts are hard in the places that matter.

How TruFyre thinks about this

TruFyre works with Australian and APAC organisations that want agent capability without ledger roulette. The work is rarely "add another model". It is putting domain models and guardrails around agent tools so loops stay honest: shared entities and relationships, constraints that fire before side effects, typed contracts at the boundary, and clear human escalation when validation fails.

If your agents already have tools, ask a sharper question. Do they also have your domain model? If the answer is a shrug, the next incident will teach you the difference.

Ready to put structure under the loop? Talk to TruFyre about ontology-backed guardrails for enterprise agents in Australia and the wider APAC region.

BG Image
Vector ImageVector ImageVector Image
We’re here to help
Vector ImageVector ImageVector Image

Ready to put AI to work in your business?

Talk to an AI expert about your goals.
Arrow Icon
Smart process automation
Arrow Icon
Direct access to our team. No bots.
Arrow Icon
We ask smart questions fast.

Book a Discovery Call

Your form has been submitted successfully. Thank you!
Please double-check your information and try again. If the issue continues, email us at info@trufyre.ai