Библиотека · Память и контекст: чтобы агент не терял нить

Токены и управление контекстом в Claude Code

Уверенный пользователь35 минОбновлено: октябрь 2026
15 из 105 в библиотеке

Время: ~25 мин теории + 10 мин практики


Суть урока

Токены — это валюта Claude Code. Каждое слово которое Claude читает или пишет стоит токенов. Если ты не управляешь тем что Claude читает — ты платишь за лишнее. Прогрессивная загрузка — это как умный официант который не несёт всё меню к столу, а сначала спрашивает "мясо или рыба".


Ключевые концепции

  • Токен — единица измерения текста (у текущих моделей Claude чуть больше половины английского слова), основа ценообразования API
  • Всё что Claude читает при работе — тратит токены (claude.md, воркфлоу, инструменты)
  • Прогрессивная загрузка (L1/L2/L3) — читаем только то что нужно прямо сейчас
  • Лаконичный claude.md = меньше токенов = дешевле и быстрее каждый запрос

Теория

Что такое токен — простое объяснение

🎨 Образ: Токены — как секунды в телефонном разговоре: не слова, а "тики" которые тратятся на каждый символ. Говоришь долго — платишь больше. Разговор по делу — дешевле.

Токен это кусочек текста. Не всегда одно слово — иногда часть слова, иногда знак пунктуации. Для практического понимания: 1000 токенов ≈ 555 слов ≈ чуть больше страницы A4 (английский текст на текущих моделях Claude; на моделях постарше ≈ 750 слов).

Почему это важно: модели Claude (и все LLM) считают стоимость работы именно в токенах. Каждый вызов API имеет цену: входящие токены (что ты отправил) + исходящие токены (что модель ответила).

Пример: если claude.md весит 2000 токенов, и ты запускаешь 100 воркфлоу в день — claude.md один съедает 200,000 входящих токенов в день. При цене $2 за миллион входящих токенов (Sonnet 5.5, на октябрь 2026) это $0.40/день только за системный промпт. Сокращение claude.md вдвое = $0.20/день экономии. Актуальные цены: Актуальное сейчас.


Что Claude читает при каждом запросе

🎨 Образ: Каждый запрос к Claude — как накрытый стол перед ужином. Claude.md — скатерть (всегда), воркфлоу — меню блюд (одно за раз), история разговора — грязные тарелки от прошлых блюд (накапливаются). Чем больше тарелок — тем дороже уборщик.

Когда ты запускаешь воркфлоу или пишешь сообщение агенту, Claude Code за кулисами собирает контекст для модели. Типичный состав:

  1. claude.md — системный промпт проекта. Читается всегда, при каждом запросе.
  2. Файл воркфлоу — тот воркфлоу который выполняется. Читается полностью.
  3. Инструменты — описания инструментов которые агент может использовать.
  4. MCP-сервисы — описания подключённых MCP (если есть).
  5. История разговора — предыдущие сообщения в этой сессии.
  6. Вспомогательные файлы — только если явно нужны (скрипты, референсы).

Вместе это может составлять 10,000–50,000 токенов на один запрос в зависимости от сложности проекта.


Прогрессивная загрузка: три уровня

Это ключевая концепция эффективного использования Claude Code. Вместо того чтобы читать всё сразу — система читает минимальное что нужно, и идёт глубже только если нужно.

Уровень 1 (L1): YAML frontmatter — ~100 токенов

🎨 Образ: L1 — это обложка книги. Читаешь название, год, жанр. Если нужна — берёшь с полки и читаешь внутри. Если не нужна — ставишь обратно. Claude делает то же самое с воркфлоу.

Каждый файл воркфлоу или скилла начинается с YAML-шапки:

yaml
---
name: newsletter-generator
description: Генерирует еженедельный newsletter по заданной теме
triggers: [newsletter, email-digest, weekly-summary]
---

На L1 Claude читает только эту шапку — имя, описание, триггеры. Это ~50-150 токенов. Если задача не совпадает с этим воркфлоу — полный файл не читается. Агент проверяет все воркфлоу на L1 и выбирает нужный.

Аналогия: это как карточки в картотеке — читаешь заголовок на карточке, и только если он нужен, достаёшь полное дело.

Уровень 2 (L2): полный файл воркфлоу — ~1000–2000 токенов

Когда L1 совпал, Claude читает весь файл воркфлоу. Здесь полные инструкции: шаги, логика, параметры. Это может быть 500–2000 токенов в зависимости от сложности воркфлоу.

Уровень 3 (L3): вспомогательные файлы — только если явно нужны

Если воркфлоу использует внешний скрипт (helpers/parse_email.py) или файл с примерами — Claude читает его только тогда когда доходит до шага который его требует. Не заранее, не всегда — только когда нужно.


Принцип "только то что нужно"

Плохой подход — в claude.md написано всё что вы когда-либо могли захотеть использовать: все роли агентов, все воркфлоу описаны подробно, все примеры встроены прямо в текст. Это читается при каждом запросе — даже когда тебе нужно просто написать одно письмо.

Хороший подход — claude.md содержит только то что нужно агенту для понимания своей роли и структуры проекта. Детали воркфлоу — в файлах воркфлоу. Примеры — в отдельных файлах, загружаемых по L3.


Команда /context: рентген контекстного окна

🎨 Образ: /context — это рентген. Не просто "что-то болит", а точный снимок: вот системный промпт — 3%, вот история — 75%, вот MCP — 20%. Видишь проблему, знаешь где резать.

Команда /context показывает карту текущего использования токенов. Пример вывода:

Напиши в чат
Context window usage: 225,000 / 200,000 tokens (112%)

