Realtime multiplayer, automation, and you! — Idan Gazit, GitHub
Read full transcript 18 segments
-
>> going to start 1 minute early, which >> going to start 1 minute early, which gives me one extra minute. And then gives me one extra minute. And then gives me one extra minute. And then anybody who came on time is going to anybody who came on time is going to anybody who came on time is going to miss the super enthralling introduction. miss the super enthralling introduction. miss the super enthralling introduction. Hi, my name is Eitan. Nice to meet you Hi, my name is Eitan. Nice to meet you Hi, my name is Eitan. Nice to meet you all. Uh all. Uh all. Uh I lead GitHub Next, which is the Labs I lead GitHub Next, which is the Labs I lead GitHub Next, which is the Labs team of GitHub. I like to call us the team of GitHub. I like to call us the team of GitHub. I like to call us the Department of Fool Around and Find Out, Department of Fool Around and Find Out, Department of Fool Around and Find Out, but I usually don't say the word fool. but I usually don't say the word fool. but I usually don't say the word fool. We're the team that created Copilot uh We're the team that created Copilot uh We're the team that created Copilot uh and pioneered a ton of areas since then, and pioneered a ton of areas since then, and pioneered a ton of areas since then, right? Uh spec-based programming, right? Uh spec-based programming, right? Uh spec-based programming, natural language to app, lots more. Not natural language to app, lots more. Not natural language to app, lots more. Not everything uh that we do turns into a everything uh that we do turns into a everything uh that we do turns into a finished product. Our job is to sort of finished product. Our job is to sort of finished product. Our job is to sort of explore the future and scout it out. explore the future and scout it out. explore the future and scout it out. Um Um Um but our job is to reach for the GitHub but our job is to reach for the GitHub but our job is to reach for the GitHub that's going to be next year. Maybe not that's going to be next year. Maybe not that's going to be next year. Maybe not tomorrow's GitHub, but uh the tools that tomorrow's GitHub, but uh the tools that tomorrow's GitHub, but uh the tools that we're all going to use to make software we're all going to use to make software we're all going to use to make software a year from now, 2 years from now. a year from now, 2 years from now. a year from now, 2 years from now. That's pretty hard, cuz my crystal ball That's pretty hard, cuz my crystal ball That's pretty hard, cuz my crystal ball barely works into uh next week. barely works into uh next week. barely works into uh next week. Uh and we're really fortunate that we Uh and we're really fortunate that we Uh and we're really fortunate that we get to do most of our work in the open, get to do most of our work in the open, get to do most of our work in the open, so you can check out githubnext.com and so you can check out githubnext.com and so you can check out githubnext.com and our socials, which we occasionally our socials, which we occasionally our socials, which we occasionally remember to post stuff to. And what we remember to post stuff to. And what we remember to post stuff to. And what we do isn't really research, right? Because do isn't really research, right? Because do isn't really research, right? Because the only way to know what's going to be the only way to know what's going to be the only way to know what's going to be good good good uh is to make stuff. So, we make a lot uh is to make stuff. So, we make a lot uh is to make stuff. So, we make a lot of stuff, and the hard part about being of stuff, and the hard part about being of stuff, and the hard part about being an undirected research team is always an undirected research team is always an undirected research team is always the question of what's worth our time.
-
the question of what's worth our time. the question of what's worth our time. Even if you're a token billionaire, uh Even if you're a token billionaire, uh Even if you're a token billionaire, uh even if you have 10 terminals running even if you have 10 terminals running even if you have 10 terminals running Fable night and day, then opportunity Fable night and day, then opportunity Fable night and day, then opportunity cost is is still there. It's everything. cost is is still there. It's everything. cost is is still there. It's everything. Uh Uh Uh so, if in a in a world where the uh so, if in a in a world where the uh so, if in a in a world where the uh marginal cost of a line of code is marginal cost of a line of code is marginal cost of a line of code is approaching zero, uh and AI can help us approaching zero, uh and AI can help us approaching zero, uh and AI can help us to think and to make, what do we make, to think and to make, what do we make, to think and to make, what do we make, right? How do we even choose what's right? How do we even choose what's right? How do we even choose what's important uh important uh important uh when the market is super noisy and the when the market is super noisy and the when the market is super noisy and the tech changes every week? tech changes every week? tech changes every week? And this isn't even really a next And this isn't even really a next And this isn't even really a next problem anymore. This is an all of us problem anymore. This is an all of us problem anymore. This is an all of us problem now. problem now. problem now. We're all labs teams now. And the way We're all labs teams now. And the way We're all labs teams now. And the way that next thinks about this stuff is to that next thinks about this stuff is to that next thinks about this stuff is to look for durable themes. Things that look for durable themes. Things that look for durable themes. Things that will be true no matter what will be true no matter what will be true no matter what the technology that exists tomorrow. the technology that exists tomorrow. the technology that exists tomorrow. And I think that the theme of this And I think that the theme of this And I think that the theme of this moment moment moment is very much an evergreen one, right? is very much an evergreen one, right? is very much an evergreen one, right? It's AI started with a surge of personal It's AI started with a surge of personal It's AI started with a surge of personal productivity, right? The LLMs completed productivity, right? The LLMs completed productivity, right? The LLMs completed what I type and the agents go fetch me what I type and the agents go fetch me what I type and the agents go fetch me the thing that I need. And now I have the thing that I need. And now I have the thing that I need. And now I have many agents helping me to parallelize many agents helping me to parallelize many agents helping me to parallelize myself. But the greatest value doesn't myself. But the greatest value doesn't myself. But the greatest value doesn't come come come from multiplying me into more me.
-
from multiplying me into more me. from multiplying me into more me. It comes from enabling groups of people It comes from enabling groups of people It comes from enabling groups of people to do more. That's always been true. to do more. That's always been true. to do more. That's always been true. And we're thinking about how to And we're thinking about how to And we're thinking about how to accomplish that through two lenses. accomplish that through two lenses. accomplish that through two lenses. Every industrial revolution came about Every industrial revolution came about Every industrial revolution came about through automation, right? It's funny to through automation, right? It's funny to through automation, right? It's funny to think about our giant software industry think about our giant software industry think about our giant software industry as being pre-industrial, but on some as being pre-industrial, but on some as being pre-industrial, but on some level it is because until now the only level it is because until now the only level it is because until now the only automations that we had were heuristics automations that we had were heuristics automations that we had were heuristics like make sure there's a semicolon at like make sure there's a semicolon at like make sure there's a semicolon at the end of every line. the end of every line. the end of every line. But now AI can help us to automate But now AI can help us to automate But now AI can help us to automate things that require some amount of basic things that require some amount of basic things that require some amount of basic judgment and intelligence. judgment and intelligence. judgment and intelligence. And there's no magic trick to making And there's no magic trick to making And there's no magic trick to making great software, right? It costs time. great software, right? It costs time. great software, right? It costs time. And we can buy that time by automating And we can buy that time by automating And we can buy that time by automating away the things that we used to need to away the things that we used to need to away the things that we used to need to do manually. Like the more we automate, do manually. Like the more we automate, do manually. Like the more we automate, the more time we have to spend on craft the more time we have to spend on craft the more time we have to spend on craft or on our product or on making it really or on our product or on making it really or on our product or on making it really good or on features, right? Either you good or on features, right? Either you good or on features, right? Either you hire more people or you automate away hire more people or you automate away hire more people or you automate away part of what your people are currently part of what your people are currently part of what your people are currently doing in order to spend that time. doing in order to spend that time. doing in order to spend that time. And at the same time, how are we going And at the same time, how are we going And at the same time, how are we going to work together, right? How does to work together, right? How does to work together, right? How does collaboration look like in the future?
-
collaboration look like in the future? collaboration look like in the future? Whoops. Whoops. Whoops. Oh well, sorry about that. Oh well, sorry about that. Oh well, sorry about that. Yesterday uh, Jeffrey Lit talked about Yesterday uh, Jeffrey Lit talked about Yesterday uh, Jeffrey Lit talked about understanding being the bottleneck, and understanding being the bottleneck, and understanding being the bottleneck, and that's very true at a me level. Uh, but that's very true at a me level. Uh, but that's very true at a me level. Uh, but my personal understanding was never my personal understanding was never my personal understanding was never sufficient for shipping code inside a sufficient for shipping code inside a sufficient for shipping code inside a team, right? Our understanding at an us team, right? Our understanding at an us team, right? Our understanding at an us level level level can only happen at the end of the can only happen at the end of the can only happen at the end of the process. process. process. Um, sorry. Uh, Um, sorry. Uh, Um, sorry. Uh, uh, uh, uh, I it can't only happen at the end of the I it can't only happen at the end of the I it can't only happen at the end of the process, uh, when the process happens so process, uh, when the process happens so process, uh, when the process happens so much faster. much faster. much faster. So, going faster means that a small So, going faster means that a small So, going faster means that a small misalignment, uh, can snowball into a misalignment, uh, can snowball into a misalignment, uh, can snowball into a ton of wasted work, uh, and that work ton of wasted work, uh, and that work ton of wasted work, uh, and that work costs tokens, and tokens cost real money costs tokens, and tokens cost real money costs tokens, and tokens cost real money now, so, uh, on top of the time that now, so, uh, on top of the time that now, so, uh, on top of the time that you're mis spending. you're mis spending. you're mis spending. So, today I'll give you a quick tour of So, today I'll give you a quick tour of So, today I'll give you a quick tour of two prototypes that we're working on at two prototypes that we're working on at two prototypes that we're working on at GitHub Next in each of these themes. GitHub Next in each of these themes. GitHub Next in each of these themes. Agentic Workflows is our take Agentic Workflows is our take Agentic Workflows is our take Why is that not there? Oh, I had to Why is that not there? Oh, I had to Why is that not there? Oh, I had to click again. Uh, Agentic Workflows is click again. Uh, Agentic Workflows is click again. Uh, Agentic Workflows is our take on how automations should work our take on how automations should work our take on how automations should work in an agentic world, and Aces a in an agentic world, and Aces a in an agentic world, and Aces a prototype that explores what real-time prototype that explores what real-time prototype that explores what real-time multiplayer software development looks multiplayer software development looks multiplayer software development looks like. So, I'll start by showing off like. So, I'll start by showing off like. So, I'll start by showing off Agentic Workflows, and it requires me Agentic Workflows, and it requires me Agentic Workflows, and it requires me doing this. Okay, cool. Uh, this is my doing this. Okay, cool. Uh, this is my doing this. Okay, cool. Uh, this is my personal website, not that interesting.
-
personal website, not that interesting. personal website, not that interesting. I'm showing it to you. This is like I'm showing it to you. This is like I'm showing it to you. This is like Chekhov's gun, we're going to see it Chekhov's gun, we're going to see it Chekhov's gun, we're going to see it again later. Um, and my personal website again later. Um, and my personal website again later. Um, and my personal website is built with this framework called is built with this framework called is built with this framework called Astro. Astro is a great web framework. Astro. Astro is a great web framework. Astro. Astro is a great web framework. The greatest part about it is that they The greatest part about it is that they The greatest part about it is that they release like 50 things a month, which release like 50 things a month, which release like 50 things a month, which means that I'm constantly on the upgrade means that I'm constantly on the upgrade means that I'm constantly on the upgrade treadmill, and there's a great GitHub treadmill, and there's a great GitHub treadmill, and there's a great GitHub product called Dependabot, which product called Dependabot, which product called Dependabot, which notifies me when my stuff is out of notifies me when my stuff is out of notifies me when my stuff is out of date. Um, but the problem is is that date. Um, but the problem is is that date. Um, but the problem is is that when I do these upgrades, I frequently when I do these upgrades, I frequently when I do these upgrades, I frequently need to make code changes. So, what I need to make code changes. So, what I need to make code changes. So, what I really want is a kind of super really want is a kind of super really want is a kind of super Dependabot that's always there, Dependabot that's always there, Dependabot that's always there, automatically looking in the background automatically looking in the background automatically looking in the background at my dependencies and figuring out how at my dependencies and figuring out how at my dependencies and figuring out how to upgrade me, including the code to upgrade me, including the code to upgrade me, including the code changes, the breaking changes. Um, and changes, the breaking changes. Um, and changes, the breaking changes. Um, and because I'm lazy, and I like not doing because I'm lazy, and I like not doing because I'm lazy, and I like not doing work, um, work, um, work, um, I used Copilot, uh, I used Copilot, uh, I used Copilot, uh, to create an agentic workflow, and to create an agentic workflow, and to create an agentic workflow, and there's this magic line up top where I there's this magic line up top where I there's this magic line up top where I supply effectively a skill saying like, supply effectively a skill saying like, supply effectively a skill saying like, "Hey, create an agentic workflow. Here's "Hey, create an agentic workflow. Here's "Hey, create an agentic workflow. Here's a document that tells you everything you a document that tells you everything you a document that tells you everything you need to know about that. need to know about that. need to know about that. And then what comes below that is And then what comes below that is And then what comes below that is something a lot like a Slack message something a lot like a Slack message something a lot like a Slack message that I'd send to a junior developer on that I'd send to a junior developer on that I'd send to a junior developer on my team. Like, every day I want you to my team. Like, every day I want you to my team. Like, every day I want you to check if there's a new release, look at check if there's a new release, look at check if there's a new release, look at the change log, look at the docs, come the change log, look at the docs, come the change log, look at the docs, come up with a plan for the upgrade, up with a plan for the upgrade, up with a plan for the upgrade, and then create a PR with the thing and and then create a PR with the thing and and then create a PR with the thing and here's the links to the docs. Right, here's the links to the docs. Right, here's the links to the docs. Right, this is like a message that I would send this is like a message that I would send this is like a message that I would send to somebody on my team, go write a to somebody on my team, go write a to somebody on my team, go write a playbook. And when I went and created playbook. And when I went and created playbook. And when I went and created this, it did go and create a playbook.
-
this, it did go and create a playbook. this, it did go and create a playbook. In fact, that's what agentic workflows In fact, that's what agentic workflows In fact, that's what agentic workflows kind of look like. They look like kind of look like. They look like kind of look like. They look like markdown documents. Like, if GitHub markdown documents. Like, if GitHub markdown documents. Like, if GitHub Actions and Copilot had a baby together, Actions and Copilot had a baby together, Actions and Copilot had a baby together, and it ran on markdown, this is what it and it ran on markdown, this is what it and it ran on markdown, this is what it is. So, what does this is. So, what does this is. So, what does this agentic workflow look like? Well, you agentic workflow look like? Well, you agentic workflow look like? Well, you know, it's an upgrade checker, it's got know, it's an upgrade checker, it's got know, it's an upgrade checker, it's got my tasks, step one, check for new my tasks, step one, check for new my tasks, step one, check for new releases. Again, because it sees my releases. Again, because it sees my releases. Again, because it sees my codebase, it was able to infer what it codebase, it was able to infer what it codebase, it was able to infer what it even needs to check and it actually even needs to check and it actually even needs to check and it actually found these specific dependencies. found these specific dependencies. found these specific dependencies. Review the change log and the upgrade Review the change log and the upgrade Review the change log and the upgrade guide, apply the upgrade, guide, apply the upgrade, guide, apply the upgrade, and then create a pull request. Right, I and then create a pull request. Right, I and then create a pull request. Right, I didn't ask for any of this that didn't ask for any of this that didn't ask for any of this that explicitly, but it turns out that explicitly, but it turns out that explicitly, but it turns out that Copilot is pretty good at sussing out my Copilot is pretty good at sussing out my Copilot is pretty good at sussing out my little three-line message into a full little three-line message into a full little three-line message into a full playbook. And then at the top, I've got playbook. And then at the top, I've got playbook. And then at the top, I've got this special section, this is the this special section, this is the this special section, this is the what we're calling what we're calling what we're calling No, don't collapse it. Oh, man. No, don't collapse it. Oh, man. No, don't collapse it. Oh, man. Scrolling is wonky when you zoom in. Scrolling is wonky when you zoom in. Scrolling is wonky when you zoom in. This YAML front matter. This is where we This YAML front matter. This is where we This YAML front matter. This is where we stick the guardrails cuz if we're going stick the guardrails cuz if we're going stick the guardrails cuz if we're going to be not supervising agents doing to be not supervising agents doing to be not supervising agents doing things, then we're going to need much things, then we're going to need much things, then we're going to need much stronger guardrails around what they're stronger guardrails around what they're stronger guardrails around what they're allowed to do, what they're allowed to allowed to do, what they're allowed to allowed to do, what they're allowed to read, what they're allowed to write. And read, what they're allowed to write. And read, what they're allowed to write. And where are we going to specify that? And where are we going to specify that? And where are we going to specify that? And it's not enough to just prompt the agent it's not enough to just prompt the agent it's not enough to just prompt the agent and be like, "Listen, bro, I don't want and be like, "Listen, bro, I don't want and be like, "Listen, bro, I don't want you to buy Bitcoin for me ever."
-
you to buy Bitcoin for me ever." you to buy Bitcoin for me ever." That's not enough cuz somebody else can That's not enough cuz somebody else can That's not enough cuz somebody else can prompt inject the agent and prompt inject the agent and prompt inject the agent and take it in a direction that you don't take it in a direction that you don't take it in a direction that you don't expect. So, any of the guardrails, if expect. So, any of the guardrails, if expect. So, any of the guardrails, if you're you're you're prompting the guardrails at the agent, prompting the guardrails at the agent, prompting the guardrails at the agent, you're effectively letting the fox loose you're effectively letting the fox loose you're effectively letting the fox loose in the henhouse. It's not actually a in the henhouse. It's not actually a in the henhouse. It's not actually a guard rail. Um, so here, uh, you can see guard rail. Um, so here, uh, you can see guard rail. Um, so here, uh, you can see that I'm specifying deterministically that I'm specifying deterministically that I'm specifying deterministically like my permissions are read all, what like my permissions are read all, what like my permissions are read all, what tools am I allowed to use, uh, what tools am I allowed to use, uh, what tools am I allowed to use, uh, what network, uh, requests is it allowed to network, uh, requests is it allowed to network, uh, requests is it allowed to make? It's not allowed to just go to make? It's not allowed to just go to make? It's not allowed to just go to bitcoin.com or whatever. Uh, in fact, bitcoin.com or whatever. Uh, in fact, bitcoin.com or whatever. Uh, in fact, it's only allowed to go to some it's only allowed to go to some it's only allowed to go to some specified set of default websites, the specified set of default websites, the specified set of default websites, the NPM ecosystem cuz it's got to check for NPM ecosystem cuz it's got to check for NPM ecosystem cuz it's got to check for like, you know, what's new, GitHub, and like, you know, what's new, GitHub, and like, you know, what's new, GitHub, and of course the Astro docs which I of course the Astro docs which I of course the Astro docs which I specified in my original prompt. Uh, and specified in my original prompt. Uh, and specified in my original prompt. Uh, and I've got this block called safe outputs I've got this block called safe outputs I've got this block called safe outputs which is basically saying these are the which is basically saying these are the which is basically saying these are the only things that the agent is allowed to only things that the agent is allowed to only things that the agent is allowed to write. And so I'm saying in this case write. And so I'm saying in this case write. And so I'm saying in this case the agent will is allowed to create pull the agent will is allowed to create pull the agent will is allowed to create pull request. Pull request single uh, request. Pull request single uh, request. Pull request single uh, because I don't want the agent to get because I don't want the agent to get because I don't want the agent to get prompt injected to create 500 pull prompt injected to create 500 pull prompt injected to create 500 pull requests. That would be a denial of requests. That would be a denial of requests. That would be a denial of service. Um, service. Um, service. Um, or and this is the other thing, I or and this is the other thing, I or and this is the other thing, I explicitly said you're allowed to do explicitly said you're allowed to do explicitly said you're allowed to do nothing, right? Which sounds silly, but nothing, right? Which sounds silly, but nothing, right? Which sounds silly, but it actually matters because in a world it actually matters because in a world it actually matters because in a world where I have lots of automations, the where I have lots of automations, the where I have lots of automations, the last thing I want is noise. I don't want last thing I want is noise. I don't want last thing I want is noise. I don't want the agents denial of servicing me.
-
the agents denial of servicing me. the agents denial of servicing me. So, okay, I've created this and I've run So, okay, I've created this and I've run So, okay, I've created this and I've run it and this is actually my actual it and this is actually my actual it and this is actually my actual automation on my actual personal automation on my actual personal automation on my actual personal website. I didn't ask for any of this, website. I didn't ask for any of this, website. I didn't ask for any of this, but it did a pretty good job of like but it did a pretty good job of like but it did a pretty good job of like saying, "Hey, here's the highlights of saying, "Hey, here's the highlights of saying, "Hey, here's the highlights of what you get from going from this what you get from going from this what you get from going from this version that you're currently on to the version that you're currently on to the version that you're currently on to the version that is the target, right? It's version that is the target, right? It's version that is the target, right? It's read all of the release notes in the read all of the release notes in the read all of the release notes in the middle. This is normally what I would do middle. This is normally what I would do middle. This is normally what I would do as a human. Uh, and it's built me like, as a human. Uh, and it's built me like, as a human. Uh, and it's built me like, you know, sort of like a tailored you know, sort of like a tailored you know, sort of like a tailored description. It's figured out there's no description. It's figured out there's no description. It's figured out there's no breaking changes. It's actually verified breaking changes. It's actually verified breaking changes. It's actually verified this by running and building my project. this by running and building my project. this by running and building my project. And because I happen to have this And because I happen to have this And because I happen to have this deployed to Cloudflare, deployed to Cloudflare, deployed to Cloudflare, um, or whatever, anything with preview um, or whatever, anything with preview um, or whatever, anything with preview deploys, I can click that open and see deploys, I can click that open and see deploys, I can click that open and see that nothing has changed in my website, that nothing has changed in my website, that nothing has changed in my website, which is exactly what I want, right? which is exactly what I want, right? which is exactly what I want, right? Like it's done the upgrade and I see Like it's done the upgrade and I see Like it's done the upgrade and I see that it still works exactly as it did that it still works exactly as it did that it still works exactly as it did before. But this was like a minor point before. But this was like a minor point before. But this was like a minor point release. That doesn't really count. release. That doesn't really count. release. That doesn't really count. Let's look at a major upgrading change. Let's look at a major upgrading change. Let's look at a major upgrading change. And actually, I'm lucky that Astro just And actually, I'm lucky that Astro just And actually, I'm lucky that Astro just released Astro 7 because this is released Astro 7 because this is released Astro 7 because this is actually jumping two major revisions actually jumping two major revisions actually jumping two major revisions from five to seven. And so, now it's from five to seven. And so, now it's from five to seven. And so, now it's saying like, "Okay, Astro 7 has brought saying like, "Okay, Astro 7 has brought saying like, "Okay, Astro 7 has brought me all of these things. And Astro 6 me all of these things. And Astro 6 me all of these things. And Astro 6 would have brought me all of that stuff, would have brought me all of that stuff, would have brought me all of that stuff, but I neglected to do the upgrade so I but I neglected to do the upgrade so I but I neglected to do the upgrade so I could have a cool demo for you all."
-
could have a cool demo for you all." could have a cool demo for you all." And it's found all of the code changes And it's found all of the code changes And it's found all of the code changes that were broken, and it updated them. that were broken, and it updated them. that were broken, and it updated them. It also verified that the build runs. It also verified that the build runs. It also verified that the build runs. And it also highlighted manual steps And it also highlighted manual steps And it also highlighted manual steps that things that I would need to do that things that I would need to do that things that I would need to do later. later. later. And again, you know, if I go down here And again, you know, if I go down here And again, you know, if I go down here and I click on this, I can see, "Hey, and I click on this, I can see, "Hey, and I click on this, I can see, "Hey, still works." So, cool. still works." So, cool. still works." So, cool. Now, Now, Now, uh uh uh it's just markdown. It's easy to iterate it's just markdown. It's easy to iterate it's just markdown. It's easy to iterate on that markdown, right? If you don't on that markdown, right? If you don't on that markdown, right? If you don't like the way that the automation works, like the way that the automation works, like the way that the automation works, just edit the English. It gets just edit the English. It gets just edit the English. It gets recompiled into an Actions workflow. recompiled into an Actions workflow. recompiled into an Actions workflow. Like, the markdown is the source code. Like, the markdown is the source code. Like, the markdown is the source code. The YAML is like a compiled artifact. The YAML is like a compiled artifact. The YAML is like a compiled artifact. You never look at it. Um but, we've also You never look at it. Um but, we've also You never look at it. Um but, we've also given you a whole library of Agendic given you a whole library of Agendic given you a whole library of Agendic workflows for you to use as a starting workflows for you to use as a starting workflows for you to use as a starting point to customize. So, an issue point to customize. So, an issue point to customize. So, an issue triager. Internally, GitHub has actually triager. Internally, GitHub has actually triager. Internally, GitHub has actually used this as the basis for like spiking used this as the basis for like spiking used this as the basis for like spiking out our own internal issue triager or out our own internal issue triager or out our own internal issue triager or for like hunting down N+1 queries in our for like hunting down N+1 queries in our for like hunting down N+1 queries in our like monolith or all kinds of things. like monolith or all kinds of things. like monolith or all kinds of things. There's a ton of things that are super There's a ton of things that are super There's a ton of things that are super helpful there. Repo assist. This is helpful there. Repo assist. This is helpful there. Repo assist. This is actually a swarm of actually a swarm of actually a swarm of Agendic workflows that work together to Agendic workflows that work together to Agendic workflows that work together to help you maintain your project by help you maintain your project by help you maintain your project by finding low-hanging fruit, fixing them, finding low-hanging fruit, fixing them, finding low-hanging fruit, fixing them, identifying tickets that need nudging or identifying tickets that need nudging or identifying tickets that need nudging or feedback that you need from people who feedback that you need from people who feedback that you need from people who have filed issues, whatever. CI doctor.
-
have filed issues, whatever. CI doctor. have filed issues, whatever. CI doctor. How many times have you responded to a How many times have you responded to a How many times have you responded to a busted CI run by just running it again? busted CI run by just running it again? busted CI run by just running it again? All of us. Anybody who hasn't raised All of us. Anybody who hasn't raised All of us. Anybody who hasn't raised their hand is lying. their hand is lying. their hand is lying. Uh Uh Uh a million more. Like, you know, goals, a million more. Like, you know, goals, a million more. Like, you know, goals, sure. sure. sure. Daily team status and repo status. If I Daily team status and repo status. If I Daily team status and repo status. If I want this to go do like homework on the want this to go do like homework on the want this to go do like homework on the internet, I can. So, this is not just internet, I can. So, this is not just internet, I can. So, this is not just for engineers, this is also for product for engineers, this is also for product for engineers, this is also for product managers whose job it is to look at managers whose job it is to look at managers whose job it is to look at information over here and summarize information over here and summarize information over here and summarize those tickets over there, right? We can those tickets over there, right? We can those tickets over there, right? We can start to get everybody involved in start to get everybody involved in start to get everybody involved in automation. That's how you actually get automation. That's how you actually get automation. That's how you actually get industrial scale. industrial scale. industrial scale. Uh Uh Uh So, uh that's Agentic Workflows. Um the So, uh that's Agentic Workflows. Um the So, uh that's Agentic Workflows. Um the security guardrails, we have sort of security guardrails, we have sort of security guardrails, we have sort of four principles that we believe uh four principles that we believe uh four principles that we believe uh everybody should burn into their brains. everybody should burn into their brains. everybody should burn into their brains. Uh defense in depth, one layer is never Uh defense in depth, one layer is never Uh defense in depth, one layer is never enough. Uh that was always true. Never enough. Uh that was always true. Never enough. Uh that was always true. Never trust agents with secrets. If an agent trust agents with secrets. If an agent trust agents with secrets. If an agent can know a secret, that secret, you need can know a secret, that secret, you need can know a secret, that secret, you need to treat it as if it's already been to treat it as if it's already been to treat it as if it's already been compromised. Uh because you have no idea compromised. Uh because you have no idea compromised. Uh because you have no idea whether or not somebody's injected the whether or not somebody's injected the whether or not somebody's injected the agent to reveal that secret somewhere agent to reveal that secret somewhere agent to reveal that secret somewhere else. So, if an agent can see the else. So, if an agent can see the else. So, if an agent can see the secret, um it's bad. In Agentic secret, um it's bad. In Agentic secret, um it's bad. In Agentic Workflows, the secrets are all kept Workflows, the secrets are all kept Workflows, the secrets are all kept outside of the agent's jail, and when outside of the agent's jail, and when outside of the agent's jail, and when the agent wants to use the secret to the agent wants to use the secret to the agent wants to use the secret to call something, it needs to ask the call something, it needs to ask the call something, it needs to ask the warden, "Hey, mother may I please go warden, "Hey, mother may I please go warden, "Hey, mother may I please go talk to that service?" Uh stage and vet talk to that service?" Uh stage and vet talk to that service?" Uh stage and vet all rights, just so that it's auditable, all rights, just so that it's auditable, all rights, just so that it's auditable, and log everything, just so that it's and log everything, just so that it's and log everything, just so that it's auditable. Uh and when we give this to auditable. Uh and when we give this to auditable. Uh and when we give this to existing projects like the Home existing projects like the Home existing projects like the Home Assistant project, which is a huge Assistant project, which is a huge Assistant project, which is a huge open-source project, um open-source project, um open-source project, um the first uh Agentic Workflow they built
-
the first uh Agentic Workflow they built the first uh Agentic Workflow they built was something that looks at every was something that looks at every was something that looks at every submitted issue, walks the Python stack submitted issue, walks the Python stack submitted issue, walks the Python stack trace to figure out if the bug is in trace to figure out if the bug is in trace to figure out if the bug is in first-party code or third-party code, first-party code or third-party code, first-party code or third-party code, closes the issue if it's not their closes the issue if it's not their closes the issue if it's not their issue, right? That's something that was issue, right? That's something that was issue, right? That's something that was not possible before AI, not possible not possible before AI, not possible not possible before AI, not possible with heuristics, uh but is possible now. with heuristics, uh but is possible now. with heuristics, uh but is possible now. Agentic Workflows is in public preview Agentic Workflows is in public preview Agentic Workflows is in public preview today. You can go and kick the tires. today. You can go and kick the tires. today. You can go and kick the tires. So, go ahead, So, go ahead, So, go ahead, go wild. Uh we actually believe that go wild. Uh we actually believe that go wild. Uh we actually believe that this is going to be a bigger category this is going to be a bigger category this is going to be a bigger category than interactive AI because automations than interactive AI because automations than interactive AI because automations that run in the background while you that run in the background while you that run in the background while you sleep, that's the ballgame. Okay, so let's talk about the Okay, so let's talk about the collaboration piece. So, this is how collaboration piece. So, this is how collaboration piece. So, this is how we've always built software, right? we've always built software, right? we've always built software, right? Because the cost of writing code was so Because the cost of writing code was so Because the cost of writing code was so high, uh but that's not true anymore. We high, uh but that's not true anymore. We high, uh but that's not true anymore. We would plan and review together, but the would plan and review together, but the would plan and review together, but the building part was done alone. Like, you building part was done alone. Like, you building part was done alone. Like, you know, illuminated by the light of my know, illuminated by the light of my know, illuminated by the light of my monitor, uh, I would build. But now, monitor, uh, I would build. But now, monitor, uh, I would build. But now, none of it is alone, right? Planning none of it is alone, right? Planning none of it is alone, right? Planning isn't before, and review isn't after. We isn't before, and review isn't after. We isn't before, and review isn't after. We iterate on the direction together, and iterate on the direction together, and iterate on the direction together, and AI takes a step, and then we iterate AI takes a step, and then we iterate AI takes a step, and then we iterate more in the direction. So, what's an more in the direction. So, what's an more in the direction. So, what's an interface that makes sense for that interface that makes sense for that interface that makes sense for that style of development?
-
style of development? style of development? I'm only slightly trolling, right? Slack I'm only slightly trolling, right? Slack I'm only slightly trolling, right? Slack was designed to be better, uh, than was designed to be better, uh, than was designed to be better, uh, than email for the average office worker. It email for the average office worker. It email for the average office worker. It was never designed for making software was never designed for making software was never designed for making software or the needs of everyone involved in or the needs of everyone involved in or the needs of everyone involved in that. But, what this is good for is that. But, what this is good for is that. But, what this is good for is surfacing all the facts that are not in surfacing all the facts that are not in surfacing all the facts that are not in code. Anything that's in code, any fact code. Anything that's in code, any fact code. Anything that's in code, any fact that's in code, the agents can figure that's in code, the agents can figure that's in code, the agents can figure out by reading the code. What's left are out by reading the code. What's left are out by reading the code. What's left are the things that are not in code, like the things that are not in code, like the things that are not in code, like political considerations. Like, "Hey, if political considerations. Like, "Hey, if political considerations. Like, "Hey, if we do it that way, that VP over there is we do it that way, that VP over there is we do it that way, that VP over there is going to vibe with that direction." Or, going to vibe with that direction." Or, going to vibe with that direction." Or, like, "We should make it purple because like, "We should make it purple because like, "We should make it purple because that's their favorite color." Or, "We that's their favorite color." Or, "We that's their favorite color." Or, "We get a really sweet deal, uh, on get a really sweet deal, uh, on get a really sweet deal, uh, on infrastructure from Azure. Therefore, we infrastructure from Azure. Therefore, we infrastructure from Azure. Therefore, we should be building on Azure, not on, uh, should be building on Azure, not on, uh, should be building on Azure, not on, uh, GCP or AWS. Whatever." GCP or AWS. Whatever." GCP or AWS. Whatever." But, the biggest win is the same win But, the biggest win is the same win But, the biggest win is the same win that we've already seen over and over, that we've already seen over and over, that we've already seen over and over, right? I don't email Word documents right? I don't email Word documents right? I don't email Word documents around anymore. I create and collaborate around anymore. I create and collaborate around anymore. I create and collaborate in the same surface, in the same place. in the same surface, in the same place. in the same surface, in the same place. This is coming for code, a trillion This is coming for code, a trillion This is coming for code, a trillion percent, right? So, let me show you what percent, right? So, let me show you what percent, right? So, let me show you what we have here. we have here. we have here. Oops. Oops. Oops. Here we go. I got to find the tab. All Here we go. I got to find the tab. All Here we go. I got to find the tab. All right. Uh, right. Uh, right. Uh, this is Ace. Let's switch to the this is Ace. Let's switch to the this is Ace. Let's switch to the repository. So, Ace looks an awful lot repository. So, Ace looks an awful lot repository. So, Ace looks an awful lot like Slack, right? And over here on the like Slack, right? And over here on the like Slack, right? And over here on the left, I've got sessions, and I can left, I've got sessions, and I can left, I've got sessions, and I can create new ones. And, you know, so far create new ones. And, you know, so far create new ones. And, you know, so far this kind of looks like every other this kind of looks like every other this kind of looks like every other conductor-like product out there. Um, conductor-like product out there. Um, conductor-like product out there. Um, the difference being is that every one the difference being is that every one the difference being is that every one of these is not on my machine. In fact, of these is not on my machine. In fact, of these is not on my machine. In fact, none of this is running on my machine.
-
none of this is running on my machine. none of this is running on my machine. It's all micro VMs in the cloud. So, It's all micro VMs in the cloud. So, It's all micro VMs in the cloud. So, every session is just a branch of my every session is just a branch of my every session is just a branch of my repo checked out to a spot in the cloud. repo checked out to a spot in the cloud. repo checked out to a spot in the cloud. Uh, and I can create them and do stuff Uh, and I can create them and do stuff Uh, and I can create them and do stuff in them and talk with my teammates. So, in them and talk with my teammates. So, in them and talk with my teammates. So, like, uh hey, um like, uh hey, um like, uh hey, um uh uh uh what's your favorite color, right? Uh what's your favorite color, right? Uh what's your favorite color, right? Uh and meanwhile, I'm going to like install and meanwhile, I'm going to like install and meanwhile, I'm going to like install my dependencies. my dependencies. my dependencies. And then when that's done, I'm going to And then when that's done, I'm going to And then when that's done, I'm going to do like uh bond dev. I'm going to run the dev bond dev. I'm going to run the dev server. server. server. Um and here, like, Russ and I are having Um and here, like, Russ and I are having Um and here, like, Russ and I are having a discussion, like, are you sure? Maybe a discussion, like, are you sure? Maybe a discussion, like, are you sure? Maybe uh maybe green is calmer. uh maybe green is calmer. uh maybe green is calmer. Um Um Um Oop, nope. I sent that as a terminal Oop, nope. I sent that as a terminal Oop, nope. I sent that as a terminal command. Good job, me. command. Good job, me. command. Good job, me. Um Um Um I do not want that as a thing. Great. I do not want that as a thing. Great. I do not want that as a thing. Great. I'll do it like this. I'll do it like this. I'll do it like this. Uh and I can open up my preview. Oops. Uh and I can open up my preview. Oops. Uh and I can open up my preview. Oops. Give me a preview. I'd like a browser Give me a preview. I'd like a browser Give me a preview. I'd like a browser preview. Okay. So, so far, not that preview. Okay. So, so far, not that preview. Okay. So, so far, not that different from developing with any sort different from developing with any sort different from developing with any sort of like multiplayer tool. And here, I've of like multiplayer tool. And here, I've of like multiplayer tool. And here, I've got this sort of calm hacker news thing.
-
got this sort of calm hacker news thing. got this sort of calm hacker news thing. I've just had a whole discussion with my I've just had a whole discussion with my I've just had a whole discussion with my teammate. I don't want to turn around teammate. I don't want to turn around teammate. I don't want to turn around and now like emit those instructions and now like emit those instructions and now like emit those instructions again. Instead, I just want to be like, again. Instead, I just want to be like, again. Instead, I just want to be like, yo, Ace, do it. Uh yo, Ace, do it. Uh yo, Ace, do it. Uh and because it sees the entire and because it sees the entire and because it sees the entire backscroll of my conversation with my backscroll of my conversation with my backscroll of my conversation with my peers, with my team, it's able to act on peers, with my team, it's able to act on peers, with my team, it's able to act on that uh that uh that uh uh on on that chat history. uh on on that chat history. uh on on that chat history. And if the Wi-Fi was nice, then it would And if the Wi-Fi was nice, then it would And if the Wi-Fi was nice, then it would be doing it faster. Um be doing it faster. Um be doing it faster. Um uh you're going to have to trust me on uh you're going to have to trust me on uh you're going to have to trust me on this because I don't have enough time to this because I don't have enough time to this because I don't have enough time to wait for this. That it's going to just wait for this. That it's going to just wait for this. That it's going to just respond to the fact that we had a respond to the fact that we had a respond to the fact that we had a discussion about colors. And AI is also discussion about colors. And AI is also discussion about colors. And AI is also really good at fishing out that final really good at fishing out that final really good at fishing out that final state. Like, very frequently, what do state. Like, very frequently, what do state. Like, very frequently, what do engineering conversations sound like? engineering conversations sound like? engineering conversations sound like? They sound like like, hey, we should try They sound like like, hey, we should try They sound like like, hey, we should try it this way. No, wait, I thought of like it this way. No, wait, I thought of like it this way. No, wait, I thought of like an edge case. We should actually do it an edge case. We should actually do it an edge case. We should actually do it that way. Let's go back to the first that way. Let's go back to the first that way. Let's go back to the first idea, right? But instead of me sort of idea, right? But instead of me sort of idea, right? But instead of me sort of like figuring teasing out that final like figuring teasing out that final like figuring teasing out that final state from that long conversation, I can state from that long conversation, I can state from that long conversation, I can just let AI do it and it'll figure it just let AI do it and it'll figure it just let AI do it and it'll figure it out. So, I don't need to work for the out. So, I don't need to work for the out. So, I don't need to work for the robots. And sometimes we have things robots. And sometimes we have things robots. And sometimes we have things that are a lot more um complicated. Like that are a lot more um complicated. Like that are a lot more um complicated. Like here, I wanted to add selectable time here, I wanted to add selectable time here, I wanted to add selectable time frames to my app. And so, I asked it to frames to my app. And so, I asked it to frames to my app. And so, I asked it to make a plan, and that plan comes as a uh make a plan, and that plan comes as a uh make a plan, and that plan comes as a uh uh markdown document. Uh but, this uh markdown document. Uh but, this uh markdown document. Uh but, this markdown document is not just for me to markdown document is not just for me to markdown document is not just for me to look at and edit, it's for us to look at look at and edit, it's for us to look at look at and edit, it's for us to look at and edit together. So, Russ is somewhere and edit together. So, Russ is somewhere and edit together. So, Russ is somewhere uh here in this document, and like, you uh here in this document, and like, you uh here in this document, and like, you know, maybe he thinks that we should add know, maybe he thinks that we should add know, maybe he thinks that we should add an all time, and I'm going to get rid of an all time, and I'm going to get rid of an all time, and I'm going to get rid of the today, and here I can again do like the today, and here I can again do like the today, and here I can again do like uh uh uh we've updated the plan, do it.
-
we've updated the plan, do it. we've updated the plan, do it. Um Um Um Uh Uh Uh uh and it'll just respond to the plan uh and it'll just respond to the plan uh and it'll just respond to the plan that we've edited together. And as we that we've edited together. And as we that we've edited together. And as we see now, we're moving to this future see now, we're moving to this future see now, we're moving to this future where uh where uh where uh more and more of the work that we're more and more of the work that we're more and more of the work that we're doing with AI results in documents like doing with AI results in documents like doing with AI results in documents like markdown documents in a docs folder that markdown documents in a docs folder that markdown documents in a docs folder that captures sort of the truth, and maybe captures sort of the truth, and maybe captures sort of the truth, and maybe more and more in the future we're going more and more in the future we're going more and more in the future we're going to be editing those documents as the way to be editing those documents as the way to be editing those documents as the way that we do development. Like, in order that we do development. Like, in order that we do development. Like, in order to change something about my to change something about my to change something about my application, I'm going to edit a application, I'm going to edit a application, I'm going to edit a document, and I'm going to tell AI, document, and I'm going to tell AI, document, and I'm going to tell AI, "Hey, make the document true." So, this "Hey, make the document true." So, this "Hey, make the document true." So, this shared document editing is not just shared document editing is not just shared document editing is not just like, "Oh, a nice to have." Maybe this like, "Oh, a nice to have." Maybe this like, "Oh, a nice to have." Maybe this is actually sort of the uh interface is actually sort of the uh interface is actually sort of the uh interface that we like to work in. that we like to work in. that we like to work in. But, there's also the uh social coding But, there's also the uh social coding But, there's also the uh social coding aspect, right? Like, if I'm working with aspect, right? Like, if I'm working with aspect, right? Like, if I'm working with other people on my team. Um remember other people on my team. Um remember other people on my team. Um remember when that was a thing that was a tagline when that was a thing that was a tagline when that was a thing that was a tagline under the GitHub logo? under the GitHub logo? under the GitHub logo? Um Um Um so, uh so, uh so, uh how can it help me stay up to date with how can it help me stay up to date with how can it help me stay up to date with what everybody else on my team is what everybody else on my team is what everybody else on my team is working on? Like, it's not just enough working on? Like, it's not just enough working on? Like, it's not just enough to have like real-time multiplayer, I to have like real-time multiplayer, I to have like real-time multiplayer, I also want to be ambiently aware of what also want to be ambiently aware of what also want to be ambiently aware of what everybody's going going on about. So, everybody's going going on about. So, everybody's going going on about. So, Kristoff is working on Vian tooling.
-
Kristoff is working on Vian tooling. Kristoff is working on Vian tooling. This is actually work that we're doing This is actually work that we're doing This is actually work that we're doing on Ace, and Maggie wrote this dashboard on Ace, and Maggie wrote this dashboard on Ace, and Maggie wrote this dashboard and hardcoded her name, and so that's and hardcoded her name, and so that's and hardcoded her name, and so that's why we're looking at Maggie's name. Um why we're looking at Maggie's name. Um why we're looking at Maggie's name. Um and David worked on whatever. All this and David worked on whatever. All this and David worked on whatever. All this stuff to help me stay aligned with my stuff to help me stay aligned with my stuff to help me stay aligned with my team. And when I look to the future, I'm team. And when I look to the future, I'm team. And when I look to the future, I'm starting to think about how do starting to think about how do starting to think about how do automations surface themselves in this? automations surface themselves in this? automations surface themselves in this? If I want to talk with my automation, uh If I want to talk with my automation, uh If I want to talk with my automation, uh there's lots of things that I want to do there's lots of things that I want to do there's lots of things that I want to do in this kind of interface, like when an in this kind of interface, like when an in this kind of interface, like when an agent wants to tap me on the shoulder agent wants to tap me on the shoulder agent wants to tap me on the shoulder and ask me a question, and ask me a question, and ask me a question, um, that I think are very interesting. um, that I think are very interesting. um, that I think are very interesting. So, that's a short Ace demo. We're going through this weird inversion We're going through this weird inversion of our relationship with the agents. of our relationship with the agents. of our relationship with the agents. Like, the better that we get at Like, the better that we get at Like, the better that we get at articulating, uh, our goals to the articulating, uh, our goals to the articulating, uh, our goals to the agents, the less they need us. agents, the less they need us. agents, the less they need us. Uh, and as the models get better, Uh, and as the models get better, Uh, and as the models get better, they're also good at spotting like they're also good at spotting like they're also good at spotting like underspecified behaviors and then asking underspecified behaviors and then asking underspecified behaviors and then asking us to clarify. us to clarify. us to clarify. Uh, and then whenever they need a pair Uh, and then whenever they need a pair Uh, and then whenever they need a pair of hands, they can ask us to be the pair of hands, they can ask us to be the pair of hands, they can ask us to be the pair of hands. But, either way, the of hands. But, either way, the of hands. But, either way, the interfaces now have the ability to interfaces now have the ability to interfaces now have the ability to support the ability of agents to listen support the ability of agents to listen support the ability of agents to listen to everything and invoke us when they to everything and invoke us when they to everything and invoke us when they need it. Which is a little funny to need it. Which is a little funny to need it. Which is a little funny to think about. It's maybe like sort of think about. It's maybe like sort of think about. It's maybe like sort of we're coming at it from this side and we're coming at it from this side and we're coming at it from this side and like open claws coming at it from this like open claws coming at it from this like open claws coming at it from this side, but like we're landing in sort of side, but like we're landing in sort of side, but like we're landing in sort of a similar spot.
-
And I'll close with this thought. Um, And I'll close with this thought. Um, for the past few years, AI has helped me for the past few years, AI has helped me for the past few years, AI has helped me to type. But, if you look at the science to type. But, if you look at the science to type. But, if you look at the science of the matter, it's only about 5% of the of the matter, it's only about 5% of the of the matter, it's only about 5% of the job. Like, this was a longitudinal study job. Like, this was a longitudinal study job. Like, this was a longitudinal study conducted on like 100 developers over conducted on like 100 developers over conducted on like 100 developers over thousands of hours. Turns out that the thousands of hours. Turns out that the thousands of hours. Turns out that the hands-on keyboard typing part is 5% of hands-on keyboard typing part is 5% of hands-on keyboard typing part is 5% of the time. Now, AI has to help me with the time. Now, AI has to help me with the time. Now, AI has to help me with the other 95%. Where is the system that the other 95%. Where is the system that the other 95%. Where is the system that I want to touch? How does it work today? I want to touch? How does it work today? I want to touch? How does it work today? What do other people think about like What do other people think about like What do other people think about like how we could mutate it or should mutate how we could mutate it or should mutate how we could mutate it or should mutate it? it? it? When AI can discover anything in my code When AI can discover anything in my code When AI can discover anything in my code base, like, how do we How do we help base, like, how do we How do we help base, like, how do we How do we help scale up all those other things, right? scale up all those other things, right? scale up all those other things, right? Like, not just the 5%, which is what all Like, not just the 5%, which is what all Like, not just the 5%, which is what all the tools have been helping us to do so the tools have been helping us to do so the tools have been helping us to do so far. So, that's Ace and that's a genetic far. So, that's Ace and that's a genetic far. So, that's Ace and that's a genetic workflows. Uh, please, uh, come by and workflows. Uh, please, uh, come by and workflows. Uh, please, uh, come by and talk to us. Uh, we have, uh, a booth talk to us. Uh, we have, uh, a booth talk to us. Uh, we have, uh, a booth down in the Microsoft booth because down in the Microsoft booth because down in the Microsoft booth because we're a Microsoft company. Uh, and you we're a Microsoft company. Uh, and you we're a Microsoft company. Uh, and you can find us on the socials and get at can find us on the socials and get at can find us on the socials and get at next.com. So, if any of this resonates next.com. So, if any of this resonates next.com. So, if any of this resonates and you're interested in it and you want and you're interested in it and you want and you're interested in it and you want to give it a shot, ACE is going to be in to give it a shot, ACE is going to be in to give it a shot, ACE is going to be in technical preview hopefully later this technical preview hopefully later this technical preview hopefully later this month and genetic workflows is already month and genetic workflows is already month and genetic workflows is already out there for you to kick the tires and out there for you to kick the tires and out there for you to kick the tires and we'd love to hear from you and how you we'd love to hear from you and how you we'd love to hear from you and how you want to use this. Thank you so much.
-
want to use this. Thank you so much. want to use this. Thank you so much. >> [applause]
Summary
GitHub Next explores the future of software development, focusing on durable themes like AI-driven productivity and agents that parallelize efforts. The key takeaway is that the greatest value lies not in multiplying individual output, but in finding innovative ways to use technology to achieve more.