A new AI tool can work with human programmers to analyze the computer code they wrote and generate new corresponding code to complete the programs.
Why is this important: The tool can help take some of the programming work out of the hands of human experts, leaving them more free to focus on the more creative parts of their work. But it also opens the door to a world in which programs could one day write programs entirely, which can be bad news for some of the humans who are currently doing it.
What is happening: Called Copilot, the new tool was released this week by Microsoft, the collaborative coding platform Github, and OpenAI, a machine learning company that developed the GPT-3 text generation model.
- GPT-3 is a natural language model trained on a massive amount of text, which he can use to predict the relationship between words and sentences, allowing him to generate surprisingly compelling text when prompted.
- Copilot was built on an algorithm called OpenAI Codex which works like GPT-3, but for computer code instead of human language.
How it works: Codex was trained on terabytes of freely available code taken from Github, and uses this training to recommend code that software developers can use when programming.
- Github CEO Nat Friedman told CNBC that Copilot works like an automated version of a pair programmer – someone who works with a keyboard coder and provides a second pair of eyes and suggestions.
- Copilot can look at the code that has been written as well as the location of the cursor and suggest new lines to add.
- As the human programmer accepts or rejects these recommendations, Copilot may improve over time.
In numbers : According to a study, programmers spend half their working time not programming but debugging, at a cost of about $ 312 billion per year.
- Automated programming tools could help reduce this waste.
The trap : Some programmers have expressed concerns that Copilot could sometimes recommend code taken verbatim from the system’s open-source training set, which would essentially mean that code that was supposed to be free was repackaged into a business model.
- A Github study, however, found that text-based training code was found in generated code only 0.1% of the time.
The bottom line: In its current form, Copilot is an example of assistive automation – making humans more productive by automating some, but not all, of their workload.
- But as Copilot and other software automation tools improve, they could become substitutes – completely automating human programmers – which would certainly be ironic.