← writings

What does it cost to give an AI one more try at using a computer?

Training an AI to write text mostly means pushing numbers through graphics cards. Training an AI to use a computer is stranger. The model needs a computer to practice on. It opens Chrome. Clicks something. Types into a field. Gets a popup it didn't expect. Fails. The computer gets wiped back to how it started. It tries again.

Now do that hundreds of thousands of times.

I'm building Drums, which is about making those attempts cheaper, so I wanted to understand exactly what one attempt costs before I claimed anything. I read four papers: the original OSWorld paper that defined how these practice computers are built [1], OSWorld-Human, which timed where every second goes [2], OSWorld-Science, which ran 1,500 attempts on real scientific software and priced them [3], and CUA-Sandbox, which asks whether each attempt really needs its own computer [4]. This post covers the first three. The second post covers the fourth.

No jargon without a definition, I promise. Here's what we're going to find out.

Two kinds of training compared. Training a text model: data goes into a GPU, numbers come out, repeat. Training a computer-use model: the model looks at a screen, acts, the computer changes, the model looks again, and after many steps the computer is reset and the whole loop runs again. The second one needs a real computer per attempt. training a text model text data GPU better model the data sits still. nothing else has to exist. training a computer-use model model a real computer click, type screenshot …repeat 15 to 100 times, then wipe the computer, then do the whole thing again. and again. every attempt needs a computer that behaves like its own
The thing that makes computer-use training expensive isn't the model. It's that something has to be on the other end of the clicks.

First, what is an "attempt"?

The research word is rollout. A rollout is one complete try at one task: the computer is put into a known starting state, the model is given an instruction like "update my bookkeeping sheet with these receipts", the model takes a series of steps, and at the end a script checks whether the job got done. That check produces a score, usually 0 or 1, which is the only thing the training process actually learns from.

The OSWorld paper is where this got standardized for desktop computers, so it's the best place to see what a rollout is made of [1]. OSWorld is a set of 369 tasks on an Ubuntu desktop with real apps: Chrome, LibreOffice, GIMP, VLC, Thunderbird, VS Code, a terminal. Every task comes with two things: a recipe for setting up the starting state, and a script that inspects the final state to decide whether the task succeeded. Nine graduate students spent about 1,800 hours building those recipes and scripts. That's a lot of effort for 369 tasks, and it tells you something: the hard part of building a training environment isn't the computer, it's deciding what "done" means.

The life of one rollout as a timeline with six stages. One: boot a virtual machine and restore its snapshot. Two: set up the task by downloading files and opening apps. Three: the loop, where the model looks at a screenshot and acts, repeated up to 15 to 100 times. Four: post-processing, saving files and activating windows. Five: the evaluator script checks the final state and gives a score. Six: the computer is wiped so the next rollout can start. 1. boot VM restore snapshot 2. set up task download files, open the app 3. the loop: look → think → act, × 15 to 100 screenshot → model → click/type → wait → repeat 4. tidy up save files, focus app 5. grade evaluator → 0 or 1 6. wipe back to the same starting state for the next attempt what the training process keeps from all of this: • the sequence of screenshots and actions (so it can learn what it did) • one number from step 5 (so it knows whether that was good) everything else, the whole computer, is thrown away.
One rollout, start to finish, as OSWorld defines it [1]. Stages 1, 2, and 6 are pure overhead. Stage 3 is where the model learns. Stage 5 is the only output.

Notice the shape. A rollout begins before the model does anything (boot, restore, set up) and ends after the model is done (tidy, grade, wipe). The model only lives in the middle. Everything around the middle is infrastructure, and infrastructure is what you pay for N times when you run N rollouts.

How the practice computer is built

OSWorld runs each task inside a virtual machine, or VM: a complete pretend computer, with its own operating system, running as a program on a real one. The paper gives two reasons [1]. A VM is a safe box, so if the agent runs rm -rf on the wrong folder, it only destroys the pretend computer. And a VM can be snapshotted: you can freeze its entire state, disk and memory and all, and later jump straight back to that frozen moment. Snapshots are how "wipe and try again" works without reinstalling anything.

