Jacquard, un lenguaje de programación para código generado por modelos de IA

Fuentes: Jacquard, a programming language designed for ML-authored code reviewed by people

Jacquard es un pequeño lenguaje de programación desarrollado por FriendMachine como proyecto de investigación orientado a un escenario en el que la mayor parte del código lo escriben modelos de aprendizaje automático y lo revisan personas. Su superficie sintáctica compacta (.jac) se apoya en un comprobador e intérprete CPS en OCaml, un compilador Ahead-of-Time que emite C, una biblioteca estándar escrita en el propio Jacquard y un framework de pruebas llamado Warp. La versión 0.1 funciona de extremo a extremo, aunque sus autores la califican de prototipo de investigación, no de lenguaje de producción, y detallan sus límites en el documento LIMITS.md. Se distribuye binarios para Linux x86-64, macOS Intel y macOS Apple Silicon, e incluye una secuencia de instalación que no requiere OCaml ni opam.

La propuesta central del lenguaje es que, además de describir qué computa un programa, Jacquard expone los efectos que puede ejecutar, la incertidumbre discreta finita y la identidad canónica del programa, de manera que las herramientas pueden inspeccionar esos tres ejes directamente desde el código, sin depender de comentarios, registros o de la memoria del desarrollador. Entre sus capacidades destacan la inferencia de efectos en las signaturas (por ejemplo, (text) ->{net} text), la ejecución del mismo programa frente a múltiples "mundos" (red real, red simulada, grabaciones o modelos probabilistas), la enumeración exacta de probabilidades para modelos discretos finitos mediante muestreo y observación, y una identidad estructural basada en el hash canónico de la forma resuelta, que ignora comentarios, formato y renombrados no relevantes.

Sobre estas primitivas se apoya un conjunto de herramientas: formateador, diferencial estructurado, pruebas con caché basada en contenido, registro/reproducción y un paquete reproducible de evidencias de release. La distribución sucesora se publica bajo Apache License 2.0. El proyecto se describe a sí mismo como la apuesta de que, cuando la máquina escribe el código, el lenguaje debe responder por sí mismo a la pregunta "qué puede tocar este programa y cuán seguros estamos".