Benchmark · agentic

SWE-Lancer

1 results 1 models

SWE-Lancer is a benchmark of 1,488 real freelance software-engineering tasks from Upwork worth $1 million USD in actual payouts; it measures how much of that money a model can "earn" by fully resolving them, scored as total USD earned (and the share of tasks resolved).

Read more
Example
A freelance-style bug-fix task: given a real (GitHub-style) issue and the app's full repository, the model must produce a code patch that makes a broken user flow work again (for example a bill-split or payment screen), checked by end-to-end tests. A second track gives management tasks: pick the best engineering proposal among several.
Scoring
Each task carries the real USD price it was paid on Upwork (from about $50 to $32,000). A model earns a task's full price only if its solution passes; there is no partial credit within a task. The headline metric is the total dollars earned out of the $1M pool, alongside the percentage of tasks resolved; the two tracks (IC coding and management) are also reported separately.
Verification
IC coding tasks are graded by end-to-end tests (Playwright) that simulate real user actions, written and verified by professional software engineers and run in an isolated Docker environment; the model's patch must pass all of a task's tests, and it cannot see or edit them. Management tasks are accepted when the model picks the same proposal the original hiring manager actually chose.
Why it matters
It ties model performance to economically real, market-priced work on a real production codebase, rather than synthetic or self-graded problems. Because grading uses full end-to-end user flows (not isolated function fixes) plus a management-decision track, it probes whether frontier models can do the complete, valuable engineering that people actually pay freelancers for.
Worked example
Task
IC SWE task (illustrative, ~$250): the app's "Split Bill" screen shows a total of NaN when a participant is removed before an amount is typed. Working in a Docker container with the full repo, fix the bug so the displayed total falls back to $0.00; a hidden end-to-end test replays this user flow.
Solution
```diff
 function getSplitTotal(amounts) {
-  return amounts.reduce((sum, a) => sum + a.value, 0);
+  return amounts.reduce((sum, a) => sum + (Number(a?.value) || 0), 0);
 }
```
Walkthrough
Removing a participant leaves an entry whose value is undefined, so a.value turns the running sum into NaN; coercing each value with Number(...) || 0 skips the missing amount and the total renders as $0.00. Grading is binary — the patch earns the task's full USD price only if it passes every end-to-end test for that task, run against the real user flow.
0 9 18 27 36 2025-03-05 GPT-4.5 · 32.6 · 2025-03-05
GPT-4.5
Timeline
Date Model Score Source
2025-03-05 GPT-4.5 32.6% OpenAI releases GPT-4.5, its largest model, for ChatGPT Plus