Google recently released an article outlining the work they have done in discovering Alpha Evolve, an AI that "verifies, runs and scores ... proposed programs using automated evaluation metrics". It was designed to take a prompt, use an ensemble of LLMs, and an evaluator pool to update a program until it meets the desired specifications. In the use cases they describe, these are higher level algorithms that have helped enhance data center scheduling, hardware design, ai training and more. They improved on an algorithm from 1969 that was previously the best known option in their given situation. AI is moving fast but how fast is too fast? And are we at risk of losing the need for researchers and engineers in the future?
Trust but Verify
The article outlines the use of automated evaluators to help keep the AI on track, although it doesn't say how those evaluators were written. You could assume that they were hand written based on the algorithm that they were meant to evaluate, or you could assume they were AI generated. I do think that AI generated evaluators are a possibility, but you would obviously run the route of evaluating those generated programs and so at some point there was some manual intervention (hopefully). But I think the shorthand of what this all means is that we don't truly trust AI. Specifically in the form of LLMs, you can have a discussion about other forms of machine learning, but LLMs are obviously prone to making stuff up or else we wouldn't need guardrails for them. This to me seems like something that happens at the macro level that pretty much everyone is at risk of missing on the micro level. As LLMs become more prevalent, it's easy to have them generate content, code, art, etc. But over-reliance on these capabilities without following best practices before submitting your work can lead to problems down the road. Code that was generated can often pass linters, tests, code review and still have inconspicuous bugs that could take down your system and cause hours of headaches.
The simple checklist for software engineers is:
- Limit the scope of changes
- Review closely
- Tweak the code, not the prompt
- Commit frequently
To me, the most important one is "Tweak the code, not the prompt". If you are manually making the changes to adjust the code, then you are much more in tune with the final output. Focusing on the prompt will just get you something that looks and feels right, without actually making you consider what is truly right.
Are we cooked?
Given most of the above I'd say some practices and professions are more at risk than others. An AI may be able to enhance an algorithm that we already have, but remember that the evaluations and verifications are still being written and evaluated by humans. The basis for all of it is in a process that already existed. LLMs are limited to the prompts that we give them, which are often full of ambiguities and inconsistencies. They're trained on the corpus of human writings, which is full of things that exist today that didn't exist 30 years ago. If we had an LLM trained on all texts prior to 1500 - LLMs would have assumed that the earth was the center of the universe. Could it have thought to ask the question "is the earth the center of the universe?" - pretty unlikely in my opinion. So no I don't think we've run out of options for researchers and engineers just yet, there's so much we don't know that even an AI can't predict. Take your time, leverage the tools at your disposal, and ask the questions that can move the us all forward.