• Kowowow@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    2
    ·
    2 天前

    Is there a reason why that ai “evolution” thing don’t work for code? In theory shouldn’t it be decent at least

    • FredFig@awful.systems
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      1 天前

      If you’re referring to genetic algorithms, those work by giving the computer some type of target to gun for that’s easy to measure and then letting the computer go loose with randomly changing bits from the original object. I guess in your mind, that’d be randomly evolving the codebase and then submitting the best version.

      There’s a lot of problems with the idea of genetic codebase that I’m sure you can figure out on your own, but I’ll give you one for free: “better code” is a very hard thing for computers to measure.

    • V0ldek@awful.systems
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      1 天前

      For LLMs specifically? Code is not text, aside from the most clinical, dictionary definition of “text”.

      But even then, it also fails at writing coherent short or longform, so even if code was “just text” it’d fail equally badly.

      • Kowowow@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        7
        ·
        1 天前

        That’s too bad I was hoping to be able to one day revive dead/abandoned mods using some form of ai, I was thinking of training it off of how the old mods funtioned in the last working version maybe it could find what needs to be changed

    • o7___o7@awful.systems
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      2 天前

      zbyte64 gave a great answer. I visualize it like this:

      Writing software that does a thing correctly within well defined time and space constraints is nothing like climbing a smooth gradient to a cozy global maximum.

      On a good day, it’s like hopping on a pogo stick around a spiky, discontinuous, weirdly-connected n-dimensional manifold filled with landmines (for large values of n).

      The landmines don’t just explode. Sometimes they have unpredictable comedic effects, such as ruining your weekend two months from now.

      Evolution is simply the wrong tool for the job.

    • scruiser@awful.systems
      link
      fedilink
      English
      arrow-up
      9
      ·
      2 天前

      To elaborate on the other answers about alphaevolve. the LLM portion is only a component of alphaevolve, the LLM is the generator of random mutations in the evolutionary process. The LLM promoters like to emphasize the involvement of LLMs, but separate from the evolutionary algorithm guiding the process through repeated generations, LLM is as likely to write good code as a dose of radiation is likely to spontaneously mutate you to be able to breathe underwater.

      And the evolutionary aspect requires a lot of compute, they don’t specify in their whitepaper how big their population is or the number of generations, but it might be hundreds or thousands of attempted solutions repeated for dozens or hundreds of generations, so that means you are running the LLM for thousands or tens of thousands of attempted solutions and testing that code against the evaluation function everytime to generate one piece of optimized code. This isn’t an approach that is remotely affordable or even feasible for software development, even if you reworked your entire software development process to something like test driven development on steroids in order to try to write enough tests to use them in the evaluation function (and you would probably get stuck on this step, because it outright isn’t possible for most practical real world software).

      Alphaevolve’s successes are all very specific very well defined and constrained problems, finding specific algorithms as opposed to general software development

      • Evinceo@awful.systems
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 天前

        Imagine if it was trying to build a feature for a client who needs to look at a demo every time.

    • zbyte64@awful.systems
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 天前

      Talking about Alpha Evolve https://deepmind.google/discover/blog/alphaevolve-a-gemini-powered-coding-agent-for-designing-advanced-algorithms/ ?

      First, Microsoft isn’t using this yet but even if they were it doesn’t work in this context. What Google did was they wrote a fitness function to tune the Generative process. Why not have some rubric that scores the code as our fitness function? Because the function needs to be continuous for this to work well, no sudden cliffs. But also they didn’t address how this would work in a multi-objective space, this technique doesn’t let the LLM make reasonable trade offs between complexity and speed.

      • Kowowow@lemmy.ca
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 天前

        I forgot about alpha evolve, with all the flashy titles about I figured it wasn’t a big deal, I was more talking about the low level stuff I guess like “ai learns to play mario/walk” but I imagine it follows the same logic the other comment talks about