Agent Factory recap: Agent harnesses, shifting left, and autonomous coding
Google Cloud engineer Ryan Lopopolo explains how agent harnesses enable autonomous coding by providing tools and context, shifting interventions earlier in development to reduce oversight and improve reliability.
Google Cloud software engineer Ryan Lopopolo introduces the concept of an agent harness, a framework that surrounds a large language model to enable autonomous actions beyond basic responses. Unlike an unassisted model, which can answer simple questions but lacks access to live data, an agent harness captures user intent, queries tools like weather APIs, and bundles relevant context into prompts. For example, when asked whether to wear a raincoat, the harness fetches current weather data and delivers a grounded answer. This setup allows models to interact with workspaces, check conditions, and perform tasks without constant human input.
Lopopolo describes shifting interventions left in development by embedding standards directly into the environment, such as linters, tests, and documentation files like AGENTS.md. This approach reduces the need for manual prompt adjustments and retries, which do not scale across teams. By structuring markdown files with link anchors beneath prose blocks, developers can mitigate context clutter and retrieval issues. Engineers review end-state artifacts like pull requests to inspect execution runs, identifying where agents deviate from expectations and refining their behavior accordingly.
The agent harness paradigm replaces traditional code editing with natural language specifications, where engineers inspect final outputs rather than authoring individual lines of syntax. Lopopolo has not used a traditional code editor since May of the previous year, relying instead on harnesses to ground models in structured documentation and discoverable tools. Upfront investment in harness design allows engineers to become "lazy prompters," as models autonomously navigate large codebases and execute complex tasks by pulling relevant context on demand.
Lopopolo advises against building custom agent harnesses from scratch, recommending instead the use of standard harnesses that provide foundational primitives like file reading and command execution. He emphasizes focusing efforts on improving tools and context to leverage new models as they emerge, avoiding technical debt from rigid frameworks. At Google Cloud, he works to eliminate capability overhang by equipping agents with direct interfaces to cloud infrastructure, turning raw model capability into tangible enterprise utility.