34 pontos por GN⁺ 2025-03-13 | 8 comentários | Compartilhar no WhatsApp
  • Existem afirmações exageradas sobre ferramentas de codificação com IA
    • Afirmações de que dá para criar um SaaS em 3 dias vs. afirmações de que é totalmente inútil → provavelmente ambas são exageradas
  • O Cursor mudou completamente a forma de programar, mas ainda tem problemas
  • Quero compartilhar experiências obtidas a partir de uma postura cética em relação às ferramentas de codificação com IA

Configurando CursorRules

  • Sem o arquivo .cursorrules, há uma grande chance de perder tempo
    • Agora ele foi alterado para arquivos .mdcCMD + Shift + P → é possível criar em New Cursor Rule
    • Leva cerca de 10 minutos para configurar → pode economizar várias horas
  • Defina regras adequadas à sua stack tecnológica
    • Escolha as melhores regras em Coleção de Cursor Rules
    • Comece com o mínimo de regras e expanda gradualmente → regras demais podem reduzir o desempenho
  • Resolva problemas recorrentes adicionando-os às regras
    • Problemas que acontecem repetidamente podem ser adicionados às regras para que a IA os corrija automaticamente
    • Ex.: problema com nullish coalescing (??) em JS → resolvido após adicionar às regras
  • Adicione descrições sobre o projeto e a estrutura do código
    • Especifique no topo do arquivo uma descrição do projeto e da estrutura do código
    • Se houver uma estrutura de arquivos específica ou uma forma específica de escrever código, deixe isso claro

Obtendo a melhor saída

  • A chave para melhorar a qualidade da saída é fornecer contexto
    • Se houver uma função necessária ou um procedimento parecido, avise a IA com antecedência
    • Não é necessário informar o nome exato da função → o objetivo é facilitar a tarefa de programação
  • Forneça exemplos
    • Dê dicas como see @schedule.ts @utils.ts @ScheduleHeader.tsx
    • Isso permite consultar códigos escritos de forma semelhante
  • A IA foi treinada com código aleatório
    • Requisitos específicos de cada projeto precisam ser comunicados com clareza para melhorar o desempenho

Coleção de dicas rápidas

  • Composer (agora renomeado para Agent) → adequado para mudanças simples e de baixo impacto
  • Chat (Ask) → adequado para a maioria das outras tarefas
    • Aplicar as alterações manualmente → melhora a compreensão e a precisão na modificação do código
  • Não confie cegamente no código
    • É necessário revisar e corrigir o código gerado pela IA
  • Refatore manualmente o código principal periodicamente
    • Encontrar e corrigir lacunas no código → depois disso, a qualidade do código gerado pela IA pode melhorar
  • Faça perguntas como "Esse é o melhor jeito?" ou "Você considerou outra abordagem?"
  • Identifique quando é melhor resolver manualmente
  • Tenha cuidado ao corrigir bugs
    • Tirando bugs triviais, a IA tem dificuldade para corrigir problemas
    • Existe a possibilidade de causar grandes danos ao código
  • Em tarefas importantes, faça a IA perguntar primeiro
    • Pergunte "Você entendeu completamente?" antes de começar a escrever código

Conclusão

  • Vantagens da programação com IA
    • Dá para escrever código mesmo quando o cérebro está cansado
    • Também pode ajudar a resolver problemas que normalmente seriam difíceis
  • Limitações da programação com IA
    • Pode dizer "Sim, agora entendi o problema" e, no fim, piorar ainda mais a situação
    • É importante aprender a usar bem a IA → ela não vai desaparecer, então é preciso aproveitá-la bem como ferramenta
  • Desenvolvedores juniores precisam de cautela: existe o risco de enfraquecer as habilidades de programação por causa do uso da IA
  • O desempenho da IA varia muito conforme o tema de programação e a stack tecnológica
    → se o desempenho da IA continua ruim, há uma boa chance de que a culpa não seja sua

8 comentários

 
colus001 2025-03-14

As regras do Cursor, também recomendo o site https://cursor.directory/.

 
kipsong133 2025-03-14

Tenho visto muitas afirmações de que desenvolvedores júnior estão perdendo capacidade por usar IA, então seria interessante se houvesse algum texto sobre se isso realmente acontece.
Gostei muito do texto, obrigado :)

 
tominam2 2025-03-16

Para mim, isso soa como aquela história de que usar atalhos no celular faz a memória piorar
Programar não é sobre ter a capacidade de não esquecer e decorar coisas óbvias, né?

 
kipsong133 2025-03-16

Eu também concordo. Decorar interfaces de frameworks não é habilidade de desenvolvimento, afinal.

 
seoseonyu 2025-03-14

O Cursor é muito bom, mas... no meu caso, como trabalho em vários dispositivos,
senti falta de um recurso de sincronização de configurações.

Dizem que existe uma gambiarra para sincronizar extensões ou os próprios arquivos de configuração
a partir de um drive de rede usando links simbólicos,
mas no VS Code isso sincroniza com um clique, então ter que passar por esse processo acaba sendo meio incômodo.

 
pcj9024 2025-03-13

