В октябре 2025 года Deloitte вернула деньги австралийскому правительству. Компания выполнила обзор стоимостью 440 000 австралийских долларов для Департамента занятости и трудовых отношений; опубликованный отчёт содержал выдуманную цитату из решения федерального суда и ссылки на несуществующие научные работы (The Guardian, 2025). В исправленной версии было раскрыто, что при подготовке использовался GPT-4o. По последующим данным, возврат составил около 97 000 австралийских долларов — последний транш по контракту.
Важна не сумма, а одна деталь. Фальсификации не выявила ни внутренняя проверка компании, ни проверка клиента. Их обнаружил сторонний учёный, который проверил ссылки. Результат прошёл все уровни контроля, для которых был предназначен, — потому что в нём ничто не выглядело неправильным.
Вот в чём суть: не модель, которая даёт сбой, а модель, которая возвращает ответ. Попросите языковую модель просуммировать выручку по двумстам строкам — и получите ответ с правильным порядком величины, правильным символом валюты и уверенным предложением вокруг него. Что вы не получите надёжно — так это сумму. Отсутствующий ответ замечают. Неправильный ответ с хорошей осанкой отправляют совету директоров.
И осанка никогда не ломается, потому что уверенность — тоже сгенерированный текст. Модель не знает, что ошибается; внутреннего сигнала тревоги, который нужно подавлять, не существует. Предложение, утверждающее число, и само число приходят из одного места — следующего вероятного токена.
Правдоподобное — не вычисленное
Инстинкт подсказывает списать неверные числа на незрелость модели: следующая версия наверняка считает правильно. Исследования говорят, что сбой структурный, и на удивление единодушны в объяснении причин.
GPT-4, которому предложили перемножить два трёхзначных числа, дал правильный ответ в 59% случаев без подсказок; ChatGPT — в 55% (arXiv, 2023). На четырёх цифрах GPT-4 упал до 3%. На пяти — до 0%. Авторы Faith and Fate проследили механизм: трансформеры решают композиционные задачи, сопоставляя линеаризованные фрагменты виденного — поиск по шаблону, а не процедура. Обрыв происходит именно там, где шаблоны заканчиваются.
Сложение не безопаснее. Анализ 2025 года показал, что LLM складывают с помощью эвристики однозначного предпросмотра, а не алгоритма: точность рушится именно там, где переносы каскадируются более чем на один разряд, — независимо от промптинга или токенизации, а сбои предсказуемы только из структуры переносов (arXiv, 2025). Систематически, а не случайно. Модель не почти вычисляет. Она делает нечто иное, что часто совпадает с вычислением.
GSM-Symbolic от Apple закрыл оставшуюся лазейку — что, возможно, это касается только сложной арифметики (Apple, 2024). Возьмите школьные задачи и измените только числа: каждая протестированная передовая модель стала хуже. Добавьте одно правдоподобно звучащее, но нерелевантное условие — точность упала на 65%. И точность заметно варьировалась в разных экземплярах одного шаблона вопроса: одна и та же задача, переформулированная, возвращает другое распределение ответов. Последнее наблюдение объясняет проблему демо. Демо — это одна выборка из распределения. Аудит — это распределение.
Вердикт авторов — «современные LLM не способны к подлинному логическому рассуждению» — необычно прямолинеен для научной статьи. Никто его не опроверг.
Очевидные решения — под измерением
Каждая команда, столкнувшись с этим сбоем, тянется к одним и тем же четырём решениям. Каждое из них измерено.
Извлечение данных. FinanceBench задал GPT-4-Turbo 150 вопросов о публичных финансовых отчётах, снабдив его системой извлечения документов. Модель неверно ответила или отказалась отвечать на 81% из них (Patronus AI, 2023). Шестнадцать конфигураций — GPT-4-Turbo, Llama 2, Claude 2, векторные хранилища, длинный контекст — показали слабые места в 2 400 проверенных вручную ответах, а модели галлюцинировали цифры всякий раз, когда нужные страницы с доказательствами не были поданы идеально. Извлечение находит документ. Модель всё равно искажает число.
Заземление. BBC предоставила ChatGPT, Copilot, Gemini и Perplexity прямой доступ к собственным статьям и задала вопросы о новостях. 51% ответов имели существенные проблемы; 91% — хотя бы некоторые. 19% ответов, ссылавшихся на материалы BBC, содержали фактические ошибки — неверные утверждения, неверные числа, неверные даты — а 13% цитат, приписанных статьям BBC, были изменены или никогда не существовали (BBC, 2025). Источник был под рукой. Числа всё равно искажались.
Более умная модель. Собственная системная карта OpenAI фиксирует галлюцинации o3 на 33% промптов PersonQA и o4-mini на 48% — против 16% у более старой o1 (OpenAI, 2025). По собственным измерениям вендора, новые reasoning-модели галлюцинируют в два-три раза чаще предшественника. o3 просто делает больше утверждений — больше верных и больше выдуманных, с той же температурой уверенности.
Лучший промптинг. Пошаговый scratchpad-промптинг поднимает точность GPT-4 при умножении трёхзначных чисел с 59% до 92% (arXiv, 2023). Лучше — и всё равно один неверный результат из двенадцати. Даже исчерпывающая дообучение GPT-3 на четырёхзначном умножении давала около 40% на новых четырёхзначных задачах и 0% на пятизначных. Потолок — в механизме, а не в промпте.
Каждое решение улучшает шансы. Ни одно не меняет того, кто выполняет арифметику. Ответ по-прежнему сэмплируется из распределения правдоподобных чисел, и ровно один элемент этого распределения является суммой.
Измените того, кто считает
Структурный ответ — разделение труда, проведённое точно по линии компетентности. Языковые модели превосходны в языке и ненадёжны в бухгалтерии, поэтому модель никогда не должна быть тем, кто вычисляет.
SQAI построен на этом разделении. Модель создаёт типизированное намерение — sum amount where region = "east" — а детерминистский движок исполняет его как скомпилированный код: проверенный по контракту с хешем, сверенный с политикой, вычисленный в float64 в одном потоке, возвращённый с провенансом.
{
"status": "ok",
"value": 2130.5,
"rows_matched": 5
}
Это 2130.5 — не вероятный токен. Это сумма, полученная детерминистским ядром из поверхности 4 574 доступных только для чтения возможностей в 445 модулях — 4 564 из них полностью детерминированы — с ответом за 0,83–0,93 мс в прогретом состоянии.
Детерминированный означает проверяемый. finance.npv(0.1, [-1000, 300, 420, 560, 680]) возвращает 505.020148896933 с хешем вычисления b74f67d0… — одно и то же значение и один и тот же хеш независимо от того, выполняется ли вызов из TypeScript или Python, поскольку результаты хешируются по единой канонической JSON-форме. Утверждение сформулировано честно: детерминированность в пределах объявленной области исполнения, с конвертом, фиксирующим версию среды выполнения, платформу, режим точности и количество потоков — без избыточных претензий. Ответ модели на тот же промпт не может гарантировать совпадение с собой при следующем запуске. Этот воспроизводится побайтово, месяцы спустя, на любом из языков.
Есть вторая утечка, которую большинство стеков оставляет открытой. Подключите вычислительный движок, а затем влейте сырые строки запроса в контекст «для суммаризации» — и модель тихо переосмыслит и переизобретёт числа из строк. SQAI рассматривает контекст как управляемую границу: не более 25 строк, 250 ячеек и 32 000 байт когда-либо достигают модели, за стандартным лимитом в 100 строк и жёстким потолком исполнения в 1 000. Усечение всегда объявляется, поэтому модель не может честно утверждать, что просуммировала увиденное. Частичные строки никогда не показываются, чтобы ни одна неполная запись не соблазнила её на домысливание. Агрегаты вычисляются до границы. Модель получает ответ, а не домашнее задание.
И политика — не промпт. Разрешённые источники, поля и функции фиксируются в коде при вызове createSQAI() и проверяются внутри процесса до исполнения; входные данные инструмента модели не содержат никаких полей политики, поэтому расширять нечего. Запрос возможности за пределами политики не порождает творческого обходного пути — он порождает policy_denied_function. Аргумент тот же, что и в пользу запрета агентам писать SQL: не управляйте сгенерированным текстом инструкциями по принципу наилучших усилий; управляйте исполнением с помощью списков разрешений, которых текст не может коснуться.
Кто считал?
В следующий раз, когда AI-система вручит вам цифру выручки, один вопрос разделит все архитектуры на рынке: кто выполнял арифметику?
Если ответ — «модель», у вас на руках число с отличной осанкой и неизвестным происхождением, а единственный путь верификации — человек, который переделывает работу заново: именно то, что вы пытались автоматизировать. Фальсификации Deloitte были обнаружены потому, что один учёный за пределами процесса решил проверить. Это не контроль. Это удача.
Если ответ — «детерминистский движок, и вот хеш», верификация — это воспроизведение: то же намерение, тот же движок, те же байты. Сбой становится тоньше — и тише — когда неверное число приходит из разветвлённого соединения, а не из неверного сложения, но это отдельная история. Дисциплина умещается в одном предложении: модель пишет вопрос, но никогда — ответ.
Неверная цифра выручки не объявляет о себе. Она приходит отформатированной, со ссылками и уверенно — и при пяти цифрах умножения никогда не бывает правильной. Постройте конвейер так, чтобы она не могла попасть внутрь.