TTHE: Test-Time Harness Evolution
summary
The gist
The gist The behavior of an LLM agent is determined not only by its underlying model, but also by its harness: the executable program that constructs context, invokes tools, verifies intermediate
In short
Test-Time Harness Evolution (TTHE) optimizes an AI agent's execution program (harness) during evaluation without changing the underlying model or needing human labels. It iteratively refines a population of candidate harnesses by observing execution traces and using proxy signals to select the best harness for subsequent inputs, leading to improved grounding and verification policies.
Key concepts
- Test-Time Harness Evolution (TTHE)
- TTHE treats the executable program that controls an AI agent's behavior (the harness) as the state being adapted during testing. It refines this harness by running it on test data and using automated agents to propose and select better versions based purely on execution traces, not external rewards or labels.
- Proxy Signals
- Since TTHE avoids relying on gold labels or scalar rewards, it derives lightweight signals from execution traces to judge harness quality. These include 'Execution health' (whether the output runs without error), 'Round-trip consistency' (checking if the output matches a description derived from it), and 'Public-test pass rate,' which uses existing public tests as incomplete evidence.
- Agentic Proposers
- These are agents that operate within TTHE to refine the harness. They reason over the execution traces generated by various candidate harnesses, identifying weaknesses in their logic or tool usage. Their job is to propose edits to the parent harness, effectively guiding its evolution toward a more reliable control program.
- Harness (Executable Program)
- The harness is the specific executable code that dictates how an LLM agent interacts with tools and context. TTHE focuses on optimizing this program—how it constructs prompts, calls tools, validates results, and recovers from errors—rather than changing the frozen LLM itself.
Terminology used across episodes
This episode discusses
- TTHE: Test-Time Harness Evolution · Paper Radio
- Program Synthesis with Large Language Models
- MOSS: Self-Evolution through Source-Level Rewriting in Autonomous Agent Systems
- CodeT: Code Generation with Generated Tests
- Evaluating Large Language Models Trained on Code
- Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation
- EvoTest: Evolutionary Test-Time Learning for Self-Improving Agentic Systems
- DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines
- Meta-Harness: End-to-End Optimization of Model Harnesses
- Self-Taught Optimizer (STOP): Recursively Self-Improving Code Generation
- Self-Harness: Harnesses That Improve Themselves · Paper Radio
- Darwin Godel Machine: Open-Ended Evolution of Self-Improving Agents
The paper
TTHE: Test-Time Harness Evolution · Read on arXiv
Jun Nie, Yonggang Zhang, Jun Song, Qianshu Cai, Dahai Yu, Yike Guo, *Xinmei Tian*, *Bo Han*
Hong Kong Baptist University · University of Science and Technology of China
Transcript
Introduction to the show: ident: AI Radio. Generated commentary on the latest Artificial Intelligence papers.
Tom: I'm Tom, and with me are Jane, Lu, senior AI researcher at Tsinghua, Meng, lead engineer at a mysterious AI startup and Lalam, the in-house Large Language Model.
Jane: Today's paper: "TTHE: Test-Time Harness Evolution".
Tom: The gist The behavior of an LLM agent is determined not only by its underlying model, but also by its harness: the executable program that constructs context, invokes tools,
Jane: First, who's behind it and why it matters.
Paper summary: Tom: So, we're talking about this paper called "TTHE: Test-Time Harness Evolution." The main idea here is that the way an AI agent actually behaves isn't just about the model itself, but also the executable program that controls it—the harness.
Jane: Exactly. This paper argues that existing methods optimize this harness before deployment, searching for a fixed workflow in training data and freezing it at test time. But this is limited when the real test inputs or failure modes are different from what they saw during development.
Tom: So TTHE suggests we can optimize that harness right during evaluation, using only the traces the agent produces on its test inputs. It treats the executable harness as if it's adapting in real-time during testing.
Lu: That’s really interesting because it moves the optimization into the evaluation process itself rather than searching for a fixed setup on labeled development instances and freezing it. This means we don't need gold labels or training a separate adaptation model.
Meng: So, instead of finding the perfect workflow beforehand, we use unlabeled test batches to refine a population of candidate harnesses through an agentic proposer that reasons over the execution traces they generate without any supervision.
Lalam: The adaptation target is this executable control program that wraps the frozen solver M and decides how the agent builds context, invokes tools, validates intermediate results, and recovers from failures. It’s about evolving that whole control structure on-the-fly during testing.
Tom: Right. And to guide this evolution they use execution traces—things like model prompts and completions, tool calls and outputs, stdout or stderr—to derive some lightweight proxy signals to show what reliable execution looks like.
Jane: They use these proxy signals, such as "execution health," which is a score from zero to one indicating whether the agent runs without error and returns a well-formed result. They also have round-trip consistency, which checks if the output can be inverted back into a description and scored against the input.
Tom: And they use public test pass rates as another signal, which just shows how often an output passes some public examples or repository tests—it's direct but incomplete evidence of success.
Lu: The methodology involves a judge loop where the solver, proposers, and judge are all different roles and harnesses around the same frozen LLM. They demonstrate gains across five execution-grounded domains including Text-to-SQL, competitive programming, software engineering, and data science coding.
Meng: So they show tangible improvements in these areas. For instance, in Text-to-SQL for the BIRD task, they improved it from twenty percent to fifty percent by evolving the harness this way. And for SWE-bench Verified they got that up from twenty percent to thirty five percent as well.
Paper summary: Jane: The evolved harnesses aren't just better; they are inspectable source code, meaning you can actually look at the policy improvements they made, like value grounding through database probes or explicit output-shape checks for Text-to-SQL.
Tom: It sounds like this entire approach is focused on turning evaluation time execution into actual updates to the program that controls an agent without touching the model's weights or needing gold labels. This is a big shift away from adaptation methods that fine-tune model parameters during testing.
Lu: The paper points out that this transductive test-time adaptation setting, where a batch supplies traces used to select a harness, doesn't automatically establish forward generalization for future inputs. That’s an important caveat they bring up.
Meng: And the decisive test left for future work is prequential scoring—evaluating the harness committed on one batch against the next batch before it adapts to that next one. That sounds like where they need to go next.
Jane: They also highlighted that selection is made by a learned agentic judge, and their selection regret above shows there’s still room for improvement in how that judge picks the best harness from the candidate set.
Tom: So, looking at "TTHE: Test-Time Harness Evolution," it’s about using evaluation traces to evolve the control program of an AI agent on the fly, rather than pre-optimizing a fixed workflow. The authors show it improves baseline ReAct-style harnesses and gives us inspectable policies for grounding and verification.
Lu: What this means for the world is that we can start building agents whose operational procedures are robustly shaped by their actual failures during testing, rather than relying solely on training data patterns.
Meng: Practically speaking, if we want an agent to reliably interact with a database or write correct code, having its control program evolve based on real execution traces sounds like a much more stable way to build those systems up.
Jane: It gives us a path toward creating agents that are inherently better at things like verifying intermediate results or fixing errors because the harness itself is being tuned by experience.
Tom: So, to wrap up this part of the paper, TTHE turns evaluation execution into updates for the program controlling an agent without changing model weights or using gold labels, improving those baseline harnesses we rely on.
Lu: The key challenge they identify is that proxy reliability—those signals like execution health and round-trip consistency—is what makes this evolution robust across different tasks.
Meng: I think that means the next step for engineers will be figuring out how to make sure those proxy signals accurately reflect whether the agent is actually doing what we want it to do.
Jane: And for listeners, this paper shows us a new way of thinking about AI evaluation—moving from looking at the model's final output to inspecting and improving the entire decision-making process behind that output.
Conclusion: Tom: So we’re wrapping up "TTHE: Test-Time Harness Evolution." The authors are looking at how we can fix the control program of an AI agent directly during testing, instead of just before it goes live.
Jane: It turns the entire evaluation process into a way to update that program based on what happens when the agent actually tries to solve a problem.
Lu: Basically, they aren't training new model weights or using gold labels; they’re evolving an executable harness that wraps the frozen solver M.
Meng: So if I understand right, instead of finding the perfect workflow in development and freezing it, you let the agent run on test data and use its execution traces to refine that control program iteratively?
Lalam: Exactly. They maintain a population of candidate harnesses and use an agentic proposer to reason over those traces, which is how they decide what the next harness should look like.
Tom: And they do this using these proxy signals—things like execution health or round-trip consistency—instead of relying on some perfect reward function to tell them what’s good.
Jane: That’s a big deal because it shows that you don't need perfect human feedback or gold data to improve the agent’s operational logic.
Lu: The results show solid gains across five different kinds of coding and problem-solving tasks, like Text-to-SQL and competitive programming.
Meng: From an engineering standpoint, if this means we can generate inspectable policies for verification and repair, that’s practical stuff for building more reliable systems.
Lalam: And for culture, it means the AI isn't just following a fixed script; it’s actually learning how to ground its actions in real execution traces.
Tom: It points toward a future where we tune the agent's behavior by letting it fail and learn from those failures right on the test bench.
Jane: But there are still things they flag as not fully solved, like making sure that selection process—the judge choosing the next harness—is totally reliable.
Lu: That’s their main limitation, they need to figure out how to make that selection more robust before it can scale up across every task imaginable.
More episodes
- 2605.28858-An End-to-End PyTorch Interface for Differentiable PDE Solvers: A RANS Model-Correction Study
- 2605.21646-Alike Parts: A Feature-Informed Approach to Local and Global Prototype Explanations
- 2605.19947-Exploiting Non-Negativity in DAG Structure Learning
- 2605.22593-Do Deep Ensembles Actually Capture Uncertainty in Graph Neural Networks?
- 2606.01051-Interaction-Limited Safe Continuous-Time RL for Dynamical Medical Treatment
- 2606.04028-Novel Aspects of IEEE SA P3109 Arithmetic Formats for Machine Learning
- 2606.06818-Terastal: Layer-Variant-based Scheduling for Real-Time Multi-DNN Workloads on Heterogeneous Accelerators
- 2607.24921-Simplex Demixing: Disentangling Multiple Light-Flavor Jets at Colliders
- 2606.10909-Non-linear mechanical field reconstruction coupling recurrent neural networks with physics-informed graph neural networks
- 2606.12487-PhaseQuant: Mitigating Activation Quantization Collapse via Residual-Stream Dynamics