The OSWorld environment layout. On the left, the host machine runs a coordinator, task manager, simulator, and evaluator. On the right, one or more virtual machines each run a control receiver that executes mouse and keyboard commands and sends back screenshots and files. The host talks to the VMs with vmrun commands and HTTP. host machine (real) coordinator: reads the task config task manager simulator evaluator: 134 different grading scripts the agent (model + glue code) lives here too commands screenshots, files VM 1 Ubuntu Chrome, Calc… 1920 × 1080 screen control receiver runs pyautogui a whole computer VM 2 … VM n identical copies, one per rollout, running in parallel on the same host
OSWorld's layout, simplified from the paper's Figure 2 [1]. Each rollout gets a whole virtual computer. Inside the VM, a small program accepts mouse and keyboard commands and sends screenshots back.

Inside the VM lives a small server. The host sends it an action as a line of Python using the pyautogui library, something like pyautogui.click(300, 540), and the server runs it. The screen is fixed at 1920 × 1080 because that was the most common real-world resolution when the paper was written, and the model's clicks are expressed in those pixels [1].

How the starting state is restored

This part is more interesting than it sounds. You might expect each of the 369 tasks to have its own snapshot: freeze the computer with the right spreadsheet open, and restore that. OSWorld deliberately doesn't do this. The paper explains that a full snapshot stores a lot of hardware state the task doesn't care about, so one per task would cost gigabytes each [1]. Instead, setup is three stages:

Three stages of restoring the starting state. Stage one, restore one shared base snapshot, a clean Ubuntu desktop. Stage two, download the task's files into the VM over the local network. Stage three, run commands such as open this spreadsheet, go to slide five, resize the window. The result is the task's starting screen. 1. one shared snapshot clean Ubuntu desktop, apps installed, nothing open same for all 369 tasks 2. copy in the files bookkeeping.xlsx, receipt.jpg host → VM over the network optional 3. run setup commands open the file in Calc, go to slide 5, resize window optional 302 distinct starting states, built from one snapshot plus small recipes, not 302 snapshots
How OSWorld gets a VM to the task's starting screen [1]. One base snapshot is shared by everything; the per-task difference is a few files and a few commands.

File this away, because it's the first clue to the question that drives the second post. OSWorld's authors already noticed that 369 tasks don't need 369 computers' worth of saved state. They need one computer plus 369 small differences. Most of the computer is identical across tasks, and across rollouts of the same task it's identical by definition.

Where the time goes inside the loop

So a rollout is some overhead, then a loop, then some overhead. How long is the loop, and what's it spending its time on? The OSWorld-Human paper from UC San Diego is the first careful answer [2]. They took two of the best open-source agents at the time, Agent S2 and GTA1, ran them on 39 OSWorld tasks, and timed every single piece: taking the screenshot, calling the model to plan, calling a second model to find the exact pixel, performing the click, calling the model again to reflect on what happened.

The headline finding is blunt. Changing two paragraphs to double spacing in a document took the agent 12 minutes. A person with basic computer skills does it in under 30 seconds. And almost none of those 12 minutes were spent doing anything on the computer.

Two horizontal stacked bars showing where time goes in a task. Agent S2: planning 53 percent, reflection 34 percent, grounding 4 percent, retrieval 3 percent, screenshot 2 percent, action 2 percent. GTA1: planning 75 percent, judging 23 percent, grounding 2 percent, screenshot and action under 1 percent each. In both, the model calls take over 90 percent and the actual computer interaction takes under 4 percent. share of a task's wall-clock time, averaged over 39 tasks [2] Agent S2 planning 53% reflection 34% grounding 4% · retrieval 3% · screenshot 1.7% · action 1.6% GTA1 planning 75% judging 23% grounding 1.8% · screenshot 0.4% · action 0.7% big model thinking (plan / reflect / judge) small model finding the pixel (grounding) actually using the computer (screenshot + click) the computer is busy less than 4% of the time
Where a task's time goes for two leading agents, from OSWorld-Human Table 1 [2]. Over 90% is the big model thinking. The screenshot and the click together are a rounding error.

