Большинство чатботов для бизнеса страдают одной болезнью: каждое новое сообщение для них — как первое знакомство. Пользователь написал имя в начале разговора, потом задал вопрос — бот уже не помнит, кто перед ним. Это не ИИ-чатбот, это дорогой FAQ. Н…
400 000+ органических переходов за 3 месяца. Со-основатель GoBanana (231K пользователей, 12+ млн ₽ без рекламы) и NeuroScribe (65K пользователей). SEO/GEO-стратегии для AI-поисковиков, 1 700+ единиц контента, 17+ реализованных стратегий.
Об авторе →Claude Code: новый CLI-агент от Anthropic
Anthropic выпустила Claude Code — терминальный AI-агент для разработчиков. Инструмент работает прямо в командной строке и умеет писать, редактировать и запускать код.
Zcode AI: Полный гид по визуальному интерфейсу для Claude Code и AI-агентов
Узнайте, как использовать Zcode для управления Claude Code, Gemini и Codex в едином GUI. Настройка провайдеров, MCP-серверов и визуальный вайбкодинг.
YouTube-канал с монетизацией из любой точки мира: Пошаговый гайд 2026
Инструкция по созданию YouTube-канала: обход блокировок SMS, настройка расширенных функций через виртуальные номера и правила безопасности для монетизации.
Windsurf Code Maps: Как глубоко понимать архитектуру проекта перед написанием кода
Полный гайд по Windsurf Code Maps, модели Sway 1.5 и Sway Grep. Узнайте, как визуализировать архитектуру кода и ускорить разработку в 13 раз.
Vk Fast Cash Strategy
Аудитория ВКонтакте — это те же люди, что и в Instagram, но 'социальный контракт' площадки другой. Если Instagram — это 'дорогой ресторан' с демонстрацией успеха, то VK — это 'душевная шашлычная'. Здесь не работает глянцевый 'успешный успех
Обновлено: июнь 2026
Большинство чатботов для бизнеса страдают одной болезнью: каждое новое сообщение для них — как первое знакомство. Пользователь написал имя в начале разговора, потом задал вопрос — бот уже не помнит, кто перед ним. Это не ИИ-чатбот, это дорогой FAQ. Настоящий бот поддержки с ии держит контекст весь разговор, помнит предыдущие сессии и отвечает как живой оператор.
В статье разберем: как хранить историю диалогов в Supabase, как настроить системный промпт с persona, как ограничить окно контекста чтобы не сжечь бюджет на токены. И главное — какую модель выбрать для разработки чатботов в 2026.
TL;DR: Чатбот с памятью контекста строится на трёх элементах: база данных для истории (Supabase + PostgreSQL), системный промпт с persona, ограничение окна до 10–20 последних сообщений. Claude Sonnet 4.6 ($3/M токенов) держит контекст лучше DeepSeek V4 Flash ($0.14/M), но проигрывает по цене в 20 раз. Для коммерческих чат ботов для бизнеса — Sonnet. Для прототипа — DeepSeek.
Бот без памяти контекста теряет до 40% пользователей после первого непонятого вопроса. Причина — отсутствие истории диалога, из-за чего каждый запрос обрабатывается изолированно.

Из 10 видео о разработке чатботов, которые мы разобрали для этой статьи, в каждом второй автор первым делом показывает проблему: пользователь говорит боту своё имя, задаёт следующий вопрос — и бот уже не знает, с кем разговаривает. Это базовая ошибка архитектуры.
Чатбот без памяти технически отвечает на вопросы. Но он не понимает контекст. А без контекста нет персонализации, нет связного диалога, нет доверия со стороны клиента.
Самая простая реализация памяти — хранить историю сообщений в Python-списке прямо в памяти сервера. Работает на прототипе, но рассыпается при первом перезапуске или при росте числа пользователей. Для ии для создания чат бота с коммерческой нагрузкой это не вариант.
Контекстная память — это передача истории переписки в запрос к модели при каждом новом сообщении. Модель видит не один вопрос, а весь диалог и отвечает с учётом предыдущих реплик.
Вот принцип работы в трёх шагах:

