Agent Factory recap: Harness engineering for autonomous coding

The Agent Factory episode with Ryan Lopopolo, a software engineer at Google Cloud, centers on what it takes to run autonomous coding agents in production. Lopopolo, who coined the term agent harness, defines an AI agent as an LLM plus the harness: everything around the model that is not the model itself. In the Google Antigravity example, Gemini 3.8 Flash is the LLM and Antigravity is the harness. A bare model can answer simple questions but cannot check live conditions; the harness catches intent, queries tools such as live weather services, bundles the context back into the prompt, and returns an informed answer.

Lopopolo says he has not opened a traditional code editor since May of last year. Instead, engineers write natural language specifications and review final artifacts such as pull requests, documents, and spreadsheets. He calls the surrounding discipline harness engineering: putting a model into an environment where it can succeed, rather than doing prompt and pray. A well-built harness lets engineers become lazy prompters because the repository’s structured docs, interfaces, and discoverable tools let the model pull its own context.

A key concept is shifting left: moving interventions earlier in the development lifecycle, from prompts to repo docs, linters, tests, and upstream evals. Linters, tests, and AGENTS.md files act as durable memory and enforcement of quality standards. Pairing agents with standard command-line tools also moves reasoning into determinism, so the model does not have to aggregate context itself. For documentation, placing link anchors under their corresponding prose blocks reduces context clutter and avoids lost-in-the-middle retrieval issues, which matters because Lopopolo reviews end-state artifacts and needs to see where an agent went off the rails.

The central challenge is coherence over long time horizons. Scoped, reviewable pull requests narrow the agent’s state space, and stacking high-confidence changes lets teams expand the loop until agents can run large initiatives such as language migrations. Lopopolo compares improving an agent to building an RPG character sheet: adding a React architect to a team bumps the agent’s front-end stats, and the agent can later classify incoming work and apply the relevant expertise. For custom harnesses, his advice is not to build one from scratch; standard harnesses already provide file reading, grep, and command execution, and bespoke scaffolding becomes debt and a sunk-cost trap when frontier models advance. Investing in tools and context lets teams adopt new models freely and accrue leverage in a part of the system that will not become obsolete.

At Google Cloud, Lopopolo wants to eliminate capability overhang: the gap between what frontier models can do and the useful work actually extracted in production. He also stresses continually updating priors on AI because what broke six months ago may work today, and engineers should build around the two extensible interfaces that survive model upgrades: tools and context.

The post then covers a live demo section. Billy Jacobson shows why developers should understand harness internals and evaluates three design decisions per workflow: looping, tools, and memory. A linear agent harness is deterministic single-pass execution, good for inspections and file transformations where the same flow must run every time. A closed-loop harness performs iterative test-driven repair: it applies an edit, runs the unit tests, feeds failure logs and stack traces back into the agent’s working memory, and repeats until tests pass, with a five-iteration ceiling to cap cost. A guardrail harness built with Google’s Agent Development Kit (ADK) adds context compaction to avoid context-window bloat and interception hooks that stop risky shell actions such as recursive deletes, database drops, or unauthorized git pushes.

Finally, Smitha Kolan argues that coding agents do not need a smarter model; they need a better stack of model, harness, and knowledge. Gemini 3.8 Flash is positioned for high-frequency agentic loops of 20-60 hops per task, where latency and cost compound. Google Antigravity with /boost spins up an orchestrator that coordinates specialized sub-agents in parallel and finishes with an independent audit pass before modifying files. The Google Skills repository, with over 19,000 GitHub stars and 100+ curated packages across Google Cloud, Firebase, Flutter, and Maps, injects domain context on demand so agents do not guess cloud configurations. The overall takeaway is that developer leverage comes from shifting best practices left and investing in tools, deterministic verifiers, and curated context that survive model upgrades.

Agent Factory recap: Agent harnesses, shifting left, and autonomous coding

View Original