
Desde 1999, tenho me interessado por métodos assistidos por máquinas para o ensino e a prática da matemática, período em que comecei a desenvolver vários applets em Java 1.0, voltados para cursos de análise complexa e álgebra linear, além de visualizar objetos matemáticos como colmeias e conjuntos de Besicovitch. Embora tenha sido uma experiência moderadamente bem-sucedida, a programação dos applets se mostrava bastante trabalhosa. Com o tempo, os padrões de páginas da web deixaram de suportar essa versão do Java, tornando os applets obsoletos.
Recentemente, iniciei a migração de grande parte do meu antigo conteúdo da web e do blog para um repositório mais fácil de manter, utilizando assistência de IA moderna. Como experimento, pedi ao agente para portar meus antigos applets para uma linguagem moderna compatível (optamos pelo Javascript), e em poucas horas, todos os applets estavam novamente funcionais, com algumas melhorias gráficas, como a coloração do applet do conjunto de Besicovitch, que antes era em preto e branco. Fiquei particularmente satisfeito em ver o applet de colmeia, que desenvolvi com Allen Knutson em 1999, ressurgir, já que era um projeto desafiador de codificar manualmente.
É notório que agentes de codificação baseados em LLM podem introduzir bugs de forma evidente ou sutil em seu código. No entanto, durante a migração de cerca de duas dúzias de applets, consegui identificar apenas um pequeno erro (o tratamento de um evento de arrasto em um dos applets de análise complexa apresentou comportamento indesejado ao arrastar para fora da caixa principal). O agente, por outro lado, apontou dois bugs no código original que eu não conhecia, resultando em uma qualidade de código equilibrada. Como esses applets servem como auxiliares visuais e não como componentes críticos de um argumento matemático, a probabilidade de problemas significativos é relativamente baixa.
O processo foi tão tranquilo que decidi também criar novos aplicativos, além de portar os antigos. Em 1999, tinha uma ideia ambiciosa para uma ferramenta de visualização da relatividade especial; antes do lançamento do Inkscape, eu sonhava com algo como "Inkscape, mas no espaço de Minkowski". Comecei a desenvolver esse aplicativo em Java, mas a complexidade do código me levou a desistir do projeto. Após algumas horas de "codificação intuitiva" com um agente de IA, consegui criar um applet que se alinha com a visão original de 1999, agora disponível aqui. Um resumo da conversa que tive com o agente para gerar esse código pode ser encontrado aqui (com a edição de partes extensas de relatórios técnicos).
Depois de escrever um post no blog sobre o artigo da conjectura de Gilbreath, percebi que poderia pedir ao agente para criar uma ferramenta de visualização para acompanhar o artigo e o post. Após mais algumas horas de conversa, isso também foi realizado; você pode experimentar a visualização aqui. Mais uma vez, o procedimento foi bastante tranquilo (confira esta transcrição do processo), e considero adicionar visualizações interativas como complementos para futuros artigos. Como esses complementos não são críticos para o núcleo do artigo, sinto que o risco de usar interação guiada com agentes LLM para gerar tais visualizações é aceitável.
Confira os últimos vídeos publicados no canal