GitHub Copilot learns new tricks, adopts this year's model
Armed with GPT-4, Microsoft's AI 'pair programmer' can tag pull requests, parrot documentation, talk about code
Microsoft GitHub has trained its Copilot programming model to perform new tasks, making the already widely adopted AI assistant all the more unavoidable for developers.
To mark the occasion, the code helper has a new name, or will in time: Copilot X, which isn't intended as a rating of the content it produces.
"Our R&D team at GitHub Next has been working to move past the editor and evolve GitHub Copilot into a readily accessible AI assistant throughout the entire development lifecycle," said Thomas Dohmke, CEO of GitHub, in a blog post provided to The Register. "This is GitHub Copilot X – our vision for the future of AI-powered software development."
Yet Dohmke repeatedly refers to the software simply as Copilot, so we will too, assuming the X represents an aspirational transition at some later date.
Going forward, Copilot will rely on an evolving set of large language models, including Open AI's GPT-3.5-turbo and GPT-4, instead of a custom version of OpenAI's Codex. OpenAI is shutting down the public API for Codex on March 23, 2023. GitHub says it doesn't expect the discontinuation of Codex to affect customers. OpenAI did not immediately respond to a request to say whether the API's discontinuation has anything to do with the ongoing copyright and licensing litigation over Codex and Copilot.
Introduced last summer after a year-long technical trial, Copilot offers coding suggestions, though not always good ones, to developers using GitHub with supported text editors and IDEs, like Visual Studio Code.
As of last month, according to GitHub, Copilot had a hand in 46 percent of the code being created on Microsoft's cloud repo depot and had helped developers program up to 55 percent faster.
On Wednesday, Copilot – an AI "pair programmer", as GitHub puts it – will be ready to converse with developers ChatGPT-style in either Visual Studio Code or Visual Studio. Prompt-and-response conversations take place in an IDE sidebar chat window, as opposed to the autocompletion responses that get generated from comment-based queries in a source file.
"Copilot chat is not just a chat window," said Dohmke. "It recognizes what code a developer has typed, what error messages are shown, and it's deeply embedded into the IDE."
A developer thus can highlight, say, a regex in a source file and invite Copilot to explain what the obtuse pattern matching expression does. Copilot can also be asked to generate tests, to analyze and debug, to propose a fix, or to attempt a custom task. The model can even add comments that explain source code and can clean files up like a linter.
More interesting still, Copilot can be addressed by voice. Using spoken prompts, the assistive software can produce (or reproduce) code and run it on demand. It's a worthy accessibility option at least. Time will tell whether Copilot can resist prank commands from cubicle trespassers who direct the AI to fetch inappropriate content.
"Copilot chat builds upon the work that OpenAI and Microsoft have done with ChatGPT and the new Bing," said Dohmke, evidently not ready to commit to the X name expansion.
His Bing name drop may not be quite the endorsement he imagines, given the way Bing has performed when under the influence of GPT-4. But confined to the context of code generation, GPT-4 perhaps can be steered more easily toward useful output.
In any event, GitHub's adoption of GPT-4 supports a feature being opened up as a technical preview: AI-generated descriptions of pull requests (code change submissions).
When making a pull request under the watchful eye of AI, developers can expect to find GitHub's model will fill out tags that serve to provide additional information about what's going on. It then falls to developers to accept or revise the suggestions.
- Free-Teams-gate: Docker apologizes for shooting itself in the foot
- Stanford sends 'hallucinating' Alpaca AI model out to pasture over safety, cost
- The npm registry's safe word is Socket
- Microsoft's Copilot AI to pervade the whole 365 suite
What's more, Copilot's ambit has been extended to documentation. Starting with documentation for React, Azure Docs, and MDN, developers can pose questions and get AI-generated answers through a chat interface. In time, according to Dohmke, the ability to interact with documentation via a chat interface will be extended to any organization's repositories and internal documentation.
So instead of keyword-based queries to find a link that points to a document with an answer, developers will be able to pose less structured questions and get back sometimes accurate answers directly (without any source attribution). This may help explain why Google is so concerned about being caught flat footed by the sudden deluge of AI-flavored products.
GitHub has even helped Copilot colonize the command line, with GitHub Copilot CLI. If you've ever forgotten an obscure command line incantation or command flag, Copilot has you covered, which may or may not be comforting. ®