FMI_SU_Yotkova_Kastreva at SemEval-2026 Task 13: Lightweight Detection of LLM-Generated Code via Stylometric Signals
Este artigo apresenta uma abordagem eficiente do ponto de vista computacional e baseada em CPU para detectar código gerado por LLMs na Subtarefa A da Tarefa 13 do SemEval-2026, que combina recursos baseados em razão robustos a comprimentos, ferramentas de análise sintática e um classificador código-versus-texto com uma árvore de decisão rasa e regras heurísticas para alcançar inferência quase instantânea sem depender de grandes modelos pré-treinados.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine uma biblioteca digital massiva onde os livros são escritos por dois tipos de autores: Bibliotecários Humanos e Escribas Robôs. Os Escribas Robôs são incrivelmente rápidos e podem escrever em muitas línguas diferentes, mas têm o hábito de deixar para trás "indícios" específicos que revelam sua natureza mecânica.
Este artigo descreve como uma equipe de pesquisadores construiu um detetive leve e super-rápido para identificar esses Escribas Robôs na biblioteca, especificamente para uma competição chamada SemEval-2026.
Veja como funciona o detetive deles, decomposto em conceitos simples:
1. O Problema: Por que é difícil identificar os robôs?
Geralmente, para encontrar uma falsificação, você procura pistas grandes e complexas. Mas, no mundo do código de computador, os robôs são astutos. Eles escrevem código que parece perfeito na superfície.
- A Armadilha do "Cérebro Gigante": Os pesquisadores tentaram usar modelos de IA massivos e superinteligentes (como uma enciclopédia gigante e onisciente) para identificar as falsificações. Funcionou muito bem nos livros de treinamento (escritos principalmente em Python), mas quando tentaram ler livros em outras línguas (como Go, C# ou JavaScript), o "Cérebro Gigante" ficou confuso. Era como um detetive que só sabe ler inglês tentando resolver um mistério em um país estrangeiro; eles perderam as pistas porque estavam muito focados na língua específica.
2. A Solução: O "Detetive Leve"
Em vez de usar um cérebro gigante e caro, a equipe construiu um detetive simples e rápido que procura pequenos hábitos cotidianos que os robôs não conseguem deixar de repetir. Eles chamam esses hábitos de "sinais estilométricos".
Pense nisso como identificar um robô pela forma como segura uma caneta, em vez de analisar toda a estrutura da frase.
As Principais Pistas (Os "Indícios")
O detetive procura três coisas principais:
- A Proporção de Comentários "Tagarelas": Os robôs adoram explicar-se. Frequentemente, escrevem muitos comentários (notas para o leitor) em comparação com o código real. O detetive calcula a proporção de "notas tagarelas" para "trabalho real". Se um trecho é 50% notas e 50% código, provavelmente é um robô.
- A Verificação de "Verbos": Nas notas que os robôs escrevem, eles usam palavras de ação específicas (verbos) de maneira muito repetitiva e explicativa. O detetive conta quantas palavras de ação aparecem nas notas versus no código.
- A Mistura "Texto vs. Código": Às vezes, os robôs acidentalmente colam parágrafos inteiros de conversas normais (como uma mensagem de chat) diretamente no código. A equipe treinou um pequeno auxiliar para escanear linha por linha e perguntar: "Esta é uma linha de código ou é apenas uma frase?". Se um trecho de código tiver muitas "apenas frases", ele é sinalizado.
3. Os Truques Especiais (Heurísticas)
O detetive também usa algumas "regras práticas" baseadas no que notaram nos dados:
- O Truque do "Rótulo de Língua": Os robôs frequentemente se confundem com a formatação. Eles frequentemente escrevem o nome da língua (como "python" ou "java") como uma linha isolada logo antes do código começar. Humanos raramente fazem isso. Se o detetive vir uma linha que diz apenas "python" sozinha, é um grande sinal de alerta.
- O Truque do "Erro Final": Às vezes, os robôs param de escrever abruptamente. O detetive verifica o final do trecho de código. Se o código for cortado exatamente no final com um erro de sintaxe (como uma frase terminando no meio de uma palavra), é provável que seja um robô que ficou sem tempo ou tokens.
4. Como Eles Juntam Tudo
O sistema não depende de um único cérebro gigante. Em vez disso, usa um processo de duas etapas:
- O Scanner: Verifica rapidamente o "Rótulo de Língua" e a mistura "Texto vs. Código". Se vir um indício claro de robô, diz imediatamente: "Isso é um robô!"
- A Calculadora: Se o scanner não tiver certeza, passa o código para uma calculadora matemática simples (uma árvore de decisão). Esta calculadora pondera a "Proporção Tagarela" e a "Proporção de Verbos" para fazer um palpite final.
5. O Resultado
O sistema da equipe é incrivelmente eficiente.
- Sem Esforço Pesado: Roda em um processador de computador padrão (CPU) e não precisa de um supercomputador.
- Velocidade Instantânea: Fornece respostas quase instantaneamente.
- Desempenho: Na competição, este detetive simples e "leve" terminou no topo 15% de todas as entradas, superando muitos sistemas que usavam tecnologias muito mais complexas e caras.
Em resumo: O artigo mostra que você não precisa de uma IA supercomplexa para identificar código gerado por IA. Às vezes, um detetive simples que apenas conta quantas notas o escritor fez e verifica se ele acidentalmente colou uma mensagem de chat no código é suficiente para pegar o robô.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.