Aprendizagem pessoal com IA
e orientação prática

Transforme o Cursor e o Windsurf em Devin no valor de US$ 500/mês em uma hora!

Este artigo foi atualizado em 2025-01-05 13:52, parte do conteúdo é sensível ao tempo, se for inválido, por favor, deixe uma mensagem!

Na postagem anterior, discutimos o Devin, uma IA agêntica que permite a programação totalmente automatizada. com outras ferramentas de IA agêntica, como Cursor e Windsurf), ele oferece vantagens significativas em termos de planejamento de processos, autoevolução, extensão de ferramentas e operação totalmente automatizada. Isso faz com que Devin Tornar-se uma nova geração de ferramentas para se diferenciar das ferramentas de IA Agentic existentes.

No entanto, depois de usar o Devin por um tempo, minha "mentalidade de construtor" voltou a funcionar e me levou a Windsurf e Cursor para implementar o Devin 90%. Também abri o código aberto dessas modificações para que você possa transformar o Cursor ou o Windsurf no Devin em menos de um minuto. Este artigo se concentra nas especificidades dessas modificações e usa esse exemplo para mostrar a eficiência com que elas podem ser criadas e escalonadas na era da IA agêntica. Para simplificar a discussão, usaremos o Cursor como um substituto para essa ferramenta e concluiremos com uma discussão sobre os pequenos ajustes que você precisará fazer se quiser usar o Windsurf.

artefato planejamento de processos auto-evolução Extensão da ferramenta Implementação automatizada preços
Devin Sim (automático, completo) Sim (estudo autônomo) múltiplo apoiar algo $500/mês
Cursor (antes da modificação) restrições entupido Conjunto de ferramentas limitado Confirmação manual necessária $20/mês
Cursor (modificado) Perto de Devin. ser Próximo ao Devin, escalável Confirmação ou solução ainda necessária $20/mês
Windsurf (modificado) Perto de Devin. Sim, mas indiretamente Próximo ao Devin, escalável Suporte para automação completa em contêineres do Docker $15/mês

 

Planejamento de processos e autoevolução

Conforme mencionado anteriormente, um aspecto interessante do Devin é que ele se parece mais com um estagiário organizado. Ele cria um plano antes de executar uma tarefa e atualiza continuamente o progresso do plano durante a execução. Isso torna mais fácil para os gerentes de IA acompanhar o progresso atual e, ao mesmo tempo, evita que a IA se desvie do plano original, levando a um pensamento mais profundo e à qualidade da conclusão da tarefa.


Embora essa funcionalidade possa parecer impressionante, ela é, na verdade, muito simples de implementar no Cursor.

Para o Cursor, abra a pasta raiz da pasta com um arquivo chamado .cursorrules Esse é um arquivo especial. O que há de especial nesse arquivo é que ele permite que você modifique as palavras-chave do Cursor a serem passadas para um modelo de linguagem grande de back-end, como GPT ou Claude. Em outras palavras, tudo nesse arquivo se torna parte da palavra-chave enviada para a IA de back-end, proporcionando grande flexibilidade para personalização.

Por exemplo, podemos colocar o conteúdo do plano nesse arquivo para que, sempre que interagirmos com o Cursor, ele receba a versão mais recente do plano. Também poderíamos fornecer instruções mais detalhadas nesse arquivo, como pedir ao Cursor que pense e crie o plano no início da tarefa e que atualize o plano após cada etapa. Como o Cursor pode usar o Agent para modificar o arquivo, e o .cursorrules É um arquivo em si, que cria um loop fechado. Ele lê automaticamente o conteúdo do arquivo todas as vezes, entende a atualização mais recente e grava o progresso atualizado e as próximas etapas nesse arquivo à medida que pensa nisso, garantindo que sempre tenhamos a atualização mais recente.

Da mesma forma, a função autoevolutiva pode ser realizada da mesma maneira. No .cursorrules adicionamos solicitações para que o Cursor reflita e considere se há uma experiência reutilizável documentável à medida que o usuário corrige o erro. Se houver, ele atualizará o arquivo .cursorrules partes relevantes do documento, acumulando, assim, conhecimento específico do projeto.

Um exemplo típico é que os modelos atuais de linguagens grandes não estão cientes da existência do GPT-4o para muitos modelos devido a prazos de conhecimento anteriores. Se você disser a ele: "Esse modelo existe, mas você não sabe", ele registrará essa experiência no .cursorrules documentados para que os mesmos erros não sejam cometidos novamente no futuro, possibilitando assim o aprendizado e o aprimoramento. No entanto, isso ainda depende da eficácia da dica - às vezes, ela pode perder pontos e deixar de registrar conhecimentos dos quais achamos que deveríamos estar cientes. Nesse caso, também podemos usar a linguagem natural para solicitar diretamente o registro. Essa abordagem mais direta também pode permitir a experiência e o crescimento da IA.

