Перейти к основному содержимому

Токены, контекст и память

Начальный

Три идеи проясняют множество моментов из серии «почему оно так сделало?»: токены, окно контекста и память. Поймёте их — и вас перестанут удивлять дрейф, забывчивость и неожиданные счета.

What you'll learn
  • Читать текст так, как это делает модель — в токенах, а не в словах или символах
  • Представлять окно контекста как ограниченный стол и предугадывать, когда что-то с него падает
  • Распознавать «гниль контекста» — почему модели могут терять середину длинного ввода
  • Знать четыре реальных источника «памяти» и как осознанно её обеспечить

Токены: единица, в которой думают модели

Модели не читают символы или слова — они читают токены, куски текста размером примерно ¾ слова в английском. «Unbelievable» может быть 3–4 токена; распространённые слова — по одному; пробел, запятая или фрагмент кода тоже стоят токенов. Считаются и ваш ввод, и вывод модели, и именно в токенах измеряются цены и лимиты.

Считать вручную не нужно, но грубое чутьё помогает: ~750 слов ≈ ~1 000 токенов. Введите что-нибудь и понаблюдайте:

10слов
67символов
~1317примерно токенов

Лишь грубая оценка (~символы ÷ 4 или слова × 1.33). Подсчёт токенов зависит от модели — никогда не используйте токенизатор другой модели. Для точных чисел используйте эндпоинт подсчёта токенов от Anthropic.

:::tip Почему соотношение меняется Обычный английский держится около ¾ слова на токен. Код, JSON, нелатинские письменности, длинные URL и редкие слова разбиваются на больше токенов — так что файл на 500 строк или абзац по-китайски стоит дороже, чем подсказывает количество слов. Когда счёт или лимит вас удивляют, причина обычно в этом. :::

Окно контекста: рабочая память

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

Всё, что модель «знает» в данный момент, лежит на этом столе:

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

Гниль контекста: дело не только в том, полно оно или пусто

Более тонкая проблема: даже когда всё ещё помещается, модели обычно надёжнее используют начало и конец длинного ввода, чем середину. Закопайте единственное важное предложение в центр 50-страничной вставки — и его могут недооценить; этот сбой часто называют «потеря в середине».

Guided walkthrough1 of 4
  1. Поместите саму инструкцию или вопрос в начало, до вставки длинного документа — а не закопанным после него.

Вот тот же запрос, выстроенный так, чтобы инструкция оказалась в сильных позициях:

Инструкция первой, повторённая последней

Задача: найди все места, где этот договор ограничивает нашу ответственность, и процитируй точную формулировку.

[... вставь сюда полный 40-страничный договор ...]

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

:::tip В Claude Code Длинные агентные сессии упираются в тот же потолок. Claude Code управляет этим целенаправленно — уплотняя историю и позволяя вам направлять то, что остаётся в поле зрения. Смотрите Управление контекстом и Инженерия контекста. :::

Память: её нет, если вы её не обеспечите

По умолчанию каждый диалог — это чистый лист. Модель не помнит ваш прошлый чат. Всё, что выглядит как память, — это одно из четырёх:

ИсточникЧто этоКак вы этим управляете
Переотправляемая историяЧат-приложения переотправляют диалог каждый ход, пока окно не заполнитсяНачинать новые чаты; держать ветки сфокусированными
Функции памятиНекоторые поверхности Claude переносят факты между чатамиНастройки Памяти между чатами
Файлы, которые вы предоставляетеПостоянный контекст, прикрепляемый осознанноПроекты, CLAUDE.md
Ваш собственный кодAPI не хранит состояние — вы переотправляете предыдущие сообщенияПервый вызов API

Общая нить: если хотите, чтобы модель что-то помнила, придётся снова и снова класть это на стол.

Почему это важно

Почти каждая проблема в духе «оно проигнорировало мою раннюю инструкцию» или «оно потеряло нить» сводится к одному из трёх: окно заполнилось, новая сессия началась с нуля, или ключевая деталь застряла в мёртвой середине длинной вставки. Зная это, вы будете выстраивать промпты и сессии так, чтобы важное оставалось в поле зрения.

Проверь себя

Check yourself

0/3
  1. Примерно сколько токенов в 750 словах обычного английского?
  2. Длинный чат начинает «забывать», как он начался. Наиболее вероятная причина:
  3. Вам нужно вставить огромный документ плюс одну ключевую инструкцию. Лучшее размещение?

Ключевые термины

Закрепите словарь
Нажмите Enter или пробел, чтобы перевернуть карточку. Используйте стрелки влево и вправо для перехода между карточками.Показан термин.
1 / 4

:::note Выводы

  • Токены — единица и мышления, и тарификации: ~1 000 на 750 английских слов, больше для кода и других письменностей.
  • Окно контекста — конечный стол; длинные чаты забывают, потому что старое содержимое с него падает.
  • Даже в пределах окна начинайте с инструкции и повторяйте её в конце — середина используется недостаточно.
  • По умолчанию памяти нет. Обеспечьте её осознанно файлами, Проектами, CLAUDE.md или переотправкой истории. :::

Дальше