Un artículo publicado en arXiv el 5 de noviembre analiza qué significa que el código generado por modelos de lenguaje grandes esté «verificado». Distingue tres comprobaciones: si un verificador acepta el código, si la prueba está vinculada a una especificación y si esa especificación refleja el requisito original.
En una prueba, los autores informan que el verificador aceptó el 99.1% de los casos de HumanEval, pero solo el 1.9% de las muestras tenía un certificado vinculado a un predicado o una función definidos por una especificación. En una canalización independiente para Rust, diseñada para garantizar ese vínculo, el 11.48% de las muestras de MBPP-Rust verificadas estructuralmente y el 14.82% de una selección de VeriContest aun así no superaron las pruebas ocultas.
Por qué importa
Para los equipos que usan la comprobación de pruebas para evaluar código generado, los resultados muestran que la aceptación del verificador por sí sola quizá no demuestre que exista un vínculo significativo con los requisitos ni que el código supere pruebas ocultas.