Перейти к тексту

Claude Code: работа с coding-агентом4. Контекст под контролем

Стартовый контекст: что агент знает до первого промпта

Засчитывается, когда отвечены все вопросы квиза

Вы открываете новую session, пишете «привет» — и модель уже держит в голове заметную пачку текста, которую вы не писали. Этот фон едет в каждом запросе, весь день. Прежде чем учиться управлять контекстом, стоит увидеть, с чего он начинается.

Зачем это нужно

Context window — главный ресурс, которым вы управляете в работе с агентом. Документация Claude Code прямо говорит: качество работы LLM падает по мере заполнения окна, а когда оно почти полное, Claude начинает «забывать» ранние инструкции и чаще ошибается.

Всё, что попадает в окно до вашего первого промпта, вы оплачиваете вниманием модели в каждом turn. Если там описания инструментов, которыми вы никогда не пользуетесь, и десяток чужих skills, у агента меньше места на вашу задачу. Цель здесь не сэкономить пару центов, а оставить модели больше пространства, где она рассуждает хорошо.

Как это устроено

Ещё до первого промпта Claude Code загружает в context window:

  • system prompt и описания встроенных инструментов (Read, Edit, Bash и другие);
  • CLAUDE.md проекта и пользователя (или AGENTS.md вместо него) и auto memory;
  • названия MCP-инструментов и инструкции MCP-серверов — сами определения инструментов по умолчанию отложены (deferred) и подгружаются, только когда Claude действительно берёт инструмент;
  • описания skills — имя и описание каждого skill, который Claude может вызвать сам; полный текст skill грузится только при вызове;
  • то, что добавляет ваша конфигурация: output style, текст из --append-system-prompt.

Увидеть всё это помогает команда /context. Она рисует заполнение окна цветной сеткой, раскладывает его по категориям (system prompt, инструменты, MCP, skills, memory files, сообщения) и предлагает, что оптимизировать: тяжёлые инструменты, раздутую память, близость к лимиту. /context all разворачивает разбивку по отдельным элементам.

Откуда берётся лишнее. Конфигурация Claude Code живёт в нескольких местах: ~/.claude/settings.json — ваши личные настройки для всех проектов, .claude/settings.json — настройки проекта, личные skills лежат в ~/.claude/skills/. Если вы входите в Claude Code через аккаунт claude.ai, туда же автоматически подтягиваются connectors — MCP-серверы, добавленные в claude.ai. За месяцы экспериментов эта конфигурация обрастает тем, о чём вы давно забыли.

Практика

Начнём курс с чистого листа — так все следующие Bite-ы будут показывать одну и ту же картину.

  1. Откройте ~/.claude/ и переименуйте settings.json в settings-backup.json, а каталог skills — в skills-backup. Ничего не удаляйте: к своим настройкам вы сможете вернуться в любой момент.
  2. Перейдите в репозиторий Cadence и запустите claude.
  3. Не задавая вопросов, выполните:
/context

Посмотрите на категории. Обратите внимание на строки MCP tools и Skills: если вы входите через claude.ai, там могут оказаться connectors вроде Slack или Google Drive, которые вы в этом проекте использовать не собираетесь. Запомните итоговую цифру — в следующем Bite мы её уменьшим.

Подводные камни

  • Пустой ~/.claude/settings.json — ещё не чистый контекст. Настройки проекта из .claude/settings.json и connectors из claude.ai продолжают работать. Смотрите не на файлы, а на вывод /context.
  • CLAUDE.md грузится в каждую session. За всё, что в нём лежит, вы платите каждый раз. Знания, нужные изредка, лучше вынести в skill: Claude подгрузит его по требованию.
  • Deferred не значит бесплатно. Даже отложенные MCP-инструменты занимают место своими названиями и инструкциями серверов.

Вывод: прежде чем просить агента о чём-то, посмотрите /context — вы удивитесь, сколько места занято ещё до вашего первого слова.

Проверь себя

Источники

Текст подготовлен с помощью LLM и может содержать неточности.