EvoCowork: A Benchmark for Real-World Office Tasks
Organizations: Peking University · Sun Yat-sen University · Shanghai Jiao Tong University · Minzu University of China ·
Abstract
Office workflows are a demanding testbed for self-improving agents because their deliverables must be correct, natively editable, and mutually consistent. A central question is whether gains on feedback tasks reflect reusable procedures rather than task-specific fixes. We introduce EvoCowork, a 240-task benchmark for evaluating harness-level recursive self-improvement across four office modalities, with model weights held fixed. The benchmark covers presentations, documents, spreadsheets, and cross-office workflows, and scores submitted artifacts for content, native structure, formulas, cross-file consistency, and visual quality where needed. Its protocol separates feedback, revision selection, and final testing: methods learn from single-modality tasks, then are evaluated on unseen single-modality tasks and cross-office workflows under a shared initial harness and explicit budgets. In static evaluations of two models and four harnesses, the best configuration scores 42.25 overall and 30.62 on cross-office tasks. Starting from the same MSA harness with GLM 5.3, ACE and AHE improve in-domain scores by 4.90 and 2.64 points, respectively, but change cross-office scores by only +0.03 and -1.72. Thus, gains on the file types that provide feedback do not necessarily transfer to coordinated workflows. EvoCowork makes this distinction explicit while recording the capability, transfer, and cost of harness evolution. Code and task packages: https://github.com/DeepThinkingZhouLiu/cowork-evolution-benchmark.
Figures & tables
| Modality | Fam. | Src. | In | Out |
|---|---|---|---|---|
| Presentation | 12 | 6 | 105 | 67 |
| Document | 17 | 5 | 107 | 62 |
| Spreadsheet | 22 | 9 | 190 | 60 |
| Cross-office | 9 | 4 | 223 | 343 |
| Total | 59 | 11 | 625 | 532 |
| Benchmark | Tasks | Scope | Real source | Editable | Isolated | Atomic | Three-way | Harness |
| grounding | artifacts | replay | reward | split | mutation | |||
| PPT-Eval ( Gandhi et al., 2026 ) | 120 | P | ⚫ | ✓ | ⚫ | ✓ | ✗ | ✗ |
| OmegaUse-OfficeVal ( Zhou et al., 2026 ) | 100 | P/D/S | ✓ | ✓ | ⚫ | ✓ | ✗ | ✗ |
| OfficeBench ( Wang et al., 2024 ) | 300 | Multi-app | ⚫ | ⚫ | ✓ | ⚫ | ✗ | ✗ |
| OSWorld ( Xie et al., 2024 ) | 369 | Desktop | ✓ | ⚫ | ✓ | ⚫ | ✗ | ✗ |
| SpreadsheetBench ( Ma et al., 2024 ) | 912 | S | ✓ | ✓ | ⚫ | ⚫ | ✗ | ✗ |
| Sonnet 5 | GLM 5.3 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Harness | Modality | All | Easy | Medium | Hard | Expert | All | Easy | Medium | Hard | Expert |
| PPT | 37.29 | 96.96 | 35.51 | 18.02 | 9.19 | 49.16 | 99.29 | 64.97 | 25.77 | 10.38 | |
| Word | 36.59 | 90.59 | 50.21 | 11.37 | 0.00 | 42.48 | 80.46 | 62.75 | 19.00 | 9.33 | |
| Excel | 38.38 | 79.45 | 51.33 | 23.58 | 0.09 | 46.76 | 81.08 | 60.75 | 29.81 | 16.89 | |
| Cross-office | 23.12 | 72.20 | 18.61 | 10.32 | 0.02 | 30.62 | 72.58 | 27.09 | 22.83 | 5.63 | |
| Claude Code | Overall | 33.85 | 84.80 | 38.91 | 15.82 | 2.32 | 42.25 | 83.35 | 53.89 | 24.35 | 10.56 |
| Selection (30) | In-domain (60) | Cross-office (60) | All (120) | |||||
|---|---|---|---|---|---|---|---|---|
| Method | Score | Score | Score | Score | ||||
| Frozen | 47.44 | 0.00 | 45.83 | 0.00 | 28.68 | 0.00 | 37.25 | 0.00 |
| ACE ( Zhang et al., 2026b ) | 54.98 | 50.73 | 28.70 | 39.72 | ||||
| AHE ( Lin et al., 2026 ) | 40.41 | 48.47 | 26.96 | 37.72 | ||||
| Implementation checks | Human audit | |||||||
|---|---|---|---|---|---|---|---|---|
| Modality | Tasks | Ref. replay ( ) | Empty out ( ) | Corrupt out ( ) | Outputs | Raters | IAA | Score MAE |
| Presentation | 60 | 1.00 | 1.00 | 1.00 | 60 | 3 | 0.969 | 9.576 |
| Document | 60 | 1.00 | 0.88 | 0.88 | 60 | 3 | 0.994 | 8.501 |
| Spreadsheet | 60 | 1.00 | 0.45 | 0.43 | 60 | 3 | 0.981 | 3.779 |
| Cross-office | 60 | 1.00 | 1.00 | 1.00 | 60 | 3 | 0.983 | 7.393 |
Appendix figures & tables26 assets
Supplementary material from the paper’s appendix.
Appendix
| Tier | Tasks | Claude Code | OpenCode | OpenHands | Panel mean | |
|---|---|---|---|---|---|---|
| Easy | 12 | 96.96 | 97.29 | 97.98 | 97.41 | 2.59 |
| Medium | 18 | 35.51 | 37.27 | 40.61 | 37.80 | 62.20 |
| Hard | 18 | 18.02 | 16.53 | 16.23 | 16.93 | 83.07 |
| Expert | 12 | 9.19 | 6.37 | 7.11 | 7.56 | 92.44 |
| Tier | Tasks | Claude Code | OpenCode | OpenHands | Panel mean | |
|---|---|---|---|---|---|---|
| Easy | 12 | 90.59 | 84.13 | 85.99 | 86.90 | 13.10 |
| Medium | 18 | 50.21 | 59.52 | 66.77 | 58.83 | 41.17 |
| Hard | 18 | 11.37 | 13.14 | 11.22 | 11.91 | 88.09 |
| Expert | 12 | 0.00 | 0.00 | 0.00 | 0.00 | 100.00 |
| Tier | Tasks | Claude Code | OpenCode | OpenHands | Panel mean | |
|---|---|---|---|---|---|---|
| Easy | 12 | 79.45 | 69.25 | 83.29 | 77.33 | 22.67 |
| Medium | 18 | 51.33 | 36.65 | 61.61 | 49.86 | 50.14 |
| Hard | 18 | 23.58 | 26.31 | 27.44 | 25.78 | 74.22 |
| Expert | 12 | 0.09 | 6.47 | 8.00 | 4.85 | 95.15 |
| All | 60 | 38.38 | 34.03 | 44.98 | 39.13 | 60.87 |
| Tier | Tasks | Claude Code | OpenCode | OpenHands | Panel mean | |
|---|---|---|---|---|---|---|
| Easy | 12 | 72.20 | 71.91 | 65.51 | 69.87 | 30.13 |
| Medium | 18 | 18.61 | 15.93 | 24.69 | 19.74 | 80.26 |
| Hard | 18 | 10.32 | 3.93 | 8.99 | 7.75 | 92.25 |
| Expert | 12 | 0.02 | 0.00 | 0.26 | 0.09 | 99.91 |
| Upstream source | Tasks | License and frozen revision | Upstream task identifiers |
|---|---|---|---|
| PPTArena | 31 | MIT; 6f26a63 (code), 20fb890 (data) | Cases 001, 003, 004, 014, 015, 016, 021, 023, 025, 027, 028, 029, 030, 031, 036, 037, 041, 044, 047, 050, 053, 059, 061, 064, 067, 068, 071, 074, 082, 083, and 093. |
| OmegaUse-OfficeVal | 17 | Apache-2.0; ffbeecb (code), cd6ba6d (data) | OfficeVal 041, 043, 046, 051, 054, 055, 056, 060, 063, 064, 066, 068, 069, 070, 074, 075, and 076. |
| AutomationBench | 4 | MIT; 4a8e106 | Marketing 1115; Finance 4040, 4044, and 4062. |
| TheAgentCompany | 4 | MIT; 98b68ef | pm-prepare-meeting-with-customers , pm-present-gitlab-info-as-ppt , hr-internal-tooling-slides , and ds-stock-analysis-slides . |
| Cowork-Bench | 2 | Apache-2.0; d943e75 | sf-department-budget-ppt and ppt-clickhouse-executive . |
| OfficeBench | 2 | Apache-2.0; b978b80 | Tasks 3-2/subtask-0 and 3-5/subtask-0. |
| Upstream source | Tasks | License and frozen revision | Upstream task identifiers |
|---|---|---|---|
| OfficeBench | 46 | Apache-2.0; b978b808 | 1-12/0, 1-12/1, 1-12/2, 1-13/1, 1-13/0, 1-15/0, 1-15/2, 1-15/1, 1-16/0, 1-16/1, 1-19/4, 1-19/1, 1-19/0, 1-3/0, 2-18/0, 2-18/1, 2-18/2, 2-19/0, 2-2/1, 2-2/0, 2-20/0, 2-20/1, 2-20/2, 2-21/0, 2-22/1, 2-22/0, 2-26/3, 2-26/1, 2-30/0, 2-36/0, 2-37/3, 2-39/3, 2-39/1, 2-39/0, 2-6/0, 2-7/0, 3-22/0, 3-56/0, 3-58/0, 3-60/0, 3-63/0, 3-77/0, 3-8/7, 3-82/0, 3-84/0, and 3-91/0. |
| OmegaUse-OfficeVal | 9 | Apache-2.0; ffbeecb8 | officeval_003 , officeval_006 , officeval_010 , officeval_018 , officeval_022 , officeval_029 , officeval_033 , officeval_036 , and officeval_040 . |
| llm-docx-editing | 3 | MIT; 498a4946 | D3, F6, and S4. |
| Cowork-Bench | 1 | Apache-2.0; d943e75b | rzd-msk-spb-team-trip-gcal-word . |
| FORTE | 1 | MIT; 345c1ec1 | Legal-020 . |
| Total | 60 |
| Upstream source | Tasks | License and frozen revision | Upstream task identifiers |
|---|---|---|---|
| OfficeBench | 8 | Apache-2.0; b978b808 | 1-6/1, 1-9/2, 1-9/4, 1-5/3, 1-10/3, 1-10/2, 1-9/0, and 1-14/1. |
| OmegaUse-OfficeVal | 2 | Apache-2.0; ffbeecb8 | officeval_088 and officeval_093 . |
| SpreadsheetBench-2 sample | 19 | CC-BY-SA-4.0; d8a14da1 | Debugging/01_03, Debugging/02_03, Debugging/03_03, Debugging/04_03, Debugging/08_03, Debugging/09_01, Financial_Model/02_03, Financial_Model/03_02, Financial_Model/05_01, Financial_Model/07_02, Financial_Model/12_01, Financial_Model/13_02, Financial_Model/16_02, Financial_Model/18_03, Financial_Model/20_03, Template/06_19, Template/14_09, Visualization/Task_129, and Visualization/Task_1437004. |
| Spreadsheet-RL | 12 | CC-BY-SA-4.0; 6f274cd4 | excelforum/excel-general/task-job-6f73fa37587dfb5e , excelforum/excel-general/task-job-1d7e618b48fc03cc , excelforum/excel-general/task-job-93b8d5ae5b1f85f1 , excelforum/excel-general/task-job-5cd12fc29412660e , excelforum/excel-general/task-job-2d603b0f50935350 , excelforum/excel-general/task-job-654f78f4eb0df932 , excelforum/excel-general/task-job-2e1e331a1b9dc473 , excelforum/excel-general/task-job-1813a28727a048cb , excelforum/excel-general/task-job-f59390cb071bb9fd , excelforum/excel-general/task-job-68594670fd5aafc2 , excelforum/excel-general/task-job-9926a63ec2ac727f , and excelforum/excel-general/task-job-b07dec0d38d63663 . |
| Workspace-Bench-Lite | 4 | Apache-2.0; metadata 60b08b1c , workspaces e245d63b | tasks 159, 255, 277, and 386. |
| Cowork-Bench | 8 | Apache-2.0; d943e75b | course-enrollment-analytics-dashboard , financial-audit-cross-system-reconciliation , insales-inventory-reorder-forecast , moex-sector-rotation-dashboard , sf-regional-sales-forecast , sf-sla-breach-audit , supplier-contract-compliance-audit , and inventory-supply-chain-optimization . |
| Upstream source | Tasks | License and frozen revision | Upstream task identifiers |
|---|---|---|---|
| AutomationBench | 42 | MIT; 4a8e106 | Sales 1202; Finance 4001; HR 5004, 5011, 5057, 5070, 5090, and 5101–5135. |
| Cowork-Bench | 9 | Apache-2.0; d943e75 | Literature review, meal planning, program committee, financial audit, portfolio analysis, refund analysis, scholarly trends, tax propagation, and student retention tasks. |
| OfficeBench | 5 | Apache-2.0; b978b80 | Tasks 3-6, 3-8, 3-19/3-20, 3-69, and 3-91. |
| OmegaUse-OfficeVal | 4 | Apache-2.0; ffbeecb (code), cd6ba6d (data) | OfficeVal 059, 078, 080, and 088. |
| Total | 60 |
| Modality | Feedback | Selection | Final ID | Final OOD |
|---|---|---|---|---|
| Presentation | 30 | 10 | 20 | 0 |
| Document | 30 | 10 | 20 | 0 |
| Spreadsheet | 30 | 10 | 20 | 0 |
| Cross-office | 0 | 0 | 0 | 60 |
| Total | 90 | 30 | 60 | 60 |
| Model | Harness | Coverage | PPT | Word | Excel | Cross-office | All | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Static evaluation 240 tasks: 60 per track | ||||||||||||
| Claude Code | 239, 239 | 263 | 2.1 | 933 | 8.2 | 904 | 11.0 | 756 | 5.3 | 716 | 6.7 | |
| OpenCode | 240, 240 | 229 | 4.0 | 630 | 7.3 | 334 | 9.8 | 506 | 5.7 | 425 | 6.7 | |
| OpenHands | 228, 240 | 263 | 3.2 | 428 | 7.1 | 885 | 9.1 | 836 | 8.0 | 610 | 6.8 | |
| Reported tokens (M) | Final gain over | ||||
|---|---|---|---|---|---|
| Method | Updater | Final inference | In-domain | Cross-office | Overall |
| Frozen | n/a | 152.07 | 0.00 | 0.00 | 0.00 |
| ACE | 2.75 | 147.64 | |||
| AHE | 12.66 | 86.65 | |||
| Component | Frozen | ACE | AHE |
|---|---|---|---|
| Changed files | Initial four-file snapshot | playbook.md | agent.py , environment.py , systemprompt.md |
| Instructions | Base office prompt; empty playbook | Adds 72 experience rules; base prompt unchanged | Adds seven working rules to the prompt; playbook stays empty |
| Progress cues | No periodic reminder | Unchanged | Adds a reminder every eight model calls |
| Output handling | No truncation inside environment.py | Unchanged | Above 12,000 characters, keeps the first 8,000 and last 3,500 plus a notice |
| Completion | Signal must be the first output line of a successful command | Unchanged | Accepts any standalone output line; adds an assistant-text check after a format error |
| Task group | Runs | Crashes | Share | AHE crashed | AHE clean | same tasks | Clean |
| All final tasks | 120 | 31 | 25.8% | 6.04 | 48.75 | 42.34 | |
| In-domain | 60 | 14 | 23.3% | 12.84 | 59.32 | 51.48 | |
| PPT | 20 | 5 | 25.0% | 13.91 | 66.19 | 59.17 | |
| Word | 20 | 3 | 15.0% | 30.05 | 59.03 | 48.02 | |
| Excel | 20 | 6 | 30.0% | 3.33 | 52.31 | 47.45 |
| Model | Harness version | Call/iteration limit | Token cap | Time cap (s) | Runs/ task |
|---|---|---|---|---|---|
| Claude Code 2.1.251 | 80 turns | Not set | 600–3,600 | 1 | |
| OpenCode 1.4.14 | Not set | Not set | 600–3,600 | 1 | |
| OpenHands SDK 1.44.1 | 80 iterations | Not set | 600–3,600 | 1 | |
| Sonnet 5 | MSA 2.4.6 | 80 API calls | 2,000,000 | 600–3,600 | 1 |
| Claude Code 2.1.251 | 80 turns | Not set | 600–3,600 | 1 | |
| OpenCode 1.4.14 | Not set | Not set | 600–3,600 | 1 |
Computer-Use Agent Benchmarks
Computer-use agent benchmarks test whether AI systems can operate graphical interfaces, terminals, and applications reliably, safely, and efficiently.
See all 120 papers