Skip to content

Оптимизация производительности: повышение скорости отклика

Чему вы научитесь

  • Выбирать подходящую модель в зависимости от сложности задачи, балансируя стоимость и производительность
  • Эффективно управлять окном контекста, избегая достижения лимитов
  • Правильно настраивать MCP-серверы для максимизации доступного контекста
  • Использовать стратегическое сжатие для сохранения логической连贯ности диалога

Ваша текущая проблема

Claude Code отвечает медленно? Окно контекста быстро заполняется? Не знаете, когда использовать Haiku, Sonnet или Opus? Эти проблемы серьёзно снижают эффективность разработки.

Основная идея

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

Ключевое понятие

Окно контекста — это длина истории диалога, которую Claude может «запомнить». Текущие модели поддерживают около 200k токенов, но это значение зависит от количества MCP-серверов, количества вызовов инструментов и других факторов.

Распространённые проблемы производительности

Проблема 1: Медленная скорость отклика

Симптомы: Простые задачи требуют долгого ожидания

Возможные причины:

  • Использование Opus для простых задач
  • Слишком длинный контекст, требующий обработки большого объёма исторической информации
  • Включено слишком много MCP-серверов

Решения:

  • Используйте Haiku для лёгких задач
  • Регулярно сжимайте контекст
  • Уменьшите количество включённых MCP

Проблема 2: Быстрое заполнение окна контекста

Симптомы: После непродолжительной работы требуется сжатие или перезапуск сессии

Возможные причины:

  • Включено слишком много MCP-серверов (каждый MCP занимает контекст)
  • Своевременное сжатие истории диалога не выполняется
  • Использование сложных цепочек вызовов инструментов

Решения:

  • Включайте MCP по необходимости, используйте disabledMcpServers для отключения неиспользуемых
  • Используйте стратегическое сжатие, вручную сжимайте на границах задач
  • Избегайте ненужного чтения файлов и поиска

Проблема 3: Быстрое расходование токенов

Симптомы: Квота быстро исчерпывается, высокая стоимость

Возможные причины:

  • Постоянное использование Opus для всех задач
  • Повторное чтение большого количества файлов
  • Неоптимальное использование сжатия

Решения:

  • Выбирайте модель в зависимости от сложности задачи
  • Используйте /compact для активного сжатия
  • Используйте strategic-compact hooks для умных напоминаний

Стратегия выбора модели

Выбор подходящей модели в зависимости от сложности задачи может значительно повысить производительность и снизить стоимость.

Haiku 4.5 (90% возможностей Sonnet, 3x экономия)

Сценарии использования:

  • Лёгкие агенты, частые вызовы
  • Парное программирование и генерация кода
  • Worker-агенты в многоагентных системах

Пример:

markdown
Простые изменения кода, форматирование, генерация комментариев
Используйте Haiku

Sonnet 4.5 (лучшая модель для кодирования)

Сценарии использования:

  • Основная разработка
  • Координация многоагентных рабочих процессов
  • Сложные задачи кодирования

Пример:

markdown
Реализация новых функций, рефакторинг, исправление сложных багов
Используйте Sonnet

Opus 4.5 (максимальные возможности рассуждения)

Сценарии использования:

  • Сложные архитектурные решения
  • Задачи, требующие максимальной глубины рассуждения
  • Исследовательские и аналитические задачи

Пример:

markdown
Проектирование системы, аудит безопасности, диагностика сложных проблем
Используйте Opus

Совет по выбору модели

В конфигурации агента укажите модель через поле model:

markdown
---
name: my-agent
model: haiku  # или sonnet, opus
---

Управление окном контекста

Чрезмерное использование окна контекста влияет на производительность и может привести к сбою задач.

Задачи, требующие избегания последних 20% окна контекста

Для этих задач рекомендуется сначала сжать контекст:

  • Масштабный рефакторинг
  • Реализация функций, охватывающих несколько файлов
  • Отладка сложных взаимодействий

Задачи с низкой чувствительностью к контексту

Эти задачи не требуют большого контекста и могут продолжаться при приближении к лимиту:

  • Редактирование одного файла
  • Создание независимых инструментов
  • Обновление документации
  • Исправление простых багов

Важное напоминание

Окно контекста зависит от следующих факторов:

  • Количество включённых MCP-серверов
  • Количество вызовов инструментов
  • Длина истории диалога
  • Файловые операции в текущей сессии

Оптимизация конфигурации MCP

MCP-серверы — важный способ расширения возможностей Claude Code, но каждый MCP занимает контекст.

Основные принципы

Согласно рекомендациям README:

json
{
  "mcpServers": {
    "mcp-server-1": { ... },
    "mcp-server-2": { ... }
    // ... больше конфигураций
  },
  "disabledMcpServers": [
    "mcp-server-3",
    "mcp-server-4"
    // отключите неиспользуемые MCP
  ]
}

Лучшие практики:

  • Можно настроить 20-30 MCP-серверов
  • Включайте не более 10 для каждого проекта
  • Поддерживайте количество активных инструментов ниже 80

Включение MCP по необходимости

Выбирайте соответствующие MCP в зависимости от типа проекта:

Тип проектаРекомендуется включитьОпционально
Frontend-проектVercel, MagicFilesystem, GitHub
Backend-проектSupabase, ClickHouseGitHub, Railway
Fullstack-проектВсе-
Библиотека инструментовGitHubFilesystem

Как переключать MCP

В конфигурации проекта (~/.claude/settings.json) используйте disabledMcpServers:

json
{
  "disabledMcpServers": ["cloudflare-observability", "clickhouse-io"]
}

