Agent Hours
dested · October 2026
An agent-hour is one agent actively working for 60 minutes: the model generating or a tool running. Waiting on me, on other agents, or stalled doesn’t count. I measured every Claude Code transcript I have: 7,200 agent runs from June to October 2026, about 2,660 active agent-hours.
- agent runs measured
- 7,200
- active agent-hours
- 2,656
- of a subagent’s life is active work
- 95%
- lead time on top of subagent time
- 16%
- agent-hours in one full night
- ~35
- my own pre-AI hourly output
- ~5×
One night, agent by agent
Lexemon, a Dutch-learning monster game, built in one night: 36 agent-hours in 11 hours. Each bar is an agent at work. The lead mostly waits; about three subagents are busy at any moment.
- Lead
- Subagent
Table
| Agent | Active AH | Start | End |
|---|---|---|---|
| Lead | 3.7 | 0h | 10.52h |
| Lexemon UI kit components | 0.3 | 0.07h | 0.39h |
| Lexemon M1 world engine | 4.9 | 0.46h | 5.41h |
| Lexemon M1 R1 maps | 4.6 | 0.46h | 5.13h |
| Lexemon M1 Dutch content | 0.9 | 0.46h | 1.36h |
| Lexemon M1 language runtime | 0.4 | 0.46h | 0.86h |
| Lexemon M1 catching and battles | 1.5 | 0.51h | 2.1h |
| Lexemon M1 battle and town music | 0.6 | 0.87h | 1.45h |
| Lang l4b engine false positives | 0.3 | 1.36h | 1.64h |
| Pixel-artist M1 art gaps | 0.6 | 1.46h | 2.1h |
| Register M1 art in atlas/stamps | 0.1 | 2.11h | 2.17h |
| Pixel-artist M2 p8–p12 | 0.4 | 3.77h | 4.24h |
| Content-nl M2 c5 | 0.5 | 3.77h | 5.35h |
| Composer M2 k5–k9 | 0.7 | 3.77h | 4.48h |
| Battle M2 b7–b13 | 1.4 | 4.24h | 5.64h |
| Playtest handback fixes | 0.7 | 5.3h | 6.03h |
| Menu screens polish audit | 0.3 | 5.38h | 5.71h |
| Menus, HUD and fonts polish | 1.9 | 5.94h | 9.95h |
| Walk cycle sample | 0.9 | 5.94h | 6.89h |
| Battle demo polish | 3.5 | 5.94h | 10.1h |
| Breathing pass on R1 maps | 1.6 | 5.97h | 7.66h |
| World polish leftovers | 3.8 | 6.03h | 10.5h |
| Fresh-eyes QA of live first 15 min | 0.8 | 6.94h | 7.76h |
| English learning-language pack | 1 | 7.39h | 8.46h |
| Repave Kaasmarkt, art leftovers | 0.4 | 8.42h | 8.79h |
How I work now
Multi-agent runs. One lead agent plans and writes briefs; a crew of subagents builds, overnight included. In September the subagents took over most of the hours.
- Subagents
- Main sessions
Table
| Week of | Subagent AH | Main session AH |
|---|---|---|
| Jun 8 | 0 | 1 |
| Jun 15 | 2 | 19 |
| Jun 22 | 0 | 0 |
| Jun 29 | 1 | 33 |
| Jul 6 | 18 | 65 |
| Jul 13 | 12 | 33 |
| Jul 20 | 67 | 43 |
| Jul 27 | 54 | 51 |
| Aug 3 | 47 | 31 |
| Aug 10 | 17 | 28 |
| Aug 17 | 11 | 8 |
| Aug 24 | 1 | 1 |
| Aug 31 | 16 | 16 |
| Sep 7 | 17 | 12 |
| Sep 14 | 105 | 29 |
| Sep 21 | 68 | 30 |
| Sep 28 | 485 | 85 |
| Oct 5 | 347 | 115 |
| Oct 12 | 96 | 42 |
| Oct 19 | 364 | 95 |
| Oct 26 | 257 | 61 |
What one agent-hour buys
- net committed lines of code
- ~1,270
- tool calls
- ~250
- mean 1.37 AH, median 35 min, last 14 days
- ~1 brief
58% model, 42% tools: builds, tests, browsers, renders. Lines are a sanity check, not a plan.
Against a human hour
The human is me: 2,578 commits across 107 repos, 2011 to mid-2022, before Copilot. Hours come from commit timestamps (commits under 2 hours apart are one session, plus 30 minutes before each). Both sides count code only and drop commits over 3,000 lines.
- net lines per coding hour, me (466 added)
- 235
- net lines per agent-hour (1,423 added)
- 1,267
- in net lines, 3× in lines added
- ~5×
- dested, per coding hour
- Agents, per agent-hour
Table
| Who | Net lines per hour | Hours |
|---|---|---|
| dested, 2014 | 563 | 97 |
| dested, 2015 | 183 | 83 |
| dested, 2016 | 168 | 72 |
| dested, 2017 | 210 | 118 |
| dested, 2018 | 237 | 154 |
| dested, 2019 | 238 | 308 |
| dested, 2020 | 203 | 428 |
| Agent-hour | 1,267 | 979 |
3× to 8× depending on how sessions are cut. Agents keep 89% of what they add; I kept half. Timestamps miss my thinking between commits, so my rate is flattering. In eleven years I logged about 1,390 coding hours; my agents logged 2,660 in five months.
Effort and quality
Opus 5.5 subagents over the last 30 days, by the effort they ran at: 1,340 briefs. Medium and high cost the same: about 0.92 AH a brief and 2,390 build lines an hour. An xhigh brief takes 2.0× as long and writes 46% of the lines per hour.
Mean AH per brief
Build lines per AH
Fix briefs
Fix AH per build AH
Table
| Effort | Briefs | Mean AH | Median min | Build lines per AH | Fix briefs | Fix AH per build AH |
|---|---|---|---|---|---|---|
| medium | 603 | 0.92 | 28 | 2,408 | 8% | 12% |
| high | 505 | 0.91 | 26 | 2,368 | 5% | 11% |
| xhigh | 232 | 1.80 | 56 | 1,110 | 3% | 5% |
Two weeks after it lands, about nine in ten lines an agent wrote are still there (91.6%, 2,688 commits). Mine, before AI: just under six in ten (58%, 2,142 commits). Commits are about the same size on both sides (~310 code lines), so this isn’t commit granularity.
Effort barely moves survival: 93% at medium, 93.9% at high, 90.6% at xhigh. The slow xhigh brief survives slightly worse, because xhigh is where the unsolved problems go. What effort buys is less rework: fix time drops from about 12% of build time at medium and high to 5% at xhigh.
Survival counts churn, not correctness: code nobody touches survives too, and a line moved to another file counts as gone.
- Agent commits
- Mine, before AI
Lines still there after 14 days
Table
| Group | Commits from | Still there | Lines added | Commits |
|---|---|---|---|---|
| All | All agent commits | 91.6% | 887,488 | 2,688 |
| Role | subagent | 93.1% | 687,685 | 1,916 |
| Role | lead | 86.2% | 199,803 | 772 |
| Effort | medium | 93% | 292,980 | 599 |
| Effort | high | 93.9% | 276,013 | 755 |
| Effort | xhigh | 90.6% | 92,757 | 336 |
| Model | Opus 5.5 | 92.4% | 763,881 | 2,325 |
| Model | Fable 5 | 82.6% | 79,346 | 102 |
| Model | Sonnet 5.5 | 94.5% | 17,807 | 207 |
| Model | Opus 4.8 | 91.1% | 16,984 | 44 |
| Kind | build | 93.6% | 577,807 | 1,275 |
| Kind | asset | 89.2% | 70,980 | 266 |
| Kind | fix | 92.8% | 10,759 | 133 |
| Kind | media | 95.3% | 4,341 | 164 |
| Kind | research | 94.4% | 4,259 | 36 |
| Baseline | dested, before 2022 | 58% | 634,900 | 2,142 |
Survival: the share of a commit’s added code lines still blamed to it at the first main-branch commit 14+ days later (HEAD if the repo went quiet). Commits over 3,000 lines left out on both sides. Also left out: 2,495 commits younger than 14 days, 20 that never reached main, 122 over the size trim. As of 2026-10-29.
Briefs keep getting bigger
Mean agent-hours per subagent, by week. In August a brief was a ten-minute errand; now it’s a lane for the night.
Table
| Week of | AH per brief | Briefs |
|---|---|---|
| Aug 10 | 0.15 | 111 |
| Aug 17 | 0.15 | 70 |
| Aug 24 | 0.13 | 12 |
| Aug 31 | 0.13 | 120 |
| Sep 7 | 0.19 | 90 |
| Sep 14 | 0.41 | 252 |
| Sep 21 | 0.29 | 236 |
| Sep 28 | 1.05 | 454 |
| Oct 5 | 0.73 | 468 |
| Oct 12 | 0.56 | 165 |
| Oct 19 | 1.22 | 290 |
| Oct 26 | 2.14 | 117 |
How long a brief takes
Last 14 days. Bar from median to 80th percentile, tick at the mean. Plan by the mean.
- Median to p80
- Median
- Mean
Table
| Kind | Median AH | p80 AH | Mean AH | Briefs |
|---|---|---|---|---|
| Media | 1.01 | 4.22 | 1.99 | 20 |
| Build | 0.72 | 2.60 | 1.81 | 252 |
| Fix | 0.90 | 2.55 | 1.59 | 35 |
| Asset | 0.87 | 2.12 | 1.32 | 63 |
| Plan | 0.34 | 0.63 | 0.40 | 10 |
| Writing | 0.25 | 0.60 | 0.32 | 27 |
| Research | 0.22 | 0.34 | 0.23 | 65 |
| Review | 0.12 | 0.22 | 0.16 | 26 |
S, under 0.5 AH
- Rollback netcode0.45
- AWS CDK stack0.43
- Drag-and-drop quote page0.16
M, 0.5 to 1.5 AH
- Robot Works new models0.95
- Ad landing pages0.89
- Read-aloud voice lines0.56
L, 1.5 to 4 AH
- Levels 31–100 for launch2.69
- Game audio pass2.56
- Solitaire, tiles and arrows engines2.09
XL, over 4 AH: split it
- Scope a shelf of four games10.06
- Fix card blockers8.37
- Play: session and controls5.79
Reference classes
Total agent-hours per project, every session included. One-night builds cluster at 27–42 because the night is the time box.
Table
| Project | Class | AH |
|---|---|---|
| bx | Tool or small app | 15.8 |
| ChirpTime | Tool or small app | 16.1 |
| Drydock | Tool or small app | 35.2 |
| handback | Tool or small app | 35.7 |
| Personal agent | Tool or small app | 54 |
| OCHRE | One-night game or MVP | 27.2 |
| HEAT CHECK | One-night game or MVP | 33.8 |
| Hometeam | One-night game or MVP | 36.9 |
| Genesis dev desk | One-night game or MVP | 37 |
| Paint Paws | One-night game or MVP | 39.8 |
| OurSonic editor | One-night game or MVP | 41.8 |
| Lexemon | One-night game or MVP | 42.5 |
| Store Brand | Multi-night system | 70.9 |
| Subpixel | Multi-night system | 73.1 |
| SceneBeans | Multi-night system | 97.8 |
| Jig | Multi-night system | 104.2 |
| celworld | Multi-night system | 116 |
| Duskbound | Multi-night system | 137.9 |
| Facility platform rebuild | Flagship product | 371.8 |
| Game Creators Club | Flagship product | 469.2 |
Scoping a project
- List the lanes and their briefs. Size each brief by its kind’s mean, or against the S, M, L and XL examples.
- Multiply by 1.7 for the briefs nobody planned.
- Add 20% for the lead.
- Check against the closest reference class. More than 2× apart means one of them is wrong.
- Divide by 35 for nights.
project AH ≈ Σ(brief means) × 1.7 × 1.2 nights ≈ project AH ÷ 35
The full rubric, with every table: how to scope. Have Claude write the report, then read it in the scope viewer.
Measure yours
One TypeScript file reads your Claude Code transcripts and local git, and prints your own numbers. Nothing leaves your machine.
Measure yours