Русский
Русский
English
Статистика
Реклама

Мошенники позвонили моему ИИ-деду. Он продержал их 31 минуту и записал всё

Три недели назад мне позвонила мама. Не привет, как дела, а сразу: Сынок, тут из банка звонили, говорят, с моей карты пытаются снять деньги.

У меня похолодело внутри. Не потому что поверил. А потому что понял: они дозвонились. Опять.

Я работаю с ML-системами шестой год. Строю пайплайны, оптимизирую инференс, вот это всё. И в тот момент, вешая трубку после того, как полчаса объяснял маме, что сотрудник Сбербанка не будет просить коды из SMS, я понял хватит.

Да, можно блокировать номера. Но они звонят с новых. Можно поставить определитель спама помогает, но через раз. Можно объяснять родственникам объяснял сто раз, через неделю забывают. Мама вот снова чуть не повелась.

Пора сделать то, что я откладывал месяцами.


Чего я хотел добиться (и чего нет)

Давайте сразу: я не планировал победить телефонное мошенничество. Я инженер, который постит в тг, и пишет отчеты своих экспериментов, но никак не супергерой. Моя цель была проще, но злее.

Сжечь время мошенника.

Логика такая. Колл-центр это бизнес. У них есть конверсия, есть стоимость оператора, есть план на день. Если я заставлю одного оператора висеть на линии полчаса с нулевым результатом это полчаса, которые он не потратит на мою маму. Или на чью-то бабушку. Или на одинокого деда, который вот-вот продиктует код из SMS.

Прикинул экономику. По разным оценкам, оператор мошеннического колл-центра получает от 30 до 80 тысяч рублей в месяц. Допустим, 50 тысяч. При 22 рабочих днях и 8-часовом дне это примерно 280 рублей в час, или 4.7 рубля в минуту. Мой 31-минутный звонок стоил им около 145 рублей прямых расходов. Плюс упущенная выгода: за это время оператор мог бы обработать 5-6 коротких звонков.

Решение созрело само: нужен голосовой агент. Но не обычный не ассистент и не бот техподдержки.

Мне нужен был профессиональный пожиратель времени.


Знакомьтесь: Геннадий Петрович, 78 лет

Здесь начинается самое интересное. Потому что заставить ИИ тупить это отдельное искусство.

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

Я убил три дня на промпт-инжиниринг. Для тех, кто не в теме: это когда ты пишешь для ИИ подробную инструкцию кем притворяться и как себя вести. Для тех, кто в теме: системный промпт на ~2000 токенов с ролью, few-shot примерами и жёсткими ограничениями.

Пробовал разные подходы. Первая версия была слишком умной Геннадий задавал логичные уточняющие вопросы, и мошенники быстро понимали, что что-то не так. Вторая версия была слишком тупой односложные ответы, мошенники бросали трубку через минуту. Третья версия попала в точку.

Хороший скамбейт работает не потому что умный. А потому что проблемный.

Вот какие приёмы я заложил в поведение Геннадия:

Путаница в цифрах. Когда мошенник просит номер карты Геннадий начинает диктовать. Но это не номер карты. Это серия паспорта СССР. Или номер партийного билета. Или домашний телефон сватьи Клавы.

Как это работает: в инструкции для ИИ написано при запросе числовых данных диктуй цифры, но прерывайся каждые 3-4 цифры и вспоминай, откуда они. Плюс список ложных источников: партбилет, военный билет, старый паспорт, номер дома, индекс. ИИ случайно выбирает, что он диктует.

Мошенник получает цифры. Он думает, что близок к цели. И слушает дальше.

Слова-триггеры. Я составил список слов: деньги, перевод, карта, код, срочно, безопасность. Как только Геннадий слышит любое из них он уходит в воспоминания.

Деньги? Да, с деньгами сейчас плохо. Вот молоко раньше 28 копеек стоило, а сейчас знаешь сколько? В сельпо ходил на прошлой неделе, дак там... И понеслось. Пять минут про молоко. Мошенник ждёт, потому что дед вроде как согласился помочь.

Паузы с фоновыми звуками. Это, возможно, самая недооценённая штука. Геннадий периодически уходит за чем-нибудь:

  • Ой, милок, погоди, очки протру... пауза 15-30 секунд

  • Сейчас-сейчас, телевизор сделаю потише... фоновый звук ТВ, потом тишина

  • Подожди, кот орёт, пойду гляну... шаги, шуршание, пауза 30-45 секунд

  • Карточка в комоде была, сейчас схожу... шаги, звук ящиков, пауза до минуты

Я собрал библиотеку из 47 бытовых звуков: шаги, шуршание бумаги, телевизор (новости, сериал), мяуканье кота, скрип двери, звон посуды. Они проигрываются во время пауз в случайном порядке.

Мошенник висит на линии. Ждёт. Минута за минутой.

Бесконечная почти готовность. Психологический крючок. Геннадий никогда не говорит нет. Он всегда сейчас-сейчас.

В инструкции жёсткое правило: НИКОГДА не отказывай напрямую. Ты ХОЧЕШЬ помочь, просто у тебя не получается прямо сейчас.

Карта? Сейчас найду, куда-то положил. Код? Погоди, SMS не вижу, буквы мелкие. Паспорт? Был в шкафу, а может в серванте... Мошенник чувствует: ещё немного, и он получит данные. И остаётся на линии.

Эмоциональные качели. Геннадий периодически пугается: Ой, а точно всё хорошо будет? А то я боюсь, вдруг деньги пропадут.... Мошенник вынужден успокаивать, объяснять, убеждать. Это дополнительные минуты.


Как это устроено технически

Ладно, хватит психологии. Теперь как оно работает под капотом. Буду объяснять простым языком, но для гиков оставлю детали.

Задача: мошенник звонит на телефон, а ему отвечает ИИ голосом деда. В реальном времени, без заметных задержек.

Для этого нужны четыре компонента:

1. Определитель речи (VAD Voice Activity Detection)

Штука, которая понимает: человек говорит или молчит. Обычно в голосовых ботах VAD нужен, чтобы не перебивать собеседника система вежливо ждёт паузу и только потом отвечает. Но настоящий дед так не делает. Настоящий дед влезает посреди фразы с ась?, переспрашивает, бормочет невпопад.

Поэтому я настроил VAD в два режима. Основной классический: ждём полсекунды тишины, потом отвечаем. Но с вероятностью ~20% Геннадий перебивает: не дожидаясь паузы, вставляет короткую реплику а?, чего?, погоди-погоди. Это раздражает мошенника, сбивает его скрипт и добавляет реалистичности. Живой человек не ждёт идеальной тишины, чтобы заговорить.

Использую Silero-VAD лёгкая модель, работает на процессоре, не требует видеокарты. Задержка около 20 миллисекунд.

2. Распознавание речи (STT Speech-to-Text)

Мошенник что-то сказал нужно превратить звук в текст. Для этого Whisper от OpenAI. Одна из лучших моделей для распознавания русской речи, при этом открытая и бесплатная.

Важный момент: телефонный звук это не студийная запись. Шумы, сжатие, хрипы. Whisper справляется, но иногда путает похожие слова. Поэтому я добавил initial_prompt подсказку с ключевыми словами контекста: банк, карта, код, перевод. Помогает.

3. Мозг (LLM Large Language Model)

Получив текст, система должна придумать ответ. За это отвечает языковая модель. Это та же технология, что стоит за ChatGPT, только модель открытая, бесплатная и крутится у меня на сервере.

На момент запуска я остановился на Llama-3 70B. Тестировал несколько вариантов Llama, Mistral, DeepSeek на трёх задачах:

  • Не выходить из образа деда

  • Придумывать правдоподобные отмазки

  • Не сдаваться под давлением

Llama-3 70B победила. Особенно в устойчивости: когда я в тестах орал и требовал немедленно назвать номер, модель оставалась в образе и продолжала тупить. В будущем буду обновлять выходят новые версии, и для такой задачи может хватить модели поменьше.

4. Синтез голоса (TTS Text-to-Speech)

Ответ готов в виде текста. Теперь нужно превратить его в голос. Использую Piper быстрый синтезатор, который работает локально. Не идеальный выбор для русского (Silero TTS, вероятно, лучше), но у Piper низкая задержка, а для телефонного качества хватает.

Голос должен звучать как у деда, а не как у робота. Поэтому я добавил постобработку:

  • Замедление на 15% (старики говорят медленнее)

  • Лёгкий тремор (дрожание голоса)

  • Небольшая хрипотца

  • Фильтр телефонного звука (срезает высокие и низкие частоты bandpass 3003400 Гц)

Результат голос звучит натурально. Я давал послушать знакомым, никто не заподозрил синтез.

Собираем вместе

Весь процесс выглядит так:

Мошенник говорит

Определитель речи ждёт паузу (20мс)

Распознавание речи: звук текст (400мс)

Языковая модель придумывает ответ (500мс)

Синтез голоса: текст звук (150мс)

Геннадий отвечает

Общая задержка: примерно 1.1 секунды от конца фразы мошенника до начала ответа. Для пожилого человека, который соображает медленно идеально. Настоящие деды отвечают так же или медленнее.

Железо

Всё крутится на моём собственном сервере он жужжит в углу комнаты, я давно собрал его для ML-экспериментов. Характеристики:

  • GPU: RTX 4090 24GB

  • CPU: AMD Ryzen, 16 ядер

  • RAM: 64GB

Llama-3 70B в полном виде на 24 гигабайта видеопамяти не влезает. Поэтому квантизация: модель сжимается до 4 бит (GPTQ/AWQ), теряя немного качества, но помещаясь в память. Для задачи тупить как дед потери незаметны.

Сервер параллельно тянет другие задачи. Но именно поэтому проект обошёлся почти бесплатно: железо и так работает 24/7.

Для связи с телефонной сетью использую Asterisk бесплатная программа, которая умеет принимать звонки через интернет (SIP-телефония). Арендую номер у провайдера, входящие звонки переправляются на сервер.


Грабли, на которые я наступил

Было бы нечестно рассказывать только про успехи. Вот с чем намучился:

Грабли #1: Эхо

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

Решение: добавил подавление эха (acoustic echo cancellation). Плюс научил систему игнорировать звук во время воспроизведения ответа простой флаг сейчас говорю, не слушаю.

Грабли #2: ИИ выходил из роли

Когда мошенник давил, модель иногда отвечала: Извините, я не могу предоставить личную информацию. Это фраза чат-бота, не деда. Мошенник сразу понимал, что что-то не так.

Решение: добавил в системный промпт список запрещённых фраз и примеры, как отвечать вместо них:

НИКОГДА не говори:

- "Извините, я не могу..."

- "Как искусственный интеллект..."

Вместо этого говори:

- "Ох, милок, да я же и так стараюсь..."

- "Погоди, сейчас найду..."

Грабли #3: Whisper галлюцинировал

На тишине или шуме Whisper иногда выдавал: Спасибо за просмотр или Подписывайтесь на канал. Классическая проблема артефакты обучения на YouTube-видео.

Решение: фильтрация коротких сегментов (< 0.5 сек) и чёрный список фраз-галлюцинаций.

Грабли #4: Мошенники-роботы

Некоторые мошенники сами используют ботов для первичного обзвона. Получалась беседа двух ИИ забавно, но бесполезно.

Решение: если первые реплики подозрительно шаблонные, а паузы между ними ровно по 2 секунды вешаем трубку. Не хочу тратить ресурсы на робота.


Тот самый звонок: 31 минута разбора

Теперь к главному. Самый длинный диалог 31 минута 14 секунд. Разберу по фазам.

Минуты 03: Установление контакта

Мошенник представляется сотрудником службы безопасности Сбербанка.

Мошенник: Геннадий Петрович, здравствуйте. Вас беспокоит служба безопасности Сбербанка. Меня зовут Алексей Сергеевич. С вашего счёта пытаются провести подозрительную операцию.

Геннадий: Ась? Какой Сбербанк? У меня сберкнижка была, дак я её закрыл в девяносто каком-то году... или в двухтысячном... не помню уже...

Мошенник: Нет, Геннадий Петрович, речь о банковской карте. У вас есть карта Сбербанка?

Геннадий: Карта? А, ну да, карточка есть. Зелёненькая такая. Пенсию на неё кидают. Только я ей редко пользуюсь, там деньги-то какие восемнадцать тыщ, и то к середине месяца половину на лекарства...

Обратите внимание: Геннадий сразу даёт информацию. Небольшую, безобидную, но даёт. Мошенник получает подтверждение: карта есть, баланс маленький, человек пожилой и доверчивый. Крючок заглочен.

