The stack is intentionally asymmetric. The fastest box is not asked to do every job. It is protected for the jobs where latency changes the experience: conversation, tool loops, robots, and family agents.
Every endpoint below was checked live on September 3, 2026. A listener or model-discovery response confirms service state; it is not presented as a fresh quality benchmark.
| Host | Endpoint | Serving role | Why it exists |
|---|---|---|---|
| DGX Station GB300 | :30003dsf-vision-exp | Interactive text and vision primary | Best latency and throughput; one 1M-context model covers normal agent and robot work. |
| 2× DGX Spark | :8888deepseek-v4-flash-vision-exp | Heavy auxiliary jobs; Echo fallback | Same model family, separate silicon. Large prompts cannot delay production turns on the GB300. |
| M5 Max | :8002 embedding 8B | Embeddings | Dedicated forward-pass service; measured at 95 ms in the current check. |
:8003 reranker 4B | Reranking | Dedicated scoring service; measured at 143 ms for two documents. | |
:8016 Qwen3.5-4B | Selection, titles, profile descriptions, Echo session search | Always warm and isolated; five fresh calls measured 165–234 ms, 171 ms median. | |
:8011 Qwen3-VL-30B-A3B | Local vision | Vision is available without loading a model into the select process. | |
:8021 qwen38-27b-ablit-oq4e-mtp | Key-gated 27B dense/VL lane | A stronger local auxiliary when 4B selection is not enough; one model is currently loaded. | |
| M3 Ultra | 127.0.0.1:8035Ornith-1.5-397B-Q6_K | Open test bench | Large-model experiments remain loopback-only and cannot disturb production routing. |
Conversation and tool loops care about first-token latency. Reachy and the family agents should not wait behind document-scale prefills.
Extract, compression, triage, kanban decomposition, and curator reviews can be large. Isolation matters more than maximum single-request speed.
Embedding, reranking, and classification are cheaper and more predictable on dedicated processes than on a general model that may reload or evict state.
The bench can change models, context settings, and engines without touching an agent's default or fallback path.
The governing rule is simple: the fastest machine is protected, not saturated. Fleet utilization is secondary to interactive reliability.
The tempting simplification was to send Echo's five heavy auxiliary tasks to the GB300 too. The live scheduler test said no.
Condition on GB300 :30003 | Measured result |
|---|---|
| Short robot-style turn, idle (5 runs) | 176–179 ms TTFT; 177 ms median |
| Nonce-prefixed long request | 102,734 prompt tokens; 3.10 s TTFT; 33,113 prompt tok/s |
| Short turn admitted during that prefill | 2,952 ms TTFT |
| Short turns after the long request | 167–178 ms TTFT |
The server is configured with --chunked-prefill-size 8192 and --max-running-requests 64, but the concurrent short request still waited almost the full long-prefill window. That turns a normal 177 ms first token into 2.95 seconds.
web_extract, compression, triage_specifier, kanban_decomposer, and curator on the Spark pair. The Sparks are not idle redundancy; workload isolation is their day job.| Client | Normal route | Local auxiliary routes | Fallback |
|---|---|---|---|
| Echo / Forge | GB300 dsf-vision-exp | M5 select for small tasks and session search; Spark pair for the five heavy/background tasks; M5 :8021 for auxiliary vision | Spark pair |
| Reachy + family minis | GB300 dsf-vision-exp | Native vision on the same model; no separate local aux chain required | Family minis use cloud Sonnet; Reachy's application fallback is managed separately |
| Milo / Desktop | Cloud default | M5 select for skills, titles, and profile descriptions; Spark for session search; web extraction on xAI; vision on Gemini | Managed by the active cloud profile |
This difference is intentional. A local fleet is a set of capabilities, not a requirement that every agent use the same route.
:30003. It is production for Echo, Reachy, and the family minis.Measurement note: the GB300 latency-isolation probe, M5 select calls, embedding call, and rerank call were run during this September 3 revision. Model discovery and listeners were checked across GB300, Spark, M5, and M3 before publication.