When routing runs
Chat requests go toPOST /api/orchestrator/a2a. What happens depends on agent_id:
The pipeline below is invoked in one place today: auto-assigning an agent to a MAF workflow step that doesn’t name one. Tuning it shapes MAF step assignment, not live chat routing. Full detail: where the pipeline actually runs.
The three stages
- Shortlist — ranks agents by semantic similarity between the query and each agent’s description, keeping the top candidates. Skipped for small fleets (
ROUTER_SHORTLIST_THRESHOLD) or if the embedding provider is unavailable; either way every agent advances. - Rerank — re-scores candidates using conversation context, so a follow-up is more likely to stay with the agent already handling the session. On failure, the shortlist order is kept.
- Select — an LLM makes the final call. On failure, the top-ranked candidate is chosen and the decision is marked
fallback_used: true.
Tuning
Environment variables on the control plane:
These tune the engine’s own decision-making, separate from which model an agent calls once selected — see reusable LLM configs.
Inspecting decisions
GET /api/orchestrator/stats returns aggregated stats from this pipeline’s decisions — today, MAF step auto-assignments. One row per agent per day, newest and most-selected first, capped at 200 rows.
GET /api/observability/session/{id} and GET /api/observability/trace/{id}.
Reusable LLM configs
Separate from engine tuning, you can control which LLM an individual agent calls, through a per-user library of named configs:--pin locks an agent to one model — the engine still picks which agent answers, but that agent’s LLM calls stay fixed.
nasiko model-registry ls / set manage a platform-wide strength-level→model table (level 1 strongest, level 3 smallest) that a smart-routing config can draw from. Changing it requires superuser.
Full command set: nasiko llm-config --help.
LLM router dashboard
Configure providers and per-level models in the web app.
TokenOps
What your routing and model choices cost.
A2A agents and frameworks
What makes an agent discoverable and routable.
Orchestrator reference
Failure behavior and the flow guard.
