Как сервер проверяет каждую цифру в ответе нейросети
В нашем AI-ассистенте деньги считает сервер, по формуле. Но текст ответа пишет нейросеть: она берёт цифры из расчёта сервера и переписывает их в свой текст. Поэтому, прежде чем показать ответ руководителю, сервер сверяет каждую цифру в тексте с тем, что посчитал.
В первой статье я рассказывал, почему запретил нейросети считать деньги. Во второй — как договориться, что считать выручкой. Эта статья — про последний шаг: как сделать, чтобы до руководителя дошла та самая цифра, которую посчитал сервер.
Кто что делает в ответе
Коротко напомню, как ассистент отвечает на вопрос:
- Руководитель задаёт вопрос обычными словами.
- Нейросеть получает вопрос уже обезличенным, понимает его и выбирает нужный расчёт. Доступа к базе у неё нет.
- Сервер проверяет запрос и считает. Нейросети он отдаёт короткий результат, тоже обезличенный: вместо имён сотрудников — псевдонимы, вместо клиентов — условные метки, телефоны и почта скрыты.
- Нейросеть пишет по этому результату ответ своими словами.
- Сервер проверяет цифры в тексте и только потом подставляет настоящие имена, а если их просили — таблицы, графики и Excel.
Слабое место — четвёртый шаг. Расчёт сделан по формуле, но цифру в текст переносит нейросеть.
В её инструкциях прямо написано: цифры брать только из результатов сервера, самой не считать. Но правило для нейросети — это просьба, а не гарантия.
Как работает проверка
Когда нейросеть написала текст, сервер сверяет каждую цифру в нём с результатами расчёта. Исходов три:
- Все цифры совпали — ответ уходит руководителю.
- Есть расхождение — ответ возвращается нейросети на переделку. Один раз.
- После переделки снова не сошлось — сервер собирает ответ сам, прямо из данных расчёта.
Каждый исход записывается в лог сервера. Руководитель этого не видит: ему приходит либо проверенный текст, либо ответ сервера.
Сверка идёт по обезличенному тексту. Настоящие имена сервер подставляет только после неё, вместе с таблицами, графиками и Excel — их нейросеть вообще не пересказывает.
Саму проверку тоже проверяют автотесты при каждом обновлении ассистента. Они же перехватывают всё, что уходит в нейросеть, и следят, чтобы имён и контактов там не было.
Цифра из текста доходит до руководителя, только если совпала с расчётом: с первой попытки или после переделки. Иначе отвечает сам сервер.
Что проверка не ловит
Проверка ловит только цифры. Три вещи она не видит:
- Период. Сервер передаёт период в каждом результате, и нейросеть по правилу пишет его в ответе. Но есть ли период в тексте и тот ли он, сервер не проверяет.
- Пометки о полноте. Если данных за часть периода нет, нейросеть по правилу должна так и сказать. Это тоже правило, а не проверка.
- Утверждения без цифр. Нейросеть иногда добавляет утверждения, которых нет в данных. Если в них нет цифр, проверка их пропустит.
В Excel период, фильтры и пометки о полноте есть всегда: сервер пишет их на отдельный лист. В тексте ответа это держится на правилах для нейросети. Это честная граница, и я её не прячу.
Что взять себе
Если вы подключаете нейросеть к данным своей компании, вот что я бы сделал сразу:
- Не давайте нейросети считать. Пусть считает система, которой вы доверяете: база, отчёт, скрипт. Нейросеть — переводчик между вопросом и расчётом.
- Проверяйте ответ, а не надейтесь на нейросеть. Каждая цифра в тексте должна совпасть с расчётом. Правило в инструкции этого не гарантирует.
- Решите заранее, что делать при расхождении. У нас это одна переделка, потом ответ по данным. Без бесконечного «попробуй ещё раз».
- Таблицы и файлы отдавайте из расчёта напрямую. Чем меньше пересказа, тем меньше мест для ошибки.
- Запишите, что проверка не ловит. Тогда никто не будет думать, что проверено всё.
Итог
Нейросеть нужна, чтобы понять вопрос и ответить понятным языком. Но цифра, которую видит руководитель, должна совпасть с расчётом. Это проверяет не нейросеть, а сервер — каждую цифру, в каждом ответе.