Agents
The subsequent chapters describes the conceptual and technical foundations behind the agentic capabilities of our GenAI solutions (e.g. Copilot Assistant). It covers how agentic solutions are structured, how natural language is translated into database queries, and why agentic integrations with application features might deliver more value than traditional UI navigation.
Terminology
Tool Calling
A language model on its own can only generate text based on its training data and the current context. It cannot look up live data, query a database, or interact with external systems.
Tool calling (also called function calling) extends a language model with the ability to invoke external functions during a conversation. The model receives descriptions of available tools — their names, parameters, and what they do and decides when and how to call them based on the user's request.
For example, when a user asks "What is the current temperature in Room 302?", the model does not guess the answer. It calls a tool that searches for the asset "Room 302", calls another tool to check what temperature data is available, and calls a third tool to retrieve the latest readings.
Agent
An agent is a language model equipped with tools and a defined workflow for using them. The agent decides which tools to call, in what order, interprets intermediate results, adapts its approach if something fails, and composes a final answer from one or multiple tool outputs.
Subagents
A subagent is a specialized, self-contained Language Model that handles a specific subtask within a larger agentic workflow. Rather than building one monolithic agent that does everything, complex tasks are decomposed into focused components.
Key properties of subagents:
Focused scope: each subagent does one thing well (e.g. generate SQL, plan a chart, create a document)
Stateless: a subagent typically receives a fully specified request and returns a result, without needing conversational memory or multi-turn context
Independently evolvable: the subagent can be swapped, retrained, or updated without changing the orchestrating agent, and vice versa
The SQL Subagent used in BuildingPro Suites, for instance, operates statelessly. It receives a fully scoped request and returns a query result, without needing conversational memory. This separation keeps each component simpler and more reliable.
For example, a SQL subagent receives a scoped data request ("retrieve weekly energy totals for these specific assets over the past 6 months") and returns a query result. It does not know who the user is, what was discussed before, or what will happen with the result. That context belongs to the orchestrating agent.
Agentic System
An agentic system is a system where one or more LLM-powered components operate in a coordinated loop: planning, executing, observing results, and adapting across multiple steps. Notable capabilities for such a system are composition and self-correction:
Multiple specialized agents or subagents collaborate on a task
The system can recover from errors (e.g. a failed query is retried with adjusted parameters)
Intermediate results inform subsequent steps (e.g. concept resolution results determine which database query to generate)
The workflow spans multiple reasoning and execution cycles, not just a single request-response pair
In BuildingPro Suites, the Copilot Assistant is an agentic system. Instead of simply calling a database and returning rows its Data Agent:
Parses the user's intent into a concept graph (locations, measurements, relationships)
Iteratively resolves each concept against the live asset model using multiple specialized tools
Delegates SQL generation to a dedicated SQL subagent
Validates and analyzes results with deterministic inspection operations
Optionally delegates visualisation to a visualisation subagent
Recovers if any step fails - refining scope, retrying queries, or asking the user for clarification
Agentic AI vs. Agents
The terms "agent" and "agentic AI" are used broadly in AI, often interchangeably and there is no universally agreed-upon definition.
In practice, the distinction is often one of scope:
Agent
An LLM with tools, usually focused on a specific task
"I will fetch data from a database"
Agentic AI
A broader system that reasons about goals, decomposes problems, and coordinates multiple agents or tools toward a solution
"Give me a general direction, some tools and let me figure out how to get there"
For the purposes of this documentation, "agent" refers to an LLM-powered component with tools and a defined workflow. "Agentic" describes the overall system behavior when multiple such components collaborate with planning, delegation, and self-correction.
Last updated