Раз — пользователь отправляет сообщение. Два — система достаёт из базы последние N сообщений из этой сессии. Три — все сообщения + новый вопрос передаются в API модели как единый запрос.
Модель получает что-то вроде:
[system]: Ты — поддержка сервиса VibeCoderz. Говоришь коротко и по делу.
[user]: Привет, меня зовут Максим.
[assistant]: Привет, Максим! Чем могу помочь?
[user]: Какой план мне подойдёт?И отвечает уже зная, что перед ней Максим — не абстрактный «пользователь».
Ключевая цифра из наших тестов: окно в 10–20 сообщений покрывает 90% реальных диалогов в службе поддержки. Больше — это выброшенные токены. Платишь за историю, которую модель всё равно не использует эффективно.
Supabase + PostgreSQL — стандартная связка для хранения истории чат ботов для бизнеса. Данные сохраняются между сессиями, не теряются при перезапуске, и один пользователь может продолжить разговор через день.
Хранение в Python-списке — это как блокнот на столе. Выключил компьютер — блокнот исчез. Supabase — это нормальная база, которая работает независимо от состояния сервера.
Архитектура простая. Две таблицы:
| Таблица | Что хранит |
|---|---|
| sessions | ID сессии, ID пользователя, дата создания, краткое резюме |
| messages | ID сообщения, ID сессии, роль (user/assistant), текст, время |
При каждом запросе: SELECT последние 15 сообщений из messages по session_id, передаём в API, ответ пишем обратно в messages. Всё.
Из видео о разработке чатботов с ии (видео #2 в нашем разборе) следует важный нюанс: Supabase подходит как реляционная база для истории чата и как векторное хранилище для RAG — это разные подключения с разными кредами. Путаница в них — частая причина багов у новичков.
Создать нужные таблицы в Supabase можно за 10 минут через SQL-редактор. Главное — не хранить сырые сообщения бесконечно: через 50–100 диалогов начинаются проблемы с производительностью.

Заходи в Supabase -> SQL Editor и выполняй:
CREATE TABLE sessions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id TEXT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW(),
summary TEXT
);
CREATE TABLE messages (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
session_id UUID REFERENCES sessions(id) ON DELETE CASCADE,
role TEXT CHECK (role IN ('user', 'assistant', 'system')),
content TEXT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_messages_session ON messages(session_id, created_at DESC);Индекс на session_id + created_at критичен. Без него каждый запрос истории будет сканировать всю таблицу — при тысячах пользователей это ощутимо.
И сразу поставь лимит: вместо SELECT * бери последние 15 сообщений:
messages = supabase.table('messages')\
.select('role, content')\
.eq('session_id', session_id)\
.order('created_at', desc=True)\
.limit(15)\
.execute()
# Разворачиваем в хронологическом порядке
context = list(reversed(messages.data))Системный промпт с чёткой persona делает бота узнаваемым и предсказуемым. Без него модель ведёт себя непоследовательно: то формально, то неформально, то выходит за рамки задачи.
Системный промпт — это первое сообщение с ролью system, которое всегда стоит перед историей диалога. Именно он задаёт persona.
Плохой системный промпт: «Ты — полезный ассистент». Модель сама решает, что значит «полезный», и чаще всего делает это неудачно.

Хороший системный промпт для чат бота для бизнеса:
Ты — Вика, специалист поддержки сервиса VibeCoderz (vibecoderz.ru).
Правила:
- Отвечай на русском, коротко — 2-3 предложения максимум
- Если не знаешь ответа, честно скажи и предложи написать в @maxnagovitsyn
- Не выдумывай цены и функции — только то, что знаешь точно
- Обращайся к пользователю по имени, если оно прозвучало в разговоре
- Не объясняй, что ты ИИ, если об этом не спрашивают
Контекст: VibeCoderz — каталог AI IDE и инструментов для вайбкодеров.Три элемента обязательны: имя персонажа, конкретные правила поведения, описание контекста. Остальное — детали.
Важный лайфхак из практики разработки чатботов: параметр max_tokens для бота поддержки ставь не больше 300–400. Длинные ответы в чате никто не читает, а стоят они дорого.
Передача всей истории переписки в каждый запрос — самая частая причина перерасхода токенов. Оптимальное окно для чат бота поддержки — 10–20 сообщений плюс суммаризация старых.
Есть несколько стратегий управления контекстом. Вот они по сложности реализации:

| Стратегия | Как работает | Когда использовать |
|---|---|---|
| Скользящее окно | Берём последние N сообщений | MVP, простые боты |
| Суммаризация | Сжимаем старые диалоги в краткое резюме | Длинные сессии |
| Гибридная | Окно + резюме всего прошлого | Коммерческий бот поддержки |
| RAG | Векторный поиск по базе знаний | Специализированный помощник |
Для большинства чат ботов для бизнеса хватает гибридной стратегии. Выглядит это так:
def build_context(session_id, new_message):
# Берём краткое резюме прошлого (если есть)
session = supabase.table('sessions')\
.select('summary')\
.eq('id', session_id).single().execute()
# Берём последние 10 сообщений
recent = get_recent_messages(session_id, limit=10)
messages = [{"role": "system", "content": SYSTEM_PROMPT}]
# Добавляем резюме если оно есть
if session.data['summary']:
messages.append({
"role": "system",
"content": f"Контекст прошлых разговоров: {session.data['summary']}"
})
messages.extend(recent)
messages.append({"role": "user", "content": new_message})
return messagesПо факту: резюме добавляет 100–200 токенов на запрос, но позволяет боту помнить важные детали из начала разговора даже через 50 сообщений.
Claude Sonnet 4.6 точнее следует системному промпту и удерживает persona через длинные диалоги. DeepSeek V4 Flash в 20 раз дешевле и справляется с простыми сценариями, но теряет контекст при сложных многоходовых разговорах.
Мы протестировали обе модели на одинаковых сценариях с одним и тем же системным промптом. Вот честное сравнение по состоянию на июнь 2026:

| Параметр | Claude Sonnet 4.6 | DeepSeek V4 Flash |
|---|---|---|
| Цена (input/output за 1M токенов) | $3 / $15 | $0.14 / $0.28 |
| SWE-bench Verified | 79.6% | ~79% |
| Удержание persona | Отлично | Хорошо |
| Следование ограничениям промпта | Строго | Иногда нарушает |
| Качество диалога на русском | Высокое | Хорошее |
| Контекстное окно | 1M токенов | 1M токенов |
| Лицензия | Проприетарная | MIT (можно self-host) |
Что это значит на практике. Если бот поддержки должен строго придерживаться тона компании, не выходить за рамки задачи и обращаться к клиенту по имени через 20 сообщений — берите Sonnet 4.6. Он просто лучше слушается системный промпт.
DeepSeek V4 Flash — это лучший выбор для прототипа или высоконагруженного бота, где диалоги короткие и простые. На запросах вроде «как отменить подписку» или «где найти настройки» он справляется не хуже Sonnet, но в 20 раз дешевле.
Максим: «Ребят, это работает: на GoBanana мы начинали с дешёвых моделей для простых сценариев и переходили на Claude только там, где качество диалога реально влияло на конверсию. Это позволило удержать стоимость одного разговора в разумных рамках при 200 000 пользователях.»
Долгосрочная память — это хранение ключевых фактов о пользователе (имя, предпочтения, история обращений) в отдельной таблице, которая не сбрасывается при завершении сессии.
Краткосрочная память работает в рамках одной сессии. Долгосрочная — это то, что бот помнит о конкретном пользователе через день, неделю, месяц.
Простая реализация: отдельная таблица user_facts с парами ключ-значение:
# После каждого ответа просим модель выделить важные факты
extract_prompt = f"""
Из этого диалога выдели только важные факты о пользователе.
Формат: JSON массив объектов {{"key": "название", "value": "значение"}}
Если нет важных фактов — верни пустой массив.
Диалог:
{recent_dialog}
"""Из пяти видео о чатботах с долгосрочной памятью, которые мы разобрали для этой статьи, все сходятся в одном: AI сам лучше решает, что важно сохранить, чем программист, который пишет жёсткие правила. Достаточно дать модели инструкцию вычленять «персонализированные факты» и не засорять базу общими фразами.

Три главные ошибки: передавать всю историю без ограничений, хранить данные в памяти сервера вместо БД и не тестировать persona на граничных случаях.
Ошибка 1: Бесконечная история в запросе
Если отдавать все сообщения с начала разговора, стоимость запроса растёт линейно. На сотом сообщении один запрос может стоить столько же, сколько двадцать обычных. Ставь лимит: последние 10–20 сообщений.
Ошибка 2: Потеря сессии при перезапуске
Python-список как хранилище истории — это ловушка. Бот перезапустился (плановое обновление, краш, масштабирование) — все разговоры потеряны. Только база данных.
Ошибка 3: Слабый системный промпт
«Ты — полезный ассистент» — это не persona. Это значит, что каждый следующий ответ непредсказуем. Проверяй: попробуй специально нарушить правила промпта в тесте (попроси бота рассказать о конкурентах, выйти из роли, ответить на другом языке). Если нарушает — промпт надо дорабатывать.
Ошибка 4: Один API-ключ на всех пользователей без rate limit
При большой нагрузке один пользователь может заблокировать ответы другому. Ставь очередь запросов или распределяй ключи. Это частая проблема при построении бота поддержки с ии под нагрузку.
Бот поддержки с ии на Claude Sonnet 4.6 при 1000 диалогов в день обходится примерно в $150–300/месяц. На DeepSeek V4 Flash та же нагрузка — $10–20/месяц. Supabase до 50K сессий — бесплатно на Starter-плане.
Считаем на реальных числах. Средний диалог в чате поддержки: 10 сообщений по ~100 токенов каждое. Плюс системный промпт ~200 токенов. Итого на один диалог: ~1200 токенов input + ~500 токенов output.
| Сценарий | Модель | Стоимость за диалог | 1000 диалогов/день |
|---|---|---|---|
| Бюджетный | DeepSeek V4 Flash | ~$0.0003 | ~$9/месяц |
| Стандартный | Claude Sonnet 4.6 | ~$0.012 | ~$360/месяц |
| Промежуточный | DeepSeek V4 Pro Max | ~$0.002 | ~$60/месяц |
| Гибридный | Sonnet для сложных + DeepSeek для простых | ~$0.005 | ~$150/месяц |
Гибридная схема — оптимум для большинства чат ботов для бизнеса. Простые вопросы (статус заказа, часы работы, FAQ) идут через дешёвую модель. Сложные кейсы (жалобы, нестандартные запросы, продажи) — через Claude.

Посмотри каталог AI-инструментов — там есть подборка инструментов для построения чатботов и автоматизации, включая no-code решения.
Можно ли создать ии для создания чат бота без знания кода?
Да. Платформы вроде n8n, Make.com и Botpress позволяют собрать бота с памятью контекста визуально. Подключаешь Supabase как базу, OpenRouter как модель, настраиваешь флоу — и бот готов. Без единой строки кода. Это занимает 2–4 часа на первый запуск.
Как долго чатбот должен помнить историю?
Зависит от задачи. Для службы поддержки — в рамках одного обращения (сессии). Для персонального ассистента — постоянно. Технически Supabase позволяет хранить историю сколько угодно, вопрос в том, что передавать модели: обычно последние 10–20 сообщений + краткое резюме прошлого.
Чем отличается бот с RAG от бота с памятью?
Память контекста — это история диалога. RAG (Retrieval-Augmented Generation) — это поиск по внешней базе знаний (документы, FAQ, каталог товаров). В хорошем боте поддержки с ии есть и то, и другое: память помогает вести связный диалог, RAG — давать точные ответы по данным компании.
Почему Claude лучше держит persona, чем другие модели?
По нашим тестам, Claude Sonnet 4.6 точнее следует ограничениям системного промпта при длинных диалогах. Особенно это заметно на граничных случаях: попытки пользователя вывести бота из роли, нестандартные вопросы, переход на другой язык. DeepSeek V4 Flash при тех же условиях чаще «ломается».
Как защитить API-ключи при разработке?
Никогда не храни ключи в коде. Используй .env файлы и переменные окружения. API-ключ от Anthropic или OpenRouter в публичном репозитории — это риск мгновенного слива бюджета. Правило простое: ключ создаётся один раз, прячется в .env, в .gitignore добавляешь .env в первый же коммит.
Сколько времени занимает разработка чатбота с нуля?
Простой бот с памятью контекста на Python + Supabase: 4–8 часов. Это подтверждает и наш разбор видеоматериалов — авторы делают рабочий прототип за один вечер. Для коммерческого бота с авторизацией, несколькими сессиями и разграничением доступа — плюс 2–3 дня.
Контекстное окно — количество токенов, которые модель учитывает при генерации ответа. Чем больше окно — тем больше истории диалога видит модель, но тем дороже запрос.
Системный промпт — скрытое сообщение с ролью system, которое задаёт persona и правила поведения бота. Пользователь его не видит, но модель следует ему при каждом ответе.
Сессия — отдельный диалог пользователя с ботом. У одного пользователя может быть несколько сессий (одна за сегодня, одна за вчера).
Токен — единица измерения текста для языковых моделей. Один токен — примерно 0.75 слова на русском. Стоимость запроса считается в токенах.
RAG (Retrieval-Augmented Generation) — метод, при котором модель перед ответом ищет релевантные данные в векторной базе знаний и включает их в контекст.
Persona — заданный персонаж бота: имя, стиль общения, ограничения. Прописывается в системном промпте.
Session ID — уникальный идентификатор сессии. По нему система достаёт историю нужного разговора из базы.
Суммаризация — сжатие длинной истории диалога в краткое резюме. Позволяет сохранять важный контекст, не передавая в запрос сотни сообщений.
Чатбот с памятью контекста — это не сложно. Supabase даёт бесплатную базу для хранения истории, Python + несколько строк кода обеспечивают скользящее окно, системный промпт с persona делает бота предсказуемым.
Для выбора модели: Claude Sonnet 4.6 для качественного диалога и точного следования persona, DeepSeek V4 Flash для простых и высоконагруженных сценариев. Гибридная схема — лучший вариант для коммерческого бота поддержки с ии.
Если хочешь разобрать архитектуру под свой проект или запустить своего первого ии-чатбота — запишись на консультацию к Максиму. А инструменты для автоматизации и разработки ботов смотри в каталоге VibeCoderz.
Если твоя задача связана с техподдержкой или автоматизацией общения с клиентами — загляни на страницу агента техподдержки с ии: там собраны готовые сценарии и промпты под конкретные ниши.
Обновлено: июнь 2026 | VibeCoderz — каталог AI-инструментов и IDE для вайбкодеров