Tech consultant Ady Ngom laughed nervously. A tool called Github Copilot had just anticipated the exact function he wanted to type: The AI helped him write the classic Fibonacci function. Now, he wanted to speed it up using memoization. Copilot, which Ngom had installed only moments before, was one step ahead of him. “Can it listen to what I’m saying? Maybe that’s how it got it,” Ngom joked on a November LinkedIn live broadcast, where he was chatting about Copilot with some other developers.
“I was like, holy moly, you are just reading my mind right now,” Ngom told Protocol. “It was a surreal moment.”
Copilot, built with OpenAI’s Codex tool and Microsoft-owned GitHub’s monstrous code database, has stunned coders far and wide since its technical preview launch in late June of last year. Search #GitHubCopilot on Twitter and you’ll see software developers have had similarly amazing, yet somewhat jarring experiences. “Github #Copilot is so useful that it scares me at times,” one user tweeted. “I am truly amazed by the potential and craziness of #GitHubCopilot. I mean it seriously is crazy,” said another. Right now, Copilot is available only to individual developers who sign up.
Described as “your AI pair programmer,” Copilot recommends lines or blocks of code right in your editor. It can autocomplete repetitive code, offer lists of potential solutions and turn comments into code. It’s not perfect; France-based UI engineer Ivan Galiatin said sometimes it can feel like coding with a child. But in the six months since its launch, Copilot’s usefulness and power is clear. GitHub says Copilot’s suggestions make up more than 35% of newly written code in languages like Java and Python.
Any new technology that automates a significant chunk of work will always be both amazing and scary. The Copilot team hears the “amazed and scared” reactions loud and clear. Greg Brockman, co-founder and CTO of OpenAI, told Protocol, “We want to maximize the reasons to be amazed and minimize the reasons to be scared.”
Copilot prompts questions about the future of education, labor and creativity within the computer science world. The debates will only get fiercer if Copilot makes its way to the workplace.
“We see many people clamoring for it,” said Oege de Moor, the GitHub VP overseeing Copilot. “Just imagine, you’re leading a large organization and you hear about 35% of the code could be written. That’s really a big win.”
How Copilot works
AI code completion isn’t new. Plenty of developers use tools like code predictors Tabnine and Kite. But Copilot stands out because of the companies behind it. GitHub hosts the work of 73 million developers: an incredible wealth of information on which Copilot can train. Combine this with Microsoft’s reach and OpenAI’s comprehensive AI research, and it’s hard to fail.
“One thing that’s very convenient about building a product like this is you can really dogfood it internally,” said Brockman. “Dogfooding”(encouraging engineers to use the software they make) helps identify flaws. The teams at OpenAI and GitHub are intimately familiar with coding frustrations and technicalities, which made it easier to evaluate Copilot as they built it.
The goal is to replace the boring part of coding. Instead of going to Stack Overflow or Quora or Google to find a basic coding solution, Copilot grabs it for you. You press tab to accept the suggestion, or keep typing to ignore. “I can delegate some tasks that I just don’t want to do,” Galiatin said. “It saves a lot of mental energy and a lot of time.”
“The part that always gets me is how quickly it adapts to your style of coding, instead of imposing on you a way of coding,” Ngom said. It won’t make you a better coder, Ngom said. But it will make you faster. “It says, 'How can I facilitate your thinking process?' rather than, 'How can I take away your thinking process and just give you code?'”
Training new coders
De Moor hopes Copilot draws more people to the coding profession, helping tech companies tackle the industrywide recruitment problem. Highly skilled developers can offload grunt work and solve more interesting problems. Beginners or low-skilled developers can use Copilot as a jumping-off point.
“People who are not yet proficient in a programming language or who do not have the benefit of a computer science education, this will help them get started much more quickly,” de Moor said.
Not everyone agrees that Copilot is good for beginners. “I mentor junior developers and I tell them to stay away from Copilot,” Ngom said. “It is very important to get a solid understanding of programming and coding practice first.” Some developers are fearful of Copilot undermining computer science education, teaching students to use it as a crutch throughout their careers.
Copilot makes sense for intermediate and advanced developers, Ngom said. “I don’t have any problem with copy and pasting, as long as you understand what you’re copy and pasting.”
But Brockman thinks AI-powered tools like Copilot could be a real “democratizing force” in computer science education. He referenced a handy experimental feature that explains strings of code in plain language. “You can have this personalized code tutor that is just for you and able to give you the feedback and instruction you need,” Brockman said.
Copilot in the workplace: Is it a developer tool or is it a developer?
An obvious concern is Copilot squashing originality. Then there’s the existential concern of Copilot replacing developers altogether. The World Economic Forum predicted that AI will replace 85 million jobs worldwide by 2025 — though it also says it will create 97 million jobs at the same time.
Though some are concerned about AI taking their jobs, the developers Protocol spoke to are not. At least, not yet. Copilot is no match for human intuition, and developers’ jobs extend beyond writing code. De Moor and Brockman, as expected, pushed back on concerns as well.
“The truly creative part of coding is deciding what the software should do,” de Moor said. “I don’t foresee a future where Copilot produces useful code without human input. I do see unbridled human creativity no longer held back by irrelevant details.”
“I actually think what we’re seeing is AI taking no jobs, but taking the drudge work from all jobs in unison,” Brockman said. “We have these tools that just enhance what people can do.”
Right now, these conversations are hypothetical. Copilot isn’t in the workplace yet. Enterprises are still working through how to use AI generally, and Copilot has to clear some specific hurdles.
For one, using a tool trained on public code to create commercial products is ethically and legally ambiguous. That debate is still evolving. There are also ethical questions about code reproduction. GitHub is working on a filter to eliminate Copilot suggestions that are carbon copies of code in GitHub’s repository. De Moor said this doesn’t happen often. And if it does, it’s usually because there’s only one way to write the code. But he doesn’t want users “to be worried that you might unwittingly infringe an open-source license by using Copilot.”
Suman Hansada, an India-based SaaS engineer, has been using Copilot for personal projects but can’t use it in his job. Copilot, and by extension GitHub and Microsoft, learns from its users’ code. That’s a no-go for companies reliant on customers paying for their code. “Your company can have proprietary code that they don’t want to be in the public domain,” Hansada said.
Still, as Copilot and OpenAI’s Codex improve, Brockman thinks workplace adoption is imminent. “You multiply the productivity benefits across all your developers,” he said. “I think we’re gonna see these tools at every developer’s desk.”