Apps de matemática antigos revividos e novos apps criados com agentes modernos de programação
(terrytao.wordpress.com)- Cerca de 24 applets de matemática em Java 1.0, sem suporte há anos, foram portados para JavaScript com agentes de programação por IA, e até ferramentas de visualização que não haviam sido concluídas no passado foram finalmente finalizadas
- Os applets existentes foram restaurados em poucas horas, com melhorias gráficas como a exibição colorida do conjunto de Besicovitch, além da reimplementação do applet honeycomb criado com Allen Knutson em 1999
- No processo de portabilidade, o único bug criado pelo agente foi um problema menor relacionado ao tratamento de arrastar, enquanto ele também encontrou 2 bugs não identificados no código original, mantendo a qualidade geral do código em nível semelhante
- A ideia de “Inkscape do espaço de Minkowski”, abandonada em 1999 por causa da complexidade, foi implementada em poucas horas de vibe coding como uma versão alfa de um app de visualização da relatividade especial, e uma visualização da conjectura de Gilbreath também foi criada do zero
- Como visualizações auxiliares que não são o núcleo da demonstração matemática apresentam risco relativamente menor caso haja bugs em código gerado por LLMs, elas podem ser usadas no futuro como material suplementar interativo para artigos
O início e a interrupção dos applets Java 1.0
- Desde 1999, havia interesse em como usar computadores para pesquisar e ensinar matemática, levando ao desenvolvimento de vários applets em Java 1.0 para cursos de análise complexa e álgebra linear
- Os applets também foram usados não apenas nas aulas, mas para visualizar vários objetos matemáticos, incluindo honeycombs e conjuntos de Besicovitch
- Houve algum sucesso, mas programar tudo manualmente consumia muito tempo, e quando os padrões da web deixaram de oferecer suporte a essa versão do Java, os applets pararam de funcionar
Portando para JavaScript com ajuda de IA
- Ao migrar páginas antigas e dados do blog para um repositório mais fácil de manter, foi aproveitado o suporte moderno de IA
- Como experimento, pediu-se ao agente que portasse os applets existentes para uma linguagem atualmente suportada, chegando-se ao JavaScript como escolha final
- Cerca de 24 applets antigos voltaram a funcionar em poucas horas, e alguns gráficos ainda foram melhorados
- O applet do conjunto de Besicovitch passou de uma tela monocromática para uma colorida
- O applet honeycomb, criado em 1999 com Allen Knutson e particularmente difícil de implementar à mão, também foi restaurado
Novos bugs e descoberta de falhas no código antigo
- Agentes de programação baseados em LLM podem criar bugs óbvios ou sutis, mas neste trabalho de portabilidade o novo problema encontrado foi apenas 1 bug menor
- Em um applet de análise complexa, ocorria um comportamento indesejado ao arrastar para fora da área principal
- Em contrapartida, o agente encontrou 2 bugs não identificados escondidos no código antigo e, considerando isso, a qualidade geral do código permaneceu em nível parecido
- Como esses applets são materiais visuais auxiliares e não componentes centrais da argumentação matemática, o risco associado a bugs é relativamente baixo
A ferramenta de relatividade especial abandonada em 1999
- Como a portabilidade dos apps existentes avançou sem grande dificuldade, também se tentou criar novos apps
- Em 1999, foi imaginada uma ferramenta de visualização da relatividade especial como um “Inkscape do espaço de Minkowski”, mas naquela época o próprio Inkscape ainda nem havia sido lançado
- A escrita do código Java chegou a começar, mas o projeto foi abandonado porque era difícil lidar com a complexidade
- Após algumas horas de vibe coding com um agente de IA, foi implementado um applet de diagrama do espaço-tempo alinhado à ideia original
- Também foi publicado um resumo da conversa de criação, embora muitos relatos repetitivos de implementação técnica tenham sido removidos na edição
- No momento, o app é uma versão alfa que passou apenas por alguns testes práticos e, devido à natureza do código gerado por LLM, ainda pode conter bugs não resolvidos e partes ásperas, exigindo mais feedback
Visualização da conjectura de Gilbreath
- Depois de escrever um post no blog sobre um artigo da conjectura de Gilbreath, também foi solicitado ao agente uma ferramenta de visualização para anexar ao artigo e à postagem
- Após algumas horas de conversa, a visualização da conjectura de Gilbreath foi concluída
- A transcrição da conversa do processo de criação também foi publicada, e o desenvolvimento transcorreu sem grandes dificuldades
Uso como material suplementar interativo para artigos
- Está sendo considerada a possibilidade de adicionar visualizações interativas como material suplementar em artigos futuros
- Como essas visualizações não são essenciais para as partes centrais do artigo, mesmo que sejam geradas por meio de interação guiada com agentes LLM, o risco de erros é considerado aceitável
1 comentários
Opiniões do Hacker News
Criar materiais de visualização com LLMs melhorou muito as aulas de ciência da computação: https://htmx.org/essays/universities-and-ai/#demos-visualiza...
Agora temos materiais que sempre quisemos ter, mas nunca conseguíamos fazer por falta de tempo; com a ajuda do Claude, em poucos dias também foi projetado um computador de 8 bits simples para complementar o computador educacional de 16 bits existente: https://bdp.cs.montana.edu/
Graças a isso, consigo assimilar o conteúdo mais rapidamente e ler mais artigos do que antes
Pensei que seria ótimo poder simular mais do que estava sendo ensinado. Como educação é o processo de decompor um objeto em componentes e observar suas interações, simulações feitas por vibe coding podem ser uma excelente ferramenta
Se Terry Tao está criando apps com agentes de codificação, agora falta só um passo para até um medalhista Fields perguntar a uma LLM, como nós, por que o contêiner Docker não inicia
Especialmente fora das áreas tradicionais de software, a demanda latente por software é praticamente infinita. Mesmo que o avanço das LLMs parasse hoje, levaríamos 10 anos para aproveitar toda a nova capacidade de escrever software que surgiu, e este caso mostra bem isso
A conclusão de que “materiais interativos auxiliares criados com LLMs não são essenciais ao núcleo do artigo, portanto vale a pena aceitar o risco de gerar essas visualizações por meio de interação guiada com um agente” é equilibrada
LLMs são ferramentas, então há tarefas para as quais elas servem bem e outras para as quais não servem; em geral, não se deve confiar cegamente nos resultados
Confiamos no martelo para pregos, mas não para parafusos; nem por isso dizemos que martelos não são confiáveis em geral. A dificuldade com IA é que ainda não sabemos exatamente o que é prego e o que é parafuso
Em vez de simplesmente dizer para não confiar, é mais útil orientar as pessoas a gastar mais tempo do que antes com planejamento, iteração e revisão; aprender a usar a tecnologia, o contexto e subagentes; e praticar primeiro em projetos não operacionais e de baixo risco. O objetivo deve ser construir confiança entendendo bons fluxos de trabalho e usos adequados
Ver Terry Tao usando agentes de programação parece um chef com estrela Michelin descobrindo comida pronta de micro-ondas e ficando genuinamente empolgado
José Andrés também citou a omelete de micro-ondas como um dos pratos mais difíceis de errar, chamando-a de “a melhor omelete fofinha da história da humanidade”: https://www.tasteofhome.com/article/jose-andres-microwave-om...
Mestres como Tao mostram que a tecnologia consegue criar esse gabarito, e os fabricantes de máquinas vêm demonstrando, passo a passo, que conseguem fazer não só gabaritos para caixas de joias, mas também gabaritos para fabricar máquinas de fazer gabaritos
Executar antigos applets Java educacionais de matemática e física sempre foi um dos usos populares do CheerpJ Applet Runner, que roda bytecode Java no navegador via WebAssembly
É complicado saber como encarar uma situação em que agentes modernizam isso direito e resolvem o problema. É claramente bom que estudantes possam interagir com o conteúdo de uma forma moderna e acessível, mas, mesmo que não seja comercialmente importante, o uso na educação sempre foi uma fonte de orgulho: https://chromewebstore.google.com/detail/cheerpj-applet-runn...
Textos em que especialistas de uma área usam IA para criar algo divertido dentro da própria área são sempre agradáveis, mas parecem ser sempre projetos de hobby, não trabalho sério
https://terrytao.wordpress.com/tag/artificial-intelligence/, https://academy.openai.com/public/blogs/terence-tao-ai-is-re...
Eu já tenho idade e, se fosse preciso, poderia me aposentar amanhã, ainda que com aperto; mas me preocupo com desenvolvedores jovens, como meu sobrinho de 25 anos, que ainda não acumularam patrimônio suficiente para ficar sem trabalhar. Escrever código diretamente vai se tornar uma área especializada praticada por pouquíssimos, como calcular raízes quadradas à mão ou fundir tipos móveis
O uso amplo de IA para programar está apenas começando, e só recentemente os modelos chegaram a um nível capaz de trabalho sério. Já vi usos reais, mas há muitos motivos pelos quais políticas organizacionais, código não público e segredos comerciais dificultam divulgar em blogs pessoais o uso em código de produção
Ri no trecho em que ele diz que “a complexidade do código ficou grande demais para administrar e abandonei o projeto”. Existe código complexo demais até para Terry Tao escrever
Tenho muita expectativa de que LLMs permitam que muitas pessoas que são extremamente inteligentes em áreas específicas, mas nunca conseguiram entrar em programação, passem a participar do desenvolvimento de software
Com Claude, portei para JavaScript um jogo em applet Java de alemão do ensino médio de 30 anos atrás e até criei um histórico Git falso: https://github.com/bradfitz/koffer#der-verloren-koffe
Também dá para rodar online: https://bradfitz.github.io/koffer/js/
É legal ver código de cerca de 30 anos atrás voltar a ganhar vida
A primeira frase esquisita do texto é justamente a prova de que não foi escrita por IA. É a frase: “Desde que, em 1999, fiz applets para aulas de análise complexa e álgebra linear em Java 1.0 para visualizar objetos matemáticos como estruturas em favo de mel ou conjuntos de Besicovitch, tenho me interessado por formas de pesquisar e ensinar matemática com a ajuda de máquinas”