Bend: мова, що математично доводить відсутність багів у AI-коді
Нова мова програмування Bend формально верифікує згенерований ШІ код на GPU, гарантуючи відсутність цілого класу помилок ще до запуску.
Мова програмування Bend перевіряє код, який згенерував штучний інтелект, і математично доводить, що в ньому немає цілого класу помилок ще до запуску. Не тестує на прикладах — доводить. Різниця та сама, що між "ми прогнали тисячу перевірок і збоїв не було" і "збій тут неможливий за побудовою".
Bend компілюється і на CPU, і на GPU, тобто важкі перевірки можна розпаралелити на відеокарту. Це не деталь для гіків: формальна верифікація історично впиралася саме в те, що доведення властивостей великого коду займає години. Якщо частину роботи бере на себе GPU, поріг входу для реальних проєктів падає.
Чому "працює в тестах" — це не "працює"
Тест перевіряє поведінку програми на конкретних вхідних даних. Ви подали десять сценаріїв — переконалися в десяти. Одинадцятий, якого ніхто не передбачив, і є тим, через який падає банківський переказ або спрацьовує не та команда в системі керування.
Формальний доказ працює інакше. Він стверджує властивість для усіх можливих входів одразу. "Ця функція ніколи не звернеться до пам'яті за межами масиву" — не для перевірених випадків, а взагалі. Саме переповнення буфера — той heap overflow, через який на цьому ж тижні зламали внутрішні репозиторії OpenAI — це помилка, яку формальна система типів здатна відсікти на етапі компіляції.
Тепер додайте сюди генеративний ШІ. Він пише правдоподібний код швидко й упевнено, включно з правдоподібними помилками. Людина проглядає, киває, комітить. Bend змінює саму процедуру: код від ШІ не проходить компіляцію, поки не доведено його коректність за заданими правилами. Модель може помилятися скільки завгодно — до продакшену помилка не дійде.
Де це критично саме для України
Оборонне ПЗ і фінансові системи — дві сфери, де ціна одного невідсіяного багу вимірюється не грошима компанії, а життями чи блокуванням критичної інфраструктури під час атаки. У таких системах "ми не встигли протестувати цей стан" — неприйнятна відповідь.
Формальні методи тут не новина. Їх десятиліттями застосовують в авіоніці, ядерній енергетиці, залізничній автоматиці — усюди, де відмова недопустима. Нове те, що вони перестають бути привілеєм лабораторій із командою математиків. Мова, яку можна поставити й запустити на власній машині з GPU, зсуває це в бік звичайної інженерії.
Для державного сектору висновок прямий. Якщо частина коду для оборонки чи держреєстрів дедалі частіше пишеться за допомогою ШІ — а вона пишеться — то потрібен механізм, який не довіряє генератору на слово. Ручний код-рев'ю з цим об'ємом не впорається.
Як перевірити, а не повірити
Не купуйте ідею на віру — цьому й присвячений увесь підхід. Порядок дій для команди:
- Візьміть один вузол, де помилка коштує дорого: валідація фінансової транзакції, парсинг зовнішнього формату, робота з масивами в модулі, що приймає дані ззовні.
- Опишіть на Bend властивість, яку код зобов'язаний тримати — межі індексів, коректність результату, відсутність звернень до неініціалізованої пам'яті.
- Дайте ШІ згенерувати реалізацію й перевірте, чи проходить вона доказ. Свідомо внесіть баг і подивіться, чи компілятор його зловить.
- Заміряйте час верифікації на CPU і на GPU — від цієї цифри залежить, чи потягне підхід ваш реальний обсяг коду.
Тестування показує наявність помилок. Доказ показує їхню відсутність. Для коду, від якого залежить оборона й гроші, це різні професії — і Bend переносить другу з академічної статті в командний термінал.
- Hacker News: Hister: A private search engine for the pages you visit and the files you keep
- Hacker News: Astra for Law
- Hacker News: Bend – A language that blocks AI mistakes via proof, on CPU and GPU
- Hacker News: Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint
- Hacker News: How GLM built its own inference infrastructure
- Hacker News: A heap overflow and SSO misconfiguration to compromise OpenAI internal repos
Щодня — головне про Україну, спокійна аналітика та наука і техніка простою мовою.
Підписатися в Telegram →