← back

Developing with Agents

The 2026 dev loop — how to ship faster and more completely with AI coding agents. Method first, then tools, then models.

Living research digest. Assembled from primary papers, vendor docs, and practitioner writeups — not an authored essay. Skim the bold for the signal; the rest is evidence to dig into. Where a benchmark number is contested, it's attributed and caveated rather than stated as fact.
The operating model in one paragraph

Freeze intent in a short spec. Cheap models map the codebase, the frontier model decides. Parallel worktree agents implement against a frozen interface. Every output passes executable oracles first, adversarial review second, held-out checks the implementer never saw third. Background agents live in PRs behind CI; humans sit at intent, irreversibility, and taste — nowhere else. All of it runs inside a harness you engineer and prune like production software, because the harness — not the model — is the part that compounds. Measure wall-clock and rework, never feel.

The meta-risk: perceived speed ≠ measured speed. METR's randomized trial found experienced open-source developers were 19% slower with early-2025 AI tools while believing they were 20% faster (METR, arXiv 2507.09089; METR later revised the design and labels it historical). The lesson isn't "agents slow you down" — it's that every pattern below exists to close that perception gap with mechanism. Instrument cycle time and rework rate, or you navigate by vibes.
What brings you here?

Methodology — what actually makes it fast and complete

Speed comes from parallelism and cheap-model breadth; completeness comes from verification loops and specs. Teams that get only one half get either fast garbage or slow correctness. The unit of leverage in 2026 is not the model — it's the harness around it: the specs, evals, verifiers, and orchestration. Scaffolding gains compound while raw model gains saturate, because a harness acts as a compositional generalizer: it decomposes an out-of-distribution task into in-distribution model calls (Zhang, 2026; HarnessX).

1. Spec-driven / plan-then-execute

An agent's failure mode is confident divergence — it fills underspecified intent with plausible-but-wrong choices, and the cost compounds over a long trajectory. A spec front-loads ambiguity resolution to the cheapest point (before code exists) and gives every later check an oracle. GitHub's Spec Kit formalizes it as constitution → spec → plan → tasks → implement.

2. Verification & adversarial review loops

Generation–verification asymmetry: checking a diff against a spec or test is far easier than producing it, so a second call at verify-time buys reliability cheaply. Stacked independent checks fail somewhat independently, so error rates multiply down. The hierarchy that matters:

test-as-oracle > compiler / typechecker > LLM-judge-with-rubric > freeform LLM judge.

3. Parallelism — worktrees, fan-out/fan-in, barriers

Agent latency is dead wall-clock time for the human; N isolated git worktrees turn one supervisor into a pipeline manager, and isolation makes agent failure cheap (a bad branch is deleted, not untangled). The quiet workhorse is best-of-N with a verifier: N candidate implementations of one spec, a judge picks the winner.

4. The model economy — cheap breadth, expensive depth

Most tokens in a dev loop are reading — mapping the repo, fetching docs, grepping candidates. That work is verification-cheap, so it tolerates a weaker model. Route: haiku-class for mechanical lookups and mapping, sonnet-class for investigation and template-heavy code, frontier for architecture, synthesis, and irreversible decisions.

5. Context & memory engineering

Attention degrades non-uniformly as the window fills — "context rot" studies show retrieval quality falls mid-context (context-rot mitigation, LOCA-bench). Anthropic's framing: design for "what configuration of context is most likely to generate the desired behavior" — favor just-in-time retrieval over pre-loading, plus compaction and persistent memory (Anthropic).

6. Eval-driven development

Evals are to agent behavior what tests are to code — the only steering wheel that survives model swaps, prompt edits, and harness changes. The loop: collect real failures → turn each into a graded case → change prompt/harness → re-run → keep only changes that move the number. Test generation is the bridge into ordinary dev: have one agent write failing tests from the spec before implementation (a spec-comprehension check and an oracle in one), and a different agent write the code.

7. Harness design — scaffolding beats raw model gains

Transformers generalize poorly compositionally; a harness supplies the inductive bias by decomposing a task into steps where each call sits near its training distribution. Practically: a mediocre model in a great harness beats a frontier model in a bad one on your tasks, and harness improvements are durable across model generations — they're the part you own. Concretely that means fewer, sharper tools with token-efficient outputs, clean subagent boundaries (each returns a conclusion), skills (packaged, versioned, testable process knowledge loaded on demand), and deterministic scaffolding wherever possible (a bash script that always works beats an LLM step that usually works).

