O Modo Agente está sendo lançado para todos os usuários do VS Code!
O agente atua como um programador autônomo que realiza tarefas de codificação em várias etapas sob seu comando, como analisar sua base de código, propor edições de arquivos e executar comandos no terminal. Ele responde a erros de compilação e lint, monitora a saída do terminal e corrige automaticamente em um loop até que a tarefa seja concluída.
O agente também pode usar ferramentas contribuídas, permitindo que ele interaja com servidores MCP externos ou extensões do VS Code para realizar uma ampla variedade de tarefas.
Disponível para todos os usuários
Abra a visualização de Chat, faça login no GitHub, configure chat.agent.enabled nas suas configurações e selecione Agente no menu suspenso do modo de Chat. Se você não vir a configuração, certifique-se de recarregar o VS Code após atualizar para a versão mais recente. Nas próximas semanas, estamos lançando isso por padrão para todos - nenhuma configuração será necessária.
O modo Agente é ótimo para cenários onde:
- Sua tarefa envolve várias etapas. O agente edita o código, executa comandos no terminal, monitora erros e itera para resolver quaisquer problemas que surgirem.
- Você não tem certeza sobre o escopo das mudanças. O agente determina automaticamente os arquivos e o contexto relevantes.
- Sua tarefa requer interação com aplicativos ou dados externos. O agente se integra com servidores MCP e extensões do VS Code.
Por outro lado, use o modo de edição quando a tarefa tiver um escopo bem definido, você quiser uma resposta rápida ou quiser um controle mais preciso sobre o número de solicitações ao LLM.
Criamos uma experiência de chat unificada, combinando as visualizações de Chat e Edições, que traz benefícios como histórico de sessões, mover o chat para uma janela separada e simplificação da visualização do Conjunto de Trabalho. Tudo isso agora também está disponível no modo Agente.
Continuamos a receber um feedback fantástico dos usuários (por favor, continuem enviando!), o que inspirou muitas das melhorias que fizemos. Mais notavelmente:
- A ação de desfazer agora reverte as mudanças até a última chamada da ferramenta de edição de arquivos.
- Suporte para múltiplas sessões de agente no mesmo workspace (melhor quando as sessões de edição não modificam os mesmos arquivos).
- O agente agora pode criar e editar notebooks.
- A capacidade de aprovar automaticamente chamadas de ferramentas (aprovação automática de terminal chegando em abril).
- Uma série de melhorias na qualidade de vida e correções de bugs.
Tanto as experiências de perguntar quanto de editar estão evoluindo para uma arquitetura que, como o agente, utiliza ferramentas. Estamos fazendo essa mudança para unificar os modos de perguntar/editar/agente para serem todos agenticos, com o objetivo de suavizar a experiência geral do usuário. Isso permite que o modo de edição use a ferramenta de edição de arquivos para melhorar a velocidade, e os modos de edição e pergunta usem #codebase, uma busca agentica na base de código. Consequentemente, modelos de linguagem sem suporte para chamadas de ferramentas não estarão mais disponíveis no modo de edição.
Extensível: Servidores MCP e Extensões do VS Code
Assim como as extensões do VS Code permitem que você personalize seus fluxos de trabalho específicos, a extensibilidade do agente permite que você adapte o agente às suas necessidades. Com a extensibilidade, o agente pode realizar ações no navegador (depuração web com IA), conectar-se aos seus aplicativos de chat e de anotações, interagir com seus bancos de dados, obter contexto do seu sistema de design, obter problemas e contexto de repositório do GitHub e integrar-se com suas plataformas de nuvem. O poder do modo agente está na diversidade de ferramentas disponíveis e na flexibilidade de adicionar e remover ferramentas conforme necessário. Estamos lançando a extensibilidade em preview e disponível para todos os usuários.
O modo agente pode usar as seguintes ferramentas:
- Ferramentas integradas contribuídas pelo VS Code (azul no diagrama), que permitem ao agente pesquisar no workspace, aplicar mudanças de código, executar comandos no terminal, capturar erros de compilação ou linting do editor, buscar conteúdo de sites (#fetch para acionar manualmente), e mais.
- Ferramentas contribuídas por servidores MCP (verde no diagrama).
- Ferramentas contribuídas por extensões do VS Code (verde no diagrama).
Quando a equipe do VS Code inventou o Protocolo de Servidor de Linguagem (LSP) em 2016, nosso objetivo era padronizar como os servidores de linguagem se comunicam com as ferramentas de desenvolvimento. Estamos orgulhosos de que o LSP se tornou um padrão amplamente adotado e cumpriu nossa visão. Recentemente, as ideias por trás do LSP inspiraram um novo protocolo: o Protocolo de Contexto de Modelo (MCP), que padroniza como as aplicações fornecem contexto para LLMs. Com o modo agente no VS Code usando ferramentas contribuídas por servidores MCP, agora completamos o ciclo de volta ao VS Code.
É sobre controle do desenvolvedor
Nem toda tarefa precisa de todas as ferramentas que você pode ter adicionado ao modo agente, e como em qualquer fluxo de trabalho de IA, ser específico leva a melhores resultados. Recomendamos usar a interface de ferramentas para gerenciar e habilitar as ferramentas necessárias para cada cenário ou referenciar explicitamente as ferramentas em seu prompt digitando #.
Para lhe dar total controle, cada invocação de ferramenta é exibida de forma transparente na interface e requer sua aprovação (exceto para ferramentas integradas de leitura). Você pode permitir uma ferramenta específica para a sessão atual, workspace ou todas as invocações futuras. Se você quiser minimizar interrupções permitindo sempre que o agente use todas as ferramentas, enquanto ainda mantém a segurança, considere usar a extensão Dev Containers. Isso isola todas as mudanças feitas pelo agente dentro do ambiente do contêiner até certo ponto (por exemplo, o agente ainda pode enviar mudanças para o remoto se você permitir).
Comece agora
Para personalizar o agente para seus fluxos de trabalho, selecione o ícone de "Ferramentas" na entrada do chat e siga o fluxo Adicionar Mais Ferramentas.... Alternativamente, leia nossa documentação do servidor MCP, que explica o formato de configuração, como adicionar um servidor MCP ou como importar servidores MCP de um aplicativo cliente MCP existente, como o Claude Desktop. O VS Code suporta entrada/saída padrão local (stdio) e eventos enviados pelo servidor (sse) para transporte de servidor MCP.
O repositório oficial de servidores do MCP é um ótimo ponto de partida para servidores oficiais e contribuídos pela comunidade que mostram a versatilidade do MCP. Para instalar extensões que contribuem com ferramentas, abra a visualização de Extensões e pesquise usando a tag @tag:language-model-tools.
Como desenvolvedor, você pode estender o agente criando um servidor MCP, ou se você é um autor de extensão, pode contribuir com ferramentas para sua extensão do VS Code. Consulte estes documentos para orientações e melhores práticas sobre como escrever ferramentas.
O que vem a seguir
O modo Agente está melhorando a cada dia, e para estar entre os primeiros a se beneficiar, considere instalar o VS Code Insiders. Usar o VS Code Insiders e fornecer feedback em nosso repositório é a melhor maneira de nos ajudar a melhorar o produto. Em seguida, planejamos trabalhar em:
- Suporte para modos personalizados com conjuntos de ferramentas e instruções personalizadas
- Uma experiência de aplicação de código mais rápida
- Expandir o suporte MCP de ferramentas para prompts, recursos e as atualizações mais recentes das especificações
- Transmissão de edições limitada a blocos de código alterados para melhorar a velocidade
- Pontos de verificação para voltar facilmente a uma etapa específica na sua sessão de modo agente
- Melhorias gerais de desempenho e qualidade de serviço
Certifique-se de estar na versão mais recente do VS Code Stable, configure chat.agent.enabled nas suas configurações e selecione Agente no menu suspenso do modo. Experimente hoje e nos diga o que você acha! Você pode encontrar a documentação aqui.