mcdok at SemEval-2026 Task 13: Finetuning LLMs for Detection of Machine-Generated Code
O artigo apresenta o sistema mcdok da SemEval-2026, que adapta a abordagem mdok para detectar código gerado por máquinas, atribuir sua origem e identificar modelos específicos ou modificações adversárias, demonstrando desempenho competitivo, embora com margens significativas para melhoria em relação aos melhores sistemas.
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 que você é um detetive particular em um mundo onde robôs (Inteligência Artificial) aprenderam a escrever códigos de computador tão bem que parecem ter sido feitos por humanos. O desafio é: como saber quem escreveu o código? Foi um programador humano, um robô, uma mistura dos dois, ou um robô disfarçado?
Este é o problema que o time mcdok (da Universidade de Tecnologia de Brno e do Instituto Kempelen) tentou resolver no "SemEval-2026", uma grande competição internacional de inteligência artificial.
Aqui está a explicação do que eles fizeram, usando analogias do dia a dia:
1. O Cenário: A Grande Competição de Detetives
O desafio tinha três missões diferentes (chamadas de "subtarefas"), como se fosse um torneio de detetives com níveis de dificuldade:
- Missão A (O Simples): "Isso foi feito por um humano ou por um robô?" (Sim/Não).
- Missão B (O Especialista): "Se foi um robô, qual foi a 'família' do robô?" (Existem 10 marcas diferentes de robôs, como se fossem marcas de carros: Ford, Toyota, etc., além da opção "Humano").
- Missão C (O Complexo): "O que exatamente aconteceu aqui?" As opções eram:
- Humano puro.
- Robô puro.
- Híbrido: O humano começou, o robô terminou (ou vice-versa).
- Adversário: O robô tentou se disfarçar tão bem que parece humano.
2. A Solução do mcdok: O "Cálice Mágico" de Detecção
O time já tinha uma ferramenta famosa chamada mdok, que era ótima para detectar textos escritos por robôs (como e-mails ou artigos). Mas código de computador é diferente de texto comum; é mais técnico e estruturado.
Então, eles criaram uma nova versão chamada mcdok (o "m" agora significa Machine Code).
A Estratégia:
Em vez de tentar inventar uma nova ferramenta do zero, eles pegaram seus melhores "cálices mágicos" (modelos de IA) e os treinaram especificamente para entender a linguagem dos computadores.
- Para a Missão A (Humano vs. Robô): Eles usaram um modelo chamado Gemma-3. Imagine que eles pegaram um polímata (alguém que sabe de tudo) e o treinaram para olhar apenas para a estrutura do código. Curiosamente, um modelo "geral" funcionou melhor do que os modelos feitos especificamente para código!
- Para a Missão B (Qual Robô?): Eles usaram o CodeGemma. Pense nele como um especialista em marcas de carros. Ele foi treinado para olhar os "detalhes da pintura" do código e dizer: "Ah, isso tem o estilo da família Qwen" ou "Isso é da família OpenAI".
- Para a Missão C (O Mistério Completo): Eles usaram o Qwen2.5-Coder. Este foi o detetive mais experiente, capaz de distinguir entre um código feito por um humano, um robô, uma colaboração ou um disfarce.
3. Como eles treinaram? (O Processo de "Escola")
Eles não deixaram os robôs apenas "olharem" para os códigos. Eles fizeram um processo de finetuning (ajuste fino):
- Escolha do Aluno: Eles testaram vários modelos de IA, desde os pequenos (como um estudante do ensino médio) até os gigantes (como um professor doutor).
- A Lição: Eles mostraram milhares de exemplos de códigos para os modelos.
- Exemplo: "Veja este código em Python. É humano." "Veja este em Java. É robô."
- O Truque: Eles usaram uma técnica chamada QLoRA. Imagine que, em vez de reescrever todo o cérebro do robô para ensinar algo novo, eles apenas ajustaram "pequenos botões" na mente dele. Isso economizou muita energia e tempo, permitindo que usassem computadores mais comuns para treinar modelos gigantes.
- A Prova: Eles testaram os robôs em códigos que nunca viram antes (dados "fora da distribuição") para ver se eles realmente aprenderam ou apenas memorizaram.
4. Os Resultados: Como foi a prova?
O time ficou muito bem, mas não foi perfeito.
- Missão A: Eles ficaram em 10º lugar entre 81 equipes. Foi um resultado sólido, mostrando que a detecção simples funciona bem.
- Missão B: Eles ficaram em 13º lugar entre 34 equipes. Identificar qual robô fez o código é muito difícil, pois os robôs estão ficando muito parecidos entre si.
- Missão C: Eles ficaram em 5º lugar entre 32 equipes! Esta foi a melhor performance. Conseguir distinguir entre "híbrido" e "adversário" é como tentar diferenciar um clone perfeito do original.
Onde eles erraram?
O sistema às vezes confundia "código feito por robô" com "código híbrido". É como se o detetive dissesse: "Isso parece um robô, mas tem um toque humano... talvez seja um robô disfarçado?".
5. Conclusão: O Que Aprendemos?
O trabalho do mcdok mostrou que:
- Adaptação é chave: Ferramentas feitas para texto podem ser adaptadas para código, mas precisam de modelos específicos.
- Tamanho importa (mas nem sempre): Às vezes, um modelo "geral" (que sabe de tudo) funciona melhor do que um especialista em código, dependendo da tarefa.
- O futuro é difícil: Conforme os robôs ficam melhores em se disfarçar, a tarefa de detectá-los se torna um jogo de "gato e rato" cada vez mais complexo.
Em resumo, o time mcdok construiu um sistema de segurança inteligente que consegue olhar para um código e dizer: "Ei, isso não foi feito por um humano sozinho!". Eles não venceram o campeonato, mas provaram que é possível criar guardiões eficazes para o mundo da programação gerada por IA.
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.