Nice paper with great insights on improving self-evolving agents.
Self-evolving agents fail in three specific ways:
- Terminal-only feedback makes it ambiguous which step caused the error.
- Agents memorize task-specific patterns instead of acquiring general capability.
- And unguarded updates quietly erase competence the agent already had.
HarnessEvolve addresses all three in one loop.
For credit assignment it generates reference trajectories, execution paths produced when the agent is given the ground-truth answer, then aligns failed runs against them to extract error signals.
Those signals are clustered so the update targets a systematic pattern rather than one bad rollout.
Two gates stand between a candidate harness update and the live agent. A quality gate filters data leakage and prompt bloat. A performance gate accepts the update only if it improves the current batch without degrading recent batches, with epoch-end validation on a held-out set choosing the snapshot.
Execution, evaluation, optimization and gating are separate modules, so the agent doing the work is decoupled from the pipeline changing it.
Results hold across open-domain and enterprise benchmarks, different models and different agent frameworks.
Paper: https://arxiv.org/abs/2609.00829
Chat with Paper: https://academy.dair.ai/papers/harnessevolve-learning-from-reference-trajectories-for-reliable-agent-self-evolu-2609.00829