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

Comparação do modelo da plataforma do cursor: DeepSeek V3/R1 vs. Claude 3.5 Sonnet Tests

DeepSeek Teste do modelo mais recente: V3 e R1 vs. V3 e R1. Claude 3,5 Soneto, quem é o melhor?

A DeepSeek fez recentemente um anúncio em Cursor A plataforma lançou seus dois novos modelos, DeepSeek V3 e R1. Atualmente, muitos desenvolvedores (inclusive nós) estão usando o Claude 3.5 Sonnet (versão mais recente claude-3-5-sonnet-20241022) como o modelo de idioma principal. Para ver o desempenho dos novos modelos na prática, decidimos fazer um teste de comparação real entre esses dois modelos do DeepSeek e o Claude 3.5 Sonnet.


 

Introdução ao modelo DeepSeek

Ultimamente, a DeepSeek tem recebido muita atenção por ter aberto o código-fonte de seu poderoso modelo R1, que se diz ser comparável ao modelo o1 da OpenAI em termos de desempenho, o que não é uma tarefa fácil. A plataforma Cursor sempre foi rápida em agir e, assim que o modelo DeepSeek foi lançado, as pessoas mal podiam esperar para começar a testá-lo em aplicativos do mundo real.

Referência de comparação de desempenho
Lançamento oficial do DeepSeek DeepSeek R1 e V3 em relação aos modelos o1 e o1-mini da OpenAI.

Visão geral das tarefas de teste

Esse teste de comparação contém duas partes principais:

  • Modo de bate-papo -- Simula cenários de desenvolvimento cotidiano e explora como adicionar ações do lado do servidor a um componente de caixa de diálogo em um aplicativo Next.js.
  • modo de geração de código -- Modificar um arquivo de configuração do CircleCI para simular um cenário de manutenção de código com o objetivo de remover a configuração relacionada à implantação de front-end e as etapas de teste E2E (ponta a ponta) que não são mais necessárias.

É importante observar que o "Modo Agente" da plataforma Cursor, que geralmente se refere a um modo no qual um modelo pode executar operações e invocar ferramentas por conta própria, atualmente só está disponível para a plataforma Cursor. Antrópica e o GPT-4o estão abertos, portanto, esse teste não envolve o modelo proxy.

 

Comparação do modo de bate-papo

declaração de missão

A pergunta que fizemos foi como adicionar corretamente ações do lado do servidor a um componente de caixa de diálogo em um aplicativo Next.js. O prompt da pergunta específica era:

"Por favor, explique como implementar uma operação no lado do servidor e passá-la corretamente para esse componente de caixa de diálogo?"

Para fornecer um contexto mais específico, também anexamos o arquivo que contém o código relacionado ao componente da caixa de diálogo.

Desempenho do DeepSeek R1

O DeepSeek R1 foi, naturalmente, nossa primeira opção de teste devido ao seu alto perfil. Entretanto, ao usar o R1, descobrimos rapidamente dois problemas bastante óbvios:

  • O fluxo de saída é lento
    O R1 é lento na geração de respostas e é preciso esperar mais tempo para ver o resultado completo.
  • A resposta começa com um bloco claro
    O R1 produz uma grande seção de conteúdo com tags antes de responder formalmente, semelhante à apresentação de um processo de pensamento. Embora essa etapa de pré-processamento seja aceitável, ela melhora significativamente a qualidade da resposta final. O problema, no entanto, é que quando ela é sobreposta a uma saída de streaming lenta, ela atrasa significativamente a apresentação de informações realmente válidas. Por exemplo, se o modelo apresentar uma grande parte do conteúdo antes de transmitir lentamente a resposta real, todo o tempo de espera se torna muito longo. Teoricamente, seria possível definir a regra do Cursor para pular seções, mas isso estava fora do escopo desse teste de estado padrão.

Além disso, a resposta do R1 sugere a instalação da biblioteca next-safe-action/hooks para resolver o problema, mas não explica como usar essa biblioteca para operações no lado do servidor em uma resposta subsequente. Para um problema relativamente simples como o que apresentamos, parece um pouco "trivial" sugerir apenas a instalação de uma biblioteca adicional.

