Что такое токен
Токен — базовая единица, которой оперирует LLM. Один токен примерно соответствует 4 символам латиницы или 2–3 символам кириллицы. Слово «чат-бот» — это 2–3 токена. Одна страница A4 плотного текста — около 600–700 токенов. Контекстное окно измеряется в токенах и включает и входящий текст (промпт + история диалога), и генерируемый ответ.
Лимиты контекстного окна у разных моделей
GPT-4o — 128 000 токенов (около 200 страниц A4). Claude 3.5 Sonnet — 200 000 токенов. YandexGPT Pro — 32 000 токенов. GigaChat Max — 32 000 токенов. Для большинства диалоговых ботов достаточно 8 000–16 000 токенов: это покрывает 30–50 сообщений в одной сессии плюс системный промпт плюс RAG-контекст.
Важный нюанс: стоимость API-вызова пропорциональна числу токенов. Если в каждый запрос передавать полную историю диалога из 30 сообщений, стоимость одного обращения вырастает в 5–10 раз по сравнению с оптимизированной передачей только последних 5–10 сообщений.
Управление памятью диалога
Есть три стратегии: (1) Скользящее окно — передавать только последние N сообщений. Просто, но модель забывает данные, названные в начале. (2) Суммаризация — при приближении к лимиту сжимать старую часть диалога в краткое резюме. Требует дополнительного вызова LLM. (3) Persistent memory — хранить ключевые факты о пользователе в отдельной базе и подгружать их в контекст. Лучший баланс памяти и стоимости.
Сколько токенов нужно под задачи
Правило большого пальца: 1000 слов ≈ 1300–1500 токенов. Для типовых бизнес-задач: системный промпт занимает 500–2000 токенов, история диалога из 10 сообщений — 800–2000 токенов, один фрагмент базы знаний из RAG — 400–800 токенов. Итого активный диалог с RAG требует 3000–7000 токенов контекста. Модели с 8k-окном начинают терять начало истории при длинных диалогах.
Стратегии работы с ограниченным контекстом
- Скользящее окно. Сохранять только последние N сообщений, отбрасывая старые — простой подход, теряет важный контекст.
- Суммаризация. Периодически заменять историю кратким резюме — сложнее, но сохраняет ключевые факты.
- Внешняя память. Факты о пользователе (имя, предпочтения, открытые вопросы) хранить в БД и подставлять в промпт по запросу.
Сергей Полухин
Co-Founder & CTO PapAI Soft · профиль
Частые вопросы
Когда нужна модель с большим контекстным окном?
Длинное окно (128k+ токенов) нужно для: анализа длинных документов целиком (договоры, регламенты), диалогов с многочасовой историей, кода с большой кодовой базой. Для типового чат-бота службы поддержки хватает 8–32k токенов — история диалога редко превышает 5000 токенов.
Влияет ли длина контекста на качество ответов?
Да, есть эффект «потери в середине» (lost in the middle): модели лучше помнят начало и конец контекста, чем середину. Важные инструкции лучше дублировать в конце промпта. Длинный контекст также повышает стоимость запроса — токены в начале промпта тарифицируются так же, как в конце.
Связанные термины
- LLM — модель с конкретным лимитом контекстного окна
- RAG — как документы вставляются в контекстное окно
- Промпт-инжиниринг — как системный промпт занимает часть окна
- Чат-бот — управление историей диалога в рамках окна
Где применяется
Хотите оптимизировать работу бота с памятью диалога? Обсудим задачу.
Связаться с нами