{"i":26,"slug":"voice-agent-latency-budget","chart":{"id":"latency-budget-slow-steps","title":"Steps that take a second or more, against three assumed budgets (median to p95)","subtitle":"Median per step; whiskers = median to p95; budget dots are assumptions","kind":"dot-range","unit":"ms","yLabel":"Time per step","whisker":"p50-p95","series":[{"name":"Time per step","points":[{"label":"Claude Sonnet 5.5 (router, effort low, via Claude Code)","value":2598,"lo":2598,"hi":4298,"n":82},{"label":"Claude Haiku 4.5 (router, thinking on, via Claude Code)","value":12674,"lo":12674,"hi":34413,"n":82}]},{"name":"Budget (assumption: a budget a voice team might set)","points":{"$k":["label","value"],"$r":[["Budget 300 ms",300],["Budget 800 ms",800],["Budget 1,500 ms",1500]]}}],"note":"These 9 steps have a median of 1,000 ms or more. Routers are whole calls through the Claude Code CLI; the rest are the time to the first output of a model through a CLI or the API. The dot is the median. The whisker runs from the median to the 95th percentile (30 or more runs per step). Observed limits stay in the measured-step table; some minima were not retained. A whisker is not a confidence interval. The budget dots are assumptions (assumption: a budget a voice team might set); they are not measured.","sourceIds":["agent-routing-overhead","agent-routing","agent-provider-explorer","agent-provider-h2h","agent-jev-live"]}}