Apps matemáticas antiguas revividas con agentes de codificación modernos y apps nuevas
(terrytao.wordpress.com)- Se portaron unas 24 applets matemáticas de Java 1.0 sin soporte a JavaScript usando agentes de codificación con IA modernos, y también se completaron herramientas de visualización que antes no se habían podido implementar
- Las applets existentes se restauraron en pocas horas, con mejoras gráficas como la visualización en color de los conjuntos de Besicovitch, además de la reimplementación de la applet de honeycomb creada en 1999 con Allen Knutson
- Durante la migración, el bug creado por el agente fue un problema menor relacionado con el manejo de arrastre; en cambio, encontró 2 bugs no identificados en el código existente, por lo que la calidad general del código se mantuvo en un nivel similar
- La idea de un “Inkscape del espacio de Minkowski”, abandonada en 1999 por su complejidad, se implementó en pocas horas de vibe coding como una versión alfa de una app de visualización de la relatividad especial; también se creó una visualización de la conjetura de Gilbreath
- En las visualizaciones auxiliares que no son centrales para los argumentos matemáticos, el riesgo de que los bugs del código generado por LLM tengan impacto es relativamente bajo, por lo que podrían usarse como materiales complementarios interactivos en futuros artículos
Inicio e interrupción de las applets de Java 1.0
- Desde 1999, con interés en formas de investigar y enseñar matemáticas usando computadoras, se desarrollaron varias applets en Java 1.0 para cursos de análisis complejo y álgebra lineal
- Las applets también se usaron no solo en clases, sino para visualizar diversos objetos matemáticos, incluidos honeycombs y conjuntos de Besicovitch
- Aunque tuvieron cierto éxito, programarlas directamente requería mucho tiempo y, cuando los estándares web dejaron de soportar esa versión de Java, las applets dejaron de funcionar
Migración a JavaScript con IA
- Al trasladar las páginas web y datos de blog existentes a un repositorio más fácil de mantener, se aprovechó la asistencia de IA moderna
- Como experimento, se le pidió a un agente portar las applets existentes a un lenguaje actualmente soportado, y finalmente se eligió JavaScript
- Unas 24 applets existentes volvieron a funcionar en pocas horas, y algunas gráficas también se mejoraron
- La applet de conjuntos de Besicovitch pasó de una pantalla monocromática a una en color
- También se restauró la applet de honeycombs, creada en 1999 junto con Allen Knutson y particularmente difícil de implementar a mano
Bugs nuevos y errores encontrados en el código existente
- Aunque los agentes de codificación basados en LLM pueden introducir bugs evidentes o sutiles, en esta migración el único problema nuevo encontrado fue 1 bug menor
- En una de las applets de análisis complejo, al arrastrar fuera del área principal se producía un comportamiento no deseado
- En cambio, el agente encontró 2 bugs no identificados que estaban ocultos en el código existente; considerando esto en conjunto, la calidad general del código quedó en un nivel similar
- Estas applets son materiales visuales auxiliares, no componentes centrales de un argumento matemático, por lo que incluso si hubiera bugs, el riesgo asociado es relativamente bajo
La herramienta de relatividad especial abandonada en 1999
- Como la migración de las apps existentes avanzó sin demasiada dificultad, también se intentó crear apps nuevas
- En 1999 se había planteado una idea similar a “Inkscape del espacio de Minkowski” como herramienta de visualización de la relatividad especial, pero en ese momento Inkscape aún ni siquiera se había lanzado
- Se empezó a escribir código Java, pero la complejidad resultó difícil de manejar y el proyecto fue abandonado
- Tras unas horas de vibe coding con un agente de IA, se implementó una applet de diagramas de espacio-tiempo que coincide con la idea original
- También se publicó un resumen de la conversación de creación, del cual se eliminaron durante la edición muchos informes repetitivos de implementación técnica
- La app actual es una versión alfa que solo ha pasado algunas pruebas de juego; por la naturaleza del código generado por LLM, puede conservar bugs sin resolver y partes poco pulidas, por lo que necesita más feedback
Visualización de la conjetura de Gilbreath
- Tras escribir una entrada de blog sobre un artículo de la conjetura de Gilbreath, también se le pidió al agente una herramienta de visualización para adjuntar al artículo y a la publicación
- Después de unas horas de conversación, se completó la visualización de la conjetura de Gilbreath
- También se publicó el registro de la conversación del proceso de creación, y el desarrollo avanzó sin grandes dificultades
Uso como materiales complementarios interactivos para artículos
- Se está considerando agregar visualizaciones interactivas como materiales complementarios en futuros artículos
- Como estas visualizaciones no son indispensables para las partes centrales del artículo, el riesgo derivado de errores es tolerable incluso si se generan mediante interacción guiada con agentes LLM
1 comentarios
Opiniones de Hacker News
Los materiales de visualización con LLM han mejorado muchísimo las clases de ciencias de la computación: https://htmx.org/essays/universities-and-ai/#demos-visualiza...
Ahora ya cuentan con materiales que siempre habían querido hacer pero nunca habían podido por falta de tiempo, y con ayuda de Claude también diseñaron en pocos días una sencilla computadora de 8 bits para complementar una computadora educativa de 16 bits ya existente: https://bdp.cs.montana.edu/
Gracias a eso, pueden asimilar el contenido más rápido y leer más artículos que antes
Pensaron que estaría bien poder simular más de lo que se enseña. Como la educación consiste en descomponer algo en componentes y ver cómo interactúan, una simulación hecha con vibe coding puede ser una herramienta excelente
Si Terry Tao crea apps con un agente de código, entonces falta poco para que incluso un ganador de la Medalla Fields nos pregunte, como cualquiera de nosotros, por qué no arranca un contenedor de Docker
Especialmente fuera del software tradicional, la demanda potencial de software es prácticamente infinita. Aunque el avance de los LLM se detuviera hoy, harían falta 10 años para aprovechar toda la nueva capacidad de escribir software, y este caso lo muestra bien
La conclusión de que “los materiales interactivos de apoyo hechos con LLM no son esenciales para el núcleo del artículo, así que vale la pena asumir el riesgo de generar estas visualizaciones mediante interacción guiada con el agente” suena equilibrada
Los LLM son herramientas, así que hay trabajos para los que encajan bien y otros para los que no, y en general no conviene confiar ciegamente en sus resultados
Uno confía en usar un martillo para clavos, pero no para tornillos, y eso no significa que no se pueda confiar en un martillo en general. La dificultad con la IA es que todavía no sabemos qué es clavo y qué es tornillo
En vez de decir simplemente que no hay que confiar, es más útil orientar a la gente a dedicar más tiempo que antes a planear, iterar y revisar; aprender la técnica, el contexto y cómo usar subagentes; y practicar primero en proyectos no productivos y de bajo riesgo. La meta debería ser construir confianza entendiendo buenos flujos de trabajo y usos adecuados
Ver a Terry Tao usando un agente de programación se siente como un chef con estrella Michelin descubriendo comida preparada para microondas y emocionándose de verdad
José Andrés también puso al omelet de microondas como uno de los platillos más difíciles de arruinar y lo llamó “el omelet esponjoso más grande en la historia de la humanidad”: https://www.tasteofhome.com/article/jose-andres-microwave-om...
Maestros como Tao muestran que la tecnología puede crear ese jig, y los fabricantes de máquinas están demostrando paso a paso que pueden hacer no solo jigs para cajas de joyas, sino incluso jigs para fabricar máquinas que hacen jigs
Ejecutar viejos applets educativos de Java de matemáticas y física fue durante mucho tiempo un caso de uso popular de CheerpJ Applet Runner, que corre bytecode de Java en el navegador mediante WebAssembly
Me genera sentimientos encontrados pensar cómo tomar esta situación en la que los agentes resuelven el problema modernizándolo de verdad. Sin duda es bueno que los estudiantes puedan interactuar con el contenido de una manera moderna y accesible, pero incluso si no es algo comercialmente importante, el uso educativo siempre fue motivo de orgullo: https://chromewebstore.google.com/detail/cheerpj-applet-runn...
Siempre es divertido leer a un experto del área usando IA para hacer algo entretenido dentro de su campo, pero da la impresión de que siempre termina siendo un proyecto de hobby y no trabajo serio
https://terrytao.wordpress.com/tag/artificial-intelligence/, https://academy.openai.com/public/blogs/terence-tao-ai-is-re...
Yo ya soy mayor y, si fuera necesario, podría jubilarme mañana aunque fuera algo apretado, pero me preocupan los desarrolladores jóvenes, como mi sobrino de 25 años, que todavía no han acumulado suficiente patrimonio para dejar de trabajar. Escribir código manualmente se volverá un área especializada de muy poca gente, como calcular raíces cuadradas a mano o fundir tipos de imprenta
El uso amplio de IA para programar apenas está comenzando, y recién hace poco los modelos llegaron al nivel necesario para trabajo serio. Ya he visto usos reales, pero también hay muchas razones por las que es difícil mostrar en un blog personal el uso de código de producción, por políticas de la organización, código privado y secretos comerciales
Me hizo reír la parte de “la complejidad del código creció hasta volverse inmanejable y abandoné el proyecto”. Incluso Terry Tao tiene código demasiado complejo como para escribirlo
Tengo grandes expectativas de que los LLM permitan participar en desarrollo de software incluso a mucha gente muy inteligente en áreas específicas que antes no lograba entrar a la programación
Con Claude porté un juego de applet Java de alemán de preparatoria de hace 30 años a JavaScript e incluso fabriqué un historial de Git falso: https://github.com/bradfitz/koffer#der-verloren-koffe
También puede ejecutarse en línea: https://bradfitz.github.io/koffer/js/
Está genial ver cómo código de hace unos 30 años vuelve a cobrar vida
La torpe primera oración del texto es precisamente prueba de que no fue escrita por IA. La frase es: “Desde que en 1999 hice applets para clases de análisis complejo y álgebra lineal en Java 1.0 para visualizar objetos matemáticos como estructuras de panal y conjuntos de Besicovitch, me ha interesado cómo estudiar y enseñar matemáticas con ayuda de máquinas”