LLMCaseLLMCase
Новости Внедрение ИИ

Эталонные ответы для проверки нейросети составлял другой ИИ — и ошибся в 77 раз

Коротко

Ошибку поймал только здравый смысл: по той же логике в одной из стран активных партнёров вышло ноль при нескольких тысячах пользователей. Причина в том, что смысл полей жил в коде приложения, а не в базе. Одну из ошибок эталона нашла сама проверяемая модель. Весь эксперимент обошёлся в 245 рублей.

Финтех с миллионом с лишним пользователей в шести странах решил подключить нейросеть к своей базе, чтобы аналитики могли задавать вопросы обычным языком. База непростая: 253 таблицы, 3550 колонок и ровно три комментария к схеме на всё это хозяйство. Смысл полей живёт не в базе, а в коде приложения.

Сравнивали три способа. Первый — дать модели инструменты, чтобы она сама исследовала схему. Второй — сначала показать ей каталог таблиц и попросить выбрать нужные, потом отдать их описание. Третий, на вид самый расточительный, — просто класть всю схему целиком, почти 59 тысяч токенов, в каждый запрос.

Результаты на наборе из 29 реальных вопросов аналитиков, по три попытки на каждый:

13,8% / 104 сек / 4,76 ₽
агент исследует схему сам
31,0% / 43 сек / 0,39 ₽
сначала выбрать таблицы
24,1% / 22 сек / 3,30 ₽
вся схема в каждый запрос

Это доля попаданий с первой попытки, медианная задержка и цена одного вопроса. С трёх попыток картина другая: 37,9%, 55,2% и 58,6% соответственно. В продакшен взяли третий, самый прямолинейный вариант — он не хуже по точности, вдвое быстрее и состоит из одной ступени, а не из двух.

Но главное в этой истории не таблица. Главное — кто ошибался.

Эталонные ответы, с которыми сравнивали работу модели, составлял не человек. Живого аналитика в проекте не было, и роль составителя взял на себя другой ИИ-агент. Он ошибся трижды, и все три раза одинаково: додумал смысл поля по его названию, не заглянув в код.

Самая крупная ошибка. На вопрос «сколько активных партнёров» составитель посчитал по колонке с названием, похожим на статус, и получил 432. Перекрёстная проверка вторым запросом ошибку пропустила — оба запроса честно считали одно и то же неверное множество. Поймал случай: по той же логике в одной из стран активных партнёров вышло ноль при нескольких тысячах пользователей. Полезли в код — оказалось, что колонка означает совсем другое, а роль партнёра лежит в отдельной таблице. Правильный ответ — 33 434. Ошибка в 77 раз, со статусом «подтверждено» после перекрёстной проверки.

Ещё одну ошибку эталона нашла сама проверяемая модель: она выдала фильтр, которого в эталоне не было, проверка по коду показала, что права модель, а эталон считал лишнее.

Вывод автора: «Перекрёстная проверка ловит ошибки в запросах, но не ошибки понимания предметной области».

Три вопроса из восьми провалившихся не взяла ни одна из трёх схем — по той же причине: смысл поля физически отсутствует в базе, он задан в коде приложения. И отдельный тест «признайся, что данных нет» все три способа провалили: на пустых колонках все уверенно выдали работающий запрос.

Про деньги: весь эксперимент, все три ветки, обошёлся в 245 рублей. Автор честно оговаривает границы: одна база, одна модель, 29 вопросов, по одному прогону на ветку, и разницу между вторым и третьим способом он сам называет шумом.

Источник: Хабр
AI-разбор за 30 секунд
Сверим вашу нишу с внедрениями ИИ в похожие компании и покажем, где утекают заявки — за 30 секунд.
Пройти AI-разбор →
Дмитрий Кайгородов

Основатель LLMCase, делаю AI-driven маркетинг для B2B SaaS и EdTech. Подробнее об авторе →