AI research company OpenAI launches a new machine learning tool that translates English into code. This software is called Codex and is designed to speed up the work of professional programmers and help amateurs get started coding.
In Codex’s demo, OpenAI demonstrates how to use software to build simple websites and basic games using natural language, translate between different programming languages, and process data science queries. Users enter an English command into the software, such as “Create a webpage with a menu on the side and a title at the top”, and Codex converts it into code. The software is error-free and takes some patience to work, but can be very useful to make your coding faster and easier to access.
“We see this as a tool to increase programmers,” said Greg Brockman, CTO and co-founder of OpenAI. The Verge. “There are two parts to programming. One is ‘thinking hard about the problem and trying to understand it’, and the other is ‘mapping this little piece into existing code, whether it’s a library or a function or an API’. ” He says it’s tedious, but that’s what Codex does best: “It removes the necessary and cumbersome tasks of people who are already programmers.”
OpenAI used an older version of Codex to build a tool called Copilot for GitHub, a code repository owned by Microsoft, a close partner of OpenAI. Copilot is similar to the autocomplete tool in Gmail, providing suggestions on how to complete lines of code as the user types them. However, OpenAI’s new version of Codex is much more advanced and flexible in terms of generating as well as completing code.
Codex is built on OpenAI’s language generation model, GPT-3, which has been trained on much of the internet, and as a result can generate and parse words written in impressive ways. One application user I found for GPT-3 was generating code, but Codex was specifically trained on a repository of open source code scraped from the web, enhancing the functionality of previous versions.
Because of this latter point, many coders have complained that OpenAI is taking unfair advantage of their work. For example, OpenAI’s Copilot tool often suggests snippets of code written by others, and the program’s entire knowledge base is derived from shared open source work that ultimately benefits individuals, not corporations. Although OpenAI has stated that the use of this data is legally protected under fair use, the same criticism will be raised against Codex.
When asked about these complaints, Brockman replies: “New technology is coming. We need this discussion. There will be some work on the community to point out what’s good, and we’ll get feedback and do it differently.” But he argues that the wider coding community will ultimately benefit from the work of OpenAI. “The real net effect provides a lot of value to the ecosystem,” says Brockman. “In the end, I think this type of technology can reshape our economy and make the world a better place for all of us.”
Codex will also certainly create value for OpenAI and its investors. The company started out as a non-profit lab in 2015, but switched to a “limited profit” model to attract external funding in 2019, and Codex will initially launch as a free API, but OpenAI will start charging for access. future.
OpenAI says they don’t want to use Codex to build their own tools because Codex is better suited for improving core models. “I realized that pursuing one of these would block the other path,” says Brockman. “You can do one thing best with a startup. And for us, there is no doubt that this is making a better version of all these models.”
Of course, Codex sounds very interesting, but it’s hard for real programmers to judge the full scope of their features before they figure it out. I’m not a coder, but I’ve seen Codex in action and had some thoughts about the software.
OpenAI’s Brockman and Codex leader Wojciech Zaremba used Codex to first create a simple website and then demonstrate a program online to create a rudimentary game. In the game demo, Brockman found a silhouette of a person in Google Images and told Codex to “add this image of a person on the page” before pasting it into a URL. A silhouette appeared on the screen, and Brockman resized it (“makes the person a little bigger”) and then made it controllable (“Now let’s make it controllable with the left and right arrow keys”).
It all worked very smoothly. The picture started shuffling around the screen, but I soon ran into trouble. It kept disappearing off the screen. To prevent this, Brockman gave the computer the following additional instructions: This would keep them from disappearing from view, but I was curious how accurate these instructions should be. Suggested to try another way. “Don’t let that person leave the page.” This also worked, but for reasons neither Brockman nor Zaremba could explain, they also changed the width of the picture so it crashed flat on the screen.
“Sometimes you don’t know exactly what you’re asking,” Brockman laughs. He tries a few more times and then comes up with a command that works without this unwanted change. “So I had to think a little bit about what was going on, but I didn’t think too deeply about it,” he says.
This is fine for our little demo, but it says a lot about the limitations of this kind of program. Not a magic fairy that reads your brain and turns every command into perfect code. Neither OpenAI claims so. Using them instead requires thought and a bit of trial and error. Codex won’t turn non-coders into professional programmers overnight, but it’s definitely more accessible than any other programming language.
OpenAI is optimistic about the potential of Codex to transform programming and computing in general. Brockman sees this as helping solve America’s programmer shortage, and Zaremba sees it as the next step in the historical evolution of coding.
“It’s happened to Codex a few times before,” he says. In the early days of computing, programming was done by creating physical punch cards that had to be fed into machines, and people invented the first programming languages and started improving them. “These programming languages are starting to resemble English, with vocabulary like ‘print’ or ‘exit’ and allow more people to program.” The next part of this trajectory is to completely eliminate special coding languages and replace them with English commands.
Codex can also control other programs. In one demonstration, Brockman shows how to use the software to create a voice interface for Microsoft Word. Because Word has its own API, Codex can provide instructions from code generated by the user’s voice commands. Brockman copies the poem into a Word document, then instructs Word (via Codex) to first remove all indents, then number the lines, then count the frequency of specific words, and so on. It’s hard to say how well it works outside the scope of the canned demo, but it’s very fluid.
If this succeeds, Codex will not only help programmers, but also become a new interface between users and computers. OpenAI says it has tested Codex’s ability to control Word as well as other programs like Spotify and Google Calendar. And while the Word demo is just a proof of concept, Microsoft already appears to be interested in exploring the software’s possibilities. “They are generally very excited about the model and should expect a lot of Codex applications to be created,” he says.