← Материалыleogodnik.me

Сессии
Claude Code
простыми
словами

вольный пересказ статьи Lydia Hallie

Оригинал — здесь

Оглавление

Зачем это знать

Что это за текст

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

Раньше инструменты для работы с кодом стоили фиксированную сумму. Купили редактор — и работайте сколько хотите. Починили за вечер один тест или пятьдесят — цена одна и та же.

С Claude Code это не так. Теперь своя цена есть у каждой задачи. И одна и та же задача может стоить в разы дороже — просто потому, что вы по-другому вели сессию.

Хорошая новость: правил тут мало и все они простые. Сначала разберём, как это устроено, — а потом что делать.

Сессия А читает два нужных файла 5 обращений Сессия Б сначала ищет по всему проекту 18 обращений старт: инструменты, системный промпт, CLAUDE.mdпоиск по проектупрочитанные файлывывод команд
Одна и та же правка, две сессии. Сверху — Claude сразу открыл два нужных файла: пять обращений к серверу. Снизу — сначала искал по всему проекту: восемнадцать. Результат одинаковый, счёт разный.
К оглавлению

Главное: Claude ничего не помнит

Вот главная мысль. Всё остальное из неё вытекает.

У Claude нет памяти между шагами. Он не сидит и не помнит ваш разговор. Каждый раз, когда он делает следующий шаг, вся переписка целиком уезжает на сервер заново — с самого начала.

Представьте консультанта, который после каждой своей фразы всё забывает. Чтобы он продолжил, вы каждый раз заново пересказываете ему всю историю: что за проект, что уже выяснили, какие документы смотрели. Он говорит одну фразу — и снова всё забывает.

Платите вы в основном за эти пересказы. Не за ответ — ответ короткий. За пересказ, который с каждым шагом всё длиннее.

Отсюда сразу два вывода:

Поэтому мусор в переписке — это не «немножко лишнего места». Это лишняя строчка в счёте на каждом шаге и лишнее, о чём модели приходится думать.

К оглавлению

Как выглядит одна маленькая правка

Допустим, вы написали: «почини падающий тест в файле utils.test.ts». Со стороны это одно действие. На самом деле — пять обращений к серверу.

  1. Уходит ваша просьба

    Вместе с ней — служебная инструкция и ваш файл с правилами проекта.

  2. Claude просит показать файл с тестом

    Файл читается и добавляется в переписку. Вся переписка уезжает снова.

  3. Claude просит второй файл — тот, который тест проверяет

    Тоже добавляется. Всё уезжает снова.

  4. Claude пишет правку

    Правка и её результат добавляются. Всё уезжает снова.

  5. Claude запускает тесты

    Всё, что тесты напечатали, добавляется в переписку. Всё уезжает снова.

Дальше он говорит «готово» — и на этом сессия заканчивается.

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

К оглавлению

Из чего складывается счёт

Три вещи. Больше знать не нужно.

От чего зависитКак влияет
Размер моделиКрупная модель дороже мелкой. И она умножает всё остальное: любая ваша неаккуратность на большой модели стоит дороже.
Модель читает или пишетЧитать дёшево, писать примерно в пять раз дороже. Но читает она много, а пишет мало — поэтому основные деньги всё равно в чтении.
Сервер это уже видел или нетЕсли начало переписки не изменилось, сервер узнаёт его и берёт за него в десять раз меньше. Это и есть кеш — скидка 90%.

Ещё одна настройка влияет на то, сколько модель пишет: уровень усилий. Чем он выше, тем дольше модель обдумывает каждый шаг — и тем больше выходит «дорогих» слов. Переключается командой /effort.

Совет

В новой сессии один раз наберите /model и /effort — просто посмотреть, на чём вы работаете. Оба помнят прошлый выбор, и легко неделю просидеть на самой дорогой настройке, выбранной когда-то под другую задачу.

Совет

Если заранее понятно, что работа тупая и механическая, размышления можно вообще выключить — на одну сессию. Запускайте Claude Code так:

Терминал
MAX_THINKING_TOKENS=0 claude
К оглавлению

Скидка 90% и как её потерять

Про кеш стоит понять чуть подробнее — это единственное место, где легко переплатить на ровном месте.

