← All AI Engineer talks

AI Engineer Europe 2026

Cooking with Agents in VS Code

About this talk

Microsoft cloud advocate Liam Hampton demonstrates choosing among three VS Code coding-agent execution modes: interactive local agents for hands-on work, background agents using Copilot CLI and isolated Git worktrees for partially supervised tasks, and cloud agents for autonomous documentation and repository improvements. Using a Python CRUD application and a frontend issue, he emphasizes concurrent agent workflows, appropriate human oversight, token costs, and patterns transferable beyond GitHub Copilot.

Chapters

  1. 0:00Why coding-agent choices, costs, and oversight matter
  2. 2:10Local, background, and cloud agents; Git worktree isolation
  3. 4:01Matching delegation style to frontend and documentation tasks
  4. 5:39Python CRUD demo and parallel agent workflows
  5. 12:41Cross-agent applicability, VS Code interface, and closing

Talk transcript

  1. 0:00

    [upbeat music] Hello, everybody.

  2. 0:16

    It's great to see so many of you who are still here at the final, on the final day, right at the end. So I hope you've all had a great conference.

  3. 0:23

    Uh, show of hands, who here uses GitHub Copilot?

  4. 0:28

    Awesome. Lovely stuff. Uh, [laughs] who here uses VS Code with GitHub Copilot? Awesome. So I'm gonna be talking about both these things today. I'm gonna be talking about cooking with agents in VS Code.

  5. 0:40

    Now, the gentleman before was speaking about cognitive load of agents, and that is absolutely correct. You see so many different things now with agents, and they're popping up all over the place, from the CLI, in the terminals, in chat windows, in other editors, et cetera, et cetera.

  6. 0:56

    But we still somehow seem to find ourself in this sort of paradigm where everybody thinks agents can solve the world's problems. You still see developers, and I still speak to folks who think we can do one-shot prompts that'll create a wonderful application or solve all of their issues in one go.

  7. 1:14

    Absolutely not the case. And we end up asking these questions from a business perspective of, what's the ROI? What's the productivity boost? Where are we seeing our money? And at the moment we're seeing this whole expenditure on AI and all of this infrastructure, all of these sort of toolings and services, and we're still yet to really reap

  8. 1:30

    the benefits of those services. So when we look at how people are spending and how businesses are looking at AI, we really need to be very careful with how we're utilizing the tools and services.

  9. 1:43

    We need to be careful about token spend. We need to be understanding the tools and the flexibility. I read somewhere yesterday on LinkedIn, uh, somebody has released this repo, it's growing massively in popularity, uh, and it's talking like a pirate for your, your chatbot to talk back to your, your AI services and language models to talk like

  10. 1:59

    that, because it reduces the token spend. Now, people are coming up with these really intuitive and really fun ways to get around token expenditure and really pull in those benefits, uh, very quickly.

  11. 2:10

    So what I'm gonna be talking about is GitHub Copilot agents. Now, this doesn't just apply to GitHub Copilot, this also applies to other AI agents as well. So when we're looking at Copilot agents around context, what they really have access to in your workspaces, how they're being used and utilized from within VS Code and the CLI, we're

  12. 2:28

    going to be looking at all of those things very shortly. So just a plain and simple, what kind of agents do we have at the moment? Now, we're looking at local agents.

  13. 2:39

    We've got local agents which are in VS Code. You may use Claude, you may use all these other AI services, still applicable, still running on your local machine with remote models, anything that you're really using.

  14. 2:51

    Maybe you're using locally hosted ones as well. But this is a way to have local models interacting with you side by side, very hands-on, very much in the context and human-in-the-loop.

  15. 3:03

    Then you've got background agents. Now, we use the GitHub Copilot CLI. We have also got access to that within VS Code. But this is more of an isolated way to be using them.

  16. 3:14

    Now, we are actually using Git worktrees. Show of hands if you know what Git worktree is and who uses them. Awesome. Wonderful. Uh, for those of you who don't know, uh, easy way to explain that is it is a branch that is mapped to an isolated folder within the workspace that you're working in, like a sub-directory, just

  17. 3:30

    a chop of your code with its own little branch associated to it. Very similar to a Git branch in general. Then you've got cloud agents. Now, cloud agents is quite an interesting one, because it allows you to scale outside of your organization very, very quickly and utilize a lot of the power of, I guess, the cloud and

  18. 3:48

    some of the services that we're using in GitHub. Now, we use these when we don't want to be touching it ourself. I use this when it comes to writing documentation or sort of having less of a hands-on approach.

  19. 4:03

    So when would we, when would we use a local agent? Well, I'd use a local agent when it comes to writing tests. I want to be really hands-on with my tests.

  20. 4:12

    I want to understand what's going on in the code base. I really want to be in there in the weeds. When will I use a background agent? Well, a background agent would be great if I want to be sort of a fifty/fifty.

  21. 4:23

    I want to create a UI for a front end o- of an application. I kind of want to know what's going on. I don't really want to hand it off to a cloud agent, 'cause I don't want to be fully out of the loop, but I also, also don't want to really be hands-on to and fro myself.

  22. 4:36

    'Cause that can take time. That can be quite arduous. That can be quite annoying.

  23. 4:40

    So I would use a background agent, and I'm gonna show you how I'm using Autopilot to do exactly that with GitHub Copilot in just a moment. When will I use a cloud agent?

  24. 4:48

    Well, I would use that mostly for documentation. I hate documentation. I don't like writing it. I don't think many people do, unless you're a content developer. Uh, I really just pawn that off to the cloud agents, and that could be making a repository open source friendly.

  25. 5:02

    It could be writing a README, using some skills to do that as well. So what I'm really looking at is VS Code as a single entry point for AI agents.

  26. 5:13

    We have got third-party support, we have got background, we've got local, and we've got remote entry points for all of these agents. So the ultim- ultimately what we're trying to do is understand where you are sitting as a developer and how easy we can make it for you to use these agents to reduce that cognitive load.

  27. 5:32

    Seemed quite complicated, but it's actually really straightforward. So I'm gonna show a video now. I was gonna do this live, but I don't really think I'm gonna have time to do all of this live.

  28. 5:39

    So I'm gonna whiz through this video. So I'm gonna start with a very simple Python application. This is just a CRUD, well, create, read, update, and delete. Just a very simple product store.

  29. 5:52

    Not very pretty, not very good. As you can see, pretty straightforward. What I actually want to do is create a front-end UI for it. So I've got a ticket up in GitHub, and I'm saying, "Hey, this is wonderful.

  30. 6:05

    Going out of front end, we need some more prettiness here. We need it to look good." So I'm gonna say, "Summarize and plan a solution to issue 25." Now, you'll notice I'm actually using a CLI background agent at this point.

  31. 6:20

    Now I'm using that because I want it to be sort of hands-on, hands-off, a little bit of understanding what it's doing. Also don't really care if it messes things up.

  32. 6:28

    It can go and iterate. I'm also gonna be using autopilot. Now, autopilot is currently in preview, and this just means it's not [laughs] gonna ask me a bunch of questions if it wants to do a bunch of tool calls.

  33. 6:37

    Great, wonderful, can be very dangerous. Use that your pro- for ill, right? Don't, don't just abuse that one. Um, but I'm using it here to create a plan. I don't want it to ask me every single time I want it to do an MCP call.

  34. 6:48

    So I'm then saying, "Wonderful. Here's the plan. Now start it, but before you create a pull request," because on autopilot it will do a pull request, "stop and pause and let me test locally."

  35. 7:00

    Whilst that is off doing its lovely stuff, I can then move on to my next stage, where I'm gonna be using another kind of agent. So I'm just gonna go and leave that one behind.

  36. 7:12

    Let's go and spin up a new chat, and let's go and start a cloud agent. I've noticed that, uh, this is not a very open source friendly repository. I want this to be, have a README or ha- have a contribution guidelines, have all this, uh, all these READMEs that I really want as an open source project.

  37. 7:29

    So I'm gonna pull that off, I'm gonna say, "Hey, go and make this open source friendly. Add all the necessary files for it." Don't really care. Now, as a developer, I can go into my code base and start poking around.

  38. 7:39

    I've noticed that I don't have any tests, so I'm gonna go check out, and I've noticed there is a custom agent available for me in VS Code. This custom agent is just essentially explaining and showing how to be using or how to write test cases for this Python application.

  39. 7:57

    So what I could do now is start spinning up a local agent. So just like that, at the very bottom, I can click Local. I'm gonna select Claude Opus four six.

  40. 8:07

    I'm gonna have medium reasoning. I want it to be kind of fast. I don't really care for it too much. It's got a great understanding in this custom agent.

  41. 8:14

    Go and write some unit tests. Now as a developer, I can still skim through. I've got very much a hands-on, to and fro with a local agent. I've got a remote agent doing some work for me, and I've got a background agent creating a new front end.

  42. 8:28

    So here I can see, right, it's, it's written some tests. It's gonna go ahead and try and turn, run them. It's passing the tests. But I've also noticed that there's some other problems in the code.

  43. 8:37

    It's not very friendly. The errors that are coming back are not wonderful. So I'm gonna say, "Go and update the error handling on the routes and update the tests as well."

  44. 8:47

    So you can see I've got a lot of to and fro with this local agent. I've got my remote agent working, and I've got my background agent working all simultaneously.

  45. 8:55

    So whilst that's going off and working, I can go and check out what my other agents are actually up to.

  46. 9:02

    So as it's working through this, you can see Copilot is just gonna be skimming through. I didn't actually speed up some of this video. This is all pretty quick.

  47. 9:09

    I did this pretty, pretty quickly, uh, with these agents. But there you go, you can see some of the code is updated. We've got the new test, we've got the code updated.

  48. 9:16

    Let's go and check out the background agent. That has now finished, which is cool. Let's go and check on the remote agent. How's the remote agent getting on?

  49. 9:26

    Well, actually this is the, this is the test. Run the test. The tests are passed. That is the local agent. That's now finished. Now I can go and check out my remote agent.

  50. 9:38

    So as we're walking through this, we can see as a developer, I've got very much hands-on, hands-off. I'm working with multiple agents simultaneously. We can see where they're running all within this single context of VS Code.

  51. 9:50

    Now, if we go and look on the pull request, uh, extension in VS Code, we can see that I've now got a pull request, and this is one that I previously ran earlier.

  52. 9:58

    The one that's running in the chat is actually taking quite a while. But the principle still stands. It's running all these different agents at the same time.

  53. 10:08

    So all I really want to do now is go and check out my background agent. I want to go see it working. I want to go see this new front end that I've just created.

  54. 10:16

    Now, I asked it to pause before I pushed up a pull request and tell me how to test it. So I'm gonna say, "Well, actually, the way you're telling me how to test that is wrong."

  55. 10:24

    So I've still got hands-on, hands-off. It's more of a fifty-fifty. I'm saying, "This is working in a Git worktree. How do I actually run this?" Now remember, this is what it currently looks like as an application.

  56. 10:34

    So I'm gonna go check out the new directory, which is a Git worktree. I'm then going to run this Python application. You'll see a very drastic change between what is created in my single directory versus what I currently have.

  57. 10:47

    There is a port conflict here. Um, so hurry up and run that.

  58. 10:55

    There we are. So likely that this is the new product demo. Now this is the third agent that I'm running simultaneously, and that is essentially a great way of how you're using different agents within one context to kick it all off using GitHub Copilot.

  59. 11:10

    That's new error checking, and that is how I've been using multiple agents. So one code base, three problems, three separate agents fixed all at the same time. The local agent was writing my test for me because I wanted hands-on.

  60. 11:25

    I really wanted human-in-the-loop. I used my background agent to write the front end because I don't really care. W- what it does is quite an arduous task. It's quite big.

  61. 11:34

    It's quite time-consuming. And then I used my cloud agent to write my documentation for me. So all in all, that's a pretty successful run. So how are cloud agents actually working?

  62. 11:47

    Because I get this question quite a lot. How much is it gonna cost? How is it working? What are they doing, and how do I get them running? Well, they're actually running in GitHub actions.

  63. 11:56

    They're pretty safe and secure because they're running in a isolated environment. They have got extended context through MCP servers. Who here uses MCP servers, just out of curiosity? Awesome.

  64. 12:06

    So cloud agent actually has, uh, access to the GitHub MCP server and the Playwright MCP server, so you can do testing with screenshots, you can do automated front-end testing, and you can obviously write your workflows.

  65. 12:19

    You've got, um- The, the dynamic workflows now, and it has got built-in safeguards. So you've got network firewalls. You don't want this agent talking to a whole bunch of different things.

  66. 12:29

    It is absolutely whitelisted and restricted. It also doesn't have access to your main branch, therefore you're not able to push directly to your main branches. It's very much restricted in that sense, so it is very safe to use.

  67. 12:41

    Now, I mentioned earlier, this is very much GitHub Copilot, but it is not just GitHub Copilot that this applies to. This actually uses all the same concepts across all different AI agents, uh, that you can use.

  68. 12:53

    So custom instructions very much defining how the agent is running. You've got custom agents, which is what I showed you today in that short demo, where you're able to use very specific agents to tackle certain problems, i.e.

  69. 13:05

    fixing test cases or writing test cases. You have prompt files, which will help you with your prompting, and agent skills. Agent skills is more of like the, the newer version of agents.md.

  70. 13:14

    Ev- there's always, like, a new thing that's coming on every single week now. So all of this is actually applicable to GitHub Copilot as well as other AI services too.

  71. 13:25

    Now, inside VS Code, this is a modal which is very recent, and I can jump out of the slides in just a moment to show you exactly, um, how this looks.

  72. 13:34

    So if I was to go over to VS Code, open up my GitHub Copilot chat pane, and if I click the cog up here, you can actually see everything that I have in one user space for you to customize the chat and the agents that you are running.

  73. 13:47

    So whether you've got agents, I've got my custom test agent, I've got my built-in agents, which is ask, explore, and plan. I've got some skills. So this is essentially what some of the VS Code team sort of preempt you to be using here.

  74. 13:58

    So you've got some extensions. You've got address a PR, uh, comment. You've got create pull request. You can jump into these and edit them as you wish, and this is just intuitive skills that we have popped in there for you.

  75. 14:09

    I don't have any instructions, but this is where you'd have your instructions file, your prompts if you've got any built-in prompts like creating an agent. Just different prompts that can then go off and kick off skills.

  76. 14:18

    You've got hooks. I don't have any hooks on this one, but a very good example if you wanted to create or configure some hooks, you can do so with, uh, Copilot inside VS Code, and any MCP servers as well.

  77. 14:28

    So you kind of have this whole control plane and this modal which allows you to control your agents and chat customizations from within one single place. This isn't just confined.

  78. 14:38

    We have third-party support as well, so there is Claude as, uh, down here. So you can have access to all of your Claude things, uh, and all of your plugins, uh, hooks, instructions, and skills for Claude too.

  79. 14:48

    So it's not just restricted to VS Code and GitHub Copilot.

  80. 14:55

    So if you want to get hands-on with some of the, uh, skills or customizations, we have got this awesome open source project which we're running. It's called Awesome Copilot.

  81. 15:03

    It's aka.ms/awesomecopilot. Like I said, this is directed at Copilot, but it's absolutely not just for Copilot. You can use this and massage them and use them for other AI tooling as well, 'cause we do know that people in the community use more than just Microsoft things and GitHub things.

  82. 15:21

    We also have an MCP server, so if anybody's interested in utilizing this from their, uh, from their workflow from an MCP standpoint, we also have encapsulated that into an MCP server.

  83. 15:31

    For those who don't know about MCP, so the Model Context Protocol is a great way for you to get hands-on and extend the, uh, LLMs that you're working with or any of the chat customizations that you have.

  84. 15:42

    For example, if you wanted Azure or talk to your Azure resources or, I don't know, GCP, AWS, et cetera, you can go through an MCP. It'll obviously be locked down by authentication, uh, but there's also free ones as well and open ones which don't require authentication, like Playwright and documentation ones, i.e.

  85. 15:58

    Microsoft Learn, uh, and so on and so forth. So just in time, uh, as a wrap up, Visual Studio Code is a single entry point for AI agents, and we're really building this agentic workflow around multiple different services.

  86. 16:13

    We've got third-party plugins, we've got first-party plugins, and we've got the full spec support for MCP. We've got chat customizations, and you can connect to the GitHub Copilot CLI sessions through VS Code.

  87. 16:25

    So it's all in one single sequential, uh, sequence for you as a developer inside your workflow. I would love to hear more about your workflows and what you're using and the agents and how you're using them after the session, because I believe I've only got just less than a minute left.

  88. 16:40

    So thank you ever so much for listening, and thank you very much for coming today. [audience clapping] [upbeat music]