google-research/era

Code associated with the paper An AI system to help scientists write expert-level empirical software

What it solves

ERA (Empirical Research Assistant) addresses the challenge of writing high-quality, expert-level empirical software for scientific research. It automates the process of developing programs that can solve complex scientific tasks, such as epidemiology forecasting or neuroscience data analysis, by iteratively improving code generation.

How it works

ERA combines a Large Language Model (LLM) with a tree-search algorithm called Flat UCB Tree Search (FUTS). The system operates in a loop: it uses a generate_fn to create candidate programs via LLM prompting and an execute_fn to run the code in a sandboxed environment to score it against a specific metric. By expanding a search tree using the PUCT algorithm, ERA iteratively generates, executes, and scores candidates to converge on an optimal solution.

Who it’s for

It is designed for scientists across various domains—including public health, climate, hydrology, economics, and theoretical physics—who need to develop high-performing empirical software for their research.

Highlights

  • Tree-Search Optimization: Uses Flat UCB Tree Search (FUTS) to systematically explore and improve code candidates.
  • Scientific Domain Versatility: Demonstrated applications across diverse fields like epidemiology, neuroscience, and combinatorics.
  • Sandboxed Execution: Includes a mechanism to execute and score code automatically to guide the search process.
  • LLM-Driven Generation: Leverages Gemini API for iterative program synthesis.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project