TGViewer
Искусство. Код... ИИ? Искусство. Код... ИИ? @art_code_ai · 706 subscribers
Post #88 595
😁Kiro: LLM + SMT для проверки спецификаций

AWS добавила в свою SDD-based IDE Kiro любопытную функцию анализа требований — инструмент, который математически, с помощью SMT-солвера, доказывает отсутствие противоречий и пробелов в спецификациях до начала генерации кода.

Работает это так:

1. Уточнение требований

LLM перерабатывает размытые требования на естественном языке в тестируемые критерии в нотации EARS. На этом этапе устраняется «язык реализации», выявляются пропущенные сценарии ошибок и противоречия.

2. Авто-формализация (LLM + семантическая энтропия)

Уточнённые критерии переводятся в формальную логику — язык утверждений SMT-lib для SMT-солвера. Ключевой механизм здесь — семантическая энтропия: LLM генерирует несколько семплов формализации одного и того же критерия, которые кластеризуются по логической эквивалентности и проходят энтропийную оценку:

• низкая энтропия — принимается интерпретация большинства;

• средняя энтропия — пользователю выдаётся уточняющий вопрос с двумя расходящимися трактовками;

• высокая энтропия — формализация отбрасывается, критерий требует переформулировки.

Механизм эвристики «измерения двусмысленности», на мой взгляд — является главной технической находкой, отличающей подход AWS от тупого прогона через LLM. И, если подумать, может быть применен отнюдь не только для анализа спецификаций (собственно, и в самой статье упоминается, что весь подход изначально уже использовался у них в гардрейлах и для политик харнесса).

3. Логический анализ (SMT-солвер)

Формализованные критерии подаются в SMT-солвер. Он решает две задачи:

• непротиворечивость: существует ли ситуация, в которой два правила требуют несовместимых результатов? Солвер находит минимальные противоречащие наборы правил;

• полнота: существует ли достижимое состояние, для которого не определено поведение?

Из формальной модели автоматически генерируются примеры accepted- и rejected-scenario. LLM-судья проверяет их на наличие расхождений — соответствие исходному пользовательскому замыслу, и при их наличии выносит вопрос разработчику в формате бинарного выбора (условно: «оставить как есть» или «изменить»).

Утверждается, что во внутреннем тестировании на 35 проектах Kiro с >1400 критериями приёмки ≈60% черновых требований нуждались в доработке. SMT-солвер выявил проблемы, которые при ручном рецензировании были пропущены.

В статье не раскрывается, какой именно солвер они используют, но в других упомянутых выше технологиях AWS применяется Zelkova — ансамблевый подход, включающий, и Z3 с автоматными расширениями, и обе версии CVC (почитать об этом можно здесь).

Подход выглядит весьма интересным, поскольку, в отличие от распространённого «проверим выход одной LLM, подав всё на вход другой», AWS здесь применяет то, что сейчас модно называть нейросимволическим пайплайном: LLM отвечает за интерпретацию естественного языка, а за доказательную проверку — детерминированный формальный движок.

Получается, надо тестить 🙂

#ИИ_инструменты
  • 👍 8
  • ❤ 4
  • 🔥 3
  • 💯 2
More from @art_code_ai
  1. Sep 29, 2026Объяснили с Раддой Юрьевой на Хабре, почему смешивать формальные и ИИшные подходы в задача…
  2. Sep 27, 2026🔗 Старый добрый аппсек, часть 2 Продолжаем вспоминать ключевые вехи аппсека и смежных обл…
  3. Sep 26, 2026Post #155
  4. Sep 24, 2026🔗 Старый добрый аппсек, часть 1 ...совершенно незаслуженно задвинутый на второй план ИИ-х…
  5. Sep 23, 2026Post #153
  6. Sep 21, 2026👨‍💻 Продуктивные выходные Как-то незаметно (и неожиданно) для себя с удовольствием провё…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →