Google researchers open sourced EnvHarness, a framework that dynamically adapts agent-training environments to an agent's weaknesses without modifying the agent, environment, or evaluation system. According to the researchers, this approach can improve both learning effectiveness and efficiency while helping agents overcome their weaknesses.
According to the research authors, self-evolving agents typically improve by rewriting their prompts and acquiring new skills, but rarely adapt the environments in which they operate. This has important consequences:
An agent that keeps improving against a frozen benchmark eventually stops learning from it. The start states, the rules and the feedback are the same for every learner at every stage, so once the agent can solve the tasks, the environment has nothing further to teach.
Environment generation, the researchers explain, is expensive, requiring domain-specific pipelines and often relying on expensive or unreliable verifiers Despite these efforts, the resulting environments remain static. To make it easier for engineers to train agent in adaptive environments, they created EnvHarness.
EnvHarness acts as a programmable layer of plug-in components that wraps a static environment, changing only the interface the agent interacts through. By dynamically introducing mutations, it can reshape the environment's behavior without altering its underlying structure or evaluation system.
EnvHarness wraps an existing environment using its standard reset() and step() interface and provides three kinds of composable components: setup, which customizes the environment's initial state; rule, which constrains state transitions in response to agent's actions; and link, which customizes the observation presented to the agent.
The framework also introduces EnvRigger, which automatically determines how to adapt an environment to a particular agent by analyzing agent behavior, identifying recurring weaknesses, generating targeted modifications, and validating them through fresh interactions.
Repeatedly executing the EnvRigger loop enables continuous co-evolution between the agent and its environment, unlocking compounding performance gains that scale effectively with the number of customized tasks.

According to Google's paper, adding the EnvHarness layer improved agent performance across benchmarks including WebArena, SWE-bench Verified, and ALFWorld, without modifying their core logic. The researchers tested several models, including Gemini 3.1 Flash-Lite, Qwen3.6 27B, Gemini 3.5 Flash, and Claude Sonnet 4.6, all of which showed performance gains of between 2.9 and 3.7 percentage points.
The researchers conclude that EnvHarness delivers consistent gains where static environments cannot, generalizes across domains through a domain-agnostic interface, and improves efficiency by repairing wasteful behaviors.
Commenting on the announcement, Asif Razzaq, founder and CEO at Marketechpost, noted on LinkedIn that EnvHarness
wraps an existing environment through the standard reset/step interface, so the original tasks and human-built verifiers stay in place. An LLM designer writes the wrappers against flaws it finds in the agent's own rollouts.
Similarly, DevOps engineer Aniket Kumar emphasized that the Stage (setup), Contract (rule), and Chain provide a clean abstraction that preserves benchmark verifiers, avoiding a common pitfall of other environment-scaling approaches.