AI services

AI Agents & Multi-Agent Systems

Role-based agents that act on real systems: tool calling, memory, structured replies and human approval where it matters. Built on Microsoft Agent Framework, LangChain and OpenAI-compatible models.

At a glance

  • Single agents and role-based multi-agent teams
  • Tool calling against your real systems, with approval gates
  • Grounded replies: the server shows only what a tool returned
  • Built in .NET or Python, on Azure or your own infrastructure

An AI agent is a language model that is allowed to do things on real systems through tools: search, read a record, build an order, open a ticket, review a change. Unlike a chatbot, which only answers, an agent calls tools to act; that is what people mean by agentic AI. Momentaj, a Toronto AI engineering firm, builds single agents and multi-agent systems that act, and the controls that keep them honest. Permission to act is what makes agents useful and what makes most agent demos unsafe.

Who it's for

  • Operations and support teams with workflows that span several systems and too many tabs
  • Product teams adding an assistant that should do the task, not describe how to do it
  • Engineering leaders who want AI review, triage or automation inside their own tooling

What we build

  • Single tool-calling agents. One agent, a small set of well-designed tools, a fixed reply schema and a memory of the user's preferences. Most tasks need this and nothing more.
  • Multi-agent systems. Role-based agents, for example an Architect, a QA reviewer and a Security reviewer, that each own a mandate, with a coordinator and a shared memory of what the system has already learned.
  • Approval gates (human in the loop) and audit trails. The agent proposes; a person approves anything irreversible. Every action, tool call and reasoning step is logged.
  • Agent interfaces. Chat with cards and quick replies, generative UI, or agents that sit inside existing apps through AG-UI, CopilotKit and A2A.

How it's done

  • Grounding by construction. The model returns IDs; the server looks each one up in what the tools returned during that request and builds the output itself, a pattern we call server-side grounding. An item no tool returned cannot appear.
  • Act first, then speak. Instructions, tool design and reply schemas that stop an agent from announcing work it has not done.
  • Ask when unsure. Ambiguity handling is designed, not hoped for: when two items match, the agent asks.
  • Small tool results. Every field sent to the model costs time and money; we strip what the reply does not need.
  • Stack. Microsoft Agent Framework (.NET and Python), LangChain and Langflow, Azure OpenAI and Azure AI Foundry, OpenAI, Anthropic Claude and open-weight models through OpenAI-compatible APIs, with OpenTelemetry tracing from the first prototype.

Proof

MayAI: one agent, six tools and a reply schema that keeps invented dishes off the screen, from a chat message to a working prototype. DevGuardian AI: three role-based review agents over a retrieval layer built for code. What we learned building them is written up in Keeping AI agents honest: the server-side grounding pattern and Multi-agent systems in .NET: what we learned building two of them; the rest are in our notes on AI agents.

Engagement shape

A one-to-two-week discovery, a two-to-six-week prototype on your real data, then production hardening. See how we work.

Frequently asked questions

Do we need several AI agents, or one?

Usually one. A single agent with well-designed tools and a fixed reply schema handles most workflows. We add roles only when the work has genuinely different mandates, such as reviewing a change from an architecture, a quality and a security perspective.

How do you stop an AI agent inventing things?

By construction rather than by prompt. The model returns identifiers, the server builds what the user sees from what the tools actually returned, and anything else is dropped. Prompts help; the schema and the server-side checks are what hold.

Can an AI agent run inside our Azure tenant?

Yes. Most of our agent work runs on Azure OpenAI and Azure AI Foundry inside the client's own subscription, with Entra for identity and Application Insights for observability. AWS and self-hosted models are also fine, and if another model suits a task better the agent can switch models behind the same abstraction without a rewrite.

How long does it take to build an AI agent?

A working prototype on your real data takes two to six weeks, after a discovery of one to two weeks. Production hardening (security, evaluations, observability and rollout) follows, scoped once the prototype has shown what it takes.

How much does an AI agent prototype cost?

A fixed price agreed after discovery, typically for a two-to-six-week build on your real data. Ask us for a quote.

Do you work with companies outside Toronto?

Yes. We work remotely with clients across Canada, the United States, the Middle East and beyond, and in person across the Greater Toronto Area.

Talk to the people who would build it

Tell us what you are trying to build. We will come back with an honest take and a plan.

Book an AI consultation