Os agentes do Cursor agora podem controlar seus próprios computadores

por Jonas Nelle & Alexi Robbins em Produto

Agentes são tão capazes quanto o ambiente em que são executados. Sem a capacidade de usar o software que estão criando, os agentes esbarram em um limite.

Nos últimos meses, resolvemos esse problema internamente dando aos agentes suas próprias máquinas virtuais com ambientes de desenvolvimento completos e a capacidade de testar suas alterações e produzir artefatos (vídeos, capturas de tela e logs), para que você possa validar rapidamente o trabalho deles.

Hoje estamos disponibilizando uma nova versão dos agentes em nuvem do Cursor em qualquer lugar em que você trabalhe, incluindo web, dispositivos móveis, app para desktop, Slack e GitHub. Os agentes em nuvem fazem o próprio onboarding na sua base de código e produzem PRs prontas para merge com artefatos para demonstrar suas alterações. Você também pode controlar a área de trabalho remota do agente para usar o software modificado e fazer edições você mesmo, sem fazer checkout do branch localmente.

Esta é a maior mudança na forma como desenvolvemos software desde a transição do autocomplete Tab para trabalhar de forma síncrona com agentes. Mais de 30% das PRs em que fazemos merge no Cursor agora são criadas por agentes operando de forma autônoma em sandboxes na nuvem.

30% das PRs internas com merge agora são criadas por agentes em nuvem30% das PRs internas com merge agora são criadas por agentes em nuvem

O próximo nível de autonomia

Agentes locais facilitam começar a gerar código, mas rapidamente entram em conflito e competem entre si (e com você) pelos recursos do seu computador. Agentes em nuvem eliminam essa limitação ao dar a cada agente uma VM isolada, permitindo que você execute muitos em paralelo.

Agentes em nuvem também podem criar e interagir com software diretamente em seu próprio sandbox, permitindo que eles iterem até validar sua saída, em vez de entregar a primeira tentativa. O vídeo abaixo mostra uma prova de conceito de nossa pesquisa anterior sobre uso aprimorado do computador.

Você pode ver o agente navegar por páginas da web no navegador, manipular ferramentas como planilhas, interpretar dados e tomar decisões, e resolver problemas em interfaces de usuário complexas.

O agente se gravou interagindo com aplicativos de desktop em sua VM.

Usando agentes em nuvem no Cursor

No último mês, temos usado agentes em nuvem internamente, e isso mudou como desenvolvemos software. Em vez de dividir tarefas em pequenas partes e microgerenciar agentes, delegamos tarefas mais ambiciosas e deixamos que elas sejam executadas de forma autônoma.

Aqui estão algumas maneiras de como estamos usando agentes em nuvem:

Criando novos recursos

Usamos agentes em nuvem para nos ajudar a criar plugins, que lançamos recentemente no Cursor Marketplace. Aqui está um dos nossos prompts:

Para cada componente exibido na página de um determinado plugin, queremos incluir um link para o código-fonte. Para skills, commands, rules e subagents – é o arquivo .md. Para hooks, é o hooks.json. Para mcps, é o .mcp.json ou o manifest onde ele é definido. Ao indexar todos os componentes de um plugin, acompanhe o arquivo de origem e construa links para esse arquivo usando a URL base do GitHub. Exponha isso no frontend e faça com que nosso frontend aponte para o GitHub usando este ícone. Teste com https://github.com/prisma/cursor-plugin localmente

O agente implementou o recurso e depois se gravou navegando até o plugin Prisma importado e clicando em cada componente para verificar os links do GitHub.

O agente se gravou clicando em botões para verificar se eles levam para os arquivos-fonte corretos.

Para testes locais, o agente ignorou temporariamente o feature flag que controlava o acesso à página do marketplace e depois reverteu antes de fazer o push. Ele fez rebase na branch main, resolveu conflitos de merge e fez squash em um único commit.

Reproduzindo vulnerabilidades

Disparamos um agente em nuvem a partir do Slack com o prompt: "Por favor, faça a triagem e explique essa vulnerabilidade para mim em muitos detalhes", seguido de uma descrição de uma vulnerabilidade de exfiltração da área de transferência. Quando o agente terminou de rodar, ele respondeu no tópico do Slack com um resumo do que realizou.

Agente em nuvem reproduzindo uma vulnerabilidade

O agente criou uma página HTML que explora a vulnerabilidade por meio de uma API exposta. Ele iniciou um servidor de backend para hospedar a página de demonstração localmente e carregou a página no navegador interno do Cursor.

O artefato de vídeo mostra todo o fluxo de ataque: o agente copiou um UUID de teste para a área de transferência do sistema, carregou a página de demonstração no navegador do Cursor e clicou em um botão para exfiltrar e exibir o UUID. Ele também fez uma captura de tela mostrando o roubo bem-sucedido da área de transferência e fez commit do arquivo HTML de demo no repositório.

O agente se gravou percorrendo o fluxo de ataque para demonstrar a vulnerabilidade.

Lidando com correções rápidas

Pedimos para um agente em nuvem substituir o rótulo estático "Read lints" por um rótulo dinâmico controlado pelos resultados do lint. Ele implementou "Nenhum erro de linter" para zero diagnósticos e "Encontrados N erros" para N diagnósticos, com estilização compatível com o CSS existente.

O agente testou dois casos no app desktop do Cursor: um arquivo com vários erros de tipo e um arquivo limpo, sem erros. O artefato de vídeo mostra o agente verificando que o arquivo limpo tem um grupo expandido que exibe “Nenhum erro de linter”.

O agente se gravou para mostrar que implementou corretamente a correção do rótulo de lint.

Testando UI

Iniciamos um agente em nuvem para verificar se tudo funciona corretamente em cursor.com/docs. Ele passou 45 minutos fazendo um walkthrough completo do nosso site de documentação. O agente forneceu um resumo de todos os recursos que testou, incluindo a barra lateral, navegação superior, busca, botão de copiar página, janela de envio de feedback, sumário e troca de tema.

O agente se gravou testando a UI no site de docs do Cursor.

Agora que agentes conseguem lidar com a maior parte da implementação, descobrimos que o papel de uma pessoa desenvolvedora é muito mais sobre definir a direção e decidir o que será lançado.

O que vem a seguir

Estamos construindo em direção a um futuro de codebases autônomas, em que agentes fazem merge de PRs, gerenciam rollouts e monitoram a produção. Vamos sair de um mundo em que desenvolvedores usam agentes para criar diffs para outro em que agentes entregam funcionalidades testadas de ponta a ponta.

Para concretizar totalmente essa mudança, será necessário aprimorar as ferramentas, os modelos e os padrões de interação. Nosso foco de curto prazo está em coordenar o trabalho entre vários agentes e em criar modelos que aprendam com execuções anteriores e se tornem mais eficazes à medida que acumulam experiência.

Comece em cursor.com/onboard para ver o agente se configurar sozinho e gravar uma demonstração. Ou saiba mais na documentação.

Classificado em: Produto

Autors: Jonas Nelle & Alexi Robbins

Os agentes do Cursor agora podem controlar seus próprios computadores · Cursor