Стратегическое сжатие

Автоматическое сжатие может произойти в любой момент и прервать логику задачи. Стратегическое сжатие выполняется вручную на границах задач, сохраняя логическую连贯ность.

Зачем нужно стратегическое сжатие

Проблемы автоматического сжатия:

  • Часто срабатывает в середине задачи, теряя важный контекст
  • Не понимает границы логики задачи
  • Может прервать сложные многошаговые операции

Преимущества стратегического сжатия:

  • Сжимает на границах задач, сохраняя ключевую информацию
  • Более чёткая логика
  • Избегает прерывания важных процессов

Лучшие моменты для сжатия

  1. После завершения исследования, перед выполнением — сжимайте исследовательский контекст, сохраняя план реализации
  2. После завершения этапа — перезапуск для следующего этапа
  3. Перед переключением задач — очистите исследовательский контекст, подготовьтесь к новой задаче

Strategic Compact Hook

Этот плагин включает strategic-compact skill, который автоматически напоминает, когда нужно сжать.

Как работает хук:

  • Отслеживает количество вызовов инструментов
  • Напоминает при достижении порога (по умолчанию 50 вызовов)
  • Затем напоминает каждые 25 вызовов

Настройка порога:

bash
# Установка переменной окружения
export COMPACT_THRESHOLD=40

Конфигурация хука (уже включена в hooks/hooks.json):

json
{
  "matcher": "tool == \"Edit\" || tool == \"Write\"",
  "hooks": [{
    "type": "command",
    "command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/suggest-compact.js\""
  }]
}

Советы по использованию

  1. Сжатие после планирования — после утверждения плана сжимайте и начинайте заново
  2. Сжатие после отладки — очистите контекст решения ошибок, переходите к следующему шагу
  3. Не сжимайте во время реализации — сохраняйте контекст связанных изменений
  4. Следите за напоминаниями — хук говорит «когда», вы решаете «сжимать ли»

Просмотр текущего состояния

Команда /checkpoint позволяет сохранить текущее состояние перед сжатием сессии.

Чек-лист производительности

В повседневном использовании регулярно проверяйте следующие пункты:

Использование моделей

  • [ ] Простые задачи выполняются с Haiku, а не Sonnet/Opus
  • [ ] Сложные рассуждения выполняются с Opus, а не Sonnet
  • [ ] В конфигурации агента указана подходящая модель

Управление контекстом

  • [ ] Включено не более 10 MCP
  • [ ] Регулярно используется /compact для сжатия
  • [ ] Сжатие выполняется на границах задач, а не в середине

Конфигурация MCP

  • [ ] В проекте включены только необходимые MCP
  • [ ] disabledMcpServers используется для управления неиспользуемыми MCP
  • [ ] Регулярно проверяется количество активных инструментов (рекомендуется < 80)

Часто задаваемые вопросы

Q: Когда использовать Haiku, Sonnet или Opus?

A: В зависимости от сложности задачи:

  • Haiku: лёгкие задачи, частые вызовы (например, форматирование кода, генерация комментариев)
  • Sonnet: основная разработка, координация агентов (например, реализация функций, рефакторинг)
  • Opus: сложные рассуждения, архитектурные решения (например, проектирование системы, аудит безопасности)

Q: Что делать, если окно контекста заполнилось?

A: Немедленно используйте /compact для сжатия сессии. Если включён strategic-compact hook, он напомнит вам в подходящий момент. Перед сжатием можно использовать /checkpoint для сохранения важного состояния.

Q: Как узнать, сколько MCP включено?

A: Проверьте конфигурацию mcpServers и disabledMcpServers в ~/.claude/settings.json. Количество активных MCP = общее количество - количество в disabledMcpServers.

Q: Почему мои ответы особенно медленные?

A: Проверьте следующее:

  1. Используется ли Opus для простых задач?
  2. Быстро ли заполняется окно контекста?
  3. Включено ли слишком много MCP-серверов?
  4. Выполняются ли масштабные файловые операции?

Итоги урока

Суть оптимизации производительности — «использовать правильный инструмент в правильное время»:

  • Выбор модели: выбирайте Haiku/Sonnet/Opus в зависимости от сложности задачи
  • Управление контекстом: избегайте последних 20% окна, своевременно сжимайте
  • Конфигурация MCP: включайте по необходимости, не более 10
  • Стратегическое сжатие: вручную сжимайте на границах задач, сохраняя логическую连贯ность

Связанные курсы


Приложение: ссылки на исходный код

Нажмите, чтобы раскрыть расположение исходного кода

Время обновления: 2026-01-25

ФункцияПуть к файлуСтроки
Правила оптимизации производительностиrules/performance.md1-48
Skill стратегического сжатияskills/strategic-compact/SKILL.md1-64
Конфигурация Hookshooks/hooks.json1-158
Strategic Compact Hookhooks/hooks.json46-54
Скрипт Suggest Compactscripts/hooks/suggest-compact.js-
Пример конфигурации MCPmcp-configs/mcp-servers.json-

Ключевые правила:

  • Выбор модели: Haiku (лёгкие задачи), Sonnet (основная разработка), Opus (сложные рассуждения)
  • Окно контекста: избегайте использования последних 20%, своевременно сжимайте
  • Конфигурация MCP: включайте не более 10 для каждого проекта, активные инструменты < 80
  • Стратегическое сжатие: вручную сжимайте на границах задач, избегайте прерывания автоматическим сжатием

Ключевые переменные окружения:

  • COMPACT_THRESHOLD: порог количества вызовов инструментов (по умолчанию: 50)