Сервер запоминает начало вашего запроса. Если в следующий раз начало то же самое, он не пересчитывает его, а достаёт готовым — и берёт десятую часть цены.

Условие одно, но жёсткое: совпадать должно именно начало, с самого первого слова. Запрос всегда собирается в одном порядке: сначала описания инструментов, потом служебная инструкция, потом переписка (а ваш файл с правилами проекта — в её начале).

Пока новое дописывается в конец переписки, скидка работает. Как только меняется что-то в начале — скидка пропадает, и всё считается заново по полной цене.

Скидку рушат пять вещей:

Отсюда простое правило: модель и усилия выбирайте в начале сессии. Не потому, что менять их нельзя, а потому что в начале это бесплатно, а в середине — нет.

Совет

Сжатие (/compact) — полезная штука, просто делайте его до перерыва, а не после. Пока переписка ещё в кеше, пересказать её дёшево. А если последние несколько шагов ушли не туда, лучше не сжимать, а откатиться назад командой /rewind: она просто отрезает лишние шаги с конца, и всё, что было раньше, остаётся в кеше. Это не стоит ничего.

К оглавлению

Что копится в переписке

Часть переписки занята ещё до того, как вы напечатали первое слово: описания инструментов, служебная инструкция, ваш файл с правилами проекта и всё, что подключено на старте. Это уезжает на сервер в каждом запросе.

Совет

Наберите /context в новой сессии — увидите, чем она занята ещё до вашей первой строчки. Лишнее убирайте: правила, которые нужны не всегда, переносите из файла проекта в скиллы (они подключаются только когда нужны), а ненужные в этой сессии внешние подключения выключайте через /mcp.

Дальше всё, что добавляется, — это две вещи: файлы, которые Claude прочитал, и то, что напечатали запущенные им команды.

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

ВЫ ПИШЕТЕ ЧТО НАКОПИТСЯ ДО НАЧАЛА ПРАВКИ «тесты падают» потом правка 6 шагов «почини utils.test.ts» потом правка 1 шаг «почини @utils.test.ts» сразу правка 0 шагов поиск по проектуоткрытые файлынужный файл, прочитанный по запросу
Одна и та же задача, три формулировки. «Тесты падают» — шесть шагов уходит на поиски, и только потом начинается работа. «Почини utils.test.ts» — один шаг. «Почини @utils.test.ts» — сразу работа.
Совет

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

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

Что интересно: очень большой вывод как раз не страшен. Если напечаталось больше 30 000 символов, Claude Code сам сохранит это в файл, а в переписку положит только начало и путь. Опасен средний размер: прогон тестов, который печатает 400 строчек «тест пройден», в порог не попадает — и эти 400 строчек теперь едут на сервер на каждом шаге до конца сессии.

Совет

Две-три команды, которые вы гоняете каждый день, запишите в файл с правилами проекта — сразу с флагами, которые убирают лишний вывод. Одна строчка в файле экономит шаг и сотни строк мусора в каждой следующей сессии.

К оглавлению

Девять привычек

Вот и всё, что нужно делать. Ничего сложного тут нет.

ПривычкаЧто даёт
Начали новую задачу — наберите /clearПереписка начинается заново, и контекст прошлой задачи не едет на сервер вместе со следующей. Самая крупная экономия из всех.
Говорите про файл через @Файл сразу в сообщении: не нужны ни поиск, ни отдельный шаг на чтение.
Формулируйте конкретноЧем меньше Claude угадывает, тем меньше он открывает лишнего — а всё лишнее остаётся в переписке до конца.
Убирайте лишний вывод командФлаги, которые печатают коротко, — прямо в файл с правилами проекта.
/context в новой сессииВидно, чем занята сессия на старте, и что из этого можно отключить.
Модель и усилия — сразу, а не в серединеВ начале сессии переключение бесплатно, в середине — сбрасывает скидку на всю переписку.
Уходите от компьютера — сначала /compactСжать переписку дёшево, пока она в кеше. Через час она из кеша выпадет, и то же самое обойдётся дороже.
Грязную работу — сабагентуОн разберёт лог или прогонит тесты у себя и вернёт только вывод. Весь мусор останется у него.
Задачи по расписанию — из отдельной сессии/loop каждый раз тащит с собой всю переписку той сессии, где вы его завели. Заводите его в новом окне терминала.

