Em 26 de fevereiro de 2025, a SuperCLUE lançou a lista inaugural de benchmarks de medição de geração de código em nível de projeto (SuperCLUE-Project).
Para conhecer o programa de avaliação, consulte: Versão de referência da avaliação de geração de código em nível de projeto. Com base na cooperação do "painel de juízes" de grandes modelos, essa avaliação avalia a capacidade de 12 grandes modelos nacionais e internacionais em tarefas de geração de código em nível de projeto, que abrangem 5 categorias de cenários de aplicativos, incluindo desenvolvimento de jogos, ferramentas e sistemas de gerenciamento. A seguir, o relatório detalhado da avaliação.
Resumo das medições de código em nível de projeto
Resumo 1: o3-mini-high e Claude-3.7-Sonnet-Reasoning estão na liderança
Nessa avaliação, o o3-mini-high lançado pela OpenAI alcançou uma pontuação composta de 82,08, e o modelo de raciocínio recém-lançado pela Anthropic, Claude-3.7-Sonnet-Reasoning, alcançou uma pontuação composta de 81,63, com os dois liderando a lista.
Resumo 2: DeepSeek-R1 lidera os modelos domésticos e está entre os melhores do setor
De acordo com os resultados da avaliação, a diferença de pontuação entre o DeepSeek-R1 e os modelos de ponta do setor, como o3-mini-high, Claude-3.5-Sonnet/3.7-Sonnet-Reasoning e Gemini-2.0-pro, é extremamente pequena e até alcança uma certa posição de liderança em alguns cenários de aplicativos.
Resumo 3: Cada um tem seus próprios pontos fortes. O r1 é especializado em desenvolvimento de jogos, o3/Etapa R é especializado em edição multimídia e vários são especializados em aplicativos da Web.
Os 12 modelos que participaram da avaliação mostram a diferença de capacidade em diferentes cenários de aplicação, por exemplo, o DeepSeek-R1 se destaca no campo de "desenvolvimento de jogos", o Claude-3.5-Sonnet, o Beanbag 1.5pro e o Tongyiqianqian Max são mais especializados em design de "aplicativos da Web" e assim por diante. Claude-3.5-Sonnet, Beanbag 1.5pro e Tongyi Qianqian Max são mais especializados em design de "aplicativos da Web", enquanto o StepStar Step R-mini tem uma vantagem exclusiva no desenvolvimento de ferramentas de "edição multimídia" e assim por diante.
Resumo 4: Modelos diferentes diferem significativamente em escolhas metodológicas, estilos de interface
A comparação das respostas dos modelos mostra que, diante dos mesmos requisitos do usuário, modelos diferentes escolhem linguagens de programação muito diferentes, chamam bibliotecas/módulos e dão atenção significativa à estética da interface, o que, até certo ponto, reflete as diferenças nos recursos, preferências e conceitos do modelo.
Visão geral da lista
SuperCLUE-Sistema de Avaliação de Projetos
O SuperCLUE-Project é um benchmark de avaliação de código em nível de projeto nativo chinês projetado para examinar a capacidade de modelos grandes de transformar os requisitos de nível de projeto dos usuários em implementações de código.
O SuperCLUE-Project concentra-se nas necessidades reais do grupo de usuários não programadores, abrangendo 5 dimensões de primeiro nível e 18 dimensões de segundo nível, e construindo os conjuntos de perguntas em linguagem natural chinesa. Tendo em vista as características da comunidade de não programadores, enfatizamos apenas o nível funcional da descrição dos requisitos no design do tópico e colocamos a eficiência, a segurança, a legibilidade e outros indicadores como os recursos independentes dos grandes participantes do modelo a serem avaliados na sessão de avaliação.
Além disso, os benchmarks têm três níveis de dificuldade, fácil, médio e complexo, que são dimensionados de forma holística para o mesmo conjunto de tópicos, a fim de fornecer uma visão mais profunda dos recursos de implementação de código em nível de projeto dos modelos.
Metodologia
Com relação à abordagem de avaliação refinada do SuperCLUE, o seguinte processo é seguido para realizar a avaliação:
1) Construção do conjunto de medição
1) Preocupado com a dinâmica do grande campo de desenvolvimento de código baixo/zero assistido por modelo, colete e reúna requisitos de projeto de código de grupo não programador
2. escrever conjuntos de avaliação de código em nível de projeto de dificuldade simples
3. controlar o formato e o intervalo de contagem de palavras para ampliar o conjunto de avaliação para níveis de dificuldade moderados/complexos
4. teste e calibração manual
2) Processo de pontuação
1. preparação de regras de avaliaçãoprompt --->
2. testes em pequena escala para verificar manualmente a consistência das avaliações do modelo de árbitro com as avaliações de especialistas humanos --->
3. ajuste iterativo das regras de avaliação com base no feedback de consistência --->
4. passe o conjunto completo de respostas do modelo a ser testado e as regras de avaliação para os dois modelos de árbitros para receber as avaliações completas, respectivamente --->
5. calcular a média das pontuações dos dois modelos de adjudicação em cada dimensão como o resultado final
3) Análise da coerência humana
Uma amostragem estratificada do conjunto de medições foi realizada para testar a consistência das avaliações do modelo de árbitro com as dos especialistas humanos, calculando o coeficiente de correlação intragrupo e relatando esse desempenho.
Em comparação com os benchmarks anteriores, o SuperCLUE-Project apresenta pela primeira vez modelos nacionais e estrangeiros (Gemini-2.0-flash e Qwen-Max) como árbitros na implementação da avaliação, o que reduz ainda mais os problemas de parcialidade e preferência do modelo grande por meio da cooperação da "equipe de árbitros". (Por meio da cooperação do "painel de árbitros", os problemas de parcialidade e preferência do modelo grande são ainda mais reduzidos.
Além disso, para verificar a confiabilidade do modelo de árbitro, o SuperCLUE-Project introduz o Coeficiente de Correlação Intraclasse (ICC) pela primeira vez e calcula os efeitos mistos bidirecionais das classificações de especialistas humanos, Qwen-Max e Gemini-2.0-flash ( Com base nos índices ICC(3,k), foi verificado que o modelo do árbitro é bastante consistente com as classificações humanas. Em comparação com a confiabilidade percentual anterior, o método supera com eficácia os efeitos flutuantes de erros aleatórios.
(*Observação: o coeficiente de correlação intragrupo (ICC) é um dos índices de coeficiente de confiabilidade para medir e avaliar a confiabilidade interobservador e a confiabilidade teste-reteste, e foi usado pela primeira vez por Bartko em 1966 para medir e avaliar a magnitude da confiabilidade. A ICC é igual à variabilidade de um indivíduo dividida pela variabilidade total. Neste experimento, o índice de efeitos mistos de duas vias foi escolhido como índice de consistência porque só precisamos considerar a consistência entre o modelo de árbitro selecionado e as classificações do especialista humano, e não precisamos estendê-lo a outros avaliadores).
Critérios de avaliação
- Integridade funcional (60%): garante que o código implemente totalmente todas as funções descritas nas instruções do usuário.
- Qualidade do código (28%): avalia o desempenho do código em termos de eficiência, legibilidade e segurança. Inclui especificamente:
a. Eficiência (12%): se o código está suficientemente otimizado em termos de uso de recursos, manipulação de DOM, manipulação de bancos de dados/grandes conjuntos de dados, computação ou chamadas de API.
b. Legibilidade (8%): se o código implementa (1) o uso de nomenclatura clara e formatação consistente; (2) a divisão lógica da base de código em módulos; e (3) a manutenção de uma estrutura de projeto clara.
c. Segurança (8%): se o código (1) não tem falhas óbvias de segurança; e (2) pode lidar com exceções básicas de forma eficaz.
- Experiência do usuário (12%): avalia a qualidade do design e da estética da interface do usuário, incluindo o funcionamento adequado dos elementos interativos (por exemplo, botões, formulários) e a estética básica da interface geral.
Em comparação com o design dos critérios de avaliação no passado, o SuperCLUE-Project alterou o mecanismo de pontuação relativamente equilibrado, destacando significativamente o peso da pontuação do aspecto de implementação funcional, que também é o recurso com o qual os usuários comuns mais se preocupam.
Além disso, os critérios de avaliação do SuperCLUE-Project especificam o modo de pontuação do sistema de dedução, ou seja, com base na pontuação total padrão, com base na comparação entre as perguntas e as implementações de código correspondentes, a parte da pontuação que não atender aos requisitos das perguntas será deduzida. Para esse tipo de método de avaliação individual de pergunta por pergunta, o sistema de dedução de pontos até certo ponto compensa as deficiências do árbitro de modelo grande no exame da qualidade relativa de várias respostas e alivia o problema da avaliação de modelo grande.Estocasticidade.
Modelos participantes
Para medir de forma abrangente o nível atual de capacidade dos grandes modelos nacionais e estrangeiros para resolver os requisitos de código em nível de projeto, sete modelos nacionais e cinco modelos estrangeiros com alta representatividade foram selecionados para essa avaliação.
Resultados da avaliação
lista geral
Lista de cenários de aplicativos 
Revisão e análise de consistência humana
Para avaliar cientificamente a consistência dos benchmarks do SuperCLUE-Project com especialistas humanos, selecionamos os três modelos com desempenho geral melhor, médio e pior a partir dos resultados da avaliação, estratificamos 33 pares de perguntas e respostas, realizamos a pontuação manual independente e a pontuação pergunta por pergunta pelos dois modelos de árbitros e relatamos a consistência percentual das pontuações totais dos três, os coeficientes de correlação do grupo e examinamos cientificamente o profissionalismo dos grandes modelos. O profissionalismo da pontuação do "painel de árbitros" foi examinado cientificamente.
Observação: Um valor de ICC-3k de 0,75 ou mais geralmente é considerado um indicador de alta concordância entre avaliadores.
Casos de avaliação
Exemplo 1 Desenvolvimento de jogos (quebra-cabeça, difícil)
Prompt:Escreva o código para implementar um jogo de ligar os pontos, onde aparecem aleatoriamente cubos pequenos m * n multicoloridos e bem espaçados (m, n especificados pelo usuário antes de iniciar o jogo, são números inteiros maiores que 5), o usuário clica em dois cubos, se a cor for a mesma e os caminhos conectados (só podem ser nas direções horizontal e vertical) não tiverem mais de duas voltas, então elimine os dois cubos; se a regra de eliminação não for cumprida, então os dois cubos que foram clicados Piscar três vezes. O jogador tem três chances de interromper a disposição dos quadrados existentes. Se o usuário conseguir eliminar dois quadrados seguidos em 3 segundos, "Combo!" será exibido na tela.
Big Model Ref 1 (Gemini-2.0-flash):
Requisitos contidos nas instruções do usuário (com base em análises independentes) 1. criar a interface do jogoCrie uma grade de m*n quadrados, com m e n especificados pelo usuário (números inteiros maiores que 5). 2. randomização das cores dos cubosGerar aleatoriamente quadrados de várias cores e certificar-se de que cada cor apareça um número par de vezes para que eles possam ser eliminados dois a dois. 3. regras de eliminaçãoEliminação de dois quadrados da mesma cor quando o usuário clica neles e eles podem ser conectados por um caminho com no máximo duas voltas. 4. dicas de erroSe os dois quadrados clicados pelo usuário não satisfizerem a regra de eliminação, o quadrado clicado piscará três vezes. 5. função de interrupçãoPermite que o jogador interrompa o arranjo dos quadrados por um total de três chances. 6. prêmios de greveSe o usuário conseguir eliminar duas vezes seguidas dentro de 3 segundos, será exibido "Combo!". Revisão geral dos defeitos do código O código implementa um jogo de combinação básico que implementa a geração aleatória de quadrados, regras de eliminação, alertas de erro, função de perturbação e bônus de combinação. No entanto, o código tem algumas deficiências em termos de experiência do usuário e eficiência. Por exemplo, o efeito de piscar dos quadrados não é suficientemente suave, e a atualização da interface após a eliminação dos quadrados não é suficientemente oportuna. Pontuação para cada critério -- Integridade funcional: [[15]] pontos (Todos os recursos estão implementados, incluindo quadrados gerados aleatoriamente, regras de eliminação, recursos de interrupção e bônus de combinação. Todos os recursos principais estão implementados, portanto, nenhum ponto é deduzido). -- Qualidade do código: [[5]] pontos onde: Eficiência: [[2]] pontos (O código gera o quadro criando uma lista de todas as cores e, em seguida, interrompendo-a aleatoriamente. Essa abordagem pode afetar a eficiência quando m e n são grandes. Além disso, um algoritmo de busca de amplitude é usado para determinar se dois quadrados podem ser eliminados. Embora o algoritmo possa encontrar o caminho mais curto, ele pode consumir muito tempo em um tabuleiro de grande escala. Portanto, 1 ponto é deduzido). Legibilidade: [[2]] pontos (A nomenclatura do código é, em geral, clara, mas alguns dos blocos de código são comentados de forma inadequada; por exemplo, a explicação do algoritmo de busca em primeiro lugar não é suficientemente detalhada. A estrutura geral do código é boa, mas poderia ser mais modularizada, por exemplo, separando a lógica do jogo do desenho da interface. Portanto, nenhuma nota será deduzida). Segurança: [[1]] pontos (Não há falhas de segurança óbvias no código; no entanto, para a entrada de m e n pelo usuário, apenas a verificação simples do intervalo de valores é feita sem considerar outras exceções, por exemplo, se o usuário inserir números não inteiros. Portanto, 1 ponto é deduzido). -- Experiência do usuário: [[1]] pontos (A interface do jogo funciona basicamente, no entanto, o efeito de piscar dos blocos não é suficientemente suave e a atualização da interface após a eliminação dos blocos não é suficientemente oportuna. Além disso, o jogo carece de efeitos sonoros e de animação, e a experiência do usuário precisa ser aprimorada. Portanto, 2 pontos são deduzidos). Em resumo, a pontuação geral dessa implementação de código é <> pontos.
Árbitro de modelo grande 2 (Qwen-Max):
Requisitos contidos nas instruções do usuário (com base em análises independentes) 1. a interface do jogo deve exibir aleatoriamente m*n cubos de várias cores em um arranjo próximo, em que m e n são especificados pelo usuário e são números inteiros maiores que 5. 2 Se o usuário clicar em dois cubos, se as cores forem as mesmas e os caminhos conectados (somente as direções horizontal e vertical são permitidas) não tiverem mais de duas voltas, os dois cubos serão eliminados. 3 Se a regra de eliminação não for atendida, os dois quadrados clicados piscarão três vezes. 4 O jogador tem três chances de interromper a disposição dos quadrados existentes. 5 Se o usuário conseguir eliminar dois quadrados seguidos em 3 segundos, a mensagem "Combo!" será exibida na tela. Comentários gerais sobre falhas de código O código implementa a lógica básica do jogo, incluindo a geração do tabuleiro, a detecção da conexão dos blocos e o tratamento da entrada do jogador. A estrutura do código é relativamente clara, mas algumas partes poderiam ser mais otimizadas para melhorar a legibilidade e a eficiência. Pontuação para cada critério -- Integridade funcional: [[15]] pontos A implementação do código está totalmente em conformidade com todos os requisitos funcionais das instruções do usuário: São gerados cubos pequenos de m*n, e m e n são especificados pelo usuário e são ambos números inteiros maiores que 5. O usuário clica em dois quadrados e, se eles forem da mesma cor e os caminhos conectados não tiverem mais de duas voltas, ambos os quadrados serão eliminados. Se a regra de eliminação não for atendida, os dois quadrados clicados piscarão três vezes. O jogador tem três chances de interromper a disposição dos quadrados existentes. Quando o usuário consegue eliminar dois quadrados seguidos em 3 segundos, a mensagem "Combo!" é exibida na tela. -- Qualidade do código: [[5]] pontos onde: Eficiência: [[3]] pontos O código como um todo faz uso razoável dos recursos e não há gargalos óbvios de desempenho. No entanto, a pontuação total é mantida, pois possíveis problemas em casos extremos não são considerados. Legibilidade: [[1]] pontos Embora a nomenclatura das variáveis seja mais clara, a lógica da função is_connected é um pouco mais complexa e não é fácil de entender. Além disso, a lógica dentro do loop principal poderia ser melhorada com uma modularização mais sensata. Segurança: [[1]] pontos O código carece de validação eficaz da entrada do usuário, como, por exemplo, garantir que a entrada seja um número inteiro positivo. Além disso, não há mecanismo para lidar com determinados erros potenciais (por exemplo, operações de arquivo com falha). -- Experiência do usuário: [[2]] pontos A interface do jogo é basicamente agradável do ponto de vista estético e os elementos interativos funcionam bem. No entanto, a consistência da experiência do usuário é melhor, pois o número de vezes que os quadrados piscam atende aos requisitos. Em resumo, a pontuação geral para essa implementação de código é <> pontos.
Classificação geral: [21,5/25]
# Exemplo 2 Desenvolvimento de jogos (Shooter, Difícil)
prompt: Escreva o código para implementar um jogo simples de combate aéreo. O jogador usa as teclas de seta para a esquerda e para a direita para manobrar o avião na parte inferior da interface a fim de evitar obstáculos que voam de cima para baixo e pressiona a barra de espaço para atirar nos aviões inimigos de cima, que se movem para a esquerda e para a direita aleatoriamente e disparam. O valor inicial de vida é 3. Toda vez que você atingir um obstáculo ou for atingido por um avião inimigo, seu valor de vida será reduzido em 1, e o jogo terminará quando seu valor de vida chegar a 0. Há 3 aviões inimigos no primeiro nível e mais 3 em cada nível subsequente. Há dois modos de disparo para a aeronave do jogador: o Modo A (padrão) só pode disparar na frente da aeronave inimiga e a destrói com um único acerto; o Modo B dispara em várias direções e requer dois acertos para destruir a aeronave inimiga. Pressione a tecla "Q" para alternar entre os modos A e B.
[o3-mini-high code effect demo]:
Classificação geral: [22/25]
# Exemplo 3 Ferramentas rápidas (Daily Office, Médio)
Prompt:Escreva o código para implementar uma ferramenta de processamento de texto em inglês. O usuário insere o texto e a ferramenta pode executar rapidamente as estatísticas de número de palavras, classificação de frequência de palavras, conversão de maiúsculas e minúsculas, remoção de espaços e quebras de linha, adição de números de linha e outras operações. Além disso, a ferramenta pode salvar várias regras de substituição definidas pelo usuário e executá-las uniformemente. Os usuários podem salvar o texto em seus favoritos e personalizar o título.
Classificação geral: [20.5/25]
Exemplo 4 Aplicativo da Web (visão da Web, difícil)
Prompt:Escreva o código para implementar um site de apresentação de moda com várias imagens (carregadas pelo usuário) que giram automaticamente, com miniaturas localizadas na parte inferior da página. As imagens são alternadas usando um efeito visual de virada de cartão. Ao passar o mouse sobre uma imagem, uma lupa é usada para mostrar os detalhes. O canto superior direito da página tem um botão "desligar a luz"; o padrão é o fundo branco; ao clicar em "desligar a luz", o fundo se torna preto e o botão se torna "ligar a luz". O plano de fundo da página tem o efeito de pétalas de flores caindo lentamente. Há um botão de ícone de início/pausa no canto superior esquerdo para controlar o início e a pausa da rotação da imagem; há um ícone de coração branco no canto inferior direito de cada imagem rotativa, que se transforma em rosa quando você clica nele, e o número de vezes que você clicou no coração é exibido no lado direito.
Classificação geral: [23/25]
Exemplo 5: Aplicativo da Web (aprendizado educacional, dificuldade)
Prompt:Escreva o código para implementar um site de memorização de vocabulário que mostre ao usuário a palavra e quatro opções de paráfrase; se o usuário selecionar a opção correta, ele passará para a próxima palavra; se o usuário selecionar a opção errada, será solicitada a opção correta antes de passar. Cada grupo tem cinco palavras, um total de três grupos. Após o término de cada grupo, o usuário pode optar por encerrar o estudo ou aprender outro conjunto de palavras. Depois de concluir o estudo, é exibida a taxa de acerto geral desse estudo. Os usuários podem clicar em "Switch to Review Mode" (Mudar para o modo de revisão) na parte superior da interface para responder novamente às perguntas que responderam incorretamente. A ordem das perguntas é aleatória, ou seja, a ordem das perguntas geralmente é diferente a cada vez que você entra no site.
[Demonstração do efeito do código Qwen-Max]:
Classificação geral: [19/25]
Análise de avaliação e conclusão
1. o3-mini-high com Claude-3.7-Sonnet-Reasoning na liderança
Nessa avaliação, o o3-mini-high lançado pela OpenAI obteve uma pontuação composta de 82,08, enquanto o modelo de inferência recém-lançado pela Anthropic, Claude-3.7-Sonnet-Reasoning, obteve uma pontuação composta de 81,63, e os dois lideraram a lista de mãos dadas.
2. o DeepSeek-R1 lidera os modelos domésticos e está entre os melhores do setor
Com base nos resultados da avaliação, o DeepSeek-R1 tem uma lacuna muito pequena em relação aos modelos de ponta do setor, como o3-mini-high, Claude-3.5-Sonnet/3.7-Sonnet-Reasoning, Gemini-2.0-pro, etc., e seu desempenho é especialmente excepcional nos cenários de aplicativos de "desenvolvimento de jogos" e "aplicativo de rede". O desempenho é especialmente excepcional nos cenários de aplicação "Desenvolvimento de jogos" e "Aplicativo de rede", superando ou atingindo o nível do Claude-3.5-Sonnet, Gemini-2.0-pro e outros modelos.
3. cada um tem seus próprios pontos fortes: o R1 é especializado em desenvolvimento de jogos, o o3/Step R é especializado em edição multimídia e vários são especializados em aplicativos da Web.
Os 12 modelos que participaram da avaliação mostram a diferença de capacidade em diferentes cenários de aplicação. Entre eles, o DeepSeek-R1 se destaca no campo do "desenvolvimento de jogos", o Claude-3.5-Sonnet, o Beanbag 1.5pro, o Smart Spectrum GLM-Zero-preview e o Tongyi Qianqian Max são mais hábeis no design de "aplicativos da Web", o o3-mini-high e o Step Star Step R-mini são melhores no design de "aplicativos da Web" e o o3-mini-high e o Step Star Step R-mini são melhores no design de "aplicativos da Web". Claude-3.5-Sonnet, Beanbag 1.5pro, GLM-Zero-preview e Max são mais especializados em design de "aplicativos da Web", enquanto o o3-mini-high e o Step R-mini têm uma vantagem exclusiva no desenvolvimento de ferramentas de "edição multimídia".
4. há diferenças significativas nas escolhas metodológicas e nos estilos de interface entre os diferentes modelos.
Comparando as respostas dos modelos, verifica-se que, diante dos mesmos requisitos do usuário, modelos diferentes escolhem linguagens de programação muito diferentes, chamam bibliotecas/módulos e prestam muita atenção à estética da interface, o que, até certo ponto, reflete as diferenças nos recursos, preferências e conceitos do modelo. Em geral, os modelos estrangeiros têm melhor desempenho no design da interface do usuário.
Exemplos relevantes estão listados abaixo:
Primeira pergunta:
Escreva o código para implementar um site simples de pedidos de comida on-line, suporte para adicionar pratos ao carrinho de compras, por meio de "+" e "-" para alterar o número de pratos, exibição em tempo real do preço total dos pratos no carrinho de compras e a possibilidade de clicar para fazer um pedido. Depois que o pedido for feito, o carrinho de compras será esvaziado e o cliente será perguntado se deseja embalar a comida. Para cada US$ 100 do valor total, deve haver um desconto de US$ 10.
Segunda pergunta:
Escreva o código para implementar um jogo de arremesso de bola de basquete, movimento do mouse para controlar a direção da bola de basquete, pressione o mouse para armazenar energia, a bola de basquete na cesta para marcar pontos, cestas consecutivas têm pontos adicionais, não na cesta três vezes e, em seguida, o fim do jogo. Ao escolher a direção e acumular energia, é preciso marcar a trajetória de voo pretendida com uma linha pontilhada; depois de arremessar a bola de basquete, é preciso mostrar claramente a trajetória de voo. Antes de arremessar, use as teclas de seta para a esquerda e para a direita para mover a posição inicial da bola de basquete. Os arremessos de curta distância marcam 2 pontos e, quando ultrapassam uma determinada distância, marcam 3 pontos. Existe a possibilidade de acertar o aro e quicar na bola.