Microsoft Research presentó el 5 de noviembre el PDD Kit (Proof-Driven Development Kit), un conjunto de herramientas que usa pruebas matemáticas para verificar si el código escrito por agentes de inteligencia artificial realmente hace lo que pidió el desarrollador. La propuesta, descrita por los investigadores Alex Lavaee y Matthai Philipose en el blog oficial de Microsoft Research, cambia el foco de la revisión: en lugar de leer línea por línea el código generado por la IA, el equipo revisa la intención, y una máquina demuestra que el código la cumple.
El problema que PDD Kit intenta resolver es de escala. Los agentes de programación ya entregan funciones completas de una sola vez, con decenas o cientos de miles de líneas, y leer cada línea de un pull request dejó de ser viable. El plan en lenguaje natural debería funcionar como contrato entre el desarrollador y el agente, pero nada obliga al agente a seguirlo, y las pruebas que él mismo escribe suelen validar lo que construyó, no lo que se pidió.
Cómo funciona
PDD Kit convierte la intención expresada en lenguaje común en una especificación formal en Verus, un lenguaje de prueba para Rust desarrollado con la participación de Microsoft Research, la Carnegie Mellon University, la ETH Zurich y otras instituciones. Después, el verificador demuestra que el código del agente cumple esa especificación para todas las entradas posibles, y recurre a pruebas donde la demostración no llega. El kit funciona dentro de Chopin, el entorno de planificación colaborativa en tiempo real de GitHub Next.
El flujo tiene dos mitades: primero, el equipo revisa la intención en lenguaje sencillo, con PDD Kit haciendo las preguntas que haría un revisor cuidadoso y registrando las respuestas en un artefacto de intención. Luego, el kit genera pruebas de que el código cumple las especificaciones formales y pruebas de calidad para el resto. No hace falta formación en métodos formales para usar el proceso.
La prueba: el inicio de sesión de una tienda en Rust
Para demostrar el kit, el equipo construyó Pet Store, una aplicación web completa escrita en Rust, con unas 5.000 líneas de código: el back-end usa Axum y SQLite y gestiona inventario, promociones, pedidos y pago, mientras que la tienda es una aplicación Leptos compilada a WebAssembly. El ejercicio se centró en la lógica de inicio de sesión, a partir de un pedido de solo dos frases: el token solo se emite con la contraseña correcta, y solo las cuentas de administrador reciben tokens de administrador.
Verus verificó formalmente cinco funciones — login_flow, login_core, lookup_target, decide_login e issue_token — y, según los investigadores, endureció el código y reveló errores que ya existían, demostrando la ausencia de errores de inicio de sesión con respecto a la especificación. El desarrollador revisó solo la intención y nunca leyó el código generado línea por línea.
Qué cubre la prueba — y qué queda fuera
Microsoft se encarga de delimitar la garantía. Seis componentes quedan fuera de la prueba, detrás de contratos asumidos que el desarrollador acepta uno por uno: las dos consultas a la base de datos, la verificación de contraseña con bcrypt, el reloj, la firma del token, el tratamiento de errores de la base de datos y el desempaquetado de la solicitud. Cada uno está cubierto por pruebas.
La prueba tampoco dice nada sobre lo que no está en la especificación: si el inicio de sesión va a responder, con qué rapidez, cuál es el límite de intentos o si el mensaje de error es claro. Y PDD Kit solo verifica Rust hoy, el lenguaje de Verus. Los proyectos en otros lenguajes pueden portarse a Rust o llamar al Rust verificado mediante bindings.
Contra la “verificación de fachada”
Una de las funciones del kit es la prueba de mutación: pdd-prove planta un error por cláusula de la especificación en una copia del código, y Verus debe rechazar cada mutante. Si un mutante pasa, la cláusula no restringe nada, y vuelve como una laguna. Es la defensa contra lo que los investigadores llaman “vibe verification”: invariantes débiles que se demuestran, pero que casi no garantizan nada.
Cuando las tareas pasan, el kit abre pull requests con el código verificado y marca cada requisito como verificado formalmente o comprobado empíricamente. El flujo pdd-ship añade la comprobación de Verus a la integración continua, de modo que cualquier cambio posterior en el inicio de sesión debe seguir demostrando contra la misma especificación.
PDD Kit es un prototipo de investigación, con acceso descrito como una vista previa de investigación limitada. Aun así, apunta en una dirección concreta para un problema real: a medida que los agentes escriben cada vez más código, revisar la intención — y demostrar que se cumplió — puede ser la única forma de que la revisión siga el ritmo.
Fuentes
- Microsoft Research — Formally verifying agent-written full-stack web apps with PDD Kit (5 de noviembre de 2026)
- The Agent Times — Microsoft Research Describes PDD Kit for Agent-Written Code
La cuenta oficial @MSFTResearch también difundió el trabajo en X el 5 de noviembre de 2026.
Crédito de la imagen: Microsoft Research — diagrama de flujo de decisiones de PDD Kit, imagen destacada del artículo oficial en el blog de Microsoft Research.
Transparencia: este artículo fue producido con ayuda de inteligencia artificial, contrastando publicaciones públicas en X y fuentes de internet. Consulte las fuentes originales para confirmar la información.
Por Muse