Coding agents improve themselves faster using smart patch comparisons

Self Improvement via Fast Tree-search

Artificial IntelligenceMachine Learning

Summary

Improving computer programs that can change their own code usually takes a lot of time and computer power because each change has to be tested thoroughly. The authors introduce a new method called SIFT that uses a kind of smart judging system to quickly compare code changes before deciding which ones to fully test. This approach saves time and computing resources while still finding better code improvements. Their method performed better on a popular test set while using less CPU time and money.

What this means in practice

  • For software engineering teams: Speed up automated code optimization by prioritizing which code changes to test during development cycles.
  • For ai service developers: Reduce server costs and API usage by using efficient evaluation techniques in code-generating AI tools.$Commercial implications: Enables more cost-effective AI-assisted coding tools by reducing expensive compute and API use needed for quality improvements.

Authors

Xinghong Fu, Aravinth Kulanthaivelu, Yutaro Yamada

Abstract

Coding agents can recursively modify their own implementations, forming a loop of self-improvement. While prior work shows this can boost performance on coding benchmarks, existing approaches are costly and compute-intensive. We introduce a simple, sample-efficient self-improvement framework that significantly improves coding performance under strict budget constraints. We identify evaluation of candidate self-modifications as the main runtime bottleneck since prior approaches estimate their effectiveness by re-running a subset of benchmark tasks with the modified agent, which is time-consuming. We introduce Recursive Self Improvement via Fast Tree-search (SIFT), which augments these downstream task evaluations with an LLM-as-a-judge signal that performs pairwise comparisons between candidate patches, where the win-loss record is aggregated with a regularized Bradley-Terry model, and the resulting strength scores drive rank-based parent sampling inside a lightweight disaggregated tree search. Expensive downstream task evaluations are reserved only for the most promising nodes. Using a fully disaggregated tree search pipeline, the judge scores provide intermediate signal to guide exploration on promising candidate patches without being bottlenecked by slow evaluation runs. SIFT outperforms existing tree-search based self-evolution frameworks on the full Polyglot benchmark with significantly lower resource requirements in terms of CPU hours, wall clock time, and API cost.