Iteratively improving how an LLM agent behaves by rewriting its code without changing the model weights.