Si ejecutas un modelo en tu propio ordenador, es muy probable que llama.cpp haga el trabajo por debajo, tanto si lo instalaste directamente como si usas una aplicación construida sobre él. El proyecto acaba de publicar la versión 1.0.0 de sus bibliotecas y se ha comprometido con el versionado semántico. Parece una cuestión administrativa, pero para quien construye sobre él es una promesa sobre cuándo se romperán las cosas.
Las reglas son sencillas y figuran en el anuncio. Un cambio incompatible en la API pública de C, las cabeceras de la carpeta include, sube la versión mayor. Las funciones compatibles con versiones anteriores, las actualizaciones de backends, el soporte de nuevos modelos y las ampliaciones de la API suben la versión menor. Las correcciones de errores sin cambios en la API suben el número de parche. Las mismas reglas se aplican a ggml, el motor de aprendizaje automático de debajo, y a los demás proyectos de ggml-org, y el equipo dice que será más estricto a la hora de señalar incompatibilidades tanto en la API como en la ABI.
La razón es la escala. En los tres años y medio desde su inicio, llama.cpp ha sumado una larga lista de proyectos que dependen de él, y la publicación afirma que ya admite más de 150 variantes de arquitectura y todos los métodos habituales de decodificación especulativa. La distribución también se amplía: hay versiones para Docker, Debian, Homebrew, conda-forge, MacPorts, Winget y un XCFramework para plataformas de Apple. Las pruebas se ejecutan en la infraestructura de Hugging Face con máquinas propias apoyadas por NVIDIA, AMD, Qualcomm, Arm, IBM e Intel.
Para las herramientas que analizamos, esto tiene un peso discreto pero real. Ollama y LM Studio se apoyan en llama.cpp y ggml, igual que muchas aplicaciones de escritorio más pequeñas. Hasta ahora, quien seguía el proyecto original tenía que leer los registros de cambios con atención para detectar un cambio de interfaz. Un número de versión que avisa de las roturas permite a esos proyectos actualizarse más a menudo con menos riesgo, lo que debería hacer llegar antes el soporte de nuevos modelos a los usuarios. El equipo de Hugging Face publica además sus propias aplicaciones de escritorio Llama para macOS y Windows.
Conviene dejar claros los límites. El versionado semántico es un compromiso, no una garantía, y cubre la API de C, no cada cambio de comportamiento en la calidad o la velocidad. Tampoco dice nada sobre las herramientas de línea de comandos ni las opciones del servidor que mucha gente usa directamente. Un comentarista señaló que procesar prompts muy largos sigue siendo más lento de lo deseable, y la versión 1.0.0 no dice resolverlo.