Como resultado, somente por .cursorrules e algumas dicas e truques, podemos adicionar os recursos de planejamento de processos e autoevolução do Devin às nossas ferramentas de programação Agentic AI existentes.

Se o Windsurf for usado, há uma diferença: provavelmente por motivos de segurança, ele não permite que a IA modifique diretamente o .windsurfrules Arquivo. Portanto, precisamos dividi-lo em duas partes, usando outro arquivo (como o scratchpad.md). Em .windsurfrules A documentação afirma que você deve verificar o Scratchpad antes de cada processo de pensamento e atualizar o plano lá. Esse método indireto pode não ser tão eficaz quanto colocá-lo diretamente no .cursorrules Funciona no sentido de que ainda exige que a IA chame o Agente e pense com base no feedback, mas realmente funciona.

 

Extensão da ferramenta

Uma das principais vantagens do Devin em relação ao Cursor é sua capacidade de usar mais ferramentas. Por exemplo, ele podeAcesse seu navegador para pesquisar, navegar na Web e até mesmo usar a inteligência do LLM para analisar o conteúdo!. Embora o Cursor não ofereça suporte a esses recursos por padrão, felizmente, como podemos usá-los com o .cursorrules O controle direto da palavra de prompt do Cursor e o fato de ele ter capacidade de execução de comandos cria outro loop fechado. Podemos preparar programas pré-escritos (como bibliotecas Python ou ferramentas de linha de comando) e adicioná-los ao .cursorrules O Cursor é apresentado a essas ferramentas para que possa aprender a usá-las agora e realizar suas tarefas.

De fato, as próprias ferramentas podem ser escritas em minutos usando o Cursor. Por exemplo, para a funcionalidade de navegação na Web, a ferramenta Devin.cursorrules Uma implementação de referência é fornecida em Há algumas decisões técnicas que devem ser consideradas, como o uso de ferramentas de automação do navegador (por exemplo, playwright) em vez da biblioteca de solicitações do Python para sites com uso intenso de JavaScript. Além disso, para se comunicar melhor com o LLM e ajudá-lo a entender e rastrear o conteúdo subsequente, em vez de simplesmente extrair o conteúdo textual de uma página da Web usando uma sopa de letrinhas, seguimos determinadas regras para convertê-lo para o formato Markdown, que preserva informações básicas mais detalhadas (como nomes de classes e hiperlinks) e oferece suporte à capacidade do LLM de escrever rastreadores subsequentes em um nível mais básico.

Da mesma forma, para as ferramentas de pesquisa, há um pequeno detalhe: tanto o Bing quanto o Google têm pesquisas na API que são muito menos de alta qualidade do que as pesquisas no lado do cliente, em grande parte devido a um histórico de APIs e interfaces da Web mantidas por equipes diferentes. No entanto, o DuckDuckGo não tem esse problema, portanto, nossa implementação de referência usa a API gratuita do DuckDuckGo.

Com relação ao uso que o Cursor faz de sua própria inteligência para análise profunda, isso é relativamente complexo. Por um lado, o Cursor tem algum grau desse recurso - em ambas as ferramentas acima, quando imprimimos o conteúdo de uma página da Web em stdout, isso se torna parte da sugestão do Cursor para o LLM, permitindo que ele analise de forma inteligente o conteúdo do texto. Por outro lado, no entanto, o Devin tem a capacidade exclusiva de processar em lote quantidades relativamente grandes de texto usando o LLM de uma forma que o Cursor não consegue. Para isso, implementamos uma ferramenta adicional - é muito simples predefinir a chave de API em seu sistema e, em seguida, fazer com que a ferramenta chame GPT, Claude ou a API LLM nativa para dar ao Cursor a capacidade de fazer processamento em lote de texto usando LLM. Em minha implementação de referência, usei meu próprio cluster vllm local, mas a modificação foi muito simples: basta remover a linha base_url.

Apesar dessas modificações, ainda há duas ferramentas que não podem ser implementadas devido às limitações do Cursor:

  1. O Devin parece ter recursos de compreensão de imagens, o que lhe permite realizar interações e testes de front-end, mas, devido às limitações do Cursor, não podemos passar imagens como entrada para a IA de back-end, o que exigiria alterações em sua implementação.
  2. O Devin não é sinalizado como um bot por algoritmos antirastreamento durante a coleta de dados, enquanto nossas ferramentas de pesquisa na Web frequentemente encontram CAPTCHA ou são bloqueadas. Isso pode ser corrigido e ainda estou explorando essa possibilidade, mas certamente é um dos pontos fortes exclusivos do Devin.

