GitHub Copilot: the AI pair programmer for today and tomorrow
TLDRThe presentation at GitHub introduces GitHub Copilot, an AI pair programmer designed to assist developers in building and creating code. Ryan J. Selva, VP of Product at GitHub, discusses the research-led approach of Copilot, focusing on code quality, developer happiness, productivity, and economic impact. Accenture, with its large engineering team, collaborates with GitHub on a study to measure the real-world impact of Copilot on engineering teams. The study reveals a 35% acceptance rate of AI suggestions, an 88% retention rate of reviewed code, a 45% increase in build success rate, and a 15% increase in completed pull requests. Developers found Copilot extremely useful, with 50% considering it highly beneficial. The presentation also covers the extensibility of Copilot, including custom models and integration with third-party developer tools to create a comprehensive AI-based ecosystem.
Takeaways
- 🚀 **GitHub Copilot's Impact**: GitHub Copilot has been leading in research-led development, focusing on code quality, developer happiness, productivity, and economic impact.
- 🌟 **Real-World Application**: Teams want to understand how AI tools like Copilot perform in real-world scenarios that are messy and complex, not just in controlled environments.
- 🤖 **Accenture's Involvement**: Accenture, with approximately 125,000 software engineers, is interested in AI-assisted software delivery and has been working with GitHub Copilot to understand its impact at scale.
- 🔍 **Research Findings**: A study with 450 internal developers using GitHub Copilot showed a 35% acceptance rate of its suggestions, 88% code retention after review, and a 45% increase in build success rate.
- 📈 **Productivity and Quality**: Developers using Copilot attempted more builds and had a 15% increase in completed pull requests, indicating higher productivity and code quality.
- 🎉 **Developer Satisfaction**: Surveyed developers found Copilot useful, with 50% considering it extremely useful, and no negative feedback was reported.
- 🔧 **Customization and Extensibility**: GitHub Copilot is focusing on custom models and extensibility to improve the developer experience and integrate more closely with the software delivery lifecycle.
- 📚 **Knowledge Integration**: Copilot can tap into GitHub's knowledge graph and use local indexing for faster, more exact searches, and it benefits from Visual Studio Code's language intelligence.
- 📝 **Code Efficiency**: Copilot's 'fix' command is its most used action, streamlining the process of correcting code errors and improving efficiency.
- 🔗 **Integration with Other Tools**: GitHub is expanding Copilot's capabilities by allowing integration with third-party developer tools and services through plugins, enhancing the overall developer experience.
- 🌐 **Community and Collaboration**: GitHub aims to build an ecosystem around Copilot, inviting the developer community to contribute to its growth and customization, fostering collective success.
Q & A
What is GitHub Copilot and who is Ryan J. Selva?
-GitHub Copilot is an AI pair programmer tool designed to assist developers in building and creating code. Ryan J. Selva is the VP of Product at GitHub, where he is responsible for GitHub Copilot.
How long has GitHub been working on GitHub Copilot?
-GitHub has been working on GitHub Copilot for nearly three years, making it one of the original large language model products.
What is the focus of GitHub Copilot's development?
-GitHub Copilot's development has been research-led, focusing on code quality, developer happiness and productivity, and even economic impact.
What was the purpose of the study conducted with external companies?
-The purpose of the study was to understand the real-world impact of large language models like GitHub Copilot on engineering teams, especially in messy and complex environments.
How many software engineers does Accenture have?
-Accenture has approximately 125,000 software engineers working for them globally.
What was the outcome of enabling GitHub Copilot for a few hundred internal developers at Accenture?
-The internal developers at Accenture who used GitHub Copilot reported loving the tool, with some claiming it saved them about 20% of their time, particularly in writing unit test cases.
What were the key findings from the six-month study with 450 developers using GitHub Copilot?
-The study found that developers accepted suggestions from Copilot at a rate of about 35%, retained over 88% of the code after review, and there was a 45% increase in the success rate of builds. Additionally, they completed about 15% more pull requests.
How did developers respond to using GitHub Copilot in the survey?
-In the survey, 100% of the developers who responded found GitHub Copilot useful, with 50% stating it was extremely useful in their day-to-day job.
What are the next steps for GitHub Copilot according to the transcript?
-The next steps include rolling out GitHub Copilot to all developers at Accenture, continuing to partner with GitHub, and exploring the integration of Copilot into the rest of the software delivery lifecycle.
What is the significance of the multi-model approach used in GitHub Copilot?
-The multi-model approach allows GitHub Copilot to leverage the strengths of different models, such as the speed of Jupiter 3.5 Turbo and the intelligence of GPT-4, to provide a cutting-edge AI experience that feels lightweight and responsive.
How does GitHub Copilot's extensibility aim to transform software development?
-GitHub Copilot's extensibility, through the integration of plugins and the ability to bring your own data, aims to create an ecosystem that can innovate and reach millions of developers worldwide, thereby transforming how software is built and elevating developer productivity.
What are the two high-value scenarios for GitHub Copilot's extensibility mentioned in the transcript?
-The two high-value scenarios are expanding Copilot's contacts and knowledge by bringing your own data, and extending Copilot's capabilities through building plugins that integrate with third-party developer tools and services.
Outlines
👋 Welcoming Ryan J. Selva and Introduction to GitHub Copilot
Ryan J. Selva, VP of Product at GitHub, is welcomed to the stage. Despite a hoarse voice, he enthusiastically greets the audience of developers and introduces himself and his role in overseeing GitHub Copilot. Selva reflects on nearly three years of work on GitHub Copilot, positioning it as a pioneering product in the large language model space. He emphasizes the research-led approach of the product, focusing on code quality, developer happiness, productivity, and economic impact. Selva also mentions a recent study conducted with external companies to understand the real-world application and benefits of GitHub Copilot in engineering teams, inviting Dan Shockey from Accenture to discuss the research findings.
🔍 Accenture's Research on GitHub Copilot's Impact
Dan Shockey from Accenture provides insights into his company's collaboration with GitHub on research regarding the impact of GitHub Copilot. Accenture, a company specializing in helping clients build their digital core and transform operations, has a vast team of software engineers. Shockey explains their interest in AI-assisted software delivery and the decision to enable GitHub Copilot for their developers. The research involved enabling a few hundred internal developers to use Copilot and observing the results. The findings were significant, with developers reporting time savings, increased build success rates, and improved code quality. Surveyed developers found Copilot useful, with half considering it extremely useful. Accenture plans to roll out Copilot to all developers and continue the partnership with GitHub.
📈 GitHub Copilot's Integration and Extensibility
The discussion shifts to the future of GitHub Copilot, with a focus on its integration into the software delivery lifecycle beyond the code editor. Harald, a product manager from the VS Code team, joins the stage to demonstrate how they've been working on enhancing the developer experience with GitHub Copilot within the IDE. Harald showcases the capabilities of Copilot Chat, emphasizing its ability to customize to individual coding styles and streamline workflows. He also explains the hybrid approach Copilot uses to provide relevant code snippets, including leveraging GitHub's knowledge graph, local indexing, and VS Code's language intelligence. The presentation highlights the potential for custom models and the extensibility of Copilot through plugins and integration with third-party developer tools.
🤖 Multi-Model Approach and AI Responsiveness
The conversation delves into the technical aspects of GitHub Copilot's functionality, particularly the use of GPT-4 and other models like Jupiter 3.5 Turbo for a balance of speed and intelligence. The multi-model approach is a result of continuous experimentation to deliver a cutting-edge AI experience without compromising on responsiveness. The speaker demonstrates how Copilot Chat can be used for tasks like code correction and committing changes, showcasing the tool's ability to understand and interact with the codebase. The session also touches on the importance of flow in development and how Copilot's commands and features aim to reduce interruptions and improve efficiency.
🛠️ Customizing GitHub Copilot with Fine-Tuned Models
The presentation moves on to discuss the concept of custom models in GitHub Copilot. The speaker explains how personalization of AI models can be achieved through fine-tuning, which has been a focus of experimentation over the past year. The process involves using repository data, developer feedback, and reinforcement learning to improve the models' suggestion quality and introduce team-specific biases. The speaker also highlights the importance of working with external partners like AMD to diversify datasets and further enhance the models. Alex from AMD shares his team's experience with fine-tuning a model for their specific needs, including the successful creation of a state machine from a plain English spec, showcasing the potential of customized models in accelerating development cycles.
🌐 Expanding GitHub Copilot's Ecosystem
The speaker, XI, outlines the vision for GitHub Copilot as an ecosystem with a marketplace of plugins, integrating with various third-party developer tools and services. He emphasizes the potential for productivity gains by customizing Copilot suggestions to a codebase and inviting the developer community to contribute to the evolution of Copilot. The presentation includes examples of how extensibility can be achieved by bringing in internal data and building plugins. The speaker also discusses the process for bringing private datasets into Copilot for more tailored suggestions and the development of plugins that can be made public or private. The session concludes with a call to action for developers and integrators to join the GitHub Copilot partner program and contribute to shaping the future of the platform.
🤝 Acknowledging the GitHub Copilot Team and Community
The session concludes with a note of gratitude from the GitHub Copilot team towards their members and the broader developer community. The team expresses appreciation for the feedback and support received from developers, which has been instrumental in driving the development of Copilot. They encourage continued engagement and collaboration with the community to enhance the tool and build a future where developers can enjoy using Copilot as much as the team enjoys creating it.
Mindmap
Keywords
💡GitHub Copilot
💡Research Led
💡Large Language Models
💡Productivity Gains
💡Code Quality
💡Economic Impact
💡Custom Models
💡Extensibility
💡Developer Experience
💡Integration
💡AI Economy
Highlights
GitHub Copilot is a pioneering large language model product designed to assist developers in building and creating code.
The product has been research-led, focusing on code quality, developer happiness, productivity, and economic impact.
GitHub Copilot has been tested in real-world conditions to understand its impact on engineering teams.
Accenture, with approximately 125,000 software engineers, partnered with GitHub to study Copilot's effects on development.
Developers using Copilot reported saving about 20% of their time on unit test cases.
A six-month study with 450 developers showed a 45% increase in the success rate of builds when using Copilot.
The study found that developers completed 15% more pull requests with the aid of Copilot.
Surveyed developers found Copilot useful, with 50% considering it extremely useful in their daily work.
GitHub plans to roll out Copilot to all developers and continue partnerships for code solutions.
The future of Copilot includes extending its capabilities beyond the code editor to the entire software delivery lifecycle.
Harald, from the VS Code team, demonstrated how Copilot is integrated into the IDE to enhance developer experience.
Custom models are being developed to personalize Copilot to individual teams' preferences and coding styles.
AMD's experience with fine-tuning Copilot showed significant improvements in generating code for hardware description languages.
Custom private Copilot models are available via a waitlist on GitHub, aiming to bring domain-specific models to teams.
GitHub is expanding its platform to include an ecosystem of plugins for an AI-based economy, enhancing Copilot's extensibility.
Integrating third-party developer data tools and services with Copilot can lead to a more efficient and customized development experience.
GitHub is committed to safety, security, and privacy, providing guidelines and reviewing plugins for the Copilot platform.
The Copilot team thanks the developer community for their feedback, which has been instrumental in driving product innovation.