Автомат направляет, а LLM объясняет: диалог с агентом за 3 рубля
Агент: …чем ты занимаешься по жизни, чтобы я мог подбирать примеры под твои задачи?Человек: сушу булки а ты чем занимаешься?Агент: О, это интересно! Сушка булок — звучит вкусно и наверняка со своими нюансами.Человек: как нейросети мне могут помочь сушить булки? булки это кстати часть тела, а не то что ты подумалАгент: Хах, отлично уточнил! А то я уже представлял хрустящую выпечку.
Чат на сайте не должен врать: почему наш ассистент иногда честно отвечает «точного ответа нет»
Представьте: посетитель интернет-магазина спрашивает в чате, сколько дней на возврат. Бот бодро отвечает: «30 дней, без вопросов». На сайте при этом написано 14. Через три недели покупатель приходит с товаром и скриншотом переписки. Спорить с ним бесполезно: «ваш же консультант сказал».
Комнатный RAG: бесплатный ИИ-помощник-консультант по содержимому сайта
Про умных чат-ботов, которые помогают операторам контакт-центров, разбирают обращения и автоматизируют процессы, слышали, кажется, все. Помимо автоматизации целых служб есть и задача поменьше, с которой можно начать на обычном сайте.Вот обычный сайт небольшой компании. На нём описаны услуги, проекты, условия работы, иногда цены и клиенты. Посетитель приходит с конкретным вопросом: «Вы можете помочь с моей задачей?», «У вас было что-то похожее?», «А это можно установить у нас?» Чтобы разобраться, ему нужно прочитать несколько разделов и самому связать информацию.
Как сделать RAG-чат для сайта, который не выдумывает цены: пять решений из моего бота
С июня я делаю AI-чат для сайтов, который не выдумывает цены и не соглашается с клиентом во всём подряд. К пяти решениям из статьи я пришёл через ошибки.Зачем вообще ещё один чат-ботПо
Квестоша: ИИ-помощник в контакт-центре агрегатора квестов
Мир Квестов — агрегатор квестов в реальности. На сайте собраны квесты разных организаторов во многих городах России, клиент выбирает игру и пишет в чат, чтобы подобрать и забронировать. С третьего квартала 2026 года первым в чате отвечает бот, которого мы назвали Квестошей. Он подбирает квест, отвечает фактами из каталога, объясняет правила площадки, собирает данные для брони и зовёт живого оператора, когда вопрос выходит за его полномочия.
Скам‑бот в Telegram выдал себя таймером: разбор юзербота с реконструкцией на Telethon
Что это юзербот, я понял почти сразу. Аккаунт без username, фото девушки на фоне моря, диалог, который за полчаса доходит до развода и «может на ты перейдём». Интереснее было понять, к чему меня ведут и как эта штука устроена внутри.Деньги и ссылки я никому не отправлял. Всё расследование уместилось в одну ночь и в один личный чат.11 сентября в 15:30 «Мария» написала первой. Увидела меня в группе про IT, хочет попробовать себя в этой сфере и просит посоветовать материалы для старта. Безобидный повод, на который трудно не ответить, особенно если сам работаешь в IT.
Как я подключил MAX и VK к Chatwoot: разбираем двусторонний мост
После моей статьи о рабочем месте репетитора в Chatwoot в комментариях закономерно спросили не о календаре и не о Jitsi, а о детали, которую я тогда почти не показал: как именно сообщения из MAX и VK попадают в Chatwoot и как ответ возвращается обратно.Короткий ответ: это не скрапинг веб-версий и не автоматизация личных аккаунтов. MAX у меня подключён через официального бота, VK — через сообщения сообщества. Между ними и двумя API inbox в Chatwoot работает небольшой сервис на Node.js.
Как мы дописываем оборванные ответы языковой модели и почему склейка оказалась сложнее, чем кажется
Мы делаем русскоязычный сервис с несколькими языковыми моделями в одном чате. Однажды партнёр прислал скриншот: модель начала отвечать списком из ста пунктов и оборвалась на середине слова. В админке лежал тот же обрывок. Ни ошибки, ни предупреждения.Почему ответ обрывается. У каждого запроса есть потолок max_tokens. У нас он был 1200 токенов. На английском это около 900 слов, а на русском кириллица съедает больше токенов, и 1200 токенов оказались примерно полутора тысячами знаков. Длинный список просто не помещался. Модель при этом возвращает finish_reason: "length" (у некоторых поставщиков max_tokens