Минуты 310: Нагнетание

Мошенник пугает: деньги украдут, нужно срочно действовать.

Мошенник: Геннадий Петрович, ситуация серьёзная. Мошенники пытаются перевести все средства. Нам нужно заблокировать операцию. Продиктуйте номер карты.

Геннадий: Ох, батюшки... Все деньги? [пауза] ...а вы точно из банка? Звонил тут кто-то недавно, внук сказал мошенники...

Мошенник: Я вас понимаю, сейчас много мошенников. Но я настоящий сотрудник. Проверьте мой номер в интернете.

Геннадий: В интернете? Да какой интернет, милок, у меня телефон кнопочный. Внук смартфон подарил, дак я его включать боюсь, там кнопок нету...

Мошенник пытается выстроить доверие. Геннадий уходит в сторону. Ещё минута потрачена.

Геннадий: Номер карты... Сейчас найду... Где-то она была... [шуршание] ...в пиджаке? Нет, там партбилет. Или в комоде? Сейчас схожу.

[Пауза 40 секунд. Шаги, звук ящиков]

Геннадий: Тут нету... может, в серванте? Жена покойница всегда документы туда складывала...

[Ещё пауза 30 секунд]

Семь минут Геннадий ищет карту. Мошенник ждёт. Подбадривает: Не торопитесь, я подожду.

Минуты 1018: Ложный прогресс

Геннадий находит карту.

Геннадий: Нашёл! Сейчас... очки найду. Без очков цифры не разгляжу...

[Пауза 20 секунд]

Геннадий: Так, записывай. Два... два... [пауза] ...нет, это не то. Серия паспорта, кажись. Советского ещё. Там римские цифры были. Три палочки и буква Л.

Мошенник: Мне нужен номер карты. На лицевой стороне, 16 цифр.

Геннадий: Шашнадцать? Сейчас... Четыре, семь, два... [пауза] ...ой, затёрлось. Три вроде. Или восемь...

Этот цикл повторяется пять раз. Геннадий выдаёт 3-4 цифры, сбивается, путает с другими числами. Мошенник записывает, надеется, ждёт.

Минуты 1825: Философские отступления

Когда давление растёт, Геннадий уходит в рефлексию.

Мошенник: Геннадий Петрович, давайте сосредоточимся. Мне нужен номер карты.

Геннадий: Да-да... [вздох] Знаешь, раньше проще было. Зарплату в кассе давали, наличкой. А щас карточки, коды, пароли... Внук показывал телефоном платить приложил, пикнуло, деньги ушли. Куда ушли? Непонятно...

Мошенник: Я понимаю, но сейчас важно...

Геннадий: А ты откуда? Голос южный какой-то. Не Сашки ли сын? Сосед мой был, уехал в Крым вроде...

Мошенник: Нет, я не знаю никакого Сашку...

Геннадий: Хороший мужик был. На рыбалку ходили. На Волгу. Судаки во какие!

Пять минут мошенник пытается вернуть разговор. Геннадий вспоминает соседей и жалуется на здоровье.

Минуты 2531: Финал

Мошенник на грани срыва.

Мошенник: Геннадий Петрович! [кричит] Просто прочитайте номер! Шестнадцать цифр!

Геннадий: Чего кричишь? Я и так плохо слышу. Слуховой аппарат поправлю...

[Пауза 40 секунд]

Геннадий: Так. Номер. Четыре... четыре... семь... три... два...

Мошенник: Да! Продолжайте!

Геннадий: ...или нет, это телефон сватьи. Клавки. Она в соседнем селе, дом с зелёным забором...

Мошенник: [мат]

[Гудки]

31 минута. Мошенник сорвался и бросил трубку.


Статистика за месяц

Система работала 34 дня. Цифры:

Последний пункт особенно радует. Некоторые мошенники настолько верят Геннадию, что назначают повторный звонок: Хорошо, перезвоню через час, когда найдёте карту. И перезванивают. И снова попадают на него.

Распределение по времени:

  • До 2 минут: 12%

  • 2-5 минут: 27%

  • 5-10 минут: 29%

  • 10-20 минут: 22%

  • Больше 20 минут: 10%

Чёткая бимодальность. Мошенники либо бросают сразу (поняли, что дед сложный), либо застревают надолго.