Read that again, because it matters for everything that follows. During a rollout, the practice computer is idle more than 96% of the time. It's sitting there, fully booted, with Chrome open, holding gigabytes of memory, waiting for a model somewhere else to finish thinking about what to click next. The computer isn't the slow part. But it's the part you need one of per rollout, and it's awake the whole time.

Each step gets slower than the last

It gets worse as the task goes on. Most agents send the model the whole history so far: every previous screenshot, every previous plan, every previous reflection. So at step 10 the prompt includes steps 1 through 9. The paper measured that by the late steps of a long task, each model call takes up to 3× longer than at the start, purely because the prompt has grown [2]. One task, creating a restricted SSH user, took Agent S2 all 50 of its allowed steps and over 40 minutes. GTA1 finished the same task in 54 steps and nearly twice the time, because it calls the planning model four times in parallel at every step and then calls a judge to pick one.

A chart showing how the prompt grows with each step. At step 1, the prompt holds one screenshot. At step 5, five screenshots and four reflections. At step 20, twenty of each. The bar for time per step rises alongside it, ending about three times taller than it began. A note says the practice computer waits through all of it. why late steps are slow: the prompt carries everything so far step number in the task → seconds per step 1 5 10 20 30 40 50 1 image ~3× slower, 50 images in the prompt the VM is awake and idle for all of these seconds
Illustrative, shaped on OSWorld-Human's finding that late steps take up to 3× longer than early ones because the prompt includes the full history [2]. Not to scale.

And there are far more steps than there should be

The second half of OSWorld-Human is a human answer key. Two graduate students worked out, for all 369 tasks, the shortest sequence of actions a competent person would use, and then cross-checked each other [2]. Against that key, the best agents on the leaderboard take 2.7× to 4.3× more steps than necessary. Some of the waste is just inefficiency, but a lot is loops: the planner says "click the blue Open button", the pixel-finding model gives the wrong coordinates, nothing happens, and the agent tries the identical thing again. In failed tasks longer than 50 steps, 66% of steps were spent stuck in such loops. One Chrome task, "set Bing as the default search engine", burned 100 steps, 27 minutes, and $8.47 without succeeding.

AppHuman steps (one action each)Human steps (grouped)
OS / terminal3.92.0
GIMP2.82.0
VS Code3.62.0
Chrome5.84.3
Thunderbird6.73.8
LibreOffice Writer7.53.2
LibreOffice Impress7.84.0
LibreOffice Calc13.24.5

"Grouped" means actions a person would do from one look at the screen without needing to look again, like click a cell, type a formula, press Enter. Humans need 3 to 13 steps per task. Agents were taking tens, with budgets of 50 to 100. Every one of those extra steps is another model call, another screenshot, and another stretch of a VM sitting idle.

What one attempt costs in dollars

OSWorld-Human priced it: GTA1 cost an average of $2.43 per task, and 87% of that was the planning model, because it calls that model four times per step and retries up to three times when the output is malformed [2]. That number is from 2025 and from one agent, so let's look at something more recent and broader.

OSWorld-Science, published last week, built 146 tasks on real scientific software: drawing molecules in ChemDraw, analyzing pathology slides in QuPath, running fluid simulations in OpenFOAM, statistics in SAS and R [3]. They ran 12 different models through the same harness, one try per task, with a budget of 100 steps and, for the simulations, 3 hours of wall-clock time. About 1,500 runs total. They logged every token and worked out the cost per task.

