Ondřej Surý, diretor de engenharia de DNS na organização ISC, que anteriormente criou o projeto CZ.NIC Labs, responsável pelo desenvolvimento do servidor DNS Knot, fez um resumo dos experimentos sobre o uso de grandes modelos de linguagem para a análise, correção e modernização da base de código do servidor DNS BIND 9, a criação de protótipos de novos projetos e a preparação de materiais de ensino para alunos. As impressões sobre o uso de IA se resumem ao fato de que grandes modelos de linguagem são adequados para criação rápida de protótipos, compreensão de código desconhecido e automação de tarefas rotineiras simples, mas ao aplicá-los para resolver grandes problemas, é duvidoso que economizem tempo, visto que muito tempo é gasto na definição do problema, estudo e verificação dos resultados, bem como no trabalho subsequente.
No primeiro experimento, foi dada ao assistente de IA Claude Code a tarefa de detectar problemas na base de código do servidor DNS BIND 9, com foco em questões de segurança e modernização do código. Nenhuma das correções propostas foi aceita na base de código, pois Claude gerou um código tecnicamente correto, mas praticamente inútil. Por exemplo, problemas foram destacados como identificadores reservados e potenciais estouros de inteiros, que são prevenidos pelo compilador e não precisam de correção. O experimento foi considerado uma perda de tempo inútil.
No segundo experimento, Ondřej pediu a Claude que escrevesse um sistema de telemetria, integrável com diferentes pacotes e que minimizasse vazamentos de metadados. Claude Code preparou protótipos do cliente e servidor, mas sem a devida compreensão do ambiente e dos problemas que surgiram durante os testes. Além disso, foram envolvidos o Google Gemini e o ChatGPT para verificação, e cada modelo de IA encontrava erros nos resultados do trabalho dos outros modelos.
Para a criação rápida de um protótipo, o método se mostrou útil, mas Ondřej notou que, durante o trabalho, se sentia como o secretário de um robô governante. No início, a rápida obtenção do protótipo gerou otimismo, mas no final, surgiu a sensação de que todo o processo de desenvolvimento com a ajuda da IA demorou mais do que fazer a codificação manualmente do zero. Muitos esforços foram gastos analisando a solução proposta pela IA, verificando a presença de alterações sem sentido e refazendo o trabalho — o protótipo precisou ser refeito, pois a qualidade do código após a IA foi medíocre e o código incluía um grande número de construções repetitivas.
O terceiro experimento consistiu na geração de um balanceador de carga na linguagem Rust usando os pacotes crate Domain e Tokio. Claude Code conseguiu gerar o protótipo funcional solicitado, mas Ondřej não conhece tão bem Rust e as bibliotecas utilizas para avaliar a qualidade do trabalho realizado.
O quarto experimento estava relacionado à preparação de materiais auxiliares, testes e perguntas para o curso de palestras que Ondřej leciona na universidade, usando o Google Gemini. Este experimento foi considerado o mais bem-sucedido, embora não tenha sido sem problemas — a IA inventou uma palavra checa inexistente para um termo em criptografia. Também foi notada a abundância de trabalhos estudantis enviados a ele, gerados por grandes modelos de linguagem, que precisam ser devolvidos para reformulação devido à falta de conformidade com o nível universitário e referências a fontes inadequadas.
Adicionalmente, pode-se destacar mais um experimento realizado pelo diretor de engenharia da Cloudflare. Com a ajuda do modelo Claude Code, gastando cerca de uma semana e 1100 dólares em tokens, foi possível preparar uma implementação alternativa da API do framework Next.js, formatada como um plugin para a ferramenta Vite. O projeto foi nomeado vinext e publicado no GitHub. A nova implementação é quatro vezes mais rápida do que a montagem do Next.js usando o Turbopack e gera pacotes para front-ends que ocupam 57% menos espaço.
O projeto implementa 94% das dezesseis APIs básicas do Next.js e pode ser utilizado como uma substituição transparente para o Next.js, permitindo a implantação de projetos na plataforma Cloudflare Workers sem a necessidade de camadas adicionais, como o OpenNext, e sem dependência do Node.js. O objetivo principal do vinext é proporcionar a capacidade de utilizar a API do Next.js em plataformas diferentes da Vercel e sem a implantação de um servidor próprio. Na versão atual, apenas o Cloudflare Workers é suportado, e há um protótipo para a Vercel, mas espera-se que no futuro haja suporte também a outras plataformas de computação sem servidor com as quais o Vite pode trabalhar, incluindo Netlify e AWS Lambda.
Fonte: opennet.ru
