DEV Community

Cover image for DeepSeek R1 vs o3-mini para Desenvolvedores: Qual é o melhor?
Douglas Toledo
Douglas Toledo

Posted on

3 1 1 1 1

DeepSeek R1 vs o3-mini para Desenvolvedores: Qual é o melhor?

Olá, pessoal!

Recentemente a OpenAI lançou o seu novo modelo, o o3-mini. Com tantas opções surgindo, a grande pergunta de todo desenvolvedor é: Qual modelo devo usar?

Para responder a essa dúvida, passei as últimas horas testando
o o3-mini e o DeepSeek R1 em tarefas comuns que nós, desenvolvedores, realizamos diariamente. São elas:

  1. Construir um programa do Zero;
  2. Adicionar um recurso a um código existente;
  3. Refatorar código e gerar testes.

Neste artigo, vou compartilhar minhas recomendações e insights. Meu objetivo é que todos nós possamos nos tornar melhores desenvolvedores, utilizando a IA a nosso favor.


Performance, Preço e Janela de Contexto

Antes de mergulhar nos testes práticos, é fundamental entender as especificações de cada modelo, elas são cruciais para determinar qual se alinha melhor às necessidades do seu projeto.

1. Desempenho

  • o3-mini e DeepSeek R1 lideram no SWE Bench (teste que avalia a capacidade de resolver issues do GitHub), com pontuações acima de 49.
  • Claude 3.5 Sonnet inicialmente mostrou boas pontuações, mas conforme os testes abaixo, demonstrou limitações significativas na execução de tarefas complexas.

2. Custo por Milhão de Tokens

  • DeepSeek R1: input: $ 0,55 e output: $ 2,19 (mais econômico),
  • o3-mini: input: $ 1,10 e output: $ 4,40.
  • Claude 3.5 Sonnet: input: $ 3,00 e output: $ 15,00.

3. Janela de Contexto

  • o3-mini e Claude 3.5: Até 200k tokens (melhor para requisições maiores e mais complexas).
  • DeepSeek R1: Até 128k tokens.

Teste Prático 1: Construir um Projeto do Zero

Tarefa: Criar uma interface para conversar com LLM locais via Ollama, com funcionalidades de chat, histórico de conversas e seleção de modelos.

Resultados:

Modelo Arquivos Gerados Funcionalidades Funcionais Observações
o3-mini usando Cursor 3 (HTML, CSS e JS separados) Todas Código organizado, mas UI e estilização muito básicos
DeepSeek R1 na Web 1 (HTML, CSS e JS condensados) Chat e Escolha de modelos Sem Histórico de conversas, a UI e estilização estavam melhores
DeepSeek R1 usando Cursor 0 - Falhou ao criar múltiplos arquivos, muitos ajustes manuais
Claude 3.5 usando Cursor 0 - Falhou completamente

Vencedor: o3-mini, pela consistência e capacidade de gerar projetos complexos em uma única requisição.


Teste Prático 2: Adicionar um Recurso a um Código Existente

Tarefa: Integrar uma interface de usuário (UI) a uma CLI existente para interagir com agentes de IA.

Resultados:

  • o3-mini usando Cursor:

    • Gerou os novos arquivos e adicionou o recurso após mais de 20 iterações.
    • Teve maiores dificuldades para entender o gerenciamento de estados da UI, precisando de ajustes nos prompts e correções manuais após o resultado gerado.
  • DeepSeek R1 usando Cursor:

    • Gerou os novos arquivos e adicionou o recurso em apenas 9 iterações, com código mais limpo e organizado do que o o3-mini.
    • Precisou de orientação para ajustar algumas integrações, mas foi mais rápido do que o o3-mini para entender as necessidades.

Vencedor: DeepSeek R1, embora o o3-mini seja mais "autônomo", ele apresentou grandes dificuldades em entender as funcionalidades chave para realizar a integração. Em contraste, embora o DeepSeek R1 tenha exigido mais "supervisão", ele compreendeu melhor as necessidades e entregou o novo recurso rapidamente.


Teste Prático 3: Refatorar Código e Gerar Testes

Tarefa: Refatorar funções em uma aplicação web feito com React/TypeScript e adicionar testes unitários.

Resultados:

  • o3-mini usando Cursor:

    • Refatorou o código, seguiu boas práticas e gerou testes funcionais (com pequenos ajustes necessários).
  • DeepSeek R1 usando Cursor:

    • Introduziu bugs críticos ao remover funções essenciais.
    • Gerou testes válidos, mas falhou na refatoração.

Vencedor: o3-mini, pela precisão e menor risco de quebrar o código existente.


Recomendações Finais

  1. Para Projetos Novos: Use o3-mini no Cursor. Sua capacidade de gerar código estruturado em uma única passagem é imbatível.
  2. Para Features Complexas: Combine o3-mini (para arquitetura) com DeepSeek R1 (para snippets específicos).
  3. Para Orçamentos Apertados: DeepSeek R1 é a escolha mais econômica, mas exige mais atenção e supervisão durante o desenvolvimento.

E o Claude 3.5?

Com um custo 7x maior e desempenho inferior já no primeiro teste prático, o Claude 3.5 não se mostra uma opção viável para desenvolvimento diário. Recomendo focar no o3-mini e no DeepSeek R1, que oferecem um equilíbrio melhor entre custo e desempenho.


Como Usar os Dois Modelos Juntos

  • Fase de Planejamento: Utilize o3-mini para esboçar a estrutura geral do projeto. Sua capacidade de lidar com grandes janelas de contexto permite planejar de forma abrangente.
  • Otimização e Ajustes Finais: Após estruturar o projeto, utilize DeepSeek R1 com "supervisão" contínua para afinar funções específicas, melhorar a eficiência do código e reduzir custos em tarefas pontuais.

Considerações Finais

A integração de modelos de IA como o3-mini e DeepSeek R1 no fluxo de trabalho de desenvolvimento pode transformar completamente a maneira como criamos e mantemos projetos.

Enquanto o o3-mini se destaca pela consistência e capacidade de lidar com tarefas complexas, o DeepSeek R1 oferece uma solução econômica para ajustes finos e tarefas específicas.


E aí, qual modelo você vai testar primeiro? 👨‍💻
Gostou? Compartilhe suas experiências nos comentários! 🚀

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more