У процесі створення складних IT-систем величезну частину часу та бюджету витрачають на пошук і виправлення помилок. Однак, як зазначає Mike Miller, директор з управління продуктами AI в AWS, справжні проблеми часто починаються не під час тестування коду, а на етапі визначення вимог. Він пояснює, що «помилка у вимозі може бути суперечностями між вимогами, які передбачають дві різні речі, неоднозначностями або прогалинами, де вимога може означати одне для одного розробника, а щось трохи інше для іншого».
Як AWS бореться з помилками на етапі вимог
Нова функція Requirements Analysis в Kiro працює у три етапи. Спочатку велика мовна модель (LLM) переписує розмиті вимоги, висловлені природною мовою, у точні та тестувані критерії. Далі цей результат трансформується у формальну математичну логіку — що AWS називає «формальним представленням». Нарешті, в роботу вступає SMT (satisfiability modulo theories) solver — це тип автоматизованого рушія розсудження. Він виконує доведення проти цієї логіки, щоб виявити суперечності, неоднозначності, невизначені поведінки та прогалини.
Сила формального розсудження
Ключова відмінність цього підходу полягає у терміні «довести». AWS наголошує: це не просто LLM, яка вказує на ймовірну проблему. Це формальний рушій розсудження, який демонструє, що жодна можлива реалізація не може одночасно задовольнити два конфліктуючі правила. Як пояснює Miller, автоматизоване розсудження дозволяє «взяти ці вимоги, подивитися на них, виявити прогалини та неоднозначності і вирішити їх заздалегідь». Аналітик Jason Andersen з Moor Insights & Strategy підкреслює, що AWS була піонером у концепції оцінки правильності моделей LLM за допомогою різноманітних алгоритмічних моделей для підвищення точності.
Нейросимволічний підхід: від інференсу до певності
Mike Miller описує нейросимволічний ШІ як поєднання нейронних мереж — статистичного механізму, що лежить в основі LLM, — із символічною логікою. Символічна логіка є математично суворою гілкою ШІ, яку десятиліттями використовували для формальної верифікації та перевірки моделей. Miller порівнює це з теоремою Піфагора: LLM може інферентувати про зв'язок між сторонами прямокутного трикутника на основі навчання, але вона може помилитися. Натомість автоматизована система розсудження використовує математичні символи, щоб довести, що цей зв'язок є істинним у *кожному* можливому прямокутному трикутнику — не як ймовірність, а як абсолютна впевненість.
Значення для української розробки
Для спільноти розробників та IT-сектору України цей підхід відкриває нові горизонти у сфері якості. Впровадження формального розсудження дозволяє мінімізувати ризики, пов'язані з нечіткими технічними завданнями (ТЗ), що є критично важливим при роботі над міжнародними проєктами. Українські open-source-контрибутори та dev.ua можуть використовувати такі інструменти для підвищення стандарту якості коду, переходячи від простого написання функціоналу до створення *доведених* рішень. Це сприяє зміцненню позицій українських компаній на глобальному ринку.
Перспективи розвитку
Поєднання швидкості LLM із математичною точністю символічної логіки є ключем до створення справді надійного програмного забезпечення. Kiro демонструє, що «швидкість без правильності означає, що ви просто швидше пишете неправильне ПЗ». Це підтверджує тренд у галузі: майбутнє ШІ — це не лише про більші моделі, а й про їхню *доказовість* та інтеграцію з класичними методами верифікації.