Realtime multiplayer, automation, and you! — Idan Gazit, GitHub

AI Engineer · 21 min · 290 sentences · from YouTube's caption track

Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.

  1. 00:01[music]
  2. 00:13going to start 1 minute early, which gives me one extra minute.
  3. 00:17And then anybody who came on time is going to miss the super enthralling introduction.
  4. 00:22Hi, my name is Eitan.
  5. 00:23Nice to meet you all.
  6. 00:25Uh I lead GitHub Next, which is the Labs team of GitHub.
  7. 00:29I like to call us the Department of Fool Around and Find Out, but I usually don't say the word fool.
  8. 00:36We're the team that created Copilot uh and pioneered a ton of areas since then, right?
  9. 00:40Uh spec-based programming, natural language to app, lots more.
  10. 00:44Not everything uh that we do turns into a finished product.
  11. 00:47Our job is to sort of explore the future and scout it out.
  12. 00:51Um but our job is to reach for the GitHub that's going to be next year.
  13. 00:56Maybe not tomorrow's GitHub, but uh the tools that we're all going to use to make software a year from now, 2 years from now.
  14. 01:03That's pretty hard, cuz my crystal ball barely works into uh next week.
  15. 01:07Uh and we're really fortunate that we get to do most of our work in the open, so you can check out githubnext.com and our socials, which we occasionally remember to post
  16. 01:17stuff to.
  17. 01:18And what we do isn't really research, right?
  18. 01:20Because the only way to know what's going to be good uh is to make stuff.
  19. 01:25So, we make a lot of stuff, and the hard part about being an undirected research team is always the question of what's worth our time.
  20. 01:34Even if you're a token billionaire, uh even if you have 10 terminals running Fable night and day, then opportunity cost is is still there.
  21. 01:42It's everything.
  22. 01:43Uh so, if in a in a world where the uh marginal cost of a line of code is approaching zero, uh and AI can help us to think and to make,
  23. 01:54what do we make, right?
  24. 01:56How do we even choose what's important uh when the market is super noisy and the tech changes every week?
  25. 02:03And this isn't even really a next problem anymore.
  26. 02:06This is an all of us problem now.
  27. 02:08We're all labs teams now.
  28. 02:10And the way that next thinks about this stuff is to look for durable themes.
  29. 02:14Things that will be true no matter what the technology that exists tomorrow.
  30. 02:20And I think that the theme of this moment is very much an evergreen one, right?
  31. 02:26It's AI started with a surge of personal productivity, right?
  32. 02:30The LLMs completed what I type and the agents go fetch me the thing that I need.
  33. 02:35And now I have many agents helping me to parallelize myself.
  34. 02:39But the greatest value doesn't come from multiplying me into more me.
  35. 02:45It comes from enabling groups of people to do more.
  36. 02:47That's always been true.
  37. 02:50And we're thinking about how to accomplish that through two lenses.
  38. 02:53Every industrial revolution came about through automation, right?
  39. 02:57It's funny to think about our giant software industry as being pre-industrial, but on some level it is because until now the only automations that we had were heuristics like make sure there's a semicolon at the end of every line.
  40. 03:11But now AI can help us to automate things that require some amount of basic judgment and intelligence.
  41. 03:17And there's no magic trick to making great software, right?
  42. 03:19It costs time.
  43. 03:22And we can buy that time by automating away the things that we used to need to do manually.
  44. 03:27Like the more we automate, the more time we have to spend on craft or on our product or on making it really good or on features, right?
  45. 03:35Either you hire more people or you automate away part of what your people are currently doing in order to spend that time.
  46. 03:41And at the same time, how are we going to work together, right?
  47. 03:44How does collaboration look like in the future?
  48. 03:47Whoops.
  49. 03:48Oh well, sorry about that.
  50. 03:50Yesterday uh, Jeffrey Lit talked about understanding being the bottleneck, and that's very true at a me level.
  51. 03:56Uh, but my personal understanding was never sufficient for shipping code inside a team, right?
  52. 04:01Our understanding at an us level can only happen at the end of the process.
  53. 04:07Um, sorry.
  54. 04:08Uh, uh, I it can't only happen at the end of the process, uh, when the process happens so much faster.
  55. 04:15So, going faster means that a small misalignment, uh, can snowball into a ton of wasted work, uh, and that work costs tokens, and tokens cost real money now, so,
  56. 04:27uh, on top of the time that you're mis spending.
  57. 04:30So, today I'll give you a quick tour of two prototypes that we're working on at GitHub Next in each of these themes.
  58. 04:35Agentic Workflows is our take Why is that not there?
  59. 04:38Oh, I had to click again.
  60. 04:40Uh, Agentic Workflows is our take on how automations should work in an agentic world, and Aces a prototype that explores what real-time multiplayer software development looks like.
  61. 04:50So, I'll start by showing off Agentic Workflows, and it requires me doing this.
  62. 04:54Okay, cool.
  63. 04:55Uh, this is my personal website, not that interesting.
  64. 04:57I'm showing it to you.
  65. 04:59This is like Chekhov's gun, we're going to see it again later.
  66. 05:01Um, and my personal website is built with this framework called Astro.
  67. 05:04Astro is a great web framework.
  68. 05:06The greatest part about it is that they release like 50 things a month, which means that I'm constantly on the upgrade treadmill, and there's a great GitHub product called Dependabot, which notifies me when my stuff is out of date.
  69. 05:17Um, but the problem is is that when I do these upgrades, I frequently need to make code changes.
  70. 05:23So, what I really want is a kind of super Dependabot that's always there, automatically looking in the background at my dependencies and figuring out how to upgrade me, including the code changes, the breaking changes.
  71. 05:33Um, and because I'm lazy, and I like not doing work, um, I used Copilot, uh, to create an agentic workflow, and there's this magic line up top where I supply effectively a skill saying like, "Hey, create an agentic workflow.
  72. 05:47Here's a document that tells you everything you need to know about that.
  73. 05:50And then what comes below that is something a lot like a Slack message that I'd send to a junior developer on my team.
  74. 05:57Like, every day I want you to check if there's a new release, look at the change log, look at the docs, come up with a plan for the upgrade,
  75. 06:05and then create a PR with the thing and here's the links to the docs.
  76. 06:08Right, this is like a message that I would send to somebody on my team, go write a playbook.
  77. 06:12And when I went and created this, it did go and create a playbook.
  78. 06:16In fact, that's what agentic workflows kind of look like.
  79. 06:18They look like markdown documents.
  80. 06:20Like, if GitHub Actions and Copilot had a baby together, and it ran on markdown, this is what it is.
  81. 06:26So, what does this agentic workflow look like?
  82. 06:31Well, you know, it's an upgrade checker, it's got my tasks, step one, check for new releases.
  83. 06:36Again, because it sees my codebase, it was able to infer what it even needs to check and it actually found these specific dependencies.
  84. 06:44Review the change log and the upgrade guide, apply the upgrade, and then create a pull request.
  85. 06:50Right, I didn't ask for any of this that explicitly, but it turns out that Copilot is pretty good at sussing out my little three-line message into a full playbook.
  86. 06:59And then at the top, I've got this special section, this is the what we're calling No, don't collapse it.
  87. 07:06Oh, man.
  88. 07:08Scrolling is wonky when you zoom in.
  89. 07:10This YAML front matter.
  90. 07:12This is where we stick the guardrails cuz if we're going to be not supervising agents doing things, then we're going to need much stronger guardrails around what they're allowed to do, what they're allowed to read, what they're allowed to write.
  91. 07:24And where are we going to specify that?
  92. 07:25And it's not enough to just prompt the agent and be like, "Listen, bro, I don't want you to buy Bitcoin for me ever."
  93. 07:32That's not enough cuz somebody else can prompt inject the agent and take it in a direction that you don't expect.
  94. 07:37So, any of the guardrails, if you're prompting the guardrails at the agent, you're effectively letting the fox loose in the henhouse.
  95. 07:45It's not actually a guard rail.
  96. 07:48Um, so here, uh, you can see that I'm specifying deterministically like my permissions are read all, what tools am I allowed to use, uh, what network, uh, requests is it allowed to make?
  97. 07:59It's not allowed to just go to bitcoin.com or whatever.
  98. 08:02Uh, in fact, it's only allowed to go to some specified set of default websites, the NPM ecosystem cuz it's got to check for like, you know, what's new, GitHub, and of course the Astro docs which I specified in my original prompt.
  99. 08:15Uh, and I've got this block called safe outputs which is basically saying these are the only things that the agent is allowed to write.
  100. 08:21And so I'm saying in this case the agent will is allowed to create pull request.
  101. 08:26Pull request single uh, because I don't want the agent to get prompt injected to create 500 pull requests.
  102. 08:32That would be a denial of service.
  103. 08:34Um, or and this is the other thing, I explicitly said you're allowed to do nothing, right?
  104. 08:38Which sounds silly, but it actually matters because in a world where I have lots of automations, the last thing I want is noise.
  105. 08:44I don't want the agents denial of servicing me.
  106. 08:48So, okay, I've created this and I've run it and this is actually my actual automation on my actual personal website.
  107. 08:56I didn't ask for any of this, but it did a pretty good job of like saying, "Hey, here's the highlights of what you get from going from this version that you're currently on to the version that is the target,
  108. 09:05right?
  109. 09:05It's read all of the release notes in the middle.
  110. 09:07This is normally what I would do as a human.
  111. 09:10Uh, and it's built me like, you know, sort of like a tailored description.
  112. 09:13It's figured out there's no breaking changes.
  113. 09:15It's actually verified this by running and building my project.
  114. 09:18And because I happen to have this deployed to Cloudflare, um, or whatever, anything with preview deploys, I can click that open and see that nothing has changed in my website, which is exactly what I want, right?
  115. 09:28Like it's done the upgrade and I see that it still works exactly as it did before.
  116. 09:32But this was like a minor point release.
  117. 09:34That doesn't really count.
  118. 09:35Let's look at a major upgrading change.
  119. 09:38And actually, I'm lucky that Astro just released Astro 7 because this is actually jumping two major revisions from five to seven.
  120. 09:45And so, now it's saying like, "Okay, Astro 7 has brought me all of these things.
  121. 09:50And Astro 6 would have brought me all of that stuff, but I neglected to do the upgrade so I could have a cool demo for you all."
  122. 09:57And it's found all of the code changes that were broken, and it updated them.
  123. 10:02It also verified that the build runs.
  124. 10:05And it also highlighted manual steps that things that I would need to do later.
  125. 10:11And again, you know, if I go down here and I click on this, I can see, "Hey, still works."
  126. 10:17So, cool.
  127. 10:18Now, uh it's just markdown.
  128. 10:21It's easy to iterate on that markdown, right?
  129. 10:23If you don't like the way that the automation works, just edit the English.
  130. 10:26It gets recompiled into an Actions workflow.
  131. 10:29Like, the markdown is the source code.
  132. 10:31The YAML is like a compiled artifact.
  133. 10:33You never look at it.
  134. 10:35Um but, we've also given you a whole library of Agendic workflows for you to use as a starting point to customize.
  135. 10:41So, an issue triager.
  136. 10:43Internally, GitHub has actually used this as the basis for like spiking out our own internal issue triager or for like hunting down N+1 queries in our like monolith or all kinds of things.
  137. 10:53There's a ton of things that are super helpful there.
  138. 10:55Repo assist.
  139. 10:56This is actually a swarm of Agendic workflows that work together to help you maintain your project by finding low-hanging fruit, fixing them, identifying tickets that need nudging or feedback that you need from people who have filed issues, whatever.
  140. 11:12CI doctor.
  141. 11:13How many times have you responded to a busted CI run by just running it again?
  142. 11:18All of us.
  143. 11:19Anybody who hasn't raised their hand is lying.
  144. 11:21Uh a million more.
  145. 11:24Like, you know, goals, sure.
  146. 11:26Daily team status and repo status.
  147. 11:28If I want this to go do like homework on the internet, I can.
  148. 11:31So, this is not just for engineers, this is also for product managers whose job it is to look at information over here and summarize those tickets over there, right?
  149. 11:39We can start to get everybody involved in automation.
  150. 11:42That's how you actually get industrial scale.
  151. 11:46Uh So, uh that's Agentic Workflows.
  152. 11:50Um the security guardrails, we have sort of four principles that we believe uh everybody should burn into their brains.
  153. 11:57Uh defense in depth, one layer is never enough.
  154. 12:00Uh that was always true.
  155. 12:01Never trust agents with secrets.
  156. 12:03If an agent can know a secret, that secret, you need to treat it as if it's already been compromised.
  157. 12:09Uh because you have no idea whether or not somebody's injected the agent to reveal that secret somewhere else.
  158. 12:14So, if an agent can see the secret, um it's bad.
  159. 12:17In Agentic Workflows, the secrets are all kept outside of the agent's jail, and when the agent wants to use the secret to call something, it needs to ask the warden, "Hey, mother may I please go talk to that service?"
  160. 12:29Uh stage and vet all rights, just so that it's auditable, and log everything, just so that it's auditable.
  161. 12:35Uh and when we give this to existing projects like the Home Assistant project, which is a huge open-source project, um the first uh Agentic Workflow they built was something that looks at every submitted issue, walks the Python stack trace to figure out if the bug is in first-party code or third-party code, closes the issue if it's not
  162. 12:53their issue, right?
  163. 12:54That's something that was not possible before AI, not possible with heuristics, uh but is possible now.
  164. 13:01Agentic Workflows is in public preview today.
  165. 13:03You can go and kick the tires.
  166. 13:05So, go ahead, go wild.
  167. 13:07Uh we actually believe that this is going to be a bigger category than interactive AI because automations that run in the background while you sleep, that's the ballgame.
  168. 13:17Okay, so let's talk about the collaboration piece.
  169. 13:19So, this is how we've always built software, right?
  170. 13:22Because the cost of writing code was so high, uh but that's not true anymore.
  171. 13:27We would plan and review together, but the building part was done alone.
  172. 13:30Like, you know, illuminated by the light of my monitor, uh, I would build.
  173. 13:34But now, none of it is alone, right?
  174. 13:35Planning isn't before, and review isn't after.
  175. 13:39We iterate on the direction together, and AI takes a step, and then we iterate more in the direction.
  176. 13:44So, what's an interface that makes sense for that style of development?
  177. 13:48I'm only slightly trolling, right?
  178. 13:50Slack was designed to be better, uh, than email for the average office worker.
  179. 13:54It was never designed for making software or the needs of everyone involved in that.
  180. 13:59But, what this is good for is surfacing all the facts that are not in code.
  181. 14:04Anything that's in code, any fact that's in code, the agents can figure out by reading the code.
  182. 14:08What's left are the things that are not in code, like political considerations.
  183. 14:12Like, "Hey, if we do it that way, that VP over there is going to vibe with that direction."
  184. 14:16Or, like, "We should make it purple because that's their favorite color."
  185. 14:19Or, "We get a really sweet deal, uh, on infrastructure from Azure.
  186. 14:23Therefore, we should be building on Azure, not on, uh, GCP or AWS.
  187. 14:28Whatever."
  188. 14:30But, the biggest win is the same win that we've already seen over and over, right?
  189. 14:33I don't email Word documents around anymore.
  190. 14:35I create and collaborate in the same surface, in the same place.
  191. 14:40This is coming for code, a trillion percent, right?
  192. 14:43So, let me show you what we have here.
  193. 14:45Oops.
  194. 14:46Here we go.
  195. 14:48I got to find the tab.
  196. 14:49All right.
  197. 14:50Uh, this is Ace.
  198. 14:52Let's switch to the repository.
  199. 14:54So, Ace looks an awful lot like Slack, right?
  200. 14:57And over here on the left, I've got sessions, and I can create new ones.
  201. 15:00And, you know, so far this kind of looks like every other conductor-like product out there.
  202. 15:05Um, the difference being is that every one of these is not on my machine.
  203. 15:09In fact, none of this is running on my machine.
  204. 15:11It's all micro VMs in the cloud.
  205. 15:12So, every session is just a branch of my repo checked out to a spot in the cloud.
  206. 15:17Uh, and I can create them and do stuff in them and talk with my teammates.
  207. 15:20So, like, uh hey, um uh what's your favorite color, right?
  208. 15:28Uh and meanwhile, I'm going to like install my dependencies.
  209. 15:31And then when that's done, I'm going to do like uh bond dev.
  210. 15:37I'm going to run the dev server.
  211. 15:39Um and here, like, Russ and I are having a discussion, like, are you sure?
  212. 15:44Maybe uh maybe green is calmer.
  213. 15:49Um Oop, nope.
  214. 15:51I sent that as a terminal command.
  215. 15:52Good job, me.
  216. 15:54I do not want that as a thing.
  217. 15:56Great.
  218. 15:56I'll do it like this.
  219. 15:58Uh and I can open up my preview.
  220. 16:01Oops.
  221. 16:02Give me a preview.
  222. 16:03I'd like a browser preview.
  223. 16:04Okay.
  224. 16:05So, so far, not that different from developing with any sort of like multiplayer tool.
  225. 16:09And here, I've got this sort of calm hacker news thing.
  226. 16:11I've just had a whole discussion with my teammate.
  227. 16:14I don't want to turn around and now like emit those instructions again.
  228. 16:17Instead, I just want to be like, yo, Ace, do it.
  229. 16:20Uh and because it sees the entire backscroll of my conversation with my peers, with my team, it's able to act on that uh uh on on that chat history.
  230. 16:32And if the Wi-Fi was nice, then it would be doing it faster.
  231. 16:36Um uh you're going to have to trust me on this because I don't have enough time to wait for this.
  232. 16:39That it's going to just respond to the fact that we had a discussion about colors.
  233. 16:43And AI is also really good at fishing out that final state.
  234. 16:47Like, very frequently, what do engineering conversations sound like?
  235. 16:50They sound like like, hey, we should try it this way.
  236. 16:52No, wait, I thought of like an edge case.
  237. 16:54We should actually do it that way.
  238. 16:55Let's go back to the first idea, right?
  239. 16:58But instead of me sort of like figuring teasing out that final state from that long conversation, I can just let AI do it and it'll figure it out.
  240. 17:06So, I don't need to work for the robots.
  241. 17:08And sometimes we have things that are a lot more um complicated.
  242. 17:12Like here, I wanted to add selectable time frames to my app.
  243. 17:16And so, I asked it to make a plan, and that plan comes as a uh uh markdown document.
  244. 17:21Uh but, this markdown document is not just for me to look at and edit, it's for us to look at and edit together.
  245. 17:28So, Russ is somewhere uh here in this document, and like, you know, maybe he thinks that we should add an all time, and I'm going to get rid of the today,
  246. 17:37and here I can again do like uh we've updated the plan, do it.
  247. 17:43Um Uh uh and it'll just respond to the plan that we've edited together.
  248. 17:49And as we see now, we're moving to this future where uh more and more of the work that we're doing with AI results in documents like markdown documents in a docs folder that captures sort of the truth,
  249. 18:01and maybe more and more in the future we're going to be editing those documents as the way that we do development.
  250. 18:07Like, in order to change something about my application, I'm going to edit a document, and I'm going to tell AI, "Hey, make the document true."
  251. 18:15So, this shared document editing is not just like, "Oh, a nice to have."
  252. 18:20Maybe this is actually sort of the uh interface that we like to work in.
  253. 18:24But, there's also the uh social coding aspect, right?
  254. 18:28Like, if I'm working with other people on my team.
  255. 18:30Um remember when that was a thing that was a tagline under the GitHub logo?
  256. 18:35Um so, uh how can it help me stay up to date with what everybody else on my team is working on?
  257. 18:41Like, it's not just enough to have like real-time multiplayer, I also want to be ambiently aware of what everybody's going going on about.
  258. 18:48So, Kristoff is working on Vian tooling.
  259. 18:50This is actually work that we're doing on Ace, and Maggie wrote this dashboard and hardcoded her name, and so that's why we're looking at Maggie's name.
  260. 18:57Um and David worked on whatever.
  261. 18:59All this stuff to help me stay aligned with my team.
  262. 19:02And when I look to the future, I'm starting to think about how do automations surface themselves in this?
  263. 19:08If I want to talk with my automation, uh there's lots of things that I want to do in this kind of interface, like when an agent wants to tap me on the shoulder and ask me a question,
  264. 19:18um, that I think are very interesting.
  265. 19:21So, that's a short Ace demo.
  266. 19:24We're going through this weird inversion of our relationship with the agents.
  267. 19:27Like, the better that we get at articulating, uh, our goals to the agents, the less they need us.
  268. 19:34Uh, and as the models get better, they're also good at spotting like underspecified behaviors and then asking us to clarify.
  269. 19:41Uh, and then whenever they need a pair of hands, they can ask us to be the pair of hands.
  270. 19:45But, either way, the interfaces now have the ability to support the ability of agents to listen to everything and invoke us when they need it.
  271. 19:55Which is a little funny to think about.
  272. 19:56It's maybe like sort of we're coming at it from this side and like open claws coming at it from this side, but like we're landing in sort of a similar spot.
  273. 20:08And I'll close with this thought.
  274. 20:09Um, for the past few years, AI has helped me to type.
  275. 20:13But, if you look at the science of the matter, it's only about 5% of the job.
  276. 20:17Like, this was a longitudinal study conducted on like 100 developers over thousands of hours.
  277. 20:22Turns out that the hands-on keyboard typing part is 5% of the time.
  278. 20:27Now, AI has to help me with the other 95%.
  279. 20:29Where is the system that I want to touch?
  280. 20:32How does it work today?
  281. 20:33What do other people think about like how we could mutate it or should mutate it?
  282. 20:38When AI can discover anything in my code base, like, how do we How do we help scale up all those other things, right?
  283. 20:46Like, not just the 5%, which is what all the tools have been helping us to do so far.
  284. 20:51So, that's Ace and that's a genetic workflows.
  285. 20:54Uh, please, uh, come by and talk to us.
  286. 20:56Uh, we have, uh, a booth down in the Microsoft booth because we're a Microsoft company.
  287. 21:02Uh, and you can find us on the socials and get at next.com.
  288. 21:05So, if any of this resonates and you're interested in it and you want to give it a shot, ACE is going to be in technical preview hopefully later this month and genetic workflows is already out there for you to kick the tires and we'd love to hear from you and how you want to use this.
  289. 21:17Thank you so much.
  290. 21:18[applause]