Microsoft-owned GitHub is today revamping its Copilot system to integrate OpenAI’s GPT-4 model and provide chat and voice support for its AI pair programmer. GitHub Copilot gets a huge upgrade as part of an overarching “Copilot X” vision that includes a new ChatGPT-like experience in code editors, allowing the chatbot to recognize and explain code and recommend changes and fixes .
“With Copilot X, we are laying out our future vision of Copilot, which means AI is present at every step of the developer lifecycle,” explains GitHub CEO Thomas Dohmke in an interview with The Verge. “It will fundamentally change the developer experience.”
GitHub’s Copilot chat, going into technical preview today, goes beyond the basic Copilot comment autocompletion and coding. It’s closer to a real programming assistant, much like Microsoft’s new Copilot for Microsoft 365 Apps. If you’ve received a project with decades-old code and little documentation, now you can call on Copilot to help.
This help could take the form of analyzing the code for security vulnerabilities, or explaining how blocks of code work, or even helping to rewrite parts, or adding useful comments for anyone else who later explores the code. GitHub Copilot can sit next to your integrated development environment (IDE) and take commands.
GitHub Copilot can now explain code. Image: GitHub
“It’s a similar idea to Bing chat or the Microsoft Edge sidebar, but we’re bringing that into the developer workflow and completing the picture,” says Dohmke. “I think for developers, the difference between GitHub Copilot and Bing is that Copilot is code-focused. You can ask it to fix your code, ask it to explain the code to you, and you can actually ask it to write a unit test.”
Copilot now has a complete view of your IDE, so it knows what you’ve typed into the editor and where it can be most useful. It appears as a sidebar very similar to the Bing chat in Microsoft Edge, but GitHub is also working on features that make Copilot appear elsewhere.
“We’re also going to have a mode where you bring up the chat interface inline with the code, instead of having this sidebar,” says Dohmke. “You can ask within your code for a prompt that stretches out in your code base.”
With Copilot, you don’t even need a keyboard to program. After experimenting with a voice-based interaction system for Copilot, GitHub now integrates its “Hey, GitHub!” functionality into this AI-powered chat system. You can sit at a PC and use your voice to command Copilot to answer questions or suggest lines of code.
GitHub uses a mix of OpenAI models to power its new chat and existing autocomplete features. “So when you’re typing in your editor, you want a really fast model because you want a really fast response to every keystroke,” explains Dohmke. “Where we need speed we use smaller models like the Codex model and where we need accuracy like in chat we use the larger models like GPT-4.”
This updated copilot will also be able to help with AI-generated code documentation answers and offer answers for React, Azure Docs, and MDN. GitHub uses AI to scan these open-source repositories to help developers get answers, so its chat interface is more up-to-date than the training data set that GPT-4 was based on.
GitHub Copilot also comes to fetch requests to help developers create AI-generated descriptions. GitHub Copilot auto-completes tags based on modified code, and developers can then review and edit them.
“At GitHub, we invented the pull request over a decade ago, so the natural next step for us was to integrate Copilot with the pull request,” says Dohmke. “You can actually ask Copilot to describe the pull request to you, or you can ask Copilot to generate tests.”
Copilot for CLI. Image: GitHub
If all that IDE integration wasn’t enough, GitHub Copilot even comes down to the command line interface (CLI). Developers spend a lot of time in the terminal, and it’s not always easy to memorize the syntax for countless commands. Copilot is designed to help you write a command and then run it.
This new Copilot X system will initially only be available in Microsoft’s Visual Studio and Visual Studio Code apps during technical preview, but GitHub plans to expand it to other IDEs in the future. “We will open it the same way the current copilot is available in JetBrains and Neovim,” says Dohmke. “We want to support and meet developers where they are and support the entire ecosystem.”
GitHub’s new Copilot X features really remind me of the work Microsoft just demonstrated with its Microsoft 365 Copilot. The Copilot in Office apps feels like it will forever change the way we create spreadsheets and Word documents, and now GitHub is building on its already formidable AI assistant.
With Microsoft CEO Satya Nadella, a fan of the name Copilot, will there ever be a one-of-a-kind Copilot who will help you code a minute and minutes later organize your life and reply to your emails?
“By removing the boring parts from our jobs and our lives, [we can focus] to the more creative pieces,” says Dohmke. “By having fewer emails and fewer things to read and understand, and instead having that copilot layer that’s your agent reminding you of the things you need to do.”
GitHub Copilot has played an important role in developer productivity for more than a million people, helping developers code up to 55 percent faster, according to GitHub. Dohmke believes this will only increase with these new chat features and that AI assistants like Copilot will be fundamental to how humans learn to code in the future.
“It will be the thing that can remember what you learned as a six-year-old,” says Dohmke. “Today’s kids are going to have super brains that are really part of their learning journey as humans.”
Correction Mar 22 11:25am ET: GitHub has clarified that “Copilot X” is the name of its “vision” for next-gen Copilot capabilities, but the name of its AI assistant will remain “Copilot”. This story originally stated that Copilot X was the new name of the feature.