Проблема масштабируемости AI-кода
Современные AI-агенты способны генерировать десятки тысяч строк кода за один сеанс, что делает традиционный построчный ревью неэффективным. Стандартные тесты часто проверяют только то, что реализовал агент, а не то, что требовал разработчик, создавая ложное чувство безопасности. Microsoft Research предлагает парадигму Proof-Driven Development (PDD), где план действий становится контрактом, а математическая доказательность заменяет эмпирические тесты для критических участков.
Как работает PDD Kit
Интегрированный в среду планирования Chopin (GitHub Next), PDD Kit переводит намерения разработчика на естественном языке в формальные спецификации. Инструмент использует верификатор Verus (разработан совместно с CMU, VMware, ETH Zurich и другими) для доказательства корректности кода Rust для всех возможных входных данных. Там, где формальное доказательство невозможно (например, для UI или сторонних библиотек), система генерирует эмпирические тесты, четко разделяя зоны «доказанной» и «проверенной» надежности.
Кейс: Pet Store на Rust
Для демонстрации возможностей команда Microsoft создала полнофункциональное веб-приложение Pet Store на стеке Rust (Axum, SQLite, Leptos/WASM). Приложение содержит около 5 000 строк кода. Фокус верификации был сделан на логике аутентификации, так как ошибки здесь несут максимальные риски безопасности. Разработчик сформулировал задачу всего двумя предложениями, а PDD Kit самостоятельно сгенерировал вопросы для уточнения требований и формализовал их.
Результаты и метрики
Использование PDD Kit позволило:
- Обнаружить и исправить существующие баги в логике входа до развертывания.
- Доказать отсутствие уязвимостей в логике аутентификации относительно заданной спецификации.
- Исключить необходимость построчного ревью сгенерированного кода, оставив разработчику только проверку намерений (intent).
| Тип верификации | Инструмент/Метод | Что проверяет | Уровень гарантии |
|---|---|---|---|
| Формальная верификация | Verus (Rust) | Критическая бизнес-логика (например, токены доступа) | Математическое доказательство для всех входов |
| Эмпирическая верификация | Unit/E2E тесты, Browser Agents | UI, сторонние библиотеки, криптография | Доказательство на тестовых наборах данных |
Значение для индустрии
PDD Kit знаменует переход формальных методов из разряда нишевых академических задач в повседневную разработку. Снижая порог входа для инженеров, не имеющих опыта в формальных методах, Microsoft показывает, что AI-агенты могут не только писать код, но и помогать создавать математически строгие спецификации, закрывая разрыв между «хотелкой» и «реализацией».
Источник: Microsoft Research ↗
