Skip to content

Оптимизация расхода лимитов Claude Code (Max X5)

Главный принцип

MCP-результаты остаются в контексте до конца сессии. Контекст растёт → каждый следующий запрос дороже. /compact — основной инструмент контроля расхода.


Приоритет выбора MCP (от дешёвого к дорогому)

1. Laravel Boost — первый выбор для Laravel-задач (1% лимита)

Возвращает структурированные компактные ответы. Всегда предпочитать Docker MCP.

ЗадачаИнструментВместо
Ошибка в логахlaravel-boost__last-errordocker_exec + tail storage/logs/laravel.log
Записи логаlaravel-boost__read-log-entriesdocker_exec + cat
Схема таблицыlaravel-boost__database-schemadocker_exec + psql \d table
Запрос к БД проектаlaravel-boost__database-querydocker_exec + psql -c
Информация о проектеlaravel-boost__application-infodocker_exec + php artisan about
Документация Laravellaravel-boost__search-docsWebFetch на laravel.com

2. Postgres/MySQL MCP — для SQL-запросов (6% лимита)

Напрямую к БД, минуя Docker. Возвращает JSON — компактнее raw-вывода psql.

ЗадачаИнструментВместо
SELECT-запросыmcp__postgres__querydocker_exec + psql -c
Схема/индексыmcp__postgres__querydocker_exec + \dt, \di
EXPLAIN запросаmcp__postgres__querydocker_exec + psql
Bulk UPDATE/DELETEmcp__postgres__querydocker_exec + psql

3. Docker MCP — fallback (20% лимита)

Использовать только когда Laravel Boost и Postgres MCP не покрывают задачу.

ЗадачаОправданный docker_exec
php artisan migrateBoost не умеет произвольные artisan
php artisan testТолько через exec
composer require/installТолько через exec
php artisan make:*Генерация файлов
npm run buildFrontend-сборка
./vendor/bin/pintLint
Логи nginx/redisdocker_container_logs с tail: 20

Как экономить Docker MCP

  • Цепочка команд в одном docker_exec: cmd1 && cmd2 && cmd3 вместо 3 отдельных вызовов
  • /compact после серии docker-вызовов — сжимает контекст, убирает raw-данные
  • docker_container_logs — всегда указывать tail: 20, не читать всё
  • Предсказуемые команды (cache:clear, config:clear) — не проверять вывод, результат известен
  • Не вызывать docker_list_containers без необходимости — контейнеры известны из CLAUDE.md

Браузерная проверка: claude-in-chrome (2%) vs Playwright (19%)

claude-in-chrome — первый выбор

  • get_page_text — компактный текст страницы (5-10 строк vs DOM-дерево)
  • javascript_tool — выполнить JS, вернуть только результат
  • read_console_messages с pattern — фильтрация на стороне расширения
  • browser_batch — серия действий в одном вызове
  • Работает в реальном Chrome с логинами/сессиями

Playwright — отключён по дефолту

Включать в конкретном проекте только когда claude-in-chrome недоступен:

  • Headless-автоматизация (CI/CD, нет GUI)
  • Изолированный браузер (без cookies)
  • Перехват сетевых запросов

Включить: убрать playwright из disabledMcpServers в .claude.json для нужного проекта.


Субагенты (83% лимита за 24ч)

Проблема

Каждый субагент — отдельный запрос со своим контекстом. coder (14%), tester (4%), general-purpose (2%).

Как экономить

  • Не запускать субагенты для простых задач — правка одного файла, поиск по grep
  • Sonnet для субагентов (когда доступен) — дешевле Opus
  • Не более 2 субагентов параллельно при низком остатке лимита
  • Конкретные промпты — чем точнее задача, тем быстрее субагент завершит

Контекст (19% от длинных сессий >150k)

Как экономить

  • /compact после каждого логического блока работы (MCP-серия, отладка)
  • /clear при переключении между задачами/проектами
  • Не держать одну сессию часами — лучше несколько коротких
  • Не просить «покажи весь файл» — читать конкретные строки (offset + limit)

Команды управления

КомандаКогда использоватьЭффект
/compactПосле MCP-блока, после отладкиСжимает контекст, сохраняет суть
/clearСмена задачи/проектаПолная очистка контекста
/model sonnetРутинные задачи (CRUD, CSS)Дешевле Opus
/model opusАрхитектура, security, сложная логикаДороже, но точнее

