Super short version: You want to evolve programs. Randomly mutating programs is hard, most mutations break things. Instead, ask a giant language model to propose edits, in the form of diffs (like the ones you get with git or whatever). These mutations are usually reasonable, don't break things, and lead to more interesting evolved programs. You can even further improve the process by using the successful mutations to fine tune the language model to predict better future mutations.