8. CI / async integration — where humans belong

The PR is the natural containment vessel: a background agent that opens a PR is sandboxed by branch isolation, gated by CI, reviewed by the existing social process — no new trust machinery needed. The 2026 default shape is issue → background agent → PR with passing checks → human review → merge. Humans belong at intent (writing/approving the spec), irreversibility (merge, deploy, schema/data migration), and taste (API surface, naming, architecture) — not per-tool-call or per-file.

Tools — the 2026 landscape

Pick by whether you want speed, control, or autonomy. The terminal-first agents lead on large-repo autonomy; the IDEs lead on line-level visual work; the open-source field leads on model flexibility and cost.

Coding agents & CLIs

ToolShapeWhere it wins
Claude CodeTerminal-first agentAutonomous multi-file work on large repos; skills/subagents/hooks harness
OpenAI Codex CLITerminal + cloudGPT-native agentic coding; strong Terminal-Bench; cloud "background" runs
CursorAI IDEVisual, line-level work; the gold-standard editor experience
GitHub CopilotEditor + coding agentBroadest editor coverage; PR-opening coding agent in CI
Gemini CLI / AntigravityCLI + agent platformGenerous free tier; Google's agentic dev platform
Cline / Aider / OpenCodeOpen-sourceModel-flexible, free (pay only for tokens); scriptable

Orchestration & parallel execution

The pattern that unlocks parallelism is git worktrees: each agent gets its own working copy over one shared history, killing branch collisions and stash chaos (Augment, Upsun). Cost caveat: worktrees are full copies — 20 of a 10 GB repo is 200 GB+ of disk. Five recurring orchestration shapes: Solo, Parallel Workers, Pipeline, Hub-and-Spoke, Swarm (Osmani, amux). Tools like Composio AO (isolated worktree + PR per agent, one dashboard) and dmux (agent×worktree over tmux) sit on top; see the awesome-agent-orchestrators list.

MCP — the tool-integration standard

The Model Context Protocol became the universal tool layer in 2026: native in Claude, ChatGPT, Gemini, Copilot, and Cursor, governance under the Linux Foundation. Registries fragment across PulseMCP (~15,900+ servers), Smithery (~7,300), and the official registry (~9,650 records as of May 2026) (tracker). The 2026-07-28 spec RC adds MCP Apps (server-rendered UIs) and a Tasks extension for long-running work, plus cacheable tools/list and load-balancer-friendly routing.

Verification, review & test-gen in the loop

Automated CI gates (tests, lint, typecheck) are necessary but not sufficient: always diff main..agent/branch and check for scope creep before merge. The maturing pattern is a lifecycle manager that catches CI failures, feeds logs back to the agent, retries a bounded number of times, and escalates the rest to a human — verifier-driven loops are now a research line too (Glite ARF: verifier-driven parallel coding agents).

Models & benchmarks

Read benchmark numbers with suspicion. SWE-bench Pro and Terminal-Bench scores fragment badly across public/private/vendor methodologies, and some SEO "leaderboard" sites publish model names and scores that don't corroborate against vendor primaries. Numbers below are attributed to their source and stated as reported, not as settled fact. Where a claim couldn't be traced to a primary source, it's omitted.

Frontier coding models (Jan–Aug 2026)

ModelNote (as reported by source)
Claude Opus 4.6Adaptive Thinking, Agent Teams (parallel Claude Code instances), 1M-token context beta (Anthropic)
GPT-5.2-CodexTuned for agentic coding; context compaction, long-horizon completion (OpenAI)
Gemini 3 / 3.5 FlashPaired with Google Antigravity agent platform; Flash targets fast agentic loops (Google)
Qwen 3.5 CoderOpen-weight (Apache 2.0), ships in 7 size tiers 0.5B–72B for local agentic coding (guide)
DeepSeek-V4MoE, 1M-token default context; strong agentic scores at low cost (arXiv 2606.19348)
MiniMax M2.5230B MoE / 10B active, RL across 200k+ environments; strong Multi-SWE-Bench (MiniMax)
Kimi K2.5Open-source, multimodal; "Agent Swarm" coordinates many parallel agents (Moonshot)

Benchmarks worth watching

Honest limits & anti-patterns