Agent team
A lead agent coordinates, routes to or collaborates with others inside one run. Right for a conversation that needs several specialists.
Agents, workflows, nested meshes and outside services, wired as one graph — every message accounted for.
A Botminds agent mesh runs a multi-agent system as one durable pipeline. It fans work out to tens of thousands of branches, routes each message by its content, gathers the results back with a keyed join, rides through crashed workers, and carries millions of documents on workers and orchestrators that scale out on Kubernetes as load rises.
An agent mesh is an architecture for running many AI agents as one system. Each agent, workflow or service is a member; members pass messages over a shared, durable bus; and the platform — not each agent — handles routing, scaling, retries and failure. McKinsey calls the enterprise-wide version the agentic AI mesh. In Botminds, a mesh is a graph you draw once and run on millions of documents, with every message accounted for.
One agent with every tool gets slower, costlier and less accurate as the job grows. Splitting the job across specialists fixes that, and moves the risk into the hand-offs between them.
A lead agent coordinates, routes to or collaborates with others inside one run. Right for a conversation that needs several specialists.
A set sequence with an agent where judgement is needed. Right when the order never changes. See agentic workflows.
Agents, workflows, other meshes and outside services exchange messages over a durable bus. Right for volume, fan-out and work that must survive a crash.
Work handed to a member that never arrives — and nothing says so.
A restarted worker repeats a step, and the join counts it twice.
A combining step fires on half the parts.
The run ends “done” while a branch failed silently.
Multi-agent systems rarely fail in the model. They fail in the plumbing — and each failure looks like success until a customer finds the gap. The Botminds agent mesh is built, and tested, against all four.
The agentic AI mesh is a term popularised by McKinsey’s QuantumBlack: an architecture that runs custom and bought agents side by side, governed as one. Its five principles, and where each lives in Botminds:
| Principle | What it asks | In the Botminds agent mesh |
|---|---|---|
| Composability | Plug in any agent, tool or model without a rebuild. | Four member kinds — agent, workflow, nested mesh, outside service — on one canvas. A mesh can be a member of another. |
| Distributed intelligence | Split work across cooperating agents. | Fan-out to tens of thousands of branches; a combining member puts the answer back together per key. |
| Layered decoupling | Logic, memory, orchestration and interfaces change independently. | Members exchange messages over the bus. Swap an agent or its model and the mesh around it stays as it is. |
| Vendor neutrality | No lock-in to one model or vendor. | Each agent picks its own model; outside services join through a claim-and-complete contract; tools speak MCP. |
| Governed autonomy | Agents act within policies and oversight. | Tool grants, approvals and spend governance per agent; every run recorded; failures surfaced by cause. See AI governance. |
A mesh is a graph. Its members do the work; its channels say who receives what; the bus underneath carries every message and remembers it. The graph is checked before it may run, so a design mistake is a message on the canvas, not a stuck document.
kind == 'claim form'kind == 'medical bill'kind == 'police report'Any Botminds agent, with its own tools and model. It reads the message, does its job, hands on the result.
A fixed sequence of steps — code, SQL, an API call, an agent — as one member.
A whole mesh as one step, run as its own child run; the parent waits for its answer.
Your own system. The step parks until the service claims the job and reports back — holding no worker.
Multi-agent orchestration comes down to three moves: split the work, send each part to the right member, and put the parts back together correctly. The hard one is the last.
Down the left, the work spreads out. Up the right, it comes back together: a combining member gathers with the platform’s keyed join, so each line, page or claim fires exactly once, never on a partial set, and a redelivered message is recognised.
A combining member gathers with the platform’s keyed join: each line, page or claim fires exactly once, never on a partial set.
A message redelivered after a crash carries the same id, so the keyed join recognises it.
Children return in the order they were sent.
The loop guard counts depth, not width, so a fan-out of 20,000 runs and a loop is still caught.
classify → extract when kind == 'claim form'
classify → bill lines when kind == 'medical bill'
classify → review when confidence < 0.7
extract → assemble every message; assemble gathers per claim_idConditions are simple comparisons joined by and/or — no code runs on a channel. The same fan-out is how the platform tests itself: a document is split into words across a mesh, rebuilt, and compared byte for byte with the original.
Some steps take minutes or hours: a records search in another system, a batch job overnight. A mesh that held a worker for each would run out of workers. In Botminds, the step parks instead.
The mesh records the job and frees the worker.
Your service asks for its next job when it is ready, at its own pace.
It completes the job with its answer, or fails it with a reason.
The mesh carries the answer on, as if the step had run inline.
A job no service picks up fails as “no worker” — a cause you can act on.
A mesh calls another mesh as its own child run, fed the parent’s message.
Quick members run inside the orchestrator, with no start-up cost.
Heavier members run on their own worker pools, which scale out on Kubernetes as load rises.
The promise of a mesh is that no work disappears between members. It is kept by a few strict rules about each message — and by refusing to call a run finished while any of its messages is not.
The ruleA run ends done only when every message of the run is done. Lost work never reads as success.
A failed member fails the run with its cause. Re-running is a deliberate recovery that an operator or Piper starts.
A member that sends to a topic it does not own is stopped at once with a named cause.
A run where nothing is working, waiting or moving is flagged as stalled, by name.
“Something went wrong” helps nobody at volume. Every failed mesh run gets one cause from a fixed list, a severity that says who should act, and a sentence in plain words — shown wherever your team already looks.
Which meshes failed today, and why?
Two causes in the last 24 hours. Claims intake: 14 runs ran out of time at the records check — the outside service had no worker after 6 pm. Invoice lines: 3 runs failed because a step’s own code raised on a credit note with no lines. Nothing is stalled, and no messages were lost.
The records service is back. Re-open those 14 runs.
Re-opening restarts each from the records check; the steps before it are kept. Re-open 14 runs?
The agent mesh is built for internet-scale workloads: millions of documents flowing through meshes, durable messages, priority lanes, and workers and orchestrators that scale out on Kubernetes as load rises — on Azure, AWS, Google Cloud or on-premises, in any region.
Every document is a run; every run fans out. Volume is served by adding workers, so the same mesh carries a pilot and a whole enterprise.
Workers and orchestrators scale out on Kubernetes as load rises and give capacity back as it falls; document workers follow the depth of their queue.
Each document is admitted against the real capacity of the models, the database and the workers, with a plain verdict: what runs, what waits, and why.
Turn on priority for a mesh, then mark a document set urgent at any time — by hand or through Piper. It goes to the front, while normal work keeps its reserved share.
one document, finished exact, byte for byte
All three can put several agents to work on one job. What separates them is what happens at volume, and on a bad day.
| Multi-agent framework | Workflow engine | Botminds agent mesh | |
|---|---|---|---|
| What it is | A library for agents that talk in code | A scheduler that runs fixed steps | A running system of agents, workflows, meshes and services |
| A worker crashes | Whatever recovery you build | The step is retried; duplicates are yours to catch | Another worker takes the message; a keyed join recognises it |
| Fan-out | As wide as one process holds | Branches drawn by hand | 20,000 branches measured, byte-exact |
| Joining results | Your code | Wait for all steps | A keyed join: once per key, never on a partial set, redelivery recognised |
| Long outside work | Holds a thread | Holds a worker | Parks; holds nothing |
| Failures | Exceptions in a log | Step status | One cause, a severity, four places, and Piper |
| Scaling | Your infrastructure | Add workers by hand | Admitted against capacity; workers and orchestrators scale out on Kubernetes |
Already using a framework? Keep it for the agent logic and bring the agent in as an outside service member, or rebuild it as a Botminds agent. See Botminds vs CrewAI and the build vs adopt whitepaper.
More from the platform: the full architecture, and how security works at Botminds.
An agent mesh is an architecture for running many AI agents, workflows and services as one system. Members exchange messages over a durable bus, and the platform handles routing, joins, scaling, retries and failure for all of them, so no agent has to.
The agentic AI mesh is a term popularised by McKinsey’s QuantumBlack for an enterprise architecture that runs custom and off-the-shelf agents together under one set of controls. Its principles are composability, distributed intelligence, layered decoupling, vendor neutrality and governed autonomy.
A multi-agent system splits a job across several specialised agents instead of one general one. It is more accurate and cheaper per task — as long as what carries the work between agents is reliable, which is what a mesh provides.
Mostly in the hand-offs, not the models: a message lost between agents, a step repeated after a restart, a join that fires on half the parts, or a run marked finished while a branch failed. The Botminds mesh is built and tested against each of these.
Orchestration decides which agent runs next. A mesh is the running system that carries the work between them durably — fan-out, joins, delivery, failure and scale. In Botminds, agent teams orchestrate inside a conversation; the mesh carries work across documents and machines.
By adding workers. Workers and orchestrators scale out on Kubernetes as load rises and give capacity back as it falls; document workers follow the depth of their queue. Every document is admitted against the real capacity of models and database first. In our scale tests, four processes did 4.5 times the work of one, and one document fanned out to 20,000 branches came back byte for byte.
The mesh is built for millions of documents. Volume is served by adding workers and orchestrators, which scale out on Kubernetes on any cloud and region; urgent sets jump the queue while normal work keeps its share.
Its claim on the message lapses and another worker takes it, with the same message ids, so a keyed join recognises it. In our scale tests, with a worker killed, cut off from the database, restarted or frozen mid-wave, every document came out exact every time.
Yes. Register your system as a service: the mesh parks the step, your service claims the job when ready and reports the answer or a failure. Agents in the mesh can also reach your systems through tools and MCP.
Each failed run gets one cause from a fixed list and appears in the exceptions feed, the Action Center and the mesh’s Runs tab. You can also ask Piper what broke in plain words. See evaluation and observability.
Show us the work that crosses five teams and three systems. We’ll show you it as one mesh — fanned out, joined back, scaled out, and every failure named.