-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Unified Agents Blog Post #9012
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Unified Agents Blog Post #9012
Changes from 7 commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
056c34c
initial post commit
burkeholland 47c5dac
finish up the poset
burkeholland 4a3210c
Merge branch 'main' into burkeholland-agents
burkeholland c1612c8
tightened up draft and addressed review
burkeholland fe50698
Merge branch 'burkeholland-agents' of https://github.com/microsoft/vs…
burkeholland 88e1935
adjust the title. I don't love it or hate it.
burkeholland e23a49f
Addressed reviews, etc.
burkeholland 027f51c
Apply suggestion from @ntrogh
burkeholland 5f5f1e0
addressing all review comments
burkeholland e78db11
Merge branch 'burkeholland-agents' of https://github.com/microsoft/vs…
burkeholland 3a3f057
Update MetaDescription
ntrogh 1be0883
Update title
ntrogh ff8ce22
Add blog: Unified agent experience
burkeholland 8f14df9
Merge branch 'burkeholland-agents' of https://github.com/microsoft/vs…
burkeholland 93cbc5e
Update MetaDescription
ntrogh 3af864d
Update date
ntrogh c97baa4
Update byline
ntrogh ebb8721
Fix TOC title
ntrogh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,118 @@ | ||
| # A unified experience for all coding agents | ||
|
|
||
| If we had to pick one word to describe the past year, it would probably be "Agent". | ||
|
|
||
| Agents took over VS Code in 2025. We released the [Agent Mode](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) for VS Code, integration for the [Copilot Coding Agent (cloud)](https://code.visualstudio.com/docs/copilot/copilot-coding-agent), and the new [GitHub Copilot CLI](https://github.com/features/copilot/cli/). But Copilot is not the only agent game in town. There are now more coding agents than ever - including options from OpenAI and Anthropic. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| With all these choices, things got better for developers. But the agent ecosystem got a little more fragmented. Subscription hopping, tool juggling, and the constant FOMO on the latest agent trend is now the norm. This year at GitHub Universe, we set out to fix that with a unified agent experience in VS Code. The first big step towards making that a reality was offering more agents in your Copilot subscription. And not just those with "Copilot" in their name. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### OpenAI Codex Integration | ||
|
|
||
| OpenAI had a big year: they shipped the GPT-5 and GPT-5 Codex models, which were available in VS Code on day one through the standard model picker. But they also launched Codex - OpenAI's coding agent - available as both A CLI tool and a [VS Code extension](https://marketplace.visualstudio.com/items?itemName=openai.chatgpt). And it was a huge hit with developers. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| This year at GitHub Universe, we announced you can now use OpenAI Codex with your GitHub Copilot Pro+ subscription. No additional subscription required. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| To use this integration, install the [OpenAI Codex extension](https://marketplace.visualstudio.com/items?itemName=openai.chatgpt) and sign in with GitHub Copilot. | ||
|
|
||
|  | ||
|
|
||
| When you use Codex with Copilot Pro+, Copilot handles all model calls and standard rate limits apply. You get code generation, code explanation, and all the features - no need to manage a separate OpenAI account. | ||
|
|
||
| With Codex, you now have four powerful coding agents in VS Code: | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 1. GitHub Copilot | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 2. GitHub Copilot Cloud Agent | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 3. GitHub Copilot CLI | ||
| 4. OpenAI Codex | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| But with all these agents, it's easy to get overwhelmed. What agents are running? Where are they running? What day is it? | ||
|
|
||
| That's why we've introduced a new feature in VS Code for orchestrating all your agents - local or remote. We call it, "Agent Sessions". | ||
|
|
||
| ### Agent Sessions | ||
|
|
||
| There's a new view in the VS Code sidebar called "[Agent Sessions](https://code.visualstudio.com/updates/v1_105#_agent-sessions)". It gives you one place to manage all your agents - local or cloud. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| With Agent Sessions, you see all agent sessions for your project. You can check which agents are running, their status, and jump between sessions with a click. | ||
|
|
||
| Cloud agent sessions now have a tabbed experience that lets you course-correct the agent mid-run. It's common to send a prompt and realize you forgot something important. Before, you had to wait or cancel. Now, just open the tab, add an update, and watch the agent adjust its plan. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| You can also delegate any task to any agent right from the chat. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| This unified Agent Sessions view makes VS Code a "mission control" for orchestrating all your agents, while keeping you in the editor where you do your best work. We're excited to welcome OpenAI Codex today, and we're working to bring more agents to your Copilot+ subscription in the future. | ||
|
|
||
| ### Planning Agent | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| A few months ago we introduced the concept of Chat Modes in VS Code. These are custom modes that let you augment or alter the behaviour of the built-in agent prompt. When you use a Chat Mode to alter the agent behaviour in VS Code, what you're _really_ doing is creating your own custom agent. So we've renamed "Chat Modes" to just "Agents" to better reflect what they actually are. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| To get you started building custom Agents, we've added a new Agent called "[Plan](https://code.visualstudio.com/updates/v1_105#_plan-agent)". | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| The new Plan agent helps create a detailed plan from lazy prompts like "add drag and drop". That's an actual prompt I sent yesterday. No mention of what to add it to, what page, or whether to use a library. I do this a lot, and I bet I'm not alone. | ||
|
|
||
| With the Plan agent, Copilot asks the questions that need answers. It even recommends libraries for drag and drop and gives reasons to pick one over another. | ||
|
|
||
|  | ||
|
|
||
| You can answer these with quick replies on separate lines so it knows which answer goes to which question. Here's how I'd answer: | ||
|
|
||
| ``` | ||
| dnd-kit | ||
| yes - what kind of a question is this in 2025 | ||
| link creation only | ||
| ``` | ||
|
|
||
| > Pro tip: Change the "workbench.action.chat.submit" keybinding to "Ctrl + Enter" so you stop accidentally sending messages when you just want a new line. Your swear jar will thank you. | ||
|
|
||
| When the Plan agent has enough info, it stops asking questions and asks if you're ready to proceed. You can use the new "[Handoff](https://code.visualstudio.com/updates/v1_105#_handoffs)" feature in chat to either proceed or open the full plan in the editor. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| Try different models to see which you like best for planning. We've found the [Claude models](https://www.anthropic.com/claude) are great at identifying missing context and edge cases, and asking the right questions. | ||
|
|
||
| If you're like me, you'll want to know how the Plan agent works so you can up your prompt engineering game. You can read the Plan prompt by choosing "Configure Agents" from the Command Palette and selecting Plan. It's a great baseline for creating your own [custom agents](https://code.visualstudio.com/updates/v1_105#_support-for-nested-agentsmd-files-experimental). I used it to create one called ["Research"](https://gist.github.com/burkeholland/919d655ae4df5c809b549632c3afb144) that recursively does internet research and writes up its findings. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| These custom agents are also available when you delete to other agents such as the CLI and the Cloud. Your custom agents work everywhere that you need them to. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| > Pro tip: You can find hundreds of custom instructions, prompt files and agents over on the [awesome-copilot](https://github.com/github/awesome-copilot) repo. If you haven't checked that out yet, you're missing out. It's a treasure trove of inspiration and ready-made prompts. | ||
|
|
||
| ### Subagents | ||
|
|
||
| [Context Confusion](https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html) is a real problem with agents. The more you interact, the more context they track - and the more likely they are to get confused. There's a whole new discipline for managing context called "Context Engineering". | ||
|
|
||
| With the latest VS Code release, we've added a tool called "[runSubagent](https://code.visualstudio.com/docs/copilot/chat/chat-sessions#_contextisolated-subagents)" to help you manage context. | ||
|
|
||
| [Subagents](https://code.visualstudio.com/docs/copilot/chat/chat-sessions#_contextisolated-subagents) run independently from the main chat and have their own context. You can call one by adding the `#runSubagent` tool to your prompt. The LLM creates a prompt, hands it off to a subagent, and that agent only gets the context you send. It knows nothing about the rest of your chat, and your chat knows nothing about the subagent's context. Subagents don't pause for feedback and have access to most of the same tools as the main chat. | ||
|
|
||
| When a subagent finishes, it returns the final result to the main chat - and only that result joins the main context. Subagents keep your main chat lean while letting you go on sidebars and deep dives. For example, if you're building an API and need to research authentication, spin up a subagent to do that. | ||
|
|
||
| ``` | ||
| Analyze the #file:api with #runSubagent and recommend the best authentication strategy for a web client consuming these endpoints. | ||
| ``` | ||
|
|
||
| You'll know a subagent is running because you can see tool calls and model responses below the subagent action. In the screenshot below, that's "Analyze app structure for auth". | ||
|
|
||
|  | ||
|
|
||
| We're still exploring ways to help you manage context with agents, and subagents are just the beginning. | ||
|
|
||
| ## Looking Ahead | ||
|
|
||
| Agents are changing how we write code and how we work. You shouldn't have to pick just one. You should be able to move between agents, keep fine-grained control over your context, and create your own custom Agents to extend the various built-in agent prompts. With the unified agent experience in VS Code, you can now do all of that. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| These are just a few highlights from this year's [GitHub Universe](https://github.com/events/universe). Check out [GitHub's blog](https://github.blog/) for all the updates as we work on a unified workflow for a multi-agent experience everywhere you need it. | ||
|
|
||
| I'll leave you with this: It was only 12 months ago that we announced "Copilot Edits" and Claude support in Copilot. At this pace, imagine where we'll be 12 months from now. | ||
burkeholland marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| And as always, Happy Coding! 💙 | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.