Чеклист перед работой

  1. Sonnet доступен? → использовать для рутины
  2. Задача простая? → без субагентов
  3. Нужен MCP? → минимум вызовов, /compact после
  4. Сессия длинная? → /compact каждые 15-20 минут работы
  5. Новая задача? → /clear и начать с чистого контекста
  6. Лимит < 20%? → только точечные задачи, без субагентов и Playwright

Типичные расходные сценарии

СценарийРасходКак оптимизировать
Ошибка в LaravelНизкийlaravel-boost__last-error, не docker_exec + tail
SQL-запрос к БДНизкийpostgres__query, не docker_exec + psql
Схема таблицыНизкийlaravel-boost__database-schema, не raw SQL
php artisan testСреднийdocker_exec (единственный путь) + /compact
php artisan migrateСреднийdocker_exec + /compact
Отладка с Playwright (5 страниц)ВысокийSnapshot 1-2 страниц + /compact
Субагент coder на фичуВысокийТочный промпт, sonnet модель
Чтение логов контейнераСреднийdocker_container_logs с tail: 20
Grep по кодбазеНизкийПрямой Grep-инструмент, не субагент

Быстрая шпаргалка: задача → MCP

Ошибка Laravel     → laravel-boost (1%)
Схема БД           → laravel-boost (1%)
SQL-запрос         → postgres / mysql MCP (6%)
Документация       → laravel-boost search-docs (1%)
Визуальная проверка → claude-in-chrome (2%) — не playwright!
JS-ошибки console  → claude-in-chrome read_console_messages (2%)
Artisan-команда    → docker_exec (20%, fallback)
Composer/npm       → docker_exec (20%, fallback)
Логи контейнера    → docker_container_logs (tail: 20)
Поиск по коду      → Grep/Glob (встроенные, бесплатно)

Контекст-инжиниринг (техники из expert-docs)

.claudeignore — исключение шума из индексации

Файл .claudeignore (аналог .gitignore) исключает vendor/, node_modules/, storage/logs/ из индексации. Экономия: 5 000–30 000 токенов на проект. Создан во всех Laravel-проектах.

Context Priming — задание рамки с первого сообщения

Начинайте сессию с конкретного контекста:

Что делаем: [одно предложение]
Ключевые файлы: [перечислить]
Что НЕ трогаем: [явно исключить]

Секция «Что НЕ нужно» не менее важна — CC не потянет лишнее в контекст.

Scratchpad — рабочий документ вместо длинной истории

Для задач 30+ минут — файл scratchpad.md с прогрессом:

  • Текущая задача, прогресс (чеклист), принятые решения, блокеры
  • После /clear → новая сессия с «Прочитай scratchpad.md и продолжи»
  • Выживает между сессиями, компактнее чем вся история чата

Context Checkpoints — точки сохранения

Каждые 20-30 минут: «Обнови scratchpad.md с текущим прогрессом» → /clear → свежая сессия. Особенно критично при auto-compaction — checkpoint гарантирует что решения не потеряются.

Selective Reading — читать части, не файлы целиком

Вместо «прочитай UserController.php» (800 строк) → «прочитай строки 120-180, метод update()». На файлах 2000+ строк это разница в тысячи токенов.

Haiku для рутины

/model haiku для переименований, CRUD-полей, форматирования — в 3-5x быстрее ответ. На Max X5 Haiku имеет отдельный лимит. Sonnet для рефакторинга. Opus для архитектуры.

Иерархия CLAUDE.md

  • Корневой: общие правила (до 200 строк)
  • Проектный: специфика проекта
  • specs/*.md: детали по областям (загружаются по требованию, не всегда)

Каждый уровень добавляет только релевантное. Specs не загружаются автоматически.


Автоматизация через хуки

ХукМоментЧто делает
docker-mcp-guardPreToolUse BashБлокирует bash docker, направляет на MCP
laravel-mcp-guardPreToolUse BashLaravel-специфичная защита, автоопределение контейнера
mcp-cost-optimizerPreToolUse mcp__docker__Перенаправляет docker→laravel-boost/postgres
playwright-cost-optimizerPreToolUse mcp__playwright__Перенаправляет на claude-in-chrome (10x дешевле)
post-mcp-compact-reminderPostToolUse docker/playwrightНапоминает /compact при ответе >2000 токенов
prompt-classifierUserPromptSubmitПодсказывает нужный MCP по типу задачи

Внутренняя база знаний студии