A scatter plot of mean score versus cost per task for eight models from OSWorld-Science. Claude Fable 5.1 scores 73.7 percent at 6.50 dollars. Claude Opus 5 scores 57.9 at 6.70. GPT-6 Astra scores 57.4 at 7.70. GPT-5.6 Sol scores 50.1 at 2.79. GPT-5.6 Terra scores 31.8 at 2.00. Kimi K3 scores 30.2 at 11.70. Claude Sonnet 5 scores 26.3 at 3.60. GPT-5.6 Luna scores 22.6 at 0.23. Cost ranges fifty-fold; score ranges about three-fold. score vs. what one attempt costs in model tokens, OSWorld-Science [3] mean cost per task, US dollars (log scale) mean score, % $0.25 $1 $3 $7 $12 0 40 80 GPT-5.6 Luna · 22.6% · $0.23 GPT-5.6 Terra · 31.8% · $2.00 GPT-5.6 Sol · 50.1% · $2.79 Sonnet 5 · 26.3% · $3.60 Fable 5.1 · 73.7% · $6.50 Opus 5 · 57.9% · $6.70 GPT-6 Astra · 57.4% · $7.70 Kimi K3 · 30.2% · $11.70
Score against cost per attempt for 8 of the 12 models in OSWorld-Science [3]. Horizontal axis is logarithmic. The cheapest attempt and the most expensive differ by about 50×; the scores differ by about 3×.

Those prices are for the model alone. They don't include the machine. The machine cost is harder to pin down because the papers don't bill it, but we can reason about it. A task budget of 100 steps at the per-step latencies OSWorld-Human measured means a VM is reserved for somewhere between several minutes and an hour per attempt, and for the OpenFOAM simulations, up to 3 hours. During that time it's holding its full memory footprint whether or not anything is happening.

Most of what you pay for produces nothing

Here's the part of OSWorld-Science that stuck with me. They labelled every one of the roughly 1,500 runs by what it left behind [3]:

A single stacked bar of 1,530 runs. 402 runs, 26 percent, got full credit. 400 runs, 26 percent, produced a wrong answer. 33 produced a malformed file. 667 runs, 44 percent, produced nothing at all, and 613 of those ran until they hit the step or time limit. 28 runs were ended by the harness or unresolved. what 1,530 attempts on scientific software left behind [3] full credit wrong answer nothing at all 402 · 26% 400 · 26% 33 broken 667 · 44% 28 613 of the 667 ran until the step or time budget ran out that's 40% of all attempts: full budget, no output
Outcomes of every run in OSWorld-Science [3]. Four in ten attempts used their entire budget and delivered nothing to grade.

Only 26% of attempts fully succeeded. 44% produced no deliverable at all, and nearly all of those ran until the budget was exhausted. In training terms, a rollout that produces nothing still has to be paid for in full: full tokens, full VM time, full reset afterward. And the score it hands back is a zero that the training process already could have guessed.

This isn't a complaint about the agents. Failing is the point of practice; you learn from the zeros too. But it means the cost of training is dominated by attempts that run long and end badly, which puts a hard floor under how cheap each attempt needs to be before the whole thing becomes affordable.

The two cheap levers, and what they tell us

OSWorld-Science ran two small experiments that are worth knowing about, because they change the shape of a rollout rather than the model [3]. First, they varied how many recent screenshots the model gets to see. With only the latest one, the agent averaged 52 steps per task and scored 35%. With the last ten, it averaged 22 steps and scored 57%. The agent stopped repeating actions it could no longer remember taking, and gave up on hopeless tasks sooner instead of grinding to the limit. Same model, same tasks, half the steps, more wins.

Second, they turned the model's reasoning effort up. From lowest to highest, output tokens per task grew about tenfold for Claude Opus 5, from 6,000 to 59,000, and the score rose 17 points. Roughly ten times the model cost for a modest gain. For Claude Sonnet 5 the same dial bought three points.

Two side-by-side comparisons. Left, history window: one screenshot gives 52 steps and 35 percent; ten screenshots gives 22 steps and 57 percent. Right, reasoning effort for Opus 5: low gives about 6 thousand output tokens and 44 percent at medium; max gives 59 thousand tokens and 60 percent. Caption: cutting wasted steps is cheap; buying accuracy with tokens is expensive. lever 1: let the model remember more sees 1 screenshot 52 steps · 35% sees last 10 22 steps · 57% fewer steps AND better (same model, same tasks) lever 2: let the model think harder low effort 6k tokens max effort 59k ~10× the tokens for +17 points (Opus 5; Sonnet 5 gained only 3)
Two dials from OSWorld-Science's ablations [3]. Giving the model more memory of its own trajectory made attempts shorter and better. Turning up reasoning made them much pricier for a smaller gain.