Защита от ошибок

Без защитных механизмов система может навредить.

Утечка реальных данных

ИИ обучен быть полезным. Если случайно упомянуть в инструкции реальные данные модель может их выдать.

Решение: Геннадий ничего не знает. Все данные, которые он диктует генерируются случайно. Нет ни одного реального номера, адреса или имени.

Реальные звонки

Что если позвонит настоящий банк? Или скорая?

Решение: многоуровневая защита.

  • Номера родственников и врачей в белом списке, звонок идёт напрямую

  • Фразы скорая, полиция, авария немедленный перевод на реальный телефон

  • Номера 8-800 банков тоже перевод

  • Если в первые 30 секунд нет типичных фраз мошенников перевод


Экономика проекта

Честный расчёт.

Расходы за месяц:

  • Сервер: свой, уже работал (рыночная стоимость аренды аналога ~25 000 руб, но для меня 0)

  • SIP-номер: ~500 руб

  • Электричество: ~1 500 руб (доля Геннадия в общем потреблении сервера)

  • Итого: ~2 000 руб из кармана

Урон мошенникам:

  • 41 звонок 8.6 минут = 353 минуты

  • 6 часов работы операторов 280 руб/час = ~1 700 руб

Если бы я арендовал сервер специально экономика не сходилась бы. Но сервер и так работает 24/7 на других задачах, так что Геннадий по сути бесплатный бонус.

Для реального урона нужен масштаб: сотни Геннадиев на дешёвом железе.


Что дальше

Система работает на одной линии. Но архитектура масштабируется.

Думаю о нескольких направлениях:

Разные персонажи. Бабушка Зина, которая путает мошенника с внуком. Дядя Толя, который переводит разговор на рыбалку. Тётя Маша с бесконечными жалобами на здоровье.

Активный режим. Не ждать звонков, а самому звонить на номера из слитых баз мошенников. Занимать их линии.

Дешёвое железо. Перейти на модель поменьше, чтобы работало на обычной видеокарте. Llama-3 70B overkill для этой задачи, и новые модели позволяют получить сравнимое качество на железе попроще.


Итог

Мошенники работают по экономике. Конверсия, стоимость оператора, план на день. Когда один звонок съедает полчаса без результата это удар.

ИИ идеален для этой задачи. Ему не страшен прессинг. Он не устанет. Не расстроится от мата. Просто продолжит искать очки и вспоминать номер партбилета.

Каждая минута на Геннадия это минута, которую мошенник не потратит на чью-то бабушку.

И знаете что? Моей маме с тех пор не звонили.

Совпадение? Может быть.

UPD: Материал носит концептуальный характер и представлен в формате художественной реконструкции для демонстрации возможностей описанной ИИ-архитектуры.


P.S. Если у вас есть пожилые родственники научите их одной фразе: Я перезвоню в банк сам по номеру с карты. Это работает лучше любого ИИ. Но пока они учатся пусть Геннадий подстрахует.


Автор текста: ScriptShaper

Написано при поддержке Timeweb Cloud

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале

Близкое по теме:

Реклама ООО ТАЙМВЭБ.КЛАУД, ИНН: 7810945525

Источник: ktonanovenkogo.ru
К списку статей
Опубликовано: 25.02.2026 23:59:20
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

It

Мошенничество

Искусственный интеллект

Кейс

Нейронные сети

Timeweb

Длиннопост

Негатив

Блоги компаний

Последние комментарии

  • Имя: ZOKIDIN
    07.01.2026 | 10:57
    Лучше не бывает с этой американцам deus03690 всё это бесполезно. Подробнее..
  • Имя: Q-bit array
    07.01.2026 | 07:56
    Товарищ админ. Статью из Пикабу удалили и аккаунт забанили. Так что нет смысл писать ответ тут ему. Над узбека здорово издевались. Сами русские админы и модеры Пикабу забанили узбека. Теперь он сам ст Подробнее..
  • Имя: Шеронова Наталья
    08.09.2021 | 00:08
    Отдельное спасибо за баобаб :) Подробнее..
  • Имя: 13
    16.06.2021 | 16:37
    Неожиданно увидеть свое фото и ссылку на левый источник ... Я размещал это фото на пикабу. Подробнее..
© 2006-2026, shop-archive.ru