Watch the agent work
A synthetic twin of a mobile network, a set of questions, the tools to answer them and one gate. Pick a question and the model plans, calls, reads and answers in front of you. The tool that opens a ticket stops for your decision.
Live
Tool calls this run
Pick a question. The agent reads the twin and stops for you before it changes anything.
- Model
- GPT-5.6 Sol, Azure OpenAI
- Twin
- Synthetic, 50 cells, 4 regions
- Belt
- 5 tools, 1 gated
- Clock
- 0.0 s
The trace prints here. Belt: network_events, worst_cells, affected_customers, runbook, open_ticket. Gated: open_ticket.
Raw event stream
Live run
Function calling
Every row is an event from the run, the schema the model was handed, the call it wrote, the rows that came back, its own summary of what it was thinking, and the answer. The one tool that writes to the twin is held for a human, and the wait is on the clock.
* Synthetic twin. A recorded run, replayed with its own timing.
Five tools, one waiting for human approval.
The model can call five tools over the synthetic network. Four only read from it. The fifth opens a trouble ticket, and no ticket is opened until an authorised engineer approves it.

The tool belt
What the agent can reach.
- network_events List network events (outages, degradations, restorations, maintenance) with their alarm code, severity, timing and subscribers affected. An event with no ended_at is still open.
- worst_cells Rank cells by one KPI averaged over the last N days of hourly counters, worst first. Returns the window mean, the peak hour and the ring the cell sits on, so cells that share a ring can be recognised.
- affected_customers For one event, the subscribers affected, the duration so far, and the cell and site it hit.
- runbook The verified procedure for one alarm code: symptoms, the steps in order, and who to escalate to.
- open_ticket Held for a person. Open a trouble ticket against one cell. It is held for a human decision before it runs. Give the reason a NOC engineer would need to approve it.
A synthetic network, measured hourly.
The agent works on an invented mobile network. Every cell reports hourly counters, and every event, subscriber count and ticket is synthetic. Nothing here comes from a real operator.
Every place name, cell and figure is made up for the demo.
One incident, from question to ticket.
A recorded run on the synthetic network, step by step. The agent reads the events, traces who was affected, proposes a ticket and waits for a person to approve it before anything changes.
- The question. "What happened in Bukit Kencana over the last two days, who was affected, and what should we do about it now?"
- Looks first. network_events finds 3 events in Bukit Kencana over 2 days; worst_cells ranks 14 cells by availability, BK-0164 worst at 97.62 percent.
- Follows the trail. affected_customers for EV-2051 and EV-2047; runbook for ALM-7301, Backhaul link down (S1/NG transport).
- Proposes a change. open_ticket on BK-0164 for transport operations, with the agent's reason: "EV-2051 has been open 190 minutes and currently affects 900 subscribers; this is the third occurrence in 48 hours. BK-0164 averaged 97.62% availability over 48 hours and reached 0.0%; the ALM-7301 runbook requires transport operations escalation after a second occurrence within 72 hours."
- Waits for a person. The ticket is held 5.0 s, then approved.
- Answers. Ticket TT-7001 opened; the answer lands 23.2 s after the question.
- Keeps a record. 6 calls, 1 decision, 9,353 tokens, 23.2 s in all.
