Инструменты18 июля 2026 г., 07:17 МСК🤖 Auto

Почему я не стал чинить LLM-фильтр: ложные срабатывания как норма

Разработчик GTM Wargame провел бенчмарк 8B и фронтенд-моделей: локальная модель галлюцинирует в 7.2% случаев, а строгий guardrail фронтенд-модели выдавал только ложные срабатывания, которые автор решил оставить.

Баннер новости 3870

Архитектура без компромиссов: Ground Truth Pool

Вместо того чтобы полагаться на промпт-инжиниринг или ручной контроль, автор проекта GTM Wargame внедрил системное свойство «не галлюцинировать». Ключевой элемент — Ground Truth Pool: пул строгих числовых значений (SHAP-атрибуции, результаты оптимизаторов, рыночный контекст), хранящийся в виде массива float. Перед выводом в UI консистентный чекер (ConsistencyChecker) перекрестно проверяет каждое число, сгенерированное агентами, против этого пула.

Логика проверки намеренно проста: regex-парсинг извлекает числа из текста, применяет допуски на округление, масштабирование процентов (0.12 vs 12) и нотацию «k» (176k vs 176,432.11). Любое несоответствие помечается как галлюцинация, а не исправляется автоматически.

Результаты бенчмарка: 60 симуляций

Для оценки эффективности были проведены 60 парных симуляций, сравнивающих фронтенд-API модель и локальную модель на 8 миллиардов параметров. Каждая flagged-цифра была вручную проверена против детерминированно восстановленного ground truth. Результаты показали резкий контраст:

Модель Частота галлюцинаций Характер ошибок
Локальная 8B 7.2% Реальные выдуманные числа
Frontier API 0% (реальных) 100% ложных срабатываний guardrail

Главный инсайт: guardrail, который должен был ловить галлюцинации фронтенд-модели, срабатывал в 100% случаев, но все эти срабатывания были ложноположительными. Модель выполняла корректные арифметические преобразования, которые строгий regex-чекер не мог интерпретировать как совпадение с исходным float-значением.

Почему «починка» чекера разрушила бы доверие

Первоначальный инстинкт инженера — ужесточить логику совпадений, чтобы убрать ложные срабатывания. Однако аудит показал обратное: если расширить логику match-алгоритма, чтобы он «понимал» сложные арифметические выводы модели, система начнет пропускать реальные галлюцинации. Guardrail работает как фильтр: он жертвует частью точности (false positives) ради абсолютной надежности в выявлении явных расхождений. Автор принял решение оставить ложные срабатывания, так как они сигнализируют о необходимости ручной проверки, а не о сбое системы.

Валидация самого чекера

До тестирования на реальных моделях чекер был оценен как классификатор на 75 размеченных кейсах (чистые, инжектированные с ошибками и «ловушечные» форматы). На этом этапе он показал 1.000 precision и 1.000 recall на 258 числах, что подтверждает его эффективность в контролируемых условиях, но подчеркивает разрыв между синтетическими тестами и реальной арифметикой LLM.

Источник: Towards AI pub ↗