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 CLI17effortagent design10operations26measurement4

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-07-01
Measure Before You Trim: A Context Ledger for Antigravity CLI Token and Latency Costs
Prompted by the ~70% token reduction reported for the Android CLI agent, I built a thin wrapper and a weekly review to measure my own agent runs. Here is how I replaced whole-file context with line ranges and cut wait times.
Agents & Manager2026-07-18
Treating Code Search as a Contract: Measuring the /codesearch Regex Default
Antigravity CLI 1.1.3 interprets /codesearch queries as regular expressions by default. I measured the gap between regex and literal matching across a 979-article repository and turned the results into three query rules and a drift harness.
Integrations2026-06-13
Running Antigravity CLI Headless: Design Before It Hits CI and cron
The Antigravity CLI was rewritten in Go. Here is how to run it unattended in CI and cron, covering exit codes, idempotency, timeouts, and output parsing.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →