/
Detectores de Código de IA São Precisos? Entenda Quando Essas Ferramentas Funcionam — E Quando Não
Last Updated:
2026-06-08

Detectores de Código de IA São Precisos? Entenda Quando Essas Ferramentas Funcionam — E Quando Não

Estamos caminhando rapidamente para um mundo em que a IA tem um papel central na forma como o código é escrito, e alguns até afirmam que empresas da Fortune 500 já geram quase todo o seu código com agentes de IA. Isso provavelmente é um exagero — mas é difícil ignorar o fato de que o código gerado por IA está se tornando a norma. Dario Amodei, CEO da Anthropic, chegou a sugerir que, em 6 meses, mais de 90% do código poderia ser gerado por IA.

Os agentes de IA para programação são ótimos — e nós mesmos os usamos o tempo todo. Mas eles não substituem por completo os desenvolvedores humanos.

O que levanta uma pergunta importante: como saber a diferença entre um código escrito por IA e um código escrito por uma pessoa? Isso é especialmente relevante em situações como entrevistas de emprego, revisões de código ou na hora de avaliar o trabalho de freelancers ou estudantes.

Uma das abordagens é usar um detector de código de IA. Aqui na Overchat AI, criamos um nós mesmos — e aprendemos bastante no processo. Neste artigo, então, vamos explicar o que são os detectores de código de IA, como funcionam e quando eles são realmente úteis (e quando não são).

Vamos lá.

Resumo

  • Os detectores de código de IA conseguem oferecer uma estimativa precisa de se um trecho de código foi escrito por um humano ou gerado por IA.
  • A maioria dos detectores de IA mede a probabilidade em uma escala de 0 a 100.
  • Os detectores de código de IA combinam várias técnicas nos bastidores. Eles medem a perplexidade no nível dos tokens (o quão previsível é cada trecho do código), analisam a variação de linha para linha — frequentemente chamada de burstiness (o quanto a estrutura e o estilo oscilam) e usam um classificador baseado em transformer (um modelo de machine learning treinado para identificar padrões), treinado com pares de código escrito por humanos e código gerado por IA.
  • Os detectores de código de IA costumam ser 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 melhores detectores de texto podem atingir índices de precisão acima de 95%, mas os detectores de código de IA tendem a ficar na faixa de 60% a 90%.
  • A precisão aumenta para trechos mais longos e cai para trechos mais curtos. O ideal é colar mais de 500 linhas de código para análise.
  • Os detectores de IA podem gerar falsos positivos, então os resultados não devem ser tomados ao pé da letra.

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. Em essência, um detector de código de IA analisa um trecho de código e estima a probabilidade de ele ter sido gerado por um modelo de linguagem grande, atribuindo uma pontuação de probabilidade de 0 a 100. A maioria dos detectores é construída sobre as mesmas ideias centrais usadas na detecção de texto de IA. Na prática, isso normalmente significa combinar três sinais:

  • Perplexidade
  • Burstiness
  • 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 de uma sequência "surpreende" o modelo, isso indica perplexidade alta.

A perplexidade é um sinal confiável de código gerado por IA. Um estudo de 2024 sobre detecção de código-fonte gerado por IA, de Wang et al., descobriu que o código escrito por pessoas reais tem perplexidade mais alta do que o código gerado por LLM, e que a saída de LLM apresenta uma perplexidade mais consistente linha a linha do que o código humano.

Outra área em que a perplexidade baixa pode entregar o código de IA são os comentários. Não só os comentários escritos por humanos apresentam uma perplexidade muito mais alta do que os da IA, como os agentes de IA adoram espalhar comentários por toda parte, o que já é um indício por si só — e os detectores de código de IA sabem procurar isso.

Por que isso acontece? Quando um LLM gera código novo, ele tende a escolher a continuação de maior probabilidade a cada passo, 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 de "eureca". É essa variação que o detector procura.

Burstiness

A burstiness mede o quanto a perplexidade varia ao longo do documento. É possível que um humano escreva um trecho de código ou um comentário que apresente perplexidade baixa, mas é improvável que ela seja uniforme ao longo de 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 apresenta uma perplexidade mais consistente linha a linha em comparação com o código escrito por humanos.

A camada do classificador

Para aumentar ainda mais a precisão, os detectores modernos de código de IA também usam algo chamado classificador treinado — um tipo específico de rede neural, chamado transformer, que foi treinado com exemplos de código escrito por humanos e código gerado por IA, sob supervisão humana, em um processo no qual ele atribui um rótulo, como gerado por IA ou gerado por humano, a trechos pré-preparados, e um humano de verdade corrige até que ele pare de cometer erros.

Um classificador é muito bom em reconhecer e identificar padrões, e trabalha com probabilidades estatísticas — por exemplo, quantos comentários existem em código escrito por humano a cada N linhas, em comparação com o código gerado por IA.

Técnica bônus: marca d'água (watermarking)

O watermarking se refere ao processo de adicionar algum tipo de identificador — uma marca — ao código de IA durante a geração. Mais ou menos como sobrepor um logotipo a um vídeo do Sora 2.

A ideia remonta à palestra de Scott Aaronson em 2022 e ao artigo de Kirchenbauer et al. de 2023, "A Watermark for Large Language Models" (KGW), que divide o vocabulário em listas aleatórias de tokens "verdes" e "vermelhos" a cada passo e favorece sutilmente os tokens verdes durante a amostragem. Um detector que conhece a função hash pode contar a frequência de tokens verdes e calcular um valor-p — um texto com tokens verdes demais quase certamente vem de um modelo com marca d'água.

Isso é raramente usado, porque duas coisas aconteceram desde então.

  1. O Google DeepMind lançou o SynthID-Text, hoje integrado ao Gemini, que usa uma variação de Tournament Sampling da mesma ideia em escala de produção.
  2. A OpenAI tinha um projeto interno de watermarking em andamento, mas discretamente engavetou seu classificador público de texto de IA em julho de 2023 devido à baixa precisão, e não lançou um detector público de marca d'água para o GPT-4 ou modelos posteriores.

Detectores de Código de IA: zero-shot vs. ajustados (fine-tuned)

Partindo da ideia do classificador, há uma divisão crucial em como os detectores são construídos, e a maioria dos fornecedores não explica de que lado dela está.

  • Detectores ajustados (fine-tuned). Exemplos incluem o Ghostbuster e o GPTSniffer. Eles usam milhares de pares de amostras humanas e de IA durante o treinamento. Atingem alta precisão nos modelos com os quais foram treinados, mas baixa precisão em outros modelos. O Ghostbuster, por exemplo, é quase inútil com a saída do LLaMA, porque foi ajustado especificamente no ChatGPT.

  • Detectores zero-shot. Exemplos incluem o Overchat AI, o GLTR (Giant Language Model Test Room, 2019), o DetectGPT (Stanford, 2023) e o Binoculars (2024) — não exigem dados de treinamento pareados. Cada fornecedor tem uma abordagem proprietária: por exemplo, o Binoculars compara dois LLMs intimamente relacionados e calcula a razão entre perplexidade e perplexidade cruzada, o que, durante os testes, lhe rendeu uma taxa de falsos positivos de 0,01% na saída de um modelo GPT, sem nunca ter visto dados do ChatGPT durante o treinamento.

As duas abordagens são válidas. Os detectores ajustados são altamente precisos na detecção da saída dos LLMs com os quais foram treinados, mas são bem menos precisos na detecção de qualquer outra coisa.

Os Detectores de IA Conseguem Detectar Código de IA

Agora que entendemos em detalhe como os detectores de IA funcionam, quais técnicas usam para identificar código de IA e quais dessas técnicas são eficazes, vamos falar sobre a precisão prática no mundo real.

Resposta curta: Sim, os detectores de IA conseguem identificar código gerado por IA, mas isso sempre será um pouco menos confiável do que com os detectores de texto de IA, e a precisão depende muito do tamanho do código:

Precisão por Tamanho da Entrada

Tamanho total da amostra: n = 3.600 trechos de código

Tamanho do Código (Linhas) Tamanho da Amostra (n) Precisão da Detecção
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 dos Detectores 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 — isso é uma limitação do próprio meio, e vale a pena entender.

As linguagens de programação são altamente estruturadas, e isso limita o quanto de variação os detectores conseguem de fato observar. Por exemplo, em Python, a indentação não é opcional — uma indentação errada literalmente leva a um erro de execução. Isso significa que existem apenas algumas formas válidas de formatar qualquer trecho de lógica. Como resultado, tanto os humanos quanto os modelos de IA tendem a produzir código sintaticamente muito parecido e bastante previsível. Isso reduz o "espaço" de variação do qual os detectores dependem, tornando mais difícil separar o código escrito por humanos do código gerado por IA.

Há também a questão das práticas padronizadas. Em muitos casos, desenvolvedores experientes chegam a soluções muito parecidas. Por exemplo, uma implementação típica de busca binária vai ficar quase idêntica, seja ela escrita por um humano ou gerada por um modelo como GPT ou Claude.

Incluímos essa informação para ajudar você a entender que os detectores de código de IA vão produzir falsos positivos em alguns casos, e que você deve ser mais cético em relação aos resultados deles do que aos de um detector de texto.

Os detectores de IA conseguem 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 vão gerar uma leitura equivocada.

Funções utilitárias curtas (5–30 linhas).

Quase impossíveis de detectar. Existem talvez três formas idiomáticas de escrever, por exemplo, uma função debounce, e tanto os LLMs quanto os desenvolvedores vão escrevê-la da mesma maneira.

Código boilerplate e de scaffolding

Em muitos casos, esse tipo de código é praticamente indistinguível e não faz muito sentido tentar detectá-lo. Controllers CRUD, classes DTO, arquivos de configuração e scripts de migração tendem a seguir os mesmos padrões, porque os próprios frameworks impõem essa estrutura. Seja um humano ou uma ferramenta como o Copilot que os escreva, o código resultante costuma parecer muito semelhante.

A conclusão prática: em vez de rodar um único detector em um PR misto e tirar a média das pontuações, o melhor é primeiro segmentar o código por tipo, fazer verificações separadas e só então interpretar os números.

É possível burlar os detectores de código de IA?

Sim, e é relativamente fácil de fazer. Isso nos remete a um ponto-chave: as diferenças estatísticas entre o código gerado por 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 código gerado por IA muitas vezes consegue fazê-lo com mudanças simples. Renomear variáveis, reordenar linhas independentes, rodar um formatador ou adicionar alguns comentários com aparência natural já pode alterar os sinais estatísticos dos quais os detectores dependem. Outra abordagem comum é pedir ao modelo que imite um estilo específico, como o de código escrito por um desenvolvedor júnior trabalhando depressa.

Na prática, a maioria dos casos do mundo real se enquadra em algumas categorias amplas, cada uma das quais quebra os detectores de uma forma diferente:

  • Mudanças de substituição incluem renomear ou trocar construções (por exemplo, substituir o estilo de um loop ou mudar a estrutura condicional sem afetar a lógica). São edições simples e de pouco esforço que podem perturbar os sinais estatísticos no nível dos tokens.
  • Ataques de formatação incluem rodar ferramentas como Prettier, Black ou gofmt, ou simplesmente reformatar comentários e espaçamento. Essas mudanças não afetam a lógica, mas podem alterar significativamente os padrões dos quais os detectores dependem.
  • 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 contribuição humana e de IA, difícil de classificar de forma confiável.
  • Edições em cadeia envolvem várias etapas de transformação — por exemplo, gerar código com um modelo, refinar com outro e depois rodar um formatador. Cada etapa altera ligeiramente a estrutura e o estilo, removendo aos poucos qualquer assinatura consistente.

Como você provavelmente percebe, algumas dessas técnicas também acontecem 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 a 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 técnicos, desenvolvedores sêniores e estudantes.

Educadores

Professores e monitores usam os detectores de IA para ter uma noção de se uma entrega pode ter contado com a ajuda de modelos de linguagem grandes, especialmente em cursos com políticas de proibição ou de uso limitado de IA. Na prática, essas ferramentas podem economizar muito tempo ao sinalizar quais entregas valem uma análise mais aprofundada.

Recrutadores e gestores de contratação

De forma anedótica, cerca de 25% dos desenvolvedores usam um assistente de programação com IA durante entrevistas ao vivo, e esse número é provavelmente muito maior nos testes para fazer em casa. Por isso, os recrutadores precisam de uma maneira de verificar rapidamente se algo assim aconteceu, especialmente em cenários em que o uso de um assistente de IA não era permitido durante o teste.

Líderes técnicos

Dentro das equipes de engenharia, a programação assistida por IA já é comum (84% dos desenvolvedores usam IA no trabalho, segundo a StackOverflow), então o foco passa a ser menos se a IA foi usada e mais se o código resultante está correto, é fácil de manter e é bem compreendido. Nesse contexto, os detectores de IA podem servir como um sinal leve durante a revisão de código. Se um pull request for sinalizado, isso pode simplesmente levar os revisores a dedicar um pouco mais de tempo a aspectos como casos extremos, tratamento de erros ou consistência com os padrões existentes.

Estudantes

Falamos dos educadores acima, mas os estudantes também podem usar ferramentas de IA durante os trabalhos de programação para verificar se a saída parece gerada por IA ou escrita por humano, e se o professor conseguiria perceber a diferença. Embora não recomendemos esse comportamento, ele existe, e não seria justo deixar de reconhecê-lo.

Qual É o Melhor Detector de Código de IA

Resposta rápida: Overchat AI

