First surfaced in Tandemly Briefing — 2026-08-24.
The environment
is the bottleneck.
Google researchers built EnvHarness: a programmable layer that wraps an existing agent training environment and reshapes its behavior to target the specific agent learning in it, without touching the environment's internal logic or replacing its verifier. A companion tool, EnvRigger, automates the wrapping by watching the agent's own failure trajectories and synthesizing harness components aimed at the diagnosed weaknesses.
Static environments,
improving agents.
A training environment designed for a weak agent does not automatically become the right environment for a stronger one. Most pipelines never account for this.
Training environments for AI agents are built once. They're calibrated around a set of tasks during early development, stress-tested until the pipeline works, and then used for the rest of the project. Nobody goes back to redesign the environment just because the agent improved. The environment is a fixed backdrop, not an active participant in training.
This creates a slow leak. As the agent gets better, the challenges that once produced useful learning signals become routine. The agent's actual current weaknesses, the places where it consistently fails, are almost certainly different from the ones the original environment was built to probe. The training signal gets stale. Performance plateaus. Teams often reach for a bigger model or more compute when the real bottleneck is that the environment stopped teaching anything new.
The conventional response is to build more environments. Add new tasks, generate new scenarios, commission domain experts to write harder cases. This works, but it's expensive. The hardest part isn't designing new tasks. It's verifying them. A verifier that reliably checks whether an agent genuinely completed a task (not just whether its output looks plausible) takes real engineering effort to write and is brittle when generalized to new task types.
Prior work on automatically generating new environments ran into this ceiling. Generated tasks either came without reliable verifiers, or the generation process operated independently of the specific agent's failure modes, so new tasks were essentially random from the learning perspective. They might probe an area the agent was already strong in. They might avoid the exact weakness that was limiting progress. There was no closed loop between what the agent struggled with and what the environment asked it to do.
What if, instead of replacing the environment, you wrapped it? Keep the original tasks, the original verifier, the original logic. Add a layer on top that reshapes behavior, difficulty, and observation based on what the current agent specifically gets wrong. Let the environment and the agent evolve together.
Wrap it first,
rebuild later.
EnvHarness is a plug-in layer. EnvRigger is the tool that fills it automatically. Together, they close the loop between agent behavior and environment design.
The harness sits between the agent and the existing environment. It intercepts what the agent sees, what actions are available, and what happens when the agent acts. A harness can make certain scenarios appear more often, alter the difficulty gradient for specific subtasks, or reshape observations for the situations where the agent fails most. Crucially, it does all of this without modifying the environment's underlying logic. The original verifier, the thing that says whether the agent succeeded, stays in place. Whatever engineering effort went into making that verifier reliable is preserved.
This design choice matters practically. Verifiers are expensive to build and easy to break when you generalize them to new task structures. By wrapping the environment rather than replacing it, EnvHarness separates two concerns that previous approaches conflated: the question of what tasks to generate (the harness handles this) and the question of whether the agent completed them correctly (the original verifier handles this). You keep what works. You add only what's needed.
EnvRigger automates the harness construction process. It treats the agent as a black box, collects execution trajectories from the current environment, and identifies failure clusters. From those clusters, it synthesizes harness components targeted at the specific patterns it found. A validation step follows: EnvRigger runs fresh rollouts to confirm that the wrapped environment actually provokes the diagnosed failure modes, and that correct handling of those situations still leads to success. If the validation fails, the harness is revised.
EnvHarness reshapes behavior through standard interfaces. It does not require access to the environment's source code or any modification of its internal state machine. This means the harness is portable: it can be applied to environments that were built without extensibility in mind, including many of the off-the-shelf benchmark environments teams use in practice.
Held-out gains,
not just training wins.
The numbers matter only if they hold up on tasks the harness was not built to address. They do.
The held-out figure is the one to focus on. A gain on training tasks could mean the harness overfit to its own construction conditions. Improving on held-out instances, tasks the harness never directly targeted, suggests the agent developed more general capabilities rather than patching specific patterns.
The comparison against domain-specific generation pipelines is also notable. Those pipelines were tuned for their respective domains, while EnvHarness uses only what it observes in the agent's trajectories, no domain-specific knowledge beyond the failure logs. Beating tuned domain baselines without that expertise suggests the trajectory-grounded approach is capturing something hand-designed alternatives miss.
The reduction in execution steps hints at a second benefit: a harness that keeps probing the agent's weaknesses may produce a better reinforcement learning signal than a static environment that the agent has largely figured out. A static environment reaches a floor of useful gradient information once the agent handles its fixed difficulty range. A harness that tracks current weaknesses keeps the signal fresh longer into training.
Results span five benchmarks in four domains. Numbers are reported as maximums across that range, so individual domains will vary. The paper did not run ablations on harness construction frequency or the number of EnvRigger synthesis rounds needed before quality plateaus. These are the questions a practitioner would want answered before committing to a harness-first workflow.
Who this changes
what for.
EnvHarness is most directly actionable for teams that train or fine-tune agents with RL or behavioral cloning inside a fixed task environment.
Next steps
from here.
Concrete actions, starting with what you can do before touching any new infrastructure.