Архитектура без компромиссов: 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 ↗
