◉ANTIGRAVITY LABJP
Articles/AI Tools
⚙ AI Tools/2026-07-26Advanced

Routing /effort by Task Class in Antigravity CLI: Six Weeks of Measurements

I built a small router that picks an /effort level from the shape of the task, then aggregated six weeks of run logs. Here is where raising effort helped, where it actively hurt, and what mattered more than effort.

Antigravity CLI41effortagent design12operations33measurement8

✦ Premium Article

The same kind of request would come back in forty seconds one day and four minutes the next.

As an indie developer pushing a steady stream of small fixes through the CLI, not being able to predict that gap is quietly annoying. I assumed it was load on the model side. Reading back through my logs, it wasn't. I had raised /effort for an earlier piece of work and carried that setting straight into a small wording fix.

What bothered me more: the slower runs weren't reliably better. They often arrived carrying changes I hadn't asked for — "I tidied the surrounding code while I was there" — which meant more time spent unwinding them in review.

So I put a small router in front of the CLI that picks an effort level from the shape of the task, and I logged six weeks of runs. Some of it matched my expectations. One part of it was the opposite. Both are below, with the numbers.

What /effort changes, and what it doesn't

/effort arrived in Antigravity CLI v1.1.5 on 21 July 2026. It's a slash command that adjusts how much reasoning the agent puts into a given task.

From what I could observe on my machine, raising the level does three things:

  • The planning phase gets longer, with more cross-file reading before any edit
  • Diffs get coarser. Unrequested cleanup in adjacent code lands in the same change
  • Recovery gets more thorough. When a test fails, it's more likely to trace back to the cause instead of patching the symptom

And two things it did not change:

  • The quality of output when my instruction was vague. Effort does not fill in ambiguity
  • Picking up the wrong file. That turned out to be a workspace-structure and rules-file problem

The available level names shift between CLI versions, so check yours with the /effort help after launching. Throughout this article I use low / medium / high as shorthand for the three levels on my setup. The code below deliberately keeps level names out of the source and in a config file.

Four task classes

Before routing anything, I sorted the work I actually send to the CLI. After reading back about a hundred past runs, I settled on four classes.

ClassWhat it coversTell
mechanicalWording fixes, renames, import tidying, formattingThe correct answer is known in advance
localizedBug fixes and test additions confined to one or two filesThe blast radius is legible
structuralDesign changes, module splits, migrationsThe blast radius is not legible up front
exploratoryRoot-cause work, comparisons, direction-settingMay end without producing a diff at all

Working solo, mechanical work dominates — a little over 40% of my runs. How fast that class turns around sets the tone of the whole day.

The whole distinction rests on one question: can I predict the blast radius before starting? If I can, giving the agent room to explore only means more things arrive that I didn't ask for.

✦

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
✦A complete, runnable Node.js router that derives an effort level from the task description
✦Six weeks and 212 judged runs: first-pass acceptance and latency broken down by task class
✦The task class where raising effort made results worse, and the factor that mattered four times more
Secure payment via Stripe · Cancel anytime
✦

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

Related Articles

⚙ AI Tools2026-10-15
A 50-Line Wrapper That Hands Japanese Proofreading to agy's Headless Mode
Wrap the Antigravity CLI (agy) headless mode in a small proofreading script: how to feed stdin, why exit code 0 can still mean an empty answer, the argument-length ceiling, and a cost estimate that accounts for the January 2027 price change.
⚙ AI Tools2026-09-15
The Day I Stopped Splitting by Skill — Three Questions for Routing Work Between Antigravity CLI and Claude Code
An unattended job sat waiting on an approval prompt for three days without a single error line. Here is how I stopped dividing work between two agent CLIs by capability, and started dividing it by where the approval boundary falls.
⚙ AI Tools2026-09-14
The October 16 date I could not find — taking stock of Gemini model shutdown dates yourself
A widely repeated shutdown date for the Gemini 2.5 family is not on the official deprecations page. Here is how I pull every model ID out of a repository and reconcile it against a ledger I maintain myself, with working scripts.