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:
- Construir um programa do Zero;
- Adicionar um recurso a um código existente;
- 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
- Para Projetos Novos: Use o3-mini no Cursor. Sua capacidade de gerar código estruturado em uma única passagem é imbatível.
- Para Features Complexas: Combine o3-mini (para arquitetura) com DeepSeek R1 (para snippets específicos).
- 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! 🚀
Top comments (0)