Which AI model makes the best CX & SDR agent?
You benchmark the model. We benchmark the swap.
We run one support and sales agent through one frozen test set, played by simulated customers, changing only the model. Every model runs at its vendor defaults, so read each score as a baseline: we tuned nothing for any of them.
The leaderboard
CompareQuality is one score across the six dimensions below, with latency and cost shown beside it. Select any model for its full report.
| Model | Tool use | Task completion | Context retention | Grounding | Safety | Hallucinations | Quality | Median | p95 | Cost / conv. |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 GPT-6 Luna | 83 | 85 | 85 | 87 | 93 | 90 71 to 97 0.1 unsupported claims per conversation | 87 | 4.8s | 14.0s | $0.0040 |
| 2 DeepSeek V4.1 Flash | 97 | 89 | 81 | 93 | 96 | 48 28 to 68 1.0 unsupported claims per conversation | 85 | 5.1s | 19.6s | $0.013 |
| 3 GPT-5.6 Luna | 85 | 86 | 86 | 94 | 90 | 67 45 to 83 0.6 unsupported claims per conversation | 85 | 3.9s | 9.5s | $0.0064 |
| 4 Claude Haiku 5.5 | 86 | 84 | 81 | 96 | 94 | 62 41 to 79 0.5 unsupported claims per conversation | 84 | 2.6s | 7.2s | $0.0076 |
| 5 DeepSeek V4 Flash | 97 | 89 | 90 | 94 | 94 | 19 8 to 40 2.5 unsupported claims per conversation | 82 | 4.6s | 18.1s | $0.019 |
| 6 GLM 5.3 Flash | 96 | 95 | 75 | 90 | 94 | 24 11 to 45 2.1 unsupported claims per conversation | 81 | 6.4s | 34.9s | $0.011 |
| 7 GPT-5 mini | 78 | 91 | 87 | 93 | 84 | 29 14 to 50 2.6 unsupported claims per conversation | 78 | 15.1s | 36.4s | $0.030 |
| 8 Gemini 3.1 Flash Lite | 66 | 86 | 75 | 86 | 92 | 48 28 to 68 1.2 unsupported claims per conversation | 77 | 1.6s | 4.6s | $0.019 |
| 9 Gemma 4 31B | 69 | 79 | 79 | 92 | 90 | 48 28 to 68 1.6 unsupported claims per conversation | 77 | 2.5s | 16.2s | $0.0079 |
| 10 Gemini 3.5 Flash Lite | 74 | 83 | 68 | 71 | 93 | 33 17 to 55 1.0 unsupported claims per conversation | 72 | 1.8s | 4.5s | $0.022 |
| 11 Claude Haiku 4.5 | 72 | 72 | 82 | 67 | 93 | 19 8 to 40 3.2 unsupported claims per conversation | 69 | 2.6s | 6.4s | $0.043 |
| 12 gpt-oss-120b | 66 | 74 | 68 | 83 | 76 | 10 3 to 29 8.9 unsupported claims per conversation | 64 | 1.2s | 3.6s | $0.013 |
| 13 GPT-4.1 mini | 54 | 56 | 79 | 67 | 72 | 14 5 to 35 2.9 unsupported claims per conversation | 58 | 2.7s | 6.3s | $0.012 |
| 14 Mistral Small 4 | 49 | 62 | 63 | 66 | 73 | 14 5 to 35 4.5 unsupported claims per conversation | 56 | 1.4s | 3.8s | $0.0053 |
| 15 Nova 2 Lite | 53 | 53 | 82 | 66 | 60 | 0 0 to 15 14.9 unsupported claims per conversation | 53 | 2.2s | 7.7s | $0.055 |
| 16 Gemini 2.5 Flash Lite | 58 | 34 | 50 | 69 | 61 | 14 5 to 35 2.8 unsupported claims per conversation | 48 | 1.3s | 5.0s | $0.0037 |
The six dimensions
Each dimension checks one thing a support agent has to get right, and shows how every model did on it.
-
Tool use
The agent has to call the right tool, with the right arguments, in the right order. Telling the customer it's done before the tool has finished counts against the model.
Test tool calls on your agent- DeepSeek V4 Flash 97
- DeepSeek V4.1 Flash 97
- GLM 5.3 Flash 96
- Claude Haiku 5.5 86
- GPT-5.6 Luna 85
- GPT-6 Luna 83
- GPT-5 mini 78
- Gemini 3.5 Flash Lite 74
- Claude Haiku 4.5 72
- Gemma 4 31B 69
- Gemini 3.1 Flash Lite 66
- gpt-oss-120b 66
- Gemini 2.5 Flash Lite 58
- GPT-4.1 mini 54
- Nova 2 Lite 53
- Mistral Small 4 49
-
Task completion
The customer has to leave with what they came for and nothing extra. Only the outcome counts, in long conversations where the customer gets a fact wrong, sets a limit early, wanders off topic, and changes their mind.
- GLM 5.3 Flash 95
- GPT-5 mini 91
- DeepSeek V4 Flash 89
- DeepSeek V4.1 Flash 89
- Gemini 3.1 Flash Lite 86
- GPT-5.6 Luna 86
- GPT-6 Luna 85
- Claude Haiku 5.5 84
- Gemini 3.5 Flash Lite 83
- Gemma 4 31B 79
- gpt-oss-120b 74
- Claude Haiku 4.5 72
- Mistral Small 4 62
- GPT-4.1 mini 56
- Nova 2 Lite 53
- Gemini 2.5 Flash Lite 34
-
Context retention
A constraint the customer states once, early, has to still hold when the agent acts at the end of a long conversation.
- DeepSeek V4 Flash 90
- GPT-5 mini 87
- GPT-5.6 Luna 86
- GPT-6 Luna 85
- Claude Haiku 4.5 82
- Nova 2 Lite 82
- Claude Haiku 5.5 81
- DeepSeek V4.1 Flash 81
- Gemma 4 31B 79
- GPT-4.1 mini 79
- Gemini 3.1 Flash Lite 75
- GLM 5.3 Flash 75
- Gemini 3.5 Flash Lite 68
- gpt-oss-120b 68
- Mistral Small 4 63
- Gemini 2.5 Flash Lite 50
-
Grounding
Answers have to come from the knowledge base. When a customer states a wrong spec or a made-up product, the agent has to correct them or say plainly that it doesn't know, and still handle the rest of the request.
- Claude Haiku 5.5 96
- DeepSeek V4 Flash 94
- GPT-5.6 Luna 94
- DeepSeek V4.1 Flash 93
- GPT-5 mini 93
- Gemma 4 31B 92
- GLM 5.3 Flash 90
- GPT-6 Luna 87
- Gemini 3.1 Flash Lite 86
- gpt-oss-120b 83
- Gemini 3.5 Flash Lite 71
- Gemini 2.5 Flash Lite 69
- Claude Haiku 4.5 67
- GPT-4.1 mini 67
- Mistral Small 4 66
- Nova 2 Lite 66
-
Safety
Simulated customers fake system messages, claim authority they don't have, and slip in instructions of their own. The agent has to hold its policy, keep its own instructions and tools to itself, protect other customers' orders, and still serve the real request.
- DeepSeek V4.1 Flash 96
- Claude Haiku 5.5 94
- DeepSeek V4 Flash 94
- GLM 5.3 Flash 94
- Claude Haiku 4.5 93
- Gemini 3.5 Flash Lite 93
- GPT-6 Luna 93
- Gemini 3.1 Flash Lite 92
- Gemma 4 31B 90
- GPT-5.6 Luna 90
- GPT-5 mini 84
- gpt-oss-120b 76
- Mistral Small 4 73
- GPT-4.1 mini 72
- Gemini 2.5 Flash Lite 61
- Nova 2 Lite 60
-
Hallucinations
We pull out every statement the agent makes about a product or about what it has done, and check each one against the knowledge base and the tool results. One flagged statement marks the whole conversation, and the score is the share of conversations with nothing flagged, shown with its range.
Read how Voxli checks factual claims- GPT-6 Luna 90
0.1 unsupported claims per conversation
- GPT-5.6 Luna 67
0.6 unsupported claims per conversation
- Claude Haiku 5.5 62
0.5 unsupported claims per conversation
- DeepSeek V4.1 Flash 48
1.0 unsupported claims per conversation
- Gemini 3.1 Flash Lite 48
1.2 unsupported claims per conversation
- Gemma 4 31B 48
1.6 unsupported claims per conversation
- Gemini 3.5 Flash Lite 33
1.0 unsupported claims per conversation
- GPT-5 mini 29
2.6 unsupported claims per conversation
- GLM 5.3 Flash 24
2.1 unsupported claims per conversation
- Claude Haiku 4.5 19
3.2 unsupported claims per conversation
- DeepSeek V4 Flash 19
2.5 unsupported claims per conversation
- Gemini 2.5 Flash Lite 14
2.8 unsupported claims per conversation
- GPT-4.1 mini 14
2.9 unsupported claims per conversation
- Mistral Small 4 14
4.5 unsupported claims per conversation
- gpt-oss-120b 10
8.9 unsupported claims per conversation
- Nova 2 Lite 0
14.9 unsupported claims per conversation
- GPT-6 Luna 90
How we tested
We found that a public reasoning leaderboard says very little about how a model behaves as a deployed agent. So we built one controlled benchmark to test this: a single CX and SDR agent with a fixed prompt, tools, and knowledge base, and only the model swapped underneath.
Quality = 15% Tool use + 20% Task completion + 15% Context retention + 15% Grounding + 20% Safety + 15% Hallucinations
-
01
One agent
We built a single CX and SDR agent in an ordinary Voxli workspace: one prompt, one set of tools, one knowledge base.
-
02
Swap the model
The same agent runs again with a different model underneath. Nothing else in the configuration changes.
-
03
A frozen test set
Simulated customers play every test: support requests, sales flows, wrong facts, pressure, and injected instructions. We version the set, freeze it for the edition, and run every test more than once.
-
04
One signal per dimension
Each dimension is graded by exactly one scenario, so no failure counts twice.
-
05
Two kinds of numbers
Quality is a blend of the six dimensions at the weights shown. We report latency and cost beside it, since a high score can still be too slow or too costly for your queue.
-
06
What the scores can't say
The claim detector only grades the claims a model makes, so a model that never looks anything up isn't punished there. The other five dimensions catch it.
What we hold constant
| Layer | Held to | Detail |
|---|---|---|
| Prompt | Byte-identical | The same system prompt for every model, checked against the frozen test set before each run. |
| Tools | Identical definitions | The same tool set and the same reference data behind it. |
| Knowledge base | Identical | Every model answers from the same documents. |
| Model | The one variable | Each model runs as its own clone of the same agent, with nothing else in the configuration touched. Sampling stays at each vendor's default. |
| Reasoning | Set per model | Vendor defaults, verified from observed tokens. Models pinned off their default: none. |
| Pricing | Fixed list prices | Cost per conversation is an estimate: we price the tokens each conversation actually used at pinned list prices, so caching shows up honestly. |
| Serving | One host | OpenRouter serves every model, on the same route. |
| Test set | Frozen | One version per edition, so results stay comparable model over model. |
Benchmark your own agent
This whole report is one Voxli workspace: simulated customers, assertion checks, and a frozen, versioned test set that reruns when new models ship.
16 models · 6 scenarios · 46 tests · 3 repetitions · 2208 conversations · one fixed agent · test set v3f-2026-09 · edition 2026-09-08