Implementação totalmente automatizada

O último recurso interessante é a execução totalmente automatizada. Como o Devin é executado em um ambiente de nuvem totalmente virtualizado, podemos deixá-lo executar vários comandos com confiança, sem nos preocuparmos com ataques LLM ou com a execução incorreta de comandos perigosos. Mesmo que o sistema inteiro seja excluído, ele pode ser recuperado simplesmente iniciando um novo contêiner. No entanto, o Cursor é executado em um sistema host local, portanto, a segurança é uma preocupação séria. É por isso que, no modo Agent do Cursor, precisamos confirmar manualmente cada comando antes de executá-lo. Isso é aceitável para tarefas relativamente simples, mas não para tarefas que exigem um controle de segurança. Isso é aceitável para tarefas relativamente simples, mas agora, com o planejamento sofisticado de processos e a capacidade de evoluir, o Cursor também é capaz de lidar com tarefas complexas de longo prazo, o que faz com que esse tipo de interação pareça incompatível com seus recursos.

Para resolver esse problema, ainda não encontrei uma solução baseada no Cursor (atualização: 17 de dezembro de 2024 O Cursor também adiciona esse recurso, chamado modo Yolo, mas ainda não oferece suporte ao desenvolvimento no Docker), mas o Windsurf leva isso em consideração. Como você pode ver em seu design, ele visa a uma forma de produto no estilo Devin, e o editor de código atual é apenas uma forma intermediária. Mais especificamente, o Windsurf tem um recurso que pode se conectar diretamente a um contêiner do Docker e executá-lo lá ou, se tivermos um arquivo de configuração, ele pode nos ajudar a iniciar um novo contêiner do Docker, fazer alguma inicialização e mapear uma pasta local. Assim, todos os comandos que ele executa (exceto as alterações na pasta local) ocorrem no contêiner do Docker e não têm impacto no sistema host, o que aumenta muito a segurança.[Configuração de amostra].

Além disso, ele introduz um mecanismo de lista negra/lista branca que rejeita automaticamente os comandos da lista negra e permite os comandos da lista branca. Para comandos que não estão nem na lista negra nem na lista branca, o LLM determina de forma inteligente se há risco para o sistema host - por exemplo, se quiser excluir um arquivo em uma pasta, ele solicitará a confirmação do usuário, mas comandos como pip install Comandos comuns como esses são simplesmente permitidos. Observe que esse recurso parece estar habilitado somente quando executado em contêineres do Docker. Se executarmos comandos no sistema host, a experiência ainda será semelhante à do Cursor e exigirá confirmação frequente. Além disso, a execução automatizada de comandos precisa ser ativada na configuração.

 

resumos

Assim, podemos ver que, embora a forma do produto e a filosofia de design do Devin sejam de fato muito avançadas, a lacuna entre ele e as ferramentas de IA autêntica existentes não é tão grande quanto poderíamos pensar do ponto de vista do limite técnico. Usando ferramentas populares como o Cursor e o Windsurf (apenas $15-20 por mês), podemos implementar a funcionalidade do Devin 90% em menos de uma hora e usá-lo para executar tarefas complexas que não conseguíamos antes das modificações. Por exemplo, atribuí ao Cursor a tarefa de analisar os retornos de ações populares de tecnologia nos últimos 5 anos para uma análise aprofundada dos dados e ele forneceu um relatório muito detalhado e abrangente. Além disso, pedi ao Windsurf que rastreasse os horários de publicação das 100 publicações mais populares do meu blog e visualizasse os dados no estilo de um gráfico de contribuição do GitHub, tarefas que ele pode automatizar totalmente. Esses tipos de tarefas não são possíveis com o Cursor e o Windsurf tradicionais - somente o Devin pode realizá-las, mas com uma simples modificação podemos obter os resultados da ferramenta $20/mês com a ferramenta $500/mês. Fiz até mesmo um experimento mais aprofundado: como um desenvolvedor completamente não familiarizado com o desenvolvimento de front-end, passei uma hora e meia criando um quadro de empregos, tanto de front-end quanto de back-end. Essa eficiência é comparável à do Devin, se não for maior.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Transforme o Cursor e o Windsurf em Devin no valor de US$ 500/mês em uma hora!

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil