TLDR: SOAR is a new method that enables language models to continuously improve their ability to synthesize programs. It does this by alternating between an evolutionary search for solutions and a learning phase where the model fine-tunes itself based on its past attempts, both successful and failed. This self-improvement allows SOAR to overcome performance limitations of fixed models and achieve significant gains on challenging benchmarks like ARC-AGI, learning to solve problems in Python without human-engineered data.
In the rapidly evolving world of artificial intelligence, the ability for machines to write their own programs, known as program synthesis, remains a significant challenge. While large language models (LLMs) have shown impressive capabilities in generating code, they often struggle with complex tasks that require iterative problem-solving and refinement. A new method called SOAR (Self-improving Operators for Automated program Refinements) aims to overcome this limitation by enabling LLMs to continuously learn and improve their program synthesis skills through a self-improving evolutionary loop.
Traditional program synthesis methods, like genetic programming, rely on search algorithms that explore vast solution spaces. However, their effectiveness is often capped by the fixed capabilities of the underlying generative models. SOAR addresses this by integrating LLMs into a dynamic system that alternates between two key phases: an evolutionary search and a hindsight learning phase.
How SOAR Works
The first phase, called Sample&Refine, involves the LLM generating and refining candidate programs. It starts by sampling an initial pool of potential solutions. If a program doesn’t work correctly, the system uses execution feedback to guide the LLM in refining that solution. This iterative process allows for exploration and improvement of programs. The second phase is a learning phase, where the system uses the data generated during the search attempts—including both successful and failed solutions—to fine-tune the LLM. This fine-tuning enhances the model’s ability to sample and refine programs more effectively in subsequent iterations.
A crucial aspect of SOAR’s learning phase is ‘hindsight relabeling’. Instead of only learning from successful solutions (which are often scarce for challenging problems), SOAR also learns from failed attempts. It re-frames a failed program as a correct solution for a *new* synthetic task, allowing the system to leverage a much larger dataset for training. This creates a virtuous cycle: better models lead to more effective searches, which in turn provide richer training data for further model improvements.
Tackling the ARC-AGI Benchmark
SOAR’s effectiveness was demonstrated on the Abstraction and Reasoning Corpus (ARC-AGI) benchmark, a challenging set of tasks designed to test AI models’ core reasoning capabilities. ARC tasks require inferring implicit transformation rules from a few input-output grid examples and then applying them to new test inputs. Current state-of-the-art LLMs struggle significantly with ARC-AGI in a single attempt, solving only a small percentage of tasks.
The research shows that SOAR achieves substantial performance gains across different model sizes and iterations. For instance, smaller open-source models, when integrated into SOAR, can outperform much larger closed-source models by leveraging additional computation and continuous self-improvement. After several training iterations, SOAR significantly boosts the success rate on ARC-AGI, even with test-time adaptation where the system continues to improve on new problems without access to ground-truth solutions.
Also Read:
- Benchmarking Language Models in Physics Exploration
- AgentFly: A New Framework for Training Language Model Agents with Reinforcement Learning
Breaking Through Performance Ceilings
A key finding of this work is that SOAR helps overcome the performance plateaus typically observed when simply scaling up model size or search budget. While larger models initially perform better, their improvement eventually flattens out if their underlying capabilities remain fixed. SOAR, by continuously improving the model itself, consistently lifts these performance ceilings, enabling models to reach levels of accuracy that previously required much larger or more computationally intensive systems.
The study also highlights a positive synergy between learning to sample and learning to refine programs, suggesting that these tasks benefit from shared knowledge about program structure. Furthermore, combining solutions from multiple models and iterations through majority voting yields even stronger results, indicating that diversity in problem-solving strategies is a key driver of performance gains.
SOAR represents a significant step towards more autonomous and scalable program synthesis systems. By enabling models to improve themselves from scratch, it eliminates the need for human-engineered programs, domain-specific languages, or external datasets. This work opens new possibilities for creating increasingly capable AI systems that can tackle complex reasoning tasks through a combination of search and learned program refinement. For more technical details, you can refer to the original research paper.


