Computer scientists have created an AI called BAYOU that is able to write its own software code, Though there have been attempts in the past at creating software that can write its own code, programmers generally needed to write as much or more code to tell the program what kind of applications they want it to code as they would write if they just coded the app itself. That's all changed with BAYOU. The AI studies all the code posted on GitHub and uses that to write its own code. Using a process called neural sketch learning, the AI reads all the code and then associates an "intent" behind each. Now when a human asks BAYOU to create an app, BAYOU associates the intent it learned from codes on Github to the user's request and begins writing the app it thinks the user wants.
As reported by Futurism, BAYOU is a deep learning tool that basically works like a search engine for coding: tell it what sort of program you want to create with a couple of keywords, and it will spit out java code that will do what you're looking for, based on its best guess. The tool was developed by a team of computer scientists from Rice University who received funding both from the military and Google. In a study published earlier this month on the preprint server arXiv, they describe how they built BAYOU and what sorts of problems it can help programmers solve. Basically, BAYOU read the source code for about 1500 Android apps, which comes out to 100 million lines of Java. All that code was fed through BAYOU's neural net, resulting in AI that can, yes, program other software. If the code that BAYOU read included any sort of information about what the code does, then BAYOU also learned what those programs were intended to do along with how they work. This contextual information is what lets the AI write functional software based on just a couple of keywords and basic information about what the programmer wants.
However, it is not completely self-supported. BAYOU merely generates what the researchers call "sketches" of a program that are relevant to what a programmer is trying to write. These sketches still need to be pieced together into the larger work, and they may have to be tailored to the project at hand. But even if the technology is in its infancy, this is a major step in the search for an AI programmer, a longstanding goal for computer science researchers. Other attempts to create something like BAYOU required extensive, narrow constraints to guide programmers towards the correct type of code. Because BAYOU can get to work with just a couple of keywords, it's much less time-intensive, and much easier to use overall, for the human operators.
On the other hand, Codex, built by OpenAI, one of the world's most ambitious research labs, provides insight into the state of artificial intelligence. Though a wide range of AI technologies has improved by leaps and bounds over the past decade, even the most impressive systems have ended up complementing human workers rather than replacing them. Thanks to the rapid rise of a mathematical system called a neural network, machines can now learn certain skills by analyzing vast amounts of data. This is the technology that recognizes the commands you speak into your iPhone, translates between languages on services like Skype, and identifies pedestrians and street signs as self-driving cars speed down the road. About four years ago, researchers at labs like OpenAI started designing neural networks that analyzed enormous amounts of prose, including thousands of digital books, Wikipedia articles, and all sorts of other text posted to the internet. By pinpointing patterns in all that text, the networks learned to predict the next word in a sequence. When someone typed a few words into these "universal language models," they could complete the thought with entire paragraphs. In this way, one system — an OpenAI creation called GPT-3 — could write its own Twitter posts, speeches, poetry, and news articles.