AlphaCode, an advance in artificial intelligence from Alphabet subsidiary DeepMind, has outperformed humans at writing computer code to solve tricky problems in programming.
Better still, people can use everyday language to tell AlphaCode what they want their code to be able to do and AlphaCode will take it from there.
Translating conversational descriptions of the result that code is supposed to deliver isn’t new in itself. Codex, created by the nonprofit OpenAI lab, had set the most recent standard: given a simple description of what the code should do—for example, count the number of digits in a spreadsheet full of figures—Codex is consistently reliable.
It’s when the problems to be solved get tricky that Codex gets flummoxed.
Not so with AlphaCode.
The new program digested gigabytes of code to learn the “language and grammar” of software. Next, researchers fed it thousands of more difficult problems gleaned from coding contests. For example, a problem might ask the AI to write code that will count the number of strings of ones and zeros in a program that have no consecutive zeros.
Given a task, AlphaCode generates as many as a million or more random solutions, tests them, and scraps all but the most promising 1 percent. It then groups the candidates by their similarities and tests them.
Grouping possible solutions in clusters, AlphaCode casts its net for answers more widely than its competitors, improving its ability to successfully deliver code for complex problems.
In initial tests, AlphaCode solved more than a third of the requests put to it. In coding competitions, it outperformed more than 45 percent of humans on difficult problems.
In contrast, Codex’s rate of success on tougher challenges didn’t rise out of the single digits.
AlphaCode is still in development as engineers work out bugs that prevent it from being even more capable.
TRENDPOST: A program like AlphaCode could do basic coding, freeing developers’ time to work on a more conceptual level, as well as help people who can’t code create software programs.
Something like AlphaCode also could work backward, reverse-engineering a program and describing how the programmer coded certain functions.
However, no one can be sure what an artificial intelligence that can write its own code might do—especially now that computers are capable of designing their own next-generation offspring.
Before computers can design more capable versions of themselves and then program them to accomplish the most difficult tasks, engineers first need to figure out how to contain AI’s abilities within guidelines that humans specify.