← c16c16 / wf4 - Agent Control Plane — wireframe (wf4) / Performance·control-plane-v1-v1 · 2026-06-03 · draft
Qpoint
QP
Performanceagent-as-actor · LLM call latency & cost from qcontrol telemetry

Engineering · Performance

How fast each agent's model responds, what each call costs — and where speed and spend collide.

Find the tail-latency outliers users feel, then weigh them against $/call: slow AND expensive is the real target. But note the gap — this is response speed, not task success.

Bottom line

Real target: Codex CLI — 6.8k ms p95 AND $0.144/call (slow and costly). Latency is mostly the model's, not the agent's — re-modeling trades depth for speed. Task Outcomes & Quality — whether the agent succeeded — is still not measured.

Do nextRe-model Codex CLI (slow & costly)Task Outcomes & Quality — not yet measured

p95 latency by agent

95th-percentile response time · lower is better
Codex CLI · gpt-5-codex
6.8k ms
Claude Code · claude-opus-4-8
4.2k ms
support-copilot · gpt-4o
3.4k ms
Cursor · claude-sonnet-4-6
2.6k ms
data-pipeline-agent · claude-haiku-4-5
1.1k ms

Latency, cost & variance by agent

percentiles in ms · $/call = agent cost ÷ calls · variance = (p99−p50)/avg
AgentModelCallsp50p95p99Avgtok/s$/callVariance
Codex CLI⚠ slow & costlygpt-5-codex5402.4k6.8k11.2k3.2k31$0.1442.8×
Claude Code⚠ slow & costlyclaude-opus-4-81.2k1.8k4.2k7.8k2.1k42$0.1732.9×
support-copilotgpt-4o3.1k1.1k3.4k6.1k1.9k58$0.0542.7×
Cursorclaude-sonnet-4-69809002.6k4.8k1.4k71$0.0982.7×
data-pipeline-agentclaude-haiku-4-55.4k4001.1k2.2k620120$0.0102.9×

Red rows are both high p95 (≥ 4.0k ms) and high $/call (≥ $0.100) — the agents worth re-modeling first. Amber variance (≥ 4×) flags erratic agents whose tail dwarfs their average.

Latency by model

grouped from performance.agents · the model-choice trade-off
ModelAgentsCallsAvg p95Worst p95
gpt-5-codex15406.8k ms6.8k ms
claude-opus-4-811.2k4.2k ms4.2k ms
gpt-4o13.1k3.4k ms3.4k ms
claude-sonnet-4-619802.6k ms2.6k ms
claude-haiku-4-515.4k1.1k ms1.1k ms

Latency is largely a property of the model, not the agent. Re-modeling a slow agent onto a faster family (e.g. gpt-5-codex → claude-haiku-4-5) trades quality/depth for tail latency — decide per workload, not per fleet.

Slowest responses

individual outlier calls · the tail you actually feel
WhenAgentModelLatencyTokensSession
2026-06-02 19:28:00Codex CLIgpt-5-codex11.2k ms28.4kee71aa90
2026-06-03 13:01:00Claude Codeclaude-opus-4-87.8k ms19.8k1a1f867b
2026-06-03 13:50:00support-copilotgpt-4o6.1k ms14.2kab9920fd

Read percentiles, not averages — and pair them with cost. A healthy average hides the tail; p95 and p99 expose the slow calls users wait on. But a slow call on a cheap model is a different decision than a slow call on an expensive one — that's why $/call sits next to p95. Codex CLI's 6.8s p95 / 11.2s p99 at $0.144/call is the real target: slow and costly.

This is call latency & cost — not task success. Speed and spend measure how fast and how expensively a model responds, not whether the agent accomplished the goal. Task Outcomes & Quality — success rate, goal completion, and output quality — is the named gap we do not yet measure.

Success rate · projectedGoal completion · projectedOutput quality · projectedTask Outcomes & Quality — not yet built

That gap now has a home — Effectiveness — is it working? → tracks success, intervention & rework, with per-agent measured / inferred / none provenance.

Fields: performance.agents (name · model · calls · p50 · p95 · p99 · avg_ms · tput) · performance.slowest (ts · agent · model · duration_ms · tokens · session) · agents[].cost (for $/call). Derived: $/call · variance · latency-by-model — from app/data/c16-fleet.ts (qcontrol /api/performance shape).