Como substituí o Cmd+K do vscode por Cmd+R, quase não uso, mas todo mundo continua dando depoimentos sobre aumento de produtividade... aff, será que preciso migrar?

 
bungker 2025-03-14

Troquei o VS Code que usei por 5 anos e estou gostando.

 
GN⁺ 2025-03-13
Comentários no Hacker News
  • A liderança de engenharia da empresa está promovendo fortemente o Cursor. É bom para resolver tickets pequenos e melhorar o produto, mas não serve para trabalho pesado

    • Ao depender do Cursor, a capacidade de raciocínio e programação dos engenheiros juniores está enfraquecendo
    • Pessoalmente, há uma grande preocupação com o conflito de interesses em o Cursor decidir quais arquivos adicionar ao contexto e cobrar com base no tamanho deles
    • Como muitos produtos, no começo é barato, mas depois que você fica dependente, acaba ficando caro
  • O modelo de negócios atual do Cursor cria um conflito fundamental entre os usuários e a saúde financeira da empresa

    • Esses problemas estão aparecendo à medida que os provedores de LLM tentam escalar com computação em tempo de raciocínio
    • O Cursor está tentando especialmente reduzir os custos de raciocínio por meio de poda de contexto
    • Quando você "anexa" um arquivo à conversa, o Cursor deixa de colocar o código desse arquivo diretamente no prompt
    • Em vez disso, ele executa chamadas de função para abrir o arquivo e ler partes do código até o modelo sentir que obteve informação suficiente
    • Porém, se o raciocínio for limitado apenas ao prompt inicial, o modelo acaba raciocinando só com base no próprio prompt, sem acessar os arquivos anexados
    • Executar chamadas de função depois do raciocínio para buscar mais contexto esvazia completamente o sentido de "pensar"
    • Isso faz o modelo gerar planos inconsistentes e alterações especulativas, o que explica o estranho comportamento de excesso de alterações do Claude
    • O Cursor tem todos os incentivos para minimizar o esforço de raciocínio do o3-mini e do Claude 3.7 a fim de reduzir a carga nos servidores
  • O Cursor é elogiado como uma das maiores histórias de crescimento de SAAS, mas o modelo de negócios de uso ilimitado por US$20/mês os coloca em uma situação ruim

  • Cada usuário precisa considerar sua própria linguagem/stack. É bem provável que o Cursor não funcione da mesma forma em todas as linguagens

    • Estou trabalhando em um monorepo Next.js/Typescript/Solidity com vários apps e pacotes, e ele consegue lidar com quase tudo
    • Uso há cerca de um mês e acho que ainda dá para extrair mais valor
  • Depois de usar o Cursor por um mês, no dia em que fiquei sem internet percebi que estava começando a esquecer como escrever código direito

  • A UX dessas ferramentas é limitada principalmente pela capacidade de montar o contexto completo do que o usuário quer fazer

    • Recentemente testei o aider e foi uma experiência bastante frustrante
    • Ele ficava pedindo para "adicionar" arquivos do diretório, mas não conseguia adicioná-los sozinho
    • Havia problemas como não reconhecer alterações manuais em arquivos e gerar commits com código quebrado
    • Parece mais importante fornecer à IA o contexto completo do que a qualidade do modelo em si
    • Janelas de contexto grandes custam caro, então muitas ferramentas estão sempre tentando economizar nisso
    • No longo prazo, há mais valor em não fazer essa economia
    • Carregar o projeto inteiro pode custar US$2–3 por pergunta, mas se o custo cair 20 vezes, eu não ligaria
  • Modelos grandes suportam janelas de contexto enormes, de milhões ou dezenas de milhões de tokens, custam algo parecido com um carro pequeno e consomem muita energia

    • A Nvidia enriquece com as altas margens das GPUs. Com o tempo, os preços vão cair
    • Há otimismo de que muitas coisas vão melhorar rapidamente
  • O Cursor é útil para prototipagem e desenvolvimento de MVP, mas começa a sofrer quando o codebase cresce

    • Quando os arquivos são grandes ou numerosos, a janela de contexto enche e surgem problemas de consistência
    • Selecionar manualmente os arquivos ou trechos relevantes produz resultados melhores, mas nesse ponto já não é tão diferente de usar uma interface web
  • Reunindo as opiniões de outros comentaristas, a sensação é de que usar o Cursor é uma má ideia

    • É um SaaS de código fechado, e a qualidade do serviço pode variar de um dia para o outro
    • Não consegui encontrar uma forma de impedir que arquivos .env sejam enviados em texto puro
  • Fiquei desconcertado ao ler o conselho "aprenda quando resolver problemas manualmente"

    • É como dar a um investidor o conselho vazio de "compre barato e venda caro"
  • Usei o Cursor algumas vezes, mas sempre tenho as mesmas reclamações

    • Por que fizeram um fork do VS Code, se isso poderia ter sido uma extensão como o Copilot
    • Algumas extensões do VSCode não funcionam, é preciso refazer todas as configurações e adicionar o workspace de novo
    • Em comparação com o Copilot, o benefício obtido não é tão grande