Google ha presentado AlphaProof Code, un marco de agentes multi-LLM diseñado para automatizar el laborioso proceso de verificación formal. Al imitar el flujo de trabajo de un equipo de investigación, el sistema divide el trabajo de generar y verificar pruebas matemáticas para software, como la biblioteca Rust libsignal, para asegurar que el código se comporte exactamente como se especifica.

El marco AlphaProof Code

El sistema funciona como un marco de agentes multi-LLM que distribuye las tareas de verificación formal entre diferentes agentes. Itera sobre una base de código para escribir y ejecutar código Lean o Rocq, que son lenguajes utilizados para expresar pruebas matemáticas y verificar propiedades de software.

A diferencia de un agente de codificación estándar que podría simplemente generar código funcional, el objetivo de AlphaProof Code es demostrar que la implementación coincide con un modelo matemático específico. Este enfoque busca ir más allá de la codificación de 'mejor esfuerzo' hacia la seguridad del software garantizada matemáticamente.

Pruebas y detección de errores

Para validar el sistema, los investigadores reintrodujeron errores de seguridad conocidos en una implementación de software para ver si el agente los detectaría. Los comentaristas en Hacker News señalaron que este proceso es una forma crítica de distinguir entre una IA que simplemente 'hace algo' y una IA que 'lo hace correctamente'.

El proyecto se centró específicamente en la biblioteca Rust libsignal. Al convertir el software en un modelo matemático formal, el sistema puede identificar inconsistencias lógicas menores que podrían pasarse por alto durante una revisión humana estándar o un fuzzing tradicional.

Limitaciones y supervisión humana

A pesar de sus capacidades, el alcance de lo que se puede verificar sigue siendo relativamente estrecho. Un comentarista argumentó que, si bien el sistema destaca en demostrar que un programa no fallará, es mucho más difícil demostrar propiedades complejas como 'esta compresión siempre se descomprime en lo mismo' o 'este cifrado es seguro'.

También existe el riesgo de que la IA 'haga trampa' porque es responsable de escribir el mismo código que se utiliza para verificarla. Los usuarios sugirieron que esto requiere un enfoque adversarial, donde un segundo prompt o un revisor humano debe auditar el código Lean generado por la IA para asegurar que la prueba sea lógicamente sólida.