Desempenho do DeepSeek V3

O DeepSeek V3 também tem um desempenho razoavelmente bom e até recomenda o uso do Reagir 19 do novo recurso useFormStatus, o que sugere que o modelo V3 aprende sobre novas tecnologias de front-end e bases de código. No entanto, o V3 tem um erro crítico em sua implementação de código: ele chama operações do lado do servidor diretamente dos componentes do lado do cliente. No Next.js, isso não é viável. (Observação: o Next.js exige que o código do lado do servidor seja executado em um ambiente do lado do servidor para fins de segurança, desempenho e organização de código, e o código nos componentes do lado do cliente é executado no navegador por padrão. Chamar o código do lado do servidor diretamente nos componentes do lado do cliente pode resultar em erros, como módulos do lado do servidor não encontrados, falhas nas solicitações de rede etc.). Por exemplo, chamar uma função do lado do servidor diretamente no código JavaScript do lado do cliente resultará em um erro de tempo de execução ou o código do lado do servidor não será executado.

Da mesma forma que o R1, a velocidade de transmissão de saída do V3 é mais lenta. Mas como o V3 não tem os blocos longos do R1, a experiência geral é um pouco melhor do que a do R1.

Desempenho do Soneto de Claude 3.5

Em comparação, o Claude 3.5 Sonnet é o mais rápido, mesmo no "modo de solicitação lenta" (por exemplo, quando o número de solicitações de API por mês excede a cota gratuita e entra em uma solicitação paga, ele pode experimentar um limite de velocidade de solicitação). Embora a Sonnet não recomende o recurso mais recente do React (useFormStatus), como fez a V3, e cometa um erro semelhante ao da V3 ao chamar operações do lado do servidor diretamente nos componentes do lado do cliente, ela oferece uma solução mais próxima da resposta real disponível. A Sonnet sugere que adicionar a diretiva 'use server' às funções de operação do lado do servidor Sonnet sugere que adicionar a diretiva 'use server' às funções de ação do lado do servidor satisfaria os requisitos do Next.js.(Suplemento de conhecimento: 'use server') é uma diretiva importante introduzida no Next.js versão 13 e posteriores para declarar explicitamente uma função como uma operação no lado do servidor. Ao adicionar a diretiva 'usar servidor' Assim, o Next.js pode reconhecer corretamente a função como código do lado do servidor e permitir que os componentes do lado do cliente a chamem com segurança.) Na verdade, é tão simples quanto adicionar 'usar servidor' Para registro, a solução da Sonnet resolve o problema essencialmente e é mais prática do que a solução dada pelo modelo DeepSeek.

 

Comparação dos modos de geração de código

declaração de missão

Nesta sessão de teste, fornecemos um perfil CircleCI para a implantação de um aplicativo de pilha completa. Esse aplicativo contém um front-end React puro e um back-end Node.js. O processo de implantação original contém várias etapas. Nosso objetivo é modificar esse arquivo de configuração para fazer as duas coisas a seguir:

  • Remova todas as configurações relacionadas à implementação de front-end
  • Reconhecendo que o aplicativo é apenas back-end, o teste E2E (End-to-End Testing, geralmente usado para testar o fluxo completo do usuário) não é mais necessário e as etapas de configuração relevantes são removidas. (Conhecimento adicionado: o teste E2E é usado principalmente para simular o comportamento do usuário e verificar o fluxo completo das interações de front-end e back-end. Se o aplicativo ficar com um back-end e nenhuma interface de usuário, o teste E2E não terá sentido. As estruturas de teste E2E comumente usadas incluem Cypress, Selenium, etc.).

Declaramos explicitamente no prompt do problema que devemos "remover todas as seções relacionadas à implantação de front-end" e fornecer o arquivo de configuração completo do CircleCI ao modelo como contexto.

Desempenho do DeepSeek R1