The lesson I take from both: a lot of the cost of an attempt is the attempt being longer than it needs to be. Steps that repeat. Steps that go nowhere. Steps where the model has forgotten what it just did. Anything that shortens a rollout, or lets a doomed one stop early, saves tokens and machine time in equal measure.

Adding it up: the bill for one attempt

Let me put the pieces together into one picture. These are ranges across the three papers, not a single measurement, and the machine side is my reasoning rather than something the papers billed.

ItemWhat the papers measuredWho pays
Boot + restore snapshot + set up taskSeconds to tens of seconds; one shared base snapshot, files copied over the network [1]Machine
Steps per attemptHumans need 3 to 13; agents take 2.7 to 4.3× more; budgets of 15 to 100 [1][2][3]Both
Time per stepDominated by model calls, over 90%; grows up to 3× as history accumulates [2]Model (tokens), machine (idle)
Tokens per attempt$0.23 to $11.70 per task depending on model; $2.43 for GTA1 [2][3]Model
Machine time per attemptMinutes to tens of minutes; up to 3 hours for simulations; VM idle over 96% of it [2][3]Machine
Memory held per attemptOne full VM or container per rollout, for the whole duration [1][4]Machine
Attempts that yield nothingAbout 40% ran to the budget limit with no output [3]Both, in full
Grade + wipeRun evaluator script, revert to snapshot [1]Machine
Two columns. Left column, the model bill: tokens per step times steps, large and well understood, paid per token. Right column, the machine bill: one full computer reserved per rollout for the whole duration, mostly idle, paid in memory and time. A bracket under both says: multiply by hundreds of thousands of rollouts. the model bill tokens per step × steps per attempt grows with history, with effort, with loops well measured. well understood. you pay only when the model works. $0.23 to $11.70 per attempt [3] the machine bill one whole computer per attempt, reserved start to finish rarely measured. idle 96% of the time. you pay whether or not anything happens. memory + minutes, × every parallel rollout × hundreds of thousands of attempts per training run
The two halves of the bill. The model half is the one everybody talks about. The machine half is the one that decides how many attempts you can run at once.

What I now think the question is

I started with "what does one attempt cost?" and I think the honest answer is: in tokens, a few dollars, and that's going down as models get faster. In machines, a whole computer, for the whole duration, mostly idle, and that part isn't going down on its own.

The model bill scales with how much the model thinks. The machine bill scales with how many attempts you want to run at the same time. When people say training a computer-use model needs a million computers, that's the second number they mean. If you want 10,000 rollouts in flight, today's tooling asks for 10,000 booted computers, each holding its own copy of Ubuntu, its own Chrome, its own LibreOffice, each started from the same snapshot, each sitting there waiting for a model to decide where to click.

And every one of those 10,000 computers is almost entirely identical to the other 9,999. Same operating system. Same apps. Same starting files. The only thing that differs is what this particular attempt has changed so far, which is usually a handful of files and whatever's on screen.

So the question I'm actually interested in is: how much of the computer needs to exist once per attempt? OSWorld's authors brushed against it when they chose one shared snapshot plus small per-task recipes instead of 369 snapshots. The CUA-Sandbox paper that came out two weeks ago asks it directly, and measures what happens when you share more. That's the next post.

Vocabulary, in case you skipped ahead

References

  1. Xie et al., OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments, 2024. arXiv:2404.07972
  2. Abhyankar, Qi, and Zhang, OSWorld-Human: Benchmarking the Efficiency of Computer-Use Agents, MLSys 2026. arXiv:2506.16042. Dataset: github.com/WukLab/osworld-human
  3. Dai et al., OSWorld-Science: A Benchmark of Computer Use Agents for Learning and Using Scientific Software, 2026. arXiv:2609.39903
  4. Yan, Jiao, et al., CUA-Sandbox: Efficient Environments for Computer-Use Agent Reinforcement Learning, 2026. arXiv:2609.32750

All figures in this post are my redrawings of numbers reported in those papers, cited inline. Where a figure is illustrative rather than plotted from reported data, the caption says so.

Part 2: AI agents need millions of computers. Do they actually need to? →

← more writings