Agentes de IA

PDD Kit utiliza pruebas formales para verificar código generado por IA

Microsoft Research presenta PDD Kit, un conjunto de herramientas que aplica verificación formal a software escrito por agentes, garantizando que el código coincida con la intención del usuario mediante demostraciones matemáticas y pruebas específicas.

Un cubo de vidrio con circuitos luminosos sobre un escritorio junto a documentos verificados.
Ilustración generada para este artículo

Traducido automáticamente del original en inglés.

Microsoft Research ha presentado PDD Kit, un nuevo conjunto de herramientas diseñado para llevar los métodos de verificación formal al desarrollo de software cotidiano impulsado por agentes de IA. Publicado el 5 de noviembre de 2026, este enfoque aborda el creciente desafío de validar grandes volúmenes de código generado por asistentes de programación autónomos. Al combinar demostraciones matemáticas con pruebas empíricas, PDD Kit busca garantizar que las aplicaciones escritas por agentes se ajusten estrictamente a la intención del desarrollador sin requerir una revisión manual línea por línea.

Qué ocurrió

A medida que los agentes de IA son capaces de generar funciones completas o aplicaciones full-stack en sesiones únicas, los procesos tradicionales de revisión de código tienen dificultades para mantener el ritmo. Los desarrolladores suelen depender de planes en lenguaje natural como contratos para estos agentes, pero no existe ningún mecanismo inherente que obligue al agente a seguir el plan con precisión. Los agentes pueden desviarse de las especificaciones, implementando lógicas ligeramente diferentes y luego escribiendo pruebas que pasan para su implementación incorrecta en lugar del comportamiento previsto. Esto crea una brecha oculta entre lo solicitado y lo entregado, que las tuberías estándar de integración continua a menudo no detectan porque solo verifican casos de prueba específicos.

Para resolver esto, Microsoft Research desarrolló el Desarrollo Guiado por Pruebas (Proof-Driven Development, PDD) y su conjunto de herramientas asociado, PDD Kit. Este sistema se integra con el entorno de planificación Chopin de GitHub Next para convertir la intención del usuario en especificaciones formales. A continuación, utiliza estas especificaciones para demostrar matemáticamente que el código generado es correcto para cualquier entrada posible. Para aspectos del software que no pueden probarse formalmente, como las interacciones con bibliotecas de terceros o interfaces de usuario, el kit recurre a pruebas empíricas de alta calidad. Este enfoque híbrido permite a ingenieros sin experiencia en métodos formales aplicar una verificación rigurosa a sus proyectos.

El equipo de investigación demostró PDD Kit construyendo Pet Store, una aplicación web full-stack escrita en Rust. La aplicación incluye un backend que usa Axum y SQLite, y un frontend construido con Leptos compilado a WebAssembly. Aunque toda la aplicación consta de aproximadamente 5.000 líneas de código, el equipo centró sus esfuerzos de verificación formal en la lógica de inicio de sesión. Este componente crítico gestiona la autenticación y la autorización, lo que lo convierte en un candidato ideal para la validación basada en pruebas. El proceso permitió al desarrollador revisar la intención y la especificación sin leer cada línea del código generado, logrando aún así un alto grado de confianza en la seguridad y corrección del flujo de inicio de sesión.

Cómo funciona

PDD Kit opera cerrando la brecha entre la intención en lenguaje natural y las especificaciones matemáticas formales. Cuando un desarrollador proporciona una solicitud, el conjunto de herramientas hace preguntas aclaratorias para resolver ambigüedades, como distinguir entre "solo obtener un token con la contraseña correcta" y "la contraseña correcta siempre funciona". Estas decisiones se registran en un artefacto de intención, que mapea los requisitos del usuario a especificaciones formales en Verus, un lenguaje de pruebas para Rust. El kit genera entonces pruebas de que el código satisface estas especificaciones para todas las entradas, mientras crea simultáneamente pruebas para partes del sistema que están fuera del alcance de la verificación formal, conocidas como la Base Computacional Confiable (Trusted Computing Base).

