TAG: лёгкий фреймворк от Microsoft для генерации артефактов с LLM и тестами

Исследователи из Microsoft разработали TAG (Test-Driven Agentic Artifact Generation) — лёгкий фреймворк, который повышает надёжность структурных артефактов, генерируемых большими языковыми моделями (LLM). Фреймворк основан на принципе «LLM генерирует, мы проверяем» и использует тесты для итеративног

TAG: лёгкий фреймворк от Microsoft для генерации артефактов с LLM и тестами

Исследователи из Microsoft разработали TAG (Test-Driven Agentic Artifact Generation) — лёгкий фреймворк, который повышает надёжность структурных артефактов, генерируемых большими языковыми моделями (LLM). Фреймворк основан на принципе «LLM генерирует, мы проверяем» и использует тесты для итеративного улучшения выходных данных. Это решение уже внедрено в Microsoft Sentinel и помогает создавать точные KQL-запросы, карты MITRE ATT&CK и схемы сущностей.

Почему TAG важен для генерации артефактов с LLM

Генерация структурированных артефактов — таких как запросы к базам данных, схемы сущностей или карты угроз — с помощью больших языковых моделей часто даёт впечатляющие результаты. Однако в production-средах, где каждый артефакт должен быть безупречным, полагаться только на LLM рискованно. Модели могут генерировать синтаксически неверный код, пропускать важные сущности или нарушать логику предметной области. TAG решает эту проблему, вводя системный подход к валидации: каждый сгенерированный артефакт проходит через набор тестов, и если тест не пройден, LLM получает подробное сообщение об ошибке и исправляет вывод. Этот цикл повторяется до тех пор, пока все тесты не будут пройдены, что гарантирует высокое качество.

Как работает фреймворк TAG

Фреймворк TAG включает три ключевых компонента, которые работают вместе. Первый — тестовая генерация: при неудаче теста LLM получает сообщения об ошибках с объяснением причины. Это позволяет модели понять, что именно пошло не так, и скорректировать вывод в следующей итерации. Второй компонент — два типа тестов: детерминированные и LLM-тесты. Детерминированные тесты проверяют синтаксис, соответствие схеме и перекрёстные ссылки — например, корректность синтаксиса KQL или наличие обязательных полей в JSON. LLM-тесты, в свою очередь, оценивают семантику, согласованность с намерениями пользователя и доменную корректность. Например, они могут проверить, правильно ли сопоставлены техники MITRE ATT&CK с конкретными индикаторами.

Третий ключевой атрибут — судьи на основе экспертов. LLM-тесты калибруются на основе решений экспертов, что позволяет заменить ручную проверку масштабируемыми прокси-оценщиками. Это значит, что вместо того, чтобы каждый раз привлекать эксперта для оценки артефакта, TAG использует обученные на экспертных данных модели-судьи, которые дают быструю и надёжную обратную связь. Такой подход делает фреймворк практичным для реального использования.

Какие типы тестов использует TAG для валидации артефактов?

В TAG применяются два основных типа тестов, которые вместе обеспечивают всестороннюю проверку. Детерминированные тесты — это формальные проверки, которые всегда дают однозначный результат: прошёл или не прошёл. Они проверяют синтаксис (например, корректность KQL-запроса), соответствие схеме (например, правильная структура JSON) и перекрёстные ссылки (например, ссылки на существующие сущности). LLM-тесты более гибкие: они используют другую языковую модель для оценки семантической корректности. Например, LLM-судья может определить, соответствует ли сгенерированная карта MITRE ATT&CK описанию угрозы, или проверить, правильно ли сопоставлены сущности. Эти тесты калибруются на основе решений экспертов, что повышает их точность и снижает количество ложных срабатываний.

Где уже применяется TAG: примеры из Microsoft Sentinel

TAG развёрнут в production в Microsoft Sentinel — облачной платформе для управления информационной безопасностью и событиями (SIEM). Фреймворк используется для трёх типов артефактов. Первый — генерация KQL-запросов: TAG помогает создавать запросы на языке Kusto, которые точно извлекают нужные данные из логов. Второй — картографирование MITRE ATT&CK: фреймворк автоматически сопоставляет техники и тактики атак с конкретными индикаторами, что ускоряет анализ угроз. Третий — сопоставление сущностей: TAG связывает разрозненные данные (IP-адреса, имена пользователей, хосты) в единую схему, что важно для построения графа атаки.

В каждом из этих случаев TAG показал высокую эффективность. Например, при генерации KQL-запросов фреймворк позволил снизить количество ошибок на 40% по сравнению с прямой генерацией LLM. Для карт MITRE ATT&CK точность сопоставления выросла на 35%, а для сопоставления сущностей — на 50%. Эти результаты подтверждают, что подход «тесты + итеративное улучшение» значительно повышает надёжность артефактов.

Кого затронет внедрение TAG

Разработчики, которые используют LLM для генерации структурированных данных, получат инструмент для автоматической валидации и исправления ошибок. Команды безопасности, работающие с Microsoft Sentinel, смогут быстрее создавать точные запросы и карты угроз, не тратя время на ручную проверку. Исследователи, занимающиеся надёжностью LLM, найдут в TAG пример системного подхода к оценке и улучшению выходных данных. Кроме того, фреймворк может быть адаптирован для других областей, где требуется генерация структурированных артефактов — например, для создания конфигурационных файлов, SQL-запросов или схем данных.

Что пока неизвестно о фреймворке TAG

Несмотря на впечатляющие результаты, некоторые аспекты TAG остаются нераскрытыми. Точная производительность фреймворка по сравнению с другими подходами, такими как fine-tuning или chain-of-thought prompting, пока не опубликована. Также неизвестны возможные ограничения при масштабировании на другие домены — например, на генерацию кода на Python или на создание бизнес-отчётов. Кроме того, стоимость использования LLM-тестов (как судей) может быть значительной при больших объёмах генерации. Исследователи Microsoft обещают опубликовать более подробные бенчмарки и анализ стоимости в ближайшее время.

Как TAG меняет подход к генерации артефактов

TAG представляет собой сдвиг от парадигмы «LLM генерирует, человек проверяет» к парадигме «LLM генерирует, тесты проверяют, LLM исправляет». Это делает процесс полностью автоматизированным и масштабируемым. Вместо того чтобы полагаться на удачу или тратить ресурсы на ручную валидацию, команды могут внедрить TAG и получать стабильно высокое качество. Фреймворк особенно ценен в средах, где ошибки недопустимы — например, в безопасности или финансах. Более того, подход TAG может быть использован не только для генерации артефактов, но и для других задач, требующих точности: написание документации, создание тестовых данных или генерация конфигураций.

Заключение

TAG — это лёгкий, но мощный фреймворк, который решает ключевую проблему генерации структурированных артефактов с помощью LLM: недостаточную надёжность. Используя детерминированные и LLM-тесты, а также судей на основе экспертов, TAG обеспечивает высокое качество выходных данных без ручной проверки. Уже сейчас он работает в production в Microsoft Sentinel, и его потенциал выходит далеко за рамки безопасности. Если вы используете LLM для создания структурированных данных, TAG — это инструмент, который стоит изучить.