gMAS documentation¶
gMAS represents an LLM agent team as a mutable role graph. The scheduler reads that graph to plan model and tool calls, and runtime policies may update the remaining work as agents finish.

Get started Browse the API See benchmarks
Start here¶
- Install and run a first graph: installation and quick start.
- Build a workflow: key concepts, RoleGraph, and MACPRunner.
- Change work at runtime: dynamic topology, budgets and errors, and streaming.
- Review evaluation results: benchmarks. Run instructions live in the repository's
benchmarks/directory.
What you can build¶
-
:material-graph-outline: Explicit agent graphs
Model roles, tasks, communication edges, conditions, and execution bounds in one inspectable graph.
-
:material-transit-connection-variant: Adaptive execution
Stop, skip, reroute, or recover remaining work through validated topology actions while a run is active.
-
:material-tools: Model and tool orchestration
Mix LLM callers, tools, memory, retries, budgets, and streaming behind one runner contract.
-
:material-chart-timeline-variant: Observable experiments
Capture typed events, token and latency metrics, traces, and reproducible benchmark results.
Core model¶
| Layer | Responsibility |
|---|---|
RoleGraph |
Agents, task nodes, communication edges, conditions, graph features, and execution bounds |
MACPRunner |
Prompt construction, LLM and tool calls, memory, budgets, errors, callbacks, and results |
| Scheduler | Topological or adaptive execution plans, parallel groups, reachability, and pruning |
| Topology policy | Optional typed actions that stop, skip, force, rewire, or insert recovery work |
| Observability | Streaming events, callbacks, token/latency metrics, and file traces |
Design position¶
Use gMAS when the role graph needs to stay visible or change during execution. It does not speed up an individual model call, and adding agents does not by itself improve an answer. Its controls decide which work runs, in what order, under which budget, and with what recorded state.
For a careful comparison of that design with LangGraph's compiled graph, conditional routing, commands, and checkpointing, see gMAS and LangGraph.
Project maturity¶
The package supports Python 3.12 and 3.13. The automated test suite covers the core graph and runner. Browser automation, external model endpoints, GNN dependencies, and benchmark runs require the optional infrastructure listed in their guides.