El proceso de verificación distingue entre dos tipos de garantía: verificación formal y verificación empírica. La verificación formal utiliza el verificador Verus para proporcionar una demostración matemática de que el código cumple su especificación para cualquier entrada posible. La verificación empírica, por otro lado, depende de ejecutar el código y observar su comportamiento a través de pruebas unitarias, pruebas end-to-end y agentes de navegador. PDD Kit hace explícito el límite entre estos dos enfoques, requiriendo que los desarrolladores aprueben cada componente confiable, como bibliotecas criptográficas externas o consultas de base de datos, asegurando que las suposiciones subyacentes a las pruebas sean claramente entendidas y aceptadas.

Detalles clave

  • PDD Kit se integra con el entorno Chopin de GitHub Next para facilitar la planificación y verificación multijugador en tiempo real.
  • El conjunto de herramientas utiliza Verus, un lenguaje de pruebas para Rust, para generar demostraciones matemáticas de que el código satisface especificaciones formales para todas las entradas.
  • Convierte automáticamente las partes de la intención del usuario que no pueden probarse formalmente en especificaciones informales cubiertas por pruebas empíricas.
  • El sistema define explícitamente la Base Computacional Confiable, requiriendo la aprobación del desarrollador sobre dependencias externas y comportamientos asumidos.
  • En la demo de Pet Store, PDD Kit verificó la lógica de inicio de sesión de una aplicación Rust de 5.000 líneas, descubriendo errores existentes y probando la ausencia de fallos de inicio de sesión respecto a la especificación.
  • El flujo de trabajo incluye un mapa de intención que vincula requisitos con especificaciones formales y pruebas, proporcionando un rastro de auditoría claro sobre cómo se implementó la intención del usuario.

Por qué importa

Para ingenieros de software y líderes técnicos, PDD Kit ofrece una solución escalable a la crisis de fiabilidad planteada por el código generado por IA. A medida que los agentes producen bases de código más grandes y complejas, el costo de la revisión manual se vuelve prohibitivo, y las estrategias de prueba tradicionales dejan brechas significativas en la cobertura. Al automatizar la creación de pruebas formales, PDD Kit proporciona un nivel de garantía que las pruebas por sí solas no pueden igualar, capturando casos extremos y errores lógicos que de otra manera podrían pasar a producción. Esto cambia el rol del desarrollador de revisor línea por línea a arquitecto de alto nivel que define la intención y valida las especificaciones.

Además, este enfoque democratiza los métodos formales, que históricamente han estado reservados para sistemas críticos de nicho debido a su complejidad y costo. Al aprovechar la IA para manejar el trabajo pesado de la generación de pruebas y la escritura de especificaciones, PDD Kit hace accesibles estas técnicas rigurosas al desarrollo de aplicaciones cotidianas. Esto podría conducir a un nuevo estándar en la calidad del software, donde componentes críticos como la autenticación, las transacciones financieras y el manejo de datos se verifican rutinariamente de forma matemática, reduciendo el riesgo de bugs graves y vulnerabilidades de seguridad.

Qué puedes hacer

  • Evalúa tus procesos actuales de revisión de código para identificar cuellos de botella causados por pull requests grandes generados por IA.
  • Identifica componentes críticos en tu aplicación, como la lógica de autenticación o pagos, que se beneficiarían más de la verificación formal.
  • Explora las capacidades de Verus y otras herramientas de verificación formal para Rust para entender su potencial integración en tu flujo de trabajo.
  • Experimenta especificando requisitos claros y sin ambigüedades para los agentes de IA para reducir la probabilidad de desviación en la implementación.
  • Considera adoptar una estrategia de pruebas híbrida que combine pruebas unitarias tradicionales con pruebas basadas en propiedades para cubrir más escenarios de entrada.
  • Mantente informado sobre los desarrollos en el Desarrollo Guiado por Pruebas y herramientas como PDD Kit a medida que estén más ampliamente disponibles.
  • #ai agents
  • #formal verification
  • #rust
  • #software engineering
  • #microsoft research

Herramientas de la Tienda de Bytechap

$79

WorkBento

Suite de RR. HH. y gestión del entorno laboral impulsada por IA que puedes alojar tú mismo.

Demo en vivo

Seguir leyendo

Todos los artículos