Я собрал робота, который каждое утро читает условия по кредитам у 12 банков. Вот что он нашёл за неделю и как устроен
Банки меняют условия по кредитным картам и кредитам чаще, чем кажется, и почти никогда не объявляют об этом. Число на витрине остаётся, а смысл под ним меняется. Я работаю в розничных кредитных рисках, с языковыми моделями познакомился пару недель назад и собрал себе робота, который каждое утро сравнивает страницы условий 12 банков со вчерашними и пишет, что изменилось. Он оказался полезнее, чем я думал, и теперь это публичный канал и сайт.
Три находки за первую неделю
Льготный период стал двухступенчатым. Газпромбанк с 10 сентября записал в название тарифа: «приветственный до 120 дней, далее до 60». На странице условий по-прежнему крупно стоит «до 120 дней». Клиент видит одно число, а со второго цикла платит по другому. Сколько это стоит: при ставке 59,99 % те же 100 000 ₽ долга на 120 дней в первом цикле обходятся в ноль, во втором примерно в 9,9 тыс. ₽. Одинаковое поведение, разная цена. Сравнивать карты теперь надо двумя вопросами: сколько дней и в каком цикле.
Ставка исчезла со страницы. Сбербанк убрал с описания кредитной карты условие о ставке 9,8 %, новое значение не указано. Не «повысил», а именно убрал: витрина стала тише, а не дороже. Такие вещи глазами не ловятся, потому что нечего читать, а робот ловит, потому что сравнивает вчера и сегодня.
Рейтинг обслуживания не предсказывает потери. Я проверил на семи банках, связан ли сервисный рейтинг с публичной стоимостью риска. Статистически значимой связи нет. Это мелкий результат, но я до этого считал обратное очевидным, и в презентациях так и писал.
Как устроен, коротко
Это не «нейросеть, которая всё делает сама». Маршрут задан кодом, языковая модель включается в четырёх точках и ни в одной не решает, что делать дальше:
1. Код обходит 34 страницы условий и тарифных документов, сравнивает с вчерашним снимком и собирает список изменений: банк, продукт, параметр, было, стало.
2. Модель переписывает эти строки по-человечески. Добавить число, которого нет во входе, она не может, это проверяется после.
3. Если изменился ценовой параметр, модель пишет короткий разбор с расчётом. Не чаще трёх раз в неделю.
4. Разбор читают три проверяющих роли (факты, методология, риски), потом одна доработка и ворота перед публикацией. Перед выходом у меня есть 15 минут остановить выпуск командой в мессенджере.
Что проверяет код, а не вера: каждая цитата ищется дословно в сохранённом тексте источника, ненайденная удаляется; числа в сводке должны совпадать с данными дня; у каждой строки ссылка на источник; статистику по графикам считает код, модели запрещено писать коэффициенты самой. Каждый выпуск оценивается по 14 бинарным проверкам, результат публикуется на сайте.
Сколько стоит
День со сводкой около 0,03 $, день с разбором на старшей модели около 0,7 $. Сервер около 300 ₽ в месяц. Это дешевле одной подписки на любой платный мониторинг, при том что смотрит он ровно на то, что мне нужно.
Что можно повторить за вечер
Если у вас есть три-пять страниц, за которыми вы следите руками (условия конкурентов, тарифы, регламенты), схема повторяется за вечер: сохранять текст страницы раз в день, сравнивать со вчерашним, отфильтровать даты и счётчики, а модель звать только как редактора для готовых строк. Самое важное решение не в промпте, а в том, что модель не генерирует факты, а переписывает те, что нашёл код.
Что дальше
Единица наблюдения пока строка текста, а нужна таблица параметров: ставка, ПСК, льготный период, платёж по банку и продукту. Тогда новость это изменение ячейки, разбор становится короче и точнее. И еженедельная картинка «цена денег по рынку», которая для читателя-руководителя ценнее любой ежедневной сводки.
Канал: t.me/rcradar.
Все выпуски: ageev.dev/credit-radar.
Техническая версия этой истории, с инженерными подробностями и evals, выйдет на Хабре.