En el mundo de la tecnología y la inteligencia artificial, los modelos de lenguaje grande (LLMs) están revolucionando la forma en que los desarrolladores producen código y resuelven problemas complejos. Sin embargo, surge una pregunta crucial: ¿pueden estos modelos adaptarse a lenguajes de programación menos comunes o recientes, como OCaml? Esta interrogante cobra especial relevancia en entornos académicos exigentes como el curso de Fundamentos de la Informática en la Universidad de Cambridge. Recientemente, se ha llevado a cabo una evaluación exhaustiva que pone a prueba la capacidad de diferentes LLMs locales para resolver ejercicios clásicos de primera curso en OCaml, demostrando que la inteligencia artificial está alcanzando nuevas fronteras de desempeño en tareas especializadas. El OCaml es un lenguaje de programación funcional que, aunque no es mainstream, sigue siendo altamente valorado en la academia y en ciertas industrias por su fuerte sistema de tipos y su soporte para la programación modular. Sin embargo, su menor popularidad implica que los grandes modelos de lenguaje suelen tener menos datos para entrenarse en este lenguaje, lo que dificulta su habilidad para generar código correcto y sofisticado en OCaml.
Además, las características más recientes y en desarrollo dentro del ecosistema OCaml, especialmente las promovidas por organizaciones como Jane Street, presentan un escenario aún más desafiante para la generación automatizada de código. Para abordar estos retos, un equipo de investigadores liderado por Sadiq Jaffer, junto con Jon Ludlam y Anil Madhavapeddy, emprendió un estudio centrado en evaluar el desempeño de los principales modelos de lenguaje abierto, ejecutables localmente o en servidores de inferencia compartidos, frente a las conocidas «tick questions» del curso de Ciencias de la Computación de Cambridge. Estas preguntas están diseñadas para estudiantes que deben completar una serie de ejercicios en Jupyter notebooks interactivos, donde sus respuestas son validadas automáticamente. Los ejercicios cubren conceptos fundamentales como recursión, estructuras de datos y flujo de datos, con niveles de dificultad que van desde preguntas básicas hasta retos más complejos conocidos como «starred ticks». El estudio consideró un amplio abanico de modelos, desde variantes del popular Llama 3, hasta arquitecturas más innovadoras como los modelos Qwen3 de Alibaba, reconocidos por su capacidad para adoptar un modo de razonamiento profundo o "thinking mode".
Este modo permite que el modelo se tome un tiempo adicional generando tokens que sirven para razonar antes de emitir una respuesta definitiva, lo que mejora notablemente la precisión a costa de mayor latencia y costo computacional. Las pruebas se realizaron dando a cada modelo tres intentos para resolver cada pregunta con un bloque de código que debe pasar los tests automáticos del notebook. Además, cada experimento se repitió cinco veces para garantizar la fiabilidad de los resultados. En total, el estudio arrojó datos importantes en cuanto a la relación entre el tamaño del modelo, la arquitectura y su rendimiento para esta tarea específica. Los resultados sorprendieron a la comunidad tecnológica, en especial por el desempeño sobresaliente de los modelos Qwen3.
El modelo Qwen3-32B en modo thinking alcanzó una tasa de éxito del 95.2%, siendo apenas superado por Anthropic Claude 3.7 Sonnet que logró un 96.4%, pero a un costo mucho mayor y sin posibilidad de ser autoalojado. Esta eficiencia y accesibilidad posicionan a los modelos Qwen3 como una opción líder para equipos de desarrollo y educativos que buscan una solución potente y rentable para generar y validar código en OCaml.
Además, los modelos Qwen3 en modo no thinking también superaron a sus competidores de tamaño comparable, e incluso el modelo Qwen3-8B con razonamiento automático se desempeñó casi al nivel de modelos mucho más grandes como Llama-3.3-70B, evidenciando la eficacia de esta arquitectura optimizada. Otra variante interesante es el Qwen3 30B-A3B MoE, que emplea una arquitectura de mezcla de expertos, activando solo un subconjunto de parámetros para cada token, lo que ofrece un equilibrio atractivo entre rendimiento y velocidad. Por otro lado, ciertos retos técnicos permanecen presentes, especialmente en los modelos más pequeños. Se observaron errores frecuentes de sintaxis, confusión con el sistema de tipos de OCaml (como alternar entre operadores para enteros y flotantes), e incluso la invención de funciones inexistentes, lo que denota dificultades en la comprensión profunda del lenguaje y sus bibliotecas.
La recursión, vital para muchos ejercicios en OCaml, fue otro obstáculo crítico, con modelos que no incluían correctamente la palabra clave "rec" o definían mal los casos base, provocando bucles infinitos y fallos al compilar. Estos hallazgos sugieren que, aunque los LLMs han alcanzado niveles impresionantes, todavía requieren mejoras para abordar eficazmente las sutilezas del lenguaje de programación y el razonamiento estructurado detrás de problemas algorítmicos más complejos. Sin embargo, constituye un paso decisivo para el futuro de la automatización en programación y educación, especialmente para lenguajes de menor recurso y comunidades especializadas. El trabajo abre la puerta a futuras investigaciones, entre ellas la exploración de cómo el modo thinking podría ser ajustado para optimizar el balance entre rendimiento y costo, y la expansión del conjunto de pruebas a problemas de programación más avanzados y en contextos industriales reales. Además, se destaca la necesidad de datos de entrenamiento adicionales, especialmente de código OCaml más complejo y diverso, para afinar aún más estos modelos mediante técnicas de aprendizaje reforzado y transferencia de aprendizaje.