Про сабагента стоит сказать отдельно, потому что это самый недооценённый приём. Сабагент — это отдельный Claude со своей чистой перепиской. Он получает задание, сам всё читает и запускает, а вам возвращает только ответ. Всё, что он при этом прочитал, выбрасывается и в вашу переписку не попадает.

На мелком поручении это лишние расходы: сабагент не знает вашего разговора и часть работы делает заново. Зато на грязной работе — разобрать длинный лог, прогнать все тесты, поискать что-то в истории — он окупается сразу. Часто Claude берёт сабагента сам; если не взял, попросите прямо: «разбери этот лог в сабагенте».

Одни и те же три задачи, два разных расхода /clear между задачами задача 1 /clear · задача 2 /clear · задача 3 одна сессия в 1,9 раза больше отправлено задача 1 задача 2 задача 3 старт, из кешапереписка, из кеша ×0,1дописано с прошлого шага ×1ответ ×5
Сверху — с /clear между задачами: каждая начинается с чистого листа. Снизу — всё в одной сессии: столбики растут, потому что каждый шаг везёт с собой всё предыдущее.
К оглавлению

За чем следить в первую очередь

Если запоминать нечего, кроме четырёх пунктов, — вот они, примерно в порядке того, сколько они стоят:

1. Длинные сессии

Каждый шаг везёт с собой всё, что было раньше. Именно здесь уходит большая часть денег.

2. Лишнее в переписке

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

3. Модель или усилия выше, чем нужно задаче

На это умножается всё остальное. И обе настройки помнятся с прошлого раза, так что проверять их стоит в начале.

4. Потерянная скидка

Смена модели, усилий или режима в середине разговора — или возвращение после долгой паузы. Переписка пересчитывается по полной цене.

В оригинале эти четыре пункта нарисованы картинкой; здесь они набраны текстом.

К оглавлению

Что значат слова

Этого раздела нет в оригинале — он добавлен в пересказе.

Токен
Кусочек текста примерно в половину слова. В токенах считают и объём переписки, и счёт.
Сессия
Один запуск Claude Code с одной непрерывной перепиской. Заканчивается, когда вы вышли или сделали /clear.
Шаг
Одно обращение к серверу и ответ на него. Каждый раз, когда Claude читает файл или запускает команду, это отдельный шаг — и вся переписка едет заново.
Контекст
Всё, что модель видит на этом шаге: служебная инструкция, ваши правила, переписка, прочитанные файлы, вывод команд. Места в нём ограниченное количество.
Кеш
Память сервера о начале вашего запроса. Пока начало не менялось, за него берут десятую часть цены.
Уровень усилий
Насколько долго модель обдумывает каждый шаг. Выше уровень — лучше на сложных задачах и дороже на простых. Команда /effort.
Сабагент
Отдельный Claude со своей чистой перепиской. Делает поручение у себя и возвращает только ответ.
Файл с правилами проекта
Он называется CLAUDE.md и лежит в папке проекта. Подключается в начале каждой сессии, поэтому едет на сервер в каждом запросе — держите его коротким.
Скилл
Инструкция под конкретную работу, лежит отдельно от файла с правилами. Подключается только когда нужна, поэтому места в переписке зря не занимает.
MCP
Способ подключить к Claude Code внешние сервисы. Описания их команд лежат в переписке с самого старта, даже если вы к ним не обращались.
Быстрый режим
Режим, в котором ответ приходит быстрее и стоит дороже. Включать лучше в начале сессии.
Команды, которые упоминались
/clear
Начать переписку с чистого листа, не выходя из Claude Code.
/compact
Заменить переписку её коротким пересказом, чтобы освободить место.
/rewind
Отрезать последние шаги и вернуться к точке перед ними.
/rename
Дать сессии название, чтобы найти её потом. Полезно сделать перед /clear.
/context
Показать, чем занята переписка прямо сейчас.
/model, /effort
Выбрать модель и уровень усилий.
/mcp
Включать и выключать внешние подключения.
/loop
Повторять задачу с интервалом. Заводить лучше в отдельной сессии.
К оглавлению
Кто делал русскую версию

Русский вариант подготовил автор телеграм-канала @financialpostpunk.

Открыть канал в Telegram