TL; DR
- Os detectores de código de IA podem fornecer uma estimativa precisa de se um trecho de código foi escrito por um humano ou gerado pela IA.
- A maioria dos detectores de IA mede a probabilidade em uma escala de 0 a 100.
- Os detectores de código de IA contam com uma mistura de técnicas subjacentes. Eles medem a perplexidade em nível de token (quão previsível é cada parte do código), analisam a variação linha a linha — geralmente chamada de intermitência (o quanto a estrutura e o estilo flutuam) e usam um classificador baseado em transformador (um modelo de aprendizado de máquina treinado para identificar padrões) treinado em pares de código escrito por humanos e gerado por IA.
- Os detectores de código de IA geralmente são menos precisos do que os detectores de texto de IA. A linguagem natural tem um vocabulário muito mais amplo e variado, o que cria padrões mais ricos para os modelos aprenderem.
- Os principais detectores de texto podem atingir taxas de precisão acima de 95%, mas os detectores de código de IA tendem a ficar em algum lugar na faixa de 60% a 90%.
- A precisão aumenta em trechos mais longos e se deteriora em trechos mais curtos. É melhor colar mais de 500 linhas de código para análise.
- Os detectores de IA podem produzir falsos positivos, portanto, seus resultados não devem ser considerados pelo valor nominal.
Como funcionam os detectores de código de IA
Para entender se os detectores de IA são precisos, primeiro precisamos entender como eles funcionam. Basicamente, um detector de código de IA analisa um trecho de código e estima a probabilidade de ele ter sido gerado por um grande modelo de linguagem, fornecendo uma pontuação de probabilidade de 0 a 100. A maioria dos detectores é construída com base nas mesmas ideias básicas usadas na detecção de texto por IA. Na prática, isso geralmente significa combinar três sinais:
- Perplexidade
- Pureza
- Um classificador supervisionado.
Perplexidade
A perplexidade mede o quão previsível o código é com base nos padrões que o modelo aprendeu — se o próximo token em uma sequência “surpreender” o modelo, isso é alta perplexidade.
A perplexidade é um sinal confiável do código de IA. UM Estudo de 2024 sobre a detecção de código-fonte gerado por IA por Wang et al. descobriu que o código escrito por pessoas reais tem maior perplexidade do que o código gerado pelo LLM e que a saída do LLM tem uma perplexidade linha por linha mais consistente do que o código humano.
Outra área em que a baixa perplexidade pode revelar o código da IA são os comentários. Os comentários escritos por humanos não apenas exibem uma perplexidade muito maior do que a IA, mas os agentes de IA adoram enviar comentários de spam em todos os lugares, o que é uma revelação por si só — e os detectores de código de IA sabem procurá-lo.
Por que isso acontece? Quando um LLM gera um novo código, ele tende a escolher a continuação de maior probabilidade em cada etapa, o que deixa uma impressão digital estatística. Os programadores humanos, por outro lado, alternam entre nomes de variáveis, reescrevem comentários, abandonam um padrão na metade de uma função e têm momentos “aha”. Essa variação é o que o detector está procurando.
Explosão
Burstiness mede o quanto a perplexidade varia em todo o documento. É possível que um humano escreva um trecho de código ou um comentário que possa apresentar pouca perplexidade, mas é improvável que seja uniforme em um documento grande — e é por isso que a precisão da detecção de código de IA é muito maior em trechos mais longos.
O estudo de Wang et al. também confirma isso — o código produzido por LLMs exibe uma perplexidade linha por linha mais consistente em comparação com o código de autoria humana.
A camada classificadora
Para aumentar ainda mais a precisão, os detectores de código de IA modernos também usam algo chamado de classificador treinado — um tipo específico de rede neural, chamada de transformador, que foi treinada com exemplos de código escrito e gerado por IA, sob supervisão humana, em um processo em que atribui um rótulo, como gerado por IA ou gerado por humanos, a trechos pré-preparados, e um humano real o corrige até parar de cometer erros.
Um classificador é muito bom em reconhecer e identificar padrões e funciona com probabilidades estatísticas — por exemplo, quantos comentários existem em código escrito por humanos por N linhas, versus código gerado por IA.
Técnica de bônus: marca d'água
A produção de água se refere ao processo de adicionar algum tipo de identificador — uma marca — ao código de IA durante a geração. É como sobrepor um logotipo sobre o vídeo de Sora 2.
A ideia remonta à palestra de 2022 de Scott Aaronson e Kirchenbauer et al. ' 2023" é um papel?”Uma marca d'água para grandes modelos de linguagem“(KGW), que divide o vocabulário em listas aleatórias de tokens “verdes” e “vermelhos” em cada etapa e promove suavemente os tokens verdes durante a amostragem. Um detector que conhece a função hash pode contar a frequência do token verde e calcular um valor p — o texto com muitos tokens verdes quase certamente é de um modelo com marca d'água.
Isso raramente é usado, porque duas coisas aconteceram desde então.
- O Google DeepMind lançou o texto sintético, agora integrado ao Gemini, que usa uma variante de amostragem de torneio da mesma ideia em escala de produção.
- A OpenAI tinha um projeto de marca d'água em execução internamente, mas silenciosamente arquivou seu classificador de texto de IA público em julho de 2023 devido à baixa precisão e não lançou um detector público de marca d'água para GPT-4 ou modelos posteriores.
Detectores de código de IA de tiro zero versus detectores de código de IA ajustados
Com base na ideia do classificador, há uma divisão crucial na forma como os detectores são construídos, e a maioria dos fornecedores não explica de que lado eles estão.
- Detectores bem ajustados. Os exemplos incluem Ghostbuster e GptSniffer. Eles usam milhares de amostras humanas e de IA emparelhadas durante o treinamento. Eles atingiram alta precisão nos modelos em que foram treinados, mas baixa precisão em outros modelos. O Ghostbuster, por exemplo, é quase inútil na saída do LLama porque foi ajustado especificamente no ChatGPT.
- Detectores de disparo zero. Os exemplos incluem IA do Overchat, GLTR (Giant Language Model Test Room, 2019), DetectGPT (Stanford, 2023) e Binoculars (2024) — não exigem dados de treinamento emparelhados. Cada fornecedor tem uma abordagem exclusiva: por exemplo, um binóculo compara dois LLMs estreitamente relacionados e calcula a proporção entre perplexidade e perplexidade cruzada que, durante o teste, resultou em uma taxa de falsos positivos de 0,01% na saída de um modelo GPT, sem nunca ver os dados do ChatGPT durante o treinamento.
Ambas as abordagens são válidas. Os detectores ajustados são altamente precisos na detecção da saída LLM dos modelos nos quais são treinados, mas são muito menos precisos na detecção de qualquer outra coisa.
Os detectores de IA podem detectar o código de IA
Agora que entendemos como os detectores de IA funcionam em detalhes, quais técnicas eles usam para identificar o código de IA e quais dessas técnicas são eficazes, vamos falar sobre precisão prática no mundo real.
Resposta curta: Sim, os detectores de IA podem identificar o código gerado pela IA, mas sempre serão um pouco menos confiáveis do que os detectores de texto da IA, e a precisão depende muito do tamanho do código:
Precisão por comprimento de entrada
Tamanho total da amostra: n = 3.600 trechos de código
| Code Length (Lines) |
Sample Size (n) |
Detection Accuracy |
| 5–10 |
520 |
72% |
| 10–25 |
680 |
80% |
| 25–50 |
740 |
87% |
| 50–100 |
620 |
91% |
| 100–200 |
460 |
94% |
| 200–500 |
360 |
96% |
| 500+ |
220 |
98% |
Limitações do detector de IA
Os resultados acima são impressionantes, mas ainda assim, os detectores de código de IA são menos precisos do que os detectores de texto de IA — essa é uma limitação do meio em si e vale a pena entender.
As linguagens de programação são altamente estruturadas, e isso limita a quantidade de variação que os detectores podem realmente observar. Por exemplo, em Python, a indentação não é opcional — a indentação errada literalmente levará a um erro de tempo de execução. Isso significa que existem apenas algumas maneiras válidas de formatar qualquer parte da lógica. Como resultado, tanto os humanos quanto os modelos de IA tendem a produzir códigos sintaticamente muito semelhantes e bastante previsíveis. Isso reduz o “espaço” de variação do qual os detectores dependem, dificultando a separação do código escrito por humanos do código gerado pela IA.
Há também a questão das práticas padrão. Em muitos casos, desenvolvedores experientes convergem em soluções muito semelhantes. Por exemplo, uma implementação típica de busca binária parecerá quase idêntica, seja escrita por um humano ou gerada por um modelo como GPT ou Claude.
Estamos incluindo essas informações para ajudar você a entender que os detectores de código de IA produzirão falsos positivos em alguns casos, e você deve ser mais cético em relação à saída deles do que a de um detector de texto.
Os detectores de IA podem detectar qualquer tipo de código?
Não. Existem 4 tipos de código que são quase impossíveis de detectar e quase certamente fornecerão uma leitura falsa.
Funções utilitárias curtas (5 a 30 linhas).
Quase impossível de detectar. Talvez haja três maneiras idiomáticas de escrever, por exemplo, um debounce, function, e tanto os LLMs quanto os desenvolvedores o escreverão da mesma maneira.
Caldeiraria e andaimes
Em muitos casos, esse tipo de código é efetivamente indistinguível e não é particularmente significativo tentar detectá-lo. Controladores CRUD, classes DTO, arquivos de configuração e scripts de migração tendem a seguir os mesmos padrões porque as próprias estruturas impõem essa estrutura. Independentemente de serem escritos por um humano ou por uma ferramenta como o Copilot, o código resultante geralmente parece muito semelhante.
A lição prática: em vez de executar um único detector em um PR misto e calcular a média das pontuações, é melhor primeiro segmentar o código por seu tipo, executar verificações separadas e depois interpretar os números.
É possível ignorar os detectores de código de IA?
Sim, e é relativamente fácil de fazer. Isso remonta a um ponto-chave: as diferenças estatísticas entre o código gerado pela IA e o código escrito por humanos são menores do que na linguagem natural, porque o código tem menos graus de liberdade.
Por causa disso, qualquer pessoa que tente disfarçar o código gerado pela IA geralmente pode fazer isso com mudanças simples. Renomear variáveis, reordenar linhas independentes, executar um formatador ou adicionar alguns comentários com som natural já pode alterar os sinais estatísticos nos quais os detectores confiam. Outra abordagem comum é fazer com que o modelo imite um estilo específico, como código escrito por um desenvolvedor júnior trabalhando rapidamente.
Na prática, a maioria dos casos do mundo real se enquadra em algumas categorias amplas, cada uma das quais quebra os detectores de maneiras diferentes:
- Mudanças de substituição incluem renomear ou trocar construções (por exemplo, substituir um estilo de loop ou alterar a estrutura condicional sem afetar a lógica). Essas são edições simples e de baixo esforço que podem interromper os sinais estatísticos em nível de token.
- Ataques de formatação inclua a execução de ferramentas como Prettier, Black ou gofmt, ou simplesmente a reformatação de comentários e espaçamento. Essas mudanças não afetam a lógica, mas podem alterar significativamente os padrões nos quais os detectores confiam.
- Autoria mista é provavelmente o caso mais comum na prática. Um desenvolvedor pode gerar código com um LLM e depois editá-lo, o que resulta em uma mistura de informações humanas e de IA, que é difícil de classificar de forma confiável.
- Edições em cadeia envolvem várias etapas de transformação — por exemplo, gere código com um modelo, refine com outro e, em seguida, execute um formatador. Cada etapa muda ligeiramente a estrutura e o estilo, removendo gradualmente qualquer assinatura consistente.
Como você provavelmente pode ver, algumas dessas técnicas também ocorrem como efeito colateral quando um desenvolvedor começa a editar a saída do LLM. Mais uma vez, não trate a detecção de código de IA como uma palavra final.
Quem usa detectores de código de IA e por quê
Os usuários mais comuns dos detectores de código de IA são educadores, recrutadores, líderes de tecnologia, desenvolvedores seniores e estudantes.
Educadores
Professores e assistentes de ensino usam detectores de IA para ter uma ideia se uma submissão pode ter envolvido a assistência de grandes modelos linguísticos, especialmente em cursos com políticas sem IA ou de IA limitada. Na prática, essas ferramentas podem economizar muito tempo ao indicar quais envios merecem uma análise mais aprofundada.
Recrutadores e gerentes de contratação
Curiosamente, cerca de 25% dos desenvolvedores usa um assistente de codificação de IA durante entrevistas ao vivo, e esse número provavelmente é muito maior para tarefas para levar para casa. Portanto, os recrutadores precisam de uma maneira de verificar rapidamente se algo assim ocorreu, especialmente em cenários em que o uso de um assistente de IA não foi permitido durante o teste.
Líderes de tecnologia
Nas equipes de engenharia, a codificação assistida por IA agora é comum (84% dos desenvolvedores) usa A IA está funcionando, de acordo com StackOverflow), portanto, o foco está menos em saber se a IA foi usada e mais em se o código resultante está correto, sustentável e bem compreendido. Nesse contexto, os detectores de IA podem servir como um sinal leve durante a revisão do código. Se uma pull request for sinalizada, ela pode simplesmente fazer com que os revisores passem um pouco mais de tempo em áreas como casos extremos, tratamento de erros ou consistência com padrões existentes.
Estudantes
Mencionamos os educadores acima, mas os alunos também podem usar ferramentas de IA durante as tarefas de codificação para verificar se a saída é gerada por IA ou escrita por humanos e se o professor será capaz de perceber a diferença. Embora não recomendemos esse comportamento, ele existe e não seria justo não reconhecê-lo.
Qual é o melhor detector de código AI
Resposta rápida: IA do Overchat
É importante ser explícito sobre as diferenças entre detectores de código de IA bons e ruins. Consideramos os cinco critérios a seguir:
- O detector deve abranger todas as linguagens de programação populares, seja por meio de pré-treinamento em cada uma delas ou usando uma técnica que permita que ele seja independente do idioma.
- O detector deve funcionar de forma confiável em trechos relativamente curtos de cerca de 500 tokens.
- Deve ser fácil de usar e fornecer resultados rápidos — caso contrário, não será prático para o uso diário. O baixo atrito é muito importante.
- Ele deve fornecer uma probabilidade em vez de uma resposta sim/não. Conforme explicamos acima, não é possível determinar definitivamente se o código é de IA ou de origem humana.
O Detector de Código AI da Overchat AI se encaixa nos casos de uso mais comuns do mundo real:
- Abrange Python, JavaScript, TypeScript, Java, C++, C#, Go e muito mais.
- Funciona on-line, sem necessidade de inscrição, e o teste é gratuito, para que você possa avaliar a precisão do seu próprio código.
- Você pode colar o código e obter um resultado imediatamente, o que importa se você estiver executando verificações pontuais durante uma revisão de código, por exemplo.
Para que funcione para você na prática, cole o trecho de código em um editor on-line e execute a verificação. Experimente aqui.
Perguntas frequentes
O Turnitin pode detectar o código gerado pela IA?
A detecção de IA do Turnitin foi projetada para prosa, portanto, embora possa sinalizar comentários e docstrings se parecerem saídas do LLM, ele não tem um mecanismo para verificar a lógica real do código. Especificamente para código, IA do Overchat, que foi construído especificamente com conhecimento da sintaxe e do idioma, será mais preciso.
O código do GitHub Copilot é detectado?
Às vezes, e com menos frequência do que a saída pura do ChatGPT. As conclusões do copiloto geralmente são curtas, intermédias e estão dentro de um código escrito por humanos, o que significa que o perfil estatístico do arquivo finalizado é principalmente humano.
Os professores podem ver se eu usei o ChatGPT para codificar?
Depende inteiramente da ferramenta e da tarefa. Funções utilitárias curtas e algoritmos padrão são efetivamente indetectáveis. Um código mais longo e específico da arquitetura com uma lógica de negócios distinta é mais detectável.
Os detectores de código de IA são precisos o suficiente para serem usados como evidência?
Não. Em 2026, nenhum detector de código de IA produzia resultados confiáveis o suficiente para servir como evidência independente em um caso de má conduta acadêmica ou em uma decisão de contratação. A saída do detector é um motivo para investigar mais a fundo, e não a prova.
Qual é a diferença entre detectores de conteúdo de IA e detectores de código de IA?
Detectores de conteúdo de IA, como Detector de texto Overchat AI, GPTzero, Originality.AI ou Turnitin são ajustados em linguagem natural, enquanto detectores de código de IA, como Detector de código Overchat AI, ou GPTSniffer, estão sintonizados no código-fonte, que tem propriedades estatísticas diferentes. Na prática, os detectores de código de IA são mais precisos quando se trabalha com código, especificamente.
Os detectores de IA podem dizer qual modelo escreveu o código?
Até certo ponto, mas isso não é confiável. Se você já usou vários modelos de IA, provavelmente percebeu que a saída para o mesmo prompt pode ser assustadoramente semelhante, até mesmo para texto. Com o código, em que grande parte da saída é idiomática, isso se torna ainda mais aparente.
Existe uma maneira de tornar o código de IA indetectável?
Praticamente, sim. Executar a saída por meio de um formatador, renomear identificadores, reestruturar o código, solicitar que o modelo escreva em um estilo específico ou editá-lo manualmente, tudo isso leva o perfil estatístico a ser humano.
Principais conclusões
- Os detectores de código de IA funcionam medindo a perplexidade (ou seja, previsibilidade por token) e a intermitência (ou seja, a variação no trecho) e, em seguida, aplicando um classificador treinado para identificar padrões que as estatísticas brutas ignoram.
- Eles dão uma pontuação de probabilidade de 0 a 100 para determinar se o código foi escrito por um humano ou gerado pela IA.
- Os detectores de código AI podem ter mais de 90% de precisão, mas isso depende muito do tipo e do comprimento da entrada.
- Para obter os melhores resultados, recomendamos colar pelo menos 500 linhas de código.
- Falsos positivos ocorrem. Um código humano limpo e idiomático pode se assemelhar ao código de IA a um detector treinado para perplexidade, portanto, é melhor não tratar a pontuação de detecção como definitiva.
- Use detectores para triagem, não para veredictos. O fluxo de trabalho correto é executar uma varredura, ler cuidadosamente o código sinalizado, compará-lo com a linha de base do autor e nunca agir com base em uma única pontuação.
- Para uma detecção prática de código de IA que lida com vários idiomas, identifica modelos de origem e se encaixa em um fluxo de trabalho de revisão de código, Detector de código de IA da Overchat AI é a ferramenta a ser alcançada.