6

Pitch: A IA duplica código porque não lembra do que já existe. Fiz uma ferramenta open source que resolve isso sem IA

A IA duplica código porque não lembra do que já existe.

Lancei ontem o dupehound, open source e gratuito, pra atacar isso.

Ele compara a estrutura das funções em vez do texto, então pega a cópia mesmo com tudo renomeado. Três comandos: scan lista os grupos de duplicação e dá uma nota pro repo (slop score), history mostra no histórico do git quando a duplicação decolou, e check trava o PR que recria código existente, apontando o original pra reusar.

De propósito, ele não usa IA: comparar toda função contra toda função é trabalho de índice e algoritmo (o mesmo método que universidades usam há 20 anos pra detectar plágio em trabalho de aluno), e um gate de CI precisa dar a mesma resposta sempre. Roda offline e escaneia o repositório do vscode, quase 3 milhões de linhas, em 4 segundos.

Repo: https://github.com/Rafaelpta/dupehound

Instalação: cargo install dupehound (ou binários prontos na página de releases)

É meu primeiro projeto open source. Feedback técnico, issue e crítica são muito bem-vindos.

Carregando publicação patrocinada...
1

Acabei de publicar aqui no TabNews um post sobre exatamente essa filosofia, só que no lado da revisão: o passo que mais melhorou minha revisão de código por IA foi um passo determinístico de AST, sem IA nenhuma. Então "um gate de CI precisa dar a mesma resposta sempre" me ganhou na hora.

Fiquei curioso com a comparação estrutural: é fingerprint de AST normalizada, estilo winnowing do Moss, ou outra abordagem? E como o scan trata duplicação de forma sem duplicação de intenção, tipo boilerplate de CRUD e fixture de teste?

Uma ideia pro roadmap: expor a saída do check num formato que um agente de código consiga ler. Aí o índice deixa de só travar PR e vira contexto pro modelo reusar o original na hora de gerar. Escanear o repo do vscode em 4 segundos é um baita cartão de visita pro primeiro open source, parabéns.