Evo

Optimizes codebases by deploying autonomous LLM agents to run parallel experiments, discover metrics, and iteratively improve performance.

Optimizes codebases by deploying autonomous LLM agents to run parallel experiments, discover metrics, and iteratively improve performance.

The gist

Evo is an open-source orchestrator that optimizes code through automated experiments. Inspired by Andrej Karpathy's "autoresearch" concept, it solves the problem of manual code performance tuning. It deploys LLM-powered agents that autonomously discover metrics, run experiments in parallel, and iteratively improve a codebase by keeping only the changes that yield better benchmark scores, providing a structured, scalable approach to code optimization.

What it does

  • Discovers key metrics to optimize and automatically sets up evaluation for a given codebase.
  • Runs experiments in a loop to optimize code, keeping changes that improve a score.
  • Executes experiments in parallel using multiple semi-autonomous agents in isolated git worktrees.
  • Performs a tree search over a greedy hill climb, allowing exploration of multiple optimization paths.
  • Enforces correctness with "gates," such as regression tests or performance floors, to discard invalid changes.
  • Provides a local dashboard to monitor experiments and configure search strategies.

How it works

Architecture Diagram
Evo Architecture Diagram

Users install the Evo CLI and a plugin for an existing agentic framework (e.g., Claude Code, Codex). Pointed at a local codebase, commands like /evo:discover and /evo:optimize initiate the process. Evo uses LLM agents to edit code and run benchmarks, either locally in git worktrees or on remote backends like Modal or AWS. The project is open-source, and progress can be monitored via a local web dashboard.

Best for

Software engineers and researchers who want to automate the performance optimization of a codebase. It's ideal for projects with measurable benchmarks that can be improved through iterative experimentation.

Watch out for

The installation process is multi-step, requiring its own CLI plus a host agent framework CLI. Pinning to specific alpha versions for testing can be complex due to different versioning formats.