Esperávamos que o modelo R1 com blocos tivesse um desempenho melhor em tarefas que exigem compreensão do contexto e várias modificações (tarefas do Composer). No entanto, não foi esse o caso:

  • O R1 omite algumas configurações que estão claramente relacionadas à implantação de front-end (por exemplo, a parte do arquivo de configuração que se refere à criação de referências de aplicativos Web ainda é preservada). Mas, para seu crédito, ele identifica corretamente o implantação do netlify (a etapa de implementação na plataforma Netlify, que é comumente usada como uma plataforma de hospedagem de recursos estáticos de front-end) Essa etapa não é mais necessária e foi removida.
  • Ao mesmo tempo, o R1 remove incorretamente a etapa de implantação de back-end denominada deploy_production_apio que pode fazer com que os serviços de back-end não sejam implementados corretamente. Além disso, o R1 indetectável O teste E2E não é mais relevante e ainda mantém a configuração associada.

Desempenho do DeepSeek V3

O DeepSeek V3 tem um desempenho um pouco melhor do que o R1 em tarefas de modificação de código. Ele corrige algumas configurações de implementação de front-end que o R1 deixou passar, mas também expõe novos problemas - por exemplo, o V3 ainda mantém a etapa deploy-netlify, o que sugere que ele não entende totalmente os requisitos da tarefa. Para seu crédito, a V3 fez um bom trabalho ao manter a etapa de implantação de back-end intacta e não excluiu por engano a configuração de implantação de back-end, como fez na R1. Entretanto, assim como na R1, a V3 também não conseguiu determinar que a seção de teste E2E poderia ser excluída.

Desempenho do Soneto de Claude 3.5

O venerável Claude 3.5 Sonnet teve o melhor desempenho nessa tarefa de modificação de código:

  • O Sonnet removeu com êxito a maioria dos comandos relacionados à implantação de front-endEmbora, como o V3, ele também seja Falha ao remover a etapa deploy-netlify.
  • Em termos de etapas de implantação de back-end, a Sonnet também manteve a integridade doNão, não houve exclusão acidental.
  • Crucialmente, a Sonnet reconheceu com precisão que o teste E2E não era mais necessário, pois apenas os serviços de back-end permaneciamComo resultado, a Sonnet removeu todas as configurações relacionadas ao teste E2E, incluindo o Cypress Binary Cache, que é usado para acelerar os testes do Cypress. Como resultado, a Sonnet removeu todas as configurações relacionadas ao teste E2E, incluindo o Cypress Binary Cache (o cache usado para acelerar os testes do Cypress).(Conhecimento adicionado: o Cypress Binary Cache é usado para armazenar em cache os binários necessários para a execução dos testes do Cypress, o que pode acelerar a inicialização dos testes subsequentes. Entretanto, se o teste E2E for removido, essa configuração de cache também deverá ser removida para evitar configurações redundantes). Essa foi a melhor solução nesse teste, demonstrando o profundo entendimento da Sonnet sobre a intenção da tarefa e sua capacidade de fazer alterações mais abrangentes no código.

 

resumos

A plataforma Cursor está constantemente introduzindo novos modelos de IA, sempre trazendo novas opções e possibilidades para os desenvolvedores. Embora a tarefa desse teste de comparação tenha sido relativamente simples, foi suficiente para demonstrar inicialmente os recursos dos dois modelos do DeepSeek em um cenário de desenvolvimento do mundo real. Em comparação com o Claude 3.5 Sonnet, os modelos do DeepSeek têm seus próprios pontos fortes e fracos.

Em suma, o Claude 3.5 Sonnet está claramente à frente dos dois modelos do DeepSeek em termos de velocidade de resposta e qualidade de saída neste teste. Embora a velocidade de resposta do modelo do DeepSeek possa ser melhorada em versões futuras devido à otimização do servidor, à distribuição da rede e a outros fatores, o Claude 3.5 Sonnet ainda está no nível mais alto em termos de praticidade e confiabilidade, de acordo com os resultados reais do teste até o momento.

Em suma, esse teste mostra que o Claude 3.5 Sonnet ainda é a opção mais madura e confiável na plataforma Cursor atualmente. No entanto, o novo modelo do DeepSeek também mostra algum potencial e merece a atenção e a experimentação contínuas dos desenvolvedores. Como o modelo continua a ser iterado e aprimorado, ele pode ter um desempenho melhor no futuro.

CDN
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Comparação do modelo da plataforma do cursor: DeepSeek V3/R1 vs. Claude 3.5 Sonnet Tests

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