Проблема: от fuzz-тестов к формальным гарантиям
С развитием LLM-агентов, способных генерировать сложные программы, традиционные методы проверки (fuzzing, статический анализ) перестают быть достаточными. Они не могут охватить все граничные случаи. Формальная верификация решает эту проблему, но требует ручного написания спецификаций, что сложно и трудоемко. Авторы работы Albert Wu и коллеги предлагают автоматизировать этот процесс.
Решение: MAGS и Dafny
Новая система MAGS (Multi-agent Auto-formalization Guarantees Safety) работает как единый многоагентный фреймворк. Ключевые этапы:
- Генерация исполняемого кода LLM-агентом.
- Трансляция кода в промежуточное представление Dafny (язык верификации).
- Автоматическая формализация и «заморозка» (freeze) API и требований безопасности.
- Исправление нарушений (repair) на основе обратной связи от верификатора.
- Компиляция проверенного кода обратно в исполняемый формат.
Результаты: 100% успех на тестовых наборах
Авторы протестировали MAGS на 220 примерах из трех различных доменов. Система продемонстрировала 100% успешность в создании программ с нетривиальными гарантиями безопасности относительно заданных спецификаций.
| Домен тестирования | Количество примеров | Результат верификации |
|---|---|---|
| CUDA kernels | 100 | 100% success rate |
| Terminal scripts | 100 | 100% success rate |
| Robotic-arm tasks | 20 | 100% success rate |
Ограничения и выводы
Несмотря на успех, независимая оценка выявила проблему: если семантика, автоматически сформализованная системой, не полностью захватывает целевое поведение, возникают сбои. Это указывает на то, что точность автоформализации критически важна для надежности всей цепочки. MAGS открывает путь к созданию «безопасных по построению» агентов, способных писать критически важный код.
Источник: arXiv cs.AI ↗
