Onyx AI Proving Ground

Business AI, measured on real work.

We gave an AI model 550 real business tasks — sorting an inbox, pulling numbers out of documents, analyzing spreadsheets, writing SQL, drafting replies — and graded every answer against the correct one. Same tasks for every model, three passes each.

550 business tasks3 passes per task6 kinds of workpublished 2026-10-23

What we tested

550 tasks, written to match the work that actually lands on a business desk. Each one has a single correct answer we can grade.

Inbox triage and reply
100 tasks
Document extraction
100 tasks
Spreadsheet analysis
100 tasks
Formulas and SQL
100 tasks
Business writing
100 tasks
Classification and routing
50 tasks

Each task is labeled easy, medium or hard when it is written. One clear step — read the request, produce the answer. Several steps or a judgment call: reconcile records, pick a queue, pull a field. Multi-step work with a trap: a policy to apply, a dataset to analyze, a budget to stay inside.

Current result
542/550
98.5% of graded answers correct
DeepSeek V4.1 Flash 1017 · 2.9bpw EXL3-EAQ · 2× DGX Spark (dgx-spark-x2)
Easy tasks
100%
Medium tasks
98.7%
Hard tasks
95.9%
Typical task
29.1s
Slow tasks
91.1s
Writing speed
47 w/s

541 of 550 tasks were answered correctly on all three passes. Two spreadsheet tasks got a different answer on different passes, so the count above is slightly lower than the number of tasks.

Each model

Model, quantization, deployment — then the result

A score only means something next to the three things that produced it: which model, how compressed it was, and what it ran on. Change any one of them and it is a different result.

DeepSeek V4.1 Flash 1017
Open-weight model, compressed to run on two desktop-sized AI computers.
98.5%
542 of 550 graded answers correct
550 tasks × 3 passes
Model
DeepSeek V4.1 Flash 1017
Open-weight model, compressed to run on two desktop-sized AI computers.
Quantization
2.9bpw EXL3-EAQ
How much the model was compressed to fit
Deployment
2× DGX Spark (dgx-spark-x2)
Served by TensorFold
First word
0.31s
from request to first token
Writing speed
47 w/s
single request, no queue
Typical task
29.1s
half finish faster than this
Slow tasks
91.1s
9 in 10 finish inside this
easy
100%
One clear step — read the request, produce the answer.
191 graded answers
medium
98.7%
Several steps or a judgment call: reconcile records, pick a queue, pull a field.
238 graded answers
hard
95.9%
Multi-step work with a trap: a policy to apply, a dataset to analyze, a budget to stay inside.
121 graded answers
  • —Each task is run three times; the score counts all 1,650 attempts, not 550 tasks.
  • —541 of 550 tasks were correct on all three passes — two spreadsheet tasks flipped between passes.
  • —The misses that remain are real: a policy applied backwards, five hard spreadsheet analyses that ran out of steps, and one answer given as prose instead of the exact value asked for.

Each model we test lands here. Same tasks, same grading, same number of passes.

Speed, measured on its own

How fast it answers a single request

Time to first token
0.31s
the model starts responding almost instantly
Words per second
47
about 140 words a minute — comfortable reading pace
Tokens per second
62
the raw generation rate behind that
Visible answer starts
~24s
with thinking on, it reasons before it writes

With thinking on, the first token arrives at 0.3s, but the visible answer does not start until roughly 24s while the model reasons. The 29s median task time above is that reasoning plus the answer.

One request at a time, no other traffic. A 1,500-word prose memo, capped at 2,000 tokens, streamed three times. Time to first token is measured on the first streamed chunk; words per second is measured over the generation window after that.

Where it holds and where it breaks

Score by kind of work

Inbox triage and reply
100 tasks
99%
99/100 correcttypical 17.8s · slow 36.3s
Document extraction
100 tasks
100%
100/100 correcttypical 24.2s · slow 34.4s
Spreadsheet analysis
100 tasks
95%
95/100 correcttypical 80.7s · slow 156.6s
Formulas and SQL
100 tasks
100%
100/100 correcttypical 27.7s · slow 67.3s
Business writing
100 tasks
98%
98/100 correcttypical 47.4s · slow 93.5s
Classification and routing
50 tasks
100%
50/50 correcttypical 17.4s · slow 34.0s
Where it missed

The tasks it got wrong

Out of 550 graded answers, 542 were correct. These are the misses, described plainly — including the one that is a real judgment error rather than a format slip.

Applied a policy backwards

An invoice 42 days old, against a 30-day policy. The model opened a dispute instead of declining. A real miss — it should stay a failure.

Ran out of steps on hard spreadsheets

Five hard spreadsheet analyses: the model kept re-running the same calculations and used up its work budget. A real limit on long multi-step analysis.

Right answer, wrong format

Asked for the supplier code S007, it answered "Supplier S007" in prose. The reasoning was right; the format was not.

How this is measured

Same tasks, same grading, every model

One task set, unchanged

Every model we publish is run against the same 550 tasks with the same correct answers. If the task set changes, every published result is re-run — otherwise the comparison would be meaningless.

Three passes per task

Each task is attempted three times. The score counts all the attempts, which is why it reads out of 550 when the task set is 550 tasks.

Speed is reported separately

Quality and speed are different questions. A slow correct answer and a fast wrong one are not the same result, so time is never folded into the score.

Want your model on this table?

We run any open-weight or hosted model against the same tasks and publish the result with its configuration — good, bad, or ugly.

Talk to us