c16
c16 / wf5.m1 - Agent Control Plane — hi-fi (wf5.m1) / Performance·control-plane-v1/performance·draft

Engineering · Performance

The real target is Codex CLI — 6.8k ms p95 and $0.144/call

The tail users feel and pay for lives in Codex CLI on gpt-5-codex6.8k ms p95 at $0.144/call. Slow and costly is the agent worth re-modeling first, not the merely slow one. And remember: speed is not success — a fast reply can still be the wrong answer, and that axis is not measured here.

Performance answers how fast & how expensive. Whether it worked — task success, intervention & rework — lives in Effectiveness, one level up.

Task success lives in → Effectiveness

Fleet p95 latency

2.5kms

call-weighted across 5 agents

Slow & costly target

6.8kms p95

Codex CLI · $0.144/call

Best throughput

120out-tok/s

data-pipeline-agent · fastest emitter

Most erratic tail

2.9× variance

data-pipeline-agent · (p99−p50)/avg

p95 latency by agent

95th-percentile response time · lower is better · red = slow & costly
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 = cost ÷ calls · variance = (p99−p50)/avg
Agent
Model
Calls
p50
p95
p99
tok/s
$/call
Variance
Codex CLI
slow & costly
gpt-5-codex5402.4k6.8k11.2k31$0.1442.8×
Claude Code
slow & costly
claude-opus-4-81.2k1.8k4.2k7.8k42$0.1732.9×
support-copilot gpt-4o3.1k1.1k3.4k6.1k58$0.0542.7×
Cursor claude-sonnet-4-69809002.6k4.8k71$0.0982.7×
data-pipeline-agent claude-haiku-4-55.4k4001.1k2.2k120$0.0102.9×

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

Latency by model

grouped from performance.agents · the model-choice trade-off
Model
Agents
Calls
Avg p95
Worst 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-codexclaude-haiku-4-5) trades quality/depth for tail latency — decide per workload, not per fleet.

Output throughput — tokens / second

how fast each agent emits tokens · higher is better
data-pipeline-agent · claude-haiku-4-5
120 tok/s
Cursor · claude-sonnet-4-6
71 tok/s
support-copilot · gpt-4o
58 tok/s
Claude Code · claude-opus-4-8
42 tok/s
Codex CLI · gpt-5-codex
31 tok/s

data-pipeline-agent emits 120 tok/s — 3.9× the slowest (Codex CLI at 31 tok/s). Low throughput compounds tail latency: long answers on a slow emitter are where users wait the most.

Slowest responses

individual outlier calls · the tail you actually feel
When
Agent
Model
Latency
Tokens
Session
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

The slowest single call — 11.2k ms from Codex CLI (28.4k tokens) — is what a user actually waited on. Big-token answers on a slow model dominate the tail.

Latency ≠ task success — a fast wrong answer is still wrong

Every number on this page measures how fast and how expensively a model responds — not whether the agent accomplished the goal. A 400 ms reply that hallucinates an API, ignores a constraint, or needs a human to redo it is a failure that looks healthy here. Optimizing latency and cost without measuring outcomes optimizes for confident speed, not correctness.

That gap now has a home — Effectiveness — is it working? → tracks success rate, intervention & rework, with per-agent measured / inferred / none provenance. A slow-but-correct agent may beat a fast-but-wrong one.

Success rate · in EffectivenessGoal completion · in EffectivenessOutput quality · in Effectiveness

Do next

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: fleet p95 (call-weighted) · $/call · variance (p99−p50)/avg · latency-by-model · slow & costly flag — from app/data/c16-fleet.ts (qcontrol /api/performance shape).