É importante ser claro sobre as diferenças entre bons e maus detectores de código de IA. Consideramos os cinco critérios a seguir:

  • O detector deve cobrir todas as linguagens de programação populares, seja por pré-treinamento em cada uma delas, seja usando uma técnica que o torne independente de linguagem.
  • O detector deve funcionar de forma confiável em trechos relativamente curtos, de cerca de 500 tokens.
  • Ele deve ser fácil de usar e entregar 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, e não uma resposta de sim/não. Como explicamos acima, não é possível determinar de forma definitiva se o código tem origem em IA ou humana.

O Detector de Código de IA da Overchat AI atende aos casos de uso mais comuns do mundo real:

  • Cobre Python, JavaScript, TypeScript, Java, C++, C#, Go e mais.
  • Funciona online, sem cadastro, e é gratuito para testar, então você pode avaliar a precisão no seu próprio código.
  • Você pode colar o código e obter um resultado na hora, o que faz diferença se você estiver fazendo verificações pontuais durante uma revisão de código, por exemplo.

Para que funcione na prática para você, cole o trecho de código em um editor online e execute a varredura. Experimente aqui.

Perguntas Frequentes

O Turnitin consegue detectar código gerado por IA?

A detecção de IA do Turnitin foi feita para prosa, então, embora ele possa sinalizar comentários e docstrings se eles parecerem saída de LLM, não tem um mecanismo para verificar a lógica do código em si. Para código especificamente, o Overchat AI, que foi construído justamente com consciência de sintaxe e 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 autocompletions do Copilot costumam ser curtas, no meio de uma função, e ficam dentro de código escrito por humanos — o que significa que o perfil estatístico do arquivo final é, em sua maior parte, humano.

Os professores conseguem ver se usei o ChatGPT para programar?

Depende totalmente da ferramenta e do trabalho. Funções utilitárias curtas e algoritmos padrão são, na prática, indetectáveis. Código mais longo, específico de uma arquitetura e com lógica de negócio distinta é mais detectável.

Os detectores de código de IA são precisos o suficiente para servir como prova?

Não. Em 2026, nenhum detector de código de IA produz resultados confiáveis o bastante para servir como prova isolada em um caso de má conduta acadêmica ou em uma decisão de contratação. O resultado do detector é um motivo para investigar mais a fundo, e não a prova em si.

Qual é a diferença entre detectores de conteúdo de IA e detectores de código de IA?

Os detectores de conteúdo de IA, como o detector de texto da Overchat AI, o GPTZero, o Originality.AI ou o Turnitin, são calibrados para linguagem natural, enquanto os detectores de código de IA, como o detector de código da Overchat AI ou o GPTSniffer, são calibrados para código-fonte, que tem propriedades estatísticas diferentes. Na prática, os detectores de código de IA são mais precisos ao trabalhar especificamente com código.

Os detectores de IA conseguem 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 notou que a saída para o mesmo prompt pode ser estranhamente parecida, até no caso de texto. Com código, em que boa parte da saída já é idiomática de qualquer forma, isso fica ainda mais evidente.

Existe alguma forma de tornar o código de IA indetectável?

Na prática, sim. Rodar a saída por um formatador, renomear identificadores, reestruturar o código, pedir ao modelo que escreva em um estilo específico ou editá-lo à mão — tudo isso empurra o perfil estatístico na direção do humano.

Principais Conclusões

  • Os detectores de código de IA funcionam medindo a perplexidade (ou seja, a previsibilidade por token) e a burstiness (ou seja, a variação ao longo do trecho), e depois aplicando um classificador treinado para identificar padrões que as estatísticas brutas deixam passar.
  • Eles dão uma pontuação de probabilidade de 0 a 100 sobre se o código foi escrito por um humano ou gerado por IA.
  • Os detectores de código de IA podem ter mais de 90% de precisão, mas isso depende muito do tipo e do tamanho da entrada.
  • Para os melhores resultados, recomendamos colar pelo menos 500 linhas de código.
  • Falsos positivos acontecem mesmo. Um código humano limpo e idiomático pode se parecer com código de IA para um detector treinado em perplexidade, então é melhor não tratar a pontuação de detecção como definitiva.
  • Use os detectores para triagem, não para veredictos. O fluxo de trabalho correto é rodar uma varredura, ler com atenção o código sinalizado, compará-lo com a base de referência do autor e nunca agir com base em uma única pontuação.
  • Para uma detecção de código de IA prática, que lida com várias linguagens, identifica os modelos de origem e se encaixa em um fluxo de revisão de código, o Detector de Código de IA da Overchat AI é a ferramenta a escolher.