Hello everyone . Welcome to Azure Microsoft Community Insight podcast , where we share insights and stories from community experts to stay up to date with Azure . My name is Nicholas and I will be your host today In this podcast .
We will dive into GitHub co-pilot , but before we get started , I want to remind you to subscribe to our podcast to stay up to date so we can reach more amazing people like yourself . Today we have a special guest called Dennerine Bradley as front . Apologies for spelling wrong . Can you introduce yourself please ?
Yeah , my name is Damien Brady . I am a developer advocate over at GitHub . I work on advocacy teams , which means events and podcasts and blog posts and videos and all sorts of stuff . Okay , brilliant .
The first question I wanted to ask you is that we're all going to get to know . So how do you get involved with GitHub co-part and what's a role in your project with GitHub ?
Yeah , so I was an advocate over at Microsoft for I think four years and I moved over to GitHub because I was part of the DevOps advocacy team and we were talking about GitHub a lot Very shortly after I moved . So within a month or so , we announced a product of GitHub called GitHub co-pilot , which was a tool basically we call it an AI pair programmer .
It's based on large language models , so at the time it was Codex , which is one of the GPT models . It was used as like a tool to help you be more productive with code making suggestions and so on based on AI .
Since then , we've had huge success with GitHub co-pilot , so part of my role as a developer advocate here is teaching people how to use it effectively teaching people what it is , what it does , what it doesn't do and just helping educate people . I think about what ?
the product is . That's brilliant . Yeah , it's all about educating people , expanding people knowledge about the products . Since you're part of the advocacy team , how does GitHub co-pilot learn from the code we use and how new different languages you don't like if you have different programming language ?
Yeah , so co-pilot , along with pretty much all of the GPT models , was trained on billions of lines of publicly available code and natural language . So text as well as part of that huge amount of information there is a lot of code in there . So when you tune these models so that they know how to write code , they're really good at making predictions for what .
The next thing you want to type is what you're writing code . So we say that it works technically with any programming language , but it will do better with languages that are in the training data .
So , for example , it's going to do really well with Python , might as well with COBOL or something like that , but the other way it suggestions is based on the code that you have around your cursor at the time , or , in the case of GitHub , co-pilot chat which is kind of a code focused GPT or chat GPT , you might think of it but in the context of your
editor . It also uses the context of the other files that you have open and the questions that you've asked and the answers that it's given you previously , and things like that .
Okay . So if you have like a working on something like NET , if you ask a question , it will train the module using NET and then we're able to know the language based on that , yeah well , the model is trained on a bunch of different languages , but by giving it the context of I'm working in NET it knows its answers are more likely to be NET specific .
If you do things like highlight a chunk of code and say can you write me a test or unit test for this function ? If that test is in C sharp , then the sorry .
if the function is in C sharp , then the test is going to be in C sharp as well , most likely , because that is a logical answer to a question about how do you test the C sharp code .
Yeah , depending on the context that you've given it , it's going to give you responses in different languages or in plain English , if that's what you want .
Yeah , it's quite great because you can use Google Palo Chat to help you learn a new language as well , so it's quite good about that . So , in terms of like the good thing about Google Palo , people with organizations tend to be scared towards the challenges and limitation of it .
Can you describe some limitation and challenges and how would you address them with Co-Pilot ?
Yeah . I think there's a couple of important things to remember when you're talking about tools like GitHub . Co-pilot . One is that it is based on your GPT model , so large language models . As a result , what it's ultimately doing , or the main thing it's doing under the covers , is basically token prediction .
So even all of these texts , what is the next most likely thing to come out ? So when we do something like , start typing a comment for a function and we wait just for the Co-Pilot to give us the correct function .
It's just predicting the next thing that you would write after that comment , or if you highlight some code and say can you write me a test for this ? The prompts that get sent to the GPT or to the large language model underneath is something along the lines of here is a function . I want you to write a test for this function as well .
And all it's doing is predicting what's going to come next . So , if you keep that in mind , all it's really doing is predicting the most likely next thing that will come out . So it's not a compiler . It doesn't know that the code is going to give you files . It can't run it . It doesn't do security .
Well , I say it doesn't do security checks , but we do actually have some filters on the back end that make sure we're not giving predictions that have security vulnerabilities . But it's a pretty naive machine . It's been trained on a lot of information and it knows the context of what you're asking and it makes some scarily good predictions most of the time .
But the important thing to remember is it's just a tool and you , as the developer , are the one who can have a look at that response and see whether it's appropriate .
So there's a lot of things . Yeah , because in terms of privacy it's open source , because it's go through the Internet and look for it , not like Microsoft version of Bing chat . So it's where it is .
Yeah , it was trained on publicly available code . So that's a lot of stuff that was on GitHub , for example , or on other platforms as well , and there's a whole bunch of natural language stuff that comes into that training data as well . One thing as well in terms of privacy is that you're prompt .
So the context that goes back to the GitHub co-pilot server to give you a suggestion that doesn't get used for retraining the model for everybody else and , in fact , if you're using something like GitHub co-pilot for business , it never gets used to help us understand what types of prompts are going to be more effective , or what ?
responses are going to be more accepted and things like that . So we don't use any of that information , any of your code or any of the responses that we give you in any of the training . But we can . In the case of co-pilot for individuals .
We sometimes use that to work out whether a particular prompt that we've constructed is doing a better job of giving you a response . But yeah , we don't train on your code anymore .
That's brilliant . So I take it you mean co-pilot X , right , the enterprise version . Well so co-pilot .
X was when we announced that it was basically our vision for what co-pilot could become . So the product itself is GitHub co-pilot , and it appears in a bunch of different places .
When we talked about co-pilot X , it was kind of our here's what we think the future of AI powered software development is going to be , and since then we've released a bunch of AI focused tools under the name GitHub co-pilot . So this co-pilot , or what I like to call the OG co-pilot so the one that you see when you start typing there's co-pilot chat .
There's co-pilot for CLI so you can ask it questions about command line stuff . There's co-pilot for pull requests , there's knowledge bases that are coming out and a few other things like fine tuning for enterprise and so on . So co-pilot X was kind of our future looking vision .
Yeah .
So that is the product itself .
Okay , brilliant . So I recently heard that there's a new feature called co-pilot workspace . Can you tell us more about it ? Let's come in preview .
Yeah , well , there's one that's , there's kind of two that are that overlap workspace .
There's one that's available pretty much right now where , if you're using GitHub co-pilot chat and you type in at workspace so that yeah , that's a workspace , you can get it to describe things about your actual workspace , so all of the files that are being used in your project , or you can create a new one .
So if you do , at workspace , slash new , it's using the context of the entire workspace that you're using in Visual Studio Code , so that's something you can try now . I think what you're probably referring to , though , is what we kind of did a sneak preview of at the end of GitHub universe last year in 2023 . So that is a very much a work in progress .
It is not available to try at the moment , but the idea is that a lot of software development kind of follows this pattern of you have an issue which kind of describes the features that you want or the change that you want . You break down that issue into you know here are the tasks that I need to complete .
So I need to create a new page to do this .
I need to create some new things , some new tests and so on , and then you implement all of those changes . Now , co-pilot workspace is an attempt to get AI to help along that entire path , ultimately ending in a pull request or even a deployed version of that application .
that has those changes in it that have all been written by AI and at any stage in that process you can make some changes . So if it's broken down the issue into a bunch of tasks that need to be done and you realize there's one missing , you can add that to the list and then it will continue from there .
Make those changes , add those tests , even deploy the application so you can try it out , and then merge that pull request . So it's kind of taking the idea of AI help for your project a little bit further and doing as much as they can , all the way up to you know ideally a piece of code that you can actually merge and deploy .
Okay , so any through the , whenever there is issues any with pull requests , anything like projects or discussion you will do is part of the workspace that's AI .
Yeah , so , like I said , it's definitely still a work in progress . So the exact final version of what it looks like is TBC like to be confirmed , but you start from your description and then AI helps you all the way through to kind of getting a deployed version of the application .
Yeah , that's great . So that's , it's very exciting . So do you know when that will be like preview , when customer will be to sign up for it or I don't have a date for you .
I'm afraid I do have inside information in my head that I can't share , but it's actually a bit sooner than I thought it would be , it will be like possible next year or this year , yeah . Something like that yeah , brilliant , that's a very common answer , isn't it ?
Yeah , no worries , so is there ? Is there any other cool recent announcement for GitHub that you're really excited about ?
Yeah , so the main one that I'm excited about is GitHub Copilot Enterprise . So this is a new skew , basically a new offering that we have on top of the Copilot for individuals , which is $10 a month and . Copilot Business , which is $19 a month .
This one's currently looking at $39 a month , but it gives you additional features like Copilot Chat in the editor or in dot com sorry in the browser , so you can have a look at your repository and ask questions at that repository .
And that includes things like semantically searching across your code base and across your documentation and things like that so that you can actually ask questions about your specific organization . You can take that even further as well , and soon you'll be able to do fine tuning over your organization's code .
So , rather than just generic responses based on the context you give it . It knows how your organization does this particular type of work . There's additional things like Copilot for pull requests , where it can describe what's in a pull request for you in that description really easily . A few other things like that .
So , yeah , a lot more features kind of popping up as part of Copilot Enterprise . That one is , and we're recording this in February , I realize as well but it's scheduled for February 2024 . So it should be later this month .
Okay , thanks . So you say your part of a role as a senior developer advocate . Do you normally Take feedback ? How do you handle feedback from like partners and clients and stuff ?
Yeah , all over the place really . We have so a lot of the development teams or the engineering teams inside GitHub do a lot of customer research as part of their day-to-day work the way that our tends to work is that we develop features alongside customers , so we know that what we're creating is actually solving the problems that we wanted to solve .
But as well as that , in advocacy , we are frequently at events , we do live streams , we do lots of video , we do lots of blog posts and things like that as well . So any of those channels , we're online in most places . I think GitHub has accounts on a number of social media platforms . I'm personally still on X a little bit , or Twitter .
I'm on Hackaderm , blue Sky Threads , all of those hunts as well .
LinkedIn obviously so you can reach out and kind of any of those . You can see my little handle down there .
DemoVisa is kind of everywhere . That's my GitHub handle too and that has links to all of the socials on there as well . But we do that . There's another place I would suggest as well If you want to talk to GitHub , which is the GitHub community discussions . So we use a feature called Discussions and it's open to the community .
If you search for community discussions or GitHub community discussions , that's a great place to start and the engineering teams and the support teams spend a lot of time looking at those discussions as well .
They're kind of like forums , I guess , but a great place to start talking to us . That's fine . So has these episodes come to an end ? We would love to get to know people , I guess individually . So are you going to any events about in GitHub in the future ?
Yes , I have a few actually .
So if you're a Microsoft MVP , I should be at the summit in March , so I'll be there which would be great .
Other than that , there is a couple of other events . I'm trying to think of the right ones .
Are you speaking at the ?
summit . I should be , yeah , I should be speaking or helping out moderating it managing , especially in the DevOps area and DevOps and GitHub and things like that . There's also Microsoft Build . I think the dates for that just got announced recently . Yeah , it's me In .
May .
yeah , I should be there for that I can't absolutely guarantee that , but I should be there for that .
And then I feel like there's another one . I'm missing .
But yeah , and then of course , end of October , this year is . Github Universe again , so that'll be in San Francisco . That'll be a bit bigger than it has been in the previous two years , so that's a huge one to look out for . So , yeah , keep an eye on that .
Brilliant . So how can people learn about GitHub Co-Pilot and get in touch with yourself ? You know you briefly touch on it , so which is the best channel to get in touch with people with details ?
Yeah , I would love to say one of the channels is better than others , but I'm kind of on all of them all the time . Linkedin or X is probably the fastest way , but you know it's most of the others . As well as that , I think keeping in touch via those forums that I mentioned as well is a good idea .
Yeah , I think those are probably the best ways to keep in touch with me or to get that information for me . In terms of learning how to use GitHub Copilot , there's a ton of resources . Github has a great YouTube channel , which has a few in there .
I think Microsoft Learner also has an entire GitHub learning path , or GitHub Copilot learning path , so that one's quite good too . And where are some other ones ? Yeah , github Blog is a great place to learn .
I want to add something with that . So GitHub announced some certifications like beginners , foundation , intermediate . As long as we've had , so you can get that sorted as well .
So there's a couple of places you can learn or do GitHub certification , so one of them yes , GitHub certifications is relatively new . There's Foundations , Actions , Advanced Security , Admin , but nothing specific for Copilot . That said , there is , I think , on skillsgithubcom .
That's another place where I think there's a whole bunch of different kind of courses or things that you can run through as well , and that covers a lot of GitHub as well . So those are great places to look at GitHub certifications and GitHub skills as well .
Yeah , brilliant Thanks . So , yeah , thanks for joining us on this episode , david and Bradley . So in a few weeks you're going to be on Spotify and Appamusic , so stay tuned , thank you .