System prompt (claude.md):     8,200 tokens  (3.6%)
MCP tool descriptions:        45,000 tokens (20.0%)
Current workflow:              2,100 tokens  (0.9%)
Conversation history:        169,700 tokens (75.4%)

Что видим из этого примера:

  • MCP описания съедают 20% контекста — возможно подключено слишком много MCPs
  • История разговора занимает 75% — пора делать /clear или начинать новый разговор
  • Контекстное окно переполнено (112%) — модель будет "забывать" начало разговора

Это инструмент диагностики. Когда агент начинает "забывать" что он делал раньше — первое что проверяешь: /context.


Практические правила экономии токенов

  1. Короткий claude.md — описывай роль агента и структуру проекта, не воркфлоу подробно
  2. Отдельные файлы для воркфлоу — L2 загружается только когда нужен
  3. Примеры выноси в /examples — L3, не грузятся зря
  4. /clear когда разговор стал длинным — история разговора часто главный пожиратель токенов
  5. Не подключай MCPs которые не нужны — каждый MCP добавляет тысячи токенов описаний инструментов
  6. YAML frontmatter в каждом файле — обеспечивает L1 фильтрацию

Контекстное окно — что это значит на практике

🎨 Образ: Контекстное окно — как рабочий стол. Можно разложить много листов бумаги, но стол конечный. Когда места нет — старые листы падают на пол: Claude их уже не видит.

Claude имеет ограничение на сколько токенов он может видеть одновременно — это "контекстное окно".

Размеры контекстного окна по моделям (на октябрь 2026)

Модель Контекстное окно Практический максимум Стоимость (вход/выход за 1М токенов)
Claude Fable 5.1 1 000 000 токенов ~750К (с запасом на ответ) $10 / $50
Claude Opus 5.5 1 000 000 токенов ~750К $4 / $20
Claude Sonnet 5.5 1 000 000 токенов ~750К $2 / $10
Claude Haiku 4.5 200 000 токенов ~150К $1 / $5

Точные идентификаторы моделей для API и текущие цены смотри на странице Актуальное сейчас и в документации Anthropic (platform.claude.com/docs/en/about-claude/models/overview).

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

Что изменилось к октябрю 2026:

  • 1M токенов контекста у Fable 5.1, Opus 5.5 и Sonnet 5.5; у Haiku 4.5 окно 200 000
  • Старые модели (Haiku 3.5, Sonnet 4, Opus 4, Opus 4.1) выведены из Claude API
  • Haiku 4.5 может быть выведен из API не раньше 15.10.2026: следи за страницей model deprecations

Когда окно переполняется: либо запрос не проходит, либо Claude "забывает" начало разговора (модель видит только последние N токенов). В длинных сессиях разработки это обычная ситуация — решается командой /clear или /compact.

Важно: /clear очищает историю разговора, не файлы проекта. Твои воркфлоу и код никуда не денутся.

/compact — более мягкий вариант: сжимает историю, сохраняя ключевые решения и контекст. Используй /compact когда хочешь продолжить работу, /clear — когда переключаешься на другую задачу.


Практика

Задание: аудит токенов своего проекта

  1. Открой проект из урока Claude.md — системный промпт твоего проекта в Claude Code
  2. Введи команду /context
  3. Изучи вывод: что больше всего ест токены?
  4. Если claude.md занимает больше 3000 токенов — найди что можно вынести в отдельные файлы
  5. Проверь подключённые MCP: все ли реально используются?
  6. После оптимизации — снова /context, сравни

Вопрос для рефлексии: если твой проект разрастётся до 50 воркфлоу — насколько важна будет L1/L2/L3 архитектура?


Инструменты и ресурсы

  • /context — показывает распределение токенов в текущей сессии
  • /clear — очищает историю разговора (не файлы)
  • /compact — умное сжатие истории с сохранением ключевых решений
  • /usage — лимиты тарифа, стоимость и статистика сессии (раньше команда называлась /cost)
  • YAML frontmatter в воркфлоу — обеспечивает прогрессивную загрузку L1
  • Claude Pricing — текущие цены тарифов, цены токенов по моделям — на странице Актуальное сейчас
  • Claude Console — управление API-ключами и usage
  • tiktoken — Python-библиотека для подсчёта токенов (OpenAI, но полезна для оценки)
  • Anthropic SDK — точный подсчёт токенов через Token Counting API (метод client.messages.count_tokens())

Частые ошибки

Ошибка 1: Игнорирование /context Работаешь 3 часа, агент начинает "тупить" — забывает инструкции, повторяется. Причина: контекст переполнен на 90%. Привычка: проверяй /context каждые 30-40 минут.

Ошибка 2: Всё в CLAUDE.md Все правила, все примеры, все шаблоны — в одном файле на 5000 токенов. Это читается при каждом запросе. Выноси примеры в отдельные файлы, используй L2/L3 загрузку.

Ошибка 3: Не использовать /compact Многие знают только /clear. Но /clear удаляет весь контекст — нужно заново объяснять задачу. /compact сохраняет суть и освобождает значительную часть контекста. Используй /compact заранее, пока окно не заполнено, а /clear — когда меняешь задачу.


Перекрёстные ссылки


Ключевые выводы

Токены — это деньги. Каждое слово которое Claude читает или пишет стоит денег. Понимание этого делает тебя экономным архитектором, а не расточительным.

Прогрессивная загрузка L1/L2/L3 — не техническая деталь, а принцип проектирования. Строй проект так чтобы Claude читал только что нужно прямо сейчас.

/context — это рентген. Когда что-то работает медленно или дорого — запускай его первым делом.


Следующий урок

→ Context Rot и 28 техник борьбы с деградацией — что делать, когда контекст «протух». Команды /clear, /context и другие описаны в уроке Встроенные команды Claude Code.

Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс