Рабочие практики Claude Code: CLAUDE.md, контекст, разрешения

Тема 2/4: Claude Code как рабочая среда Урок 1/2

Claude Code — агент с инструментами, но без собственной памяти: каждая сессия начинается с чистого листа. Поэтому рабочие практики строятся вокруг передачи контекста и управления средой: файл CLAUDE.md с инструкциями проекта, разрешения на запись и bash-команды, команды /clear и /compact для управления контекстным окном. В этом уроке — практики работы с Claude Code: что класть в CLAUDE.md, как настройка разрешений ускоряет работу, почему план перед правками экономит время и как выглядит аккуратный «вайб-кодинг» — с тестами, мелкими шагами и регулярными коммитами.

Первые три урока были про промптинг — как ставить задачу модели; теперь переходим к самому инструменту, в котором эти приёмы применяются на практике. Claude Code — это агент, который работает в терминале: вызывает инструменты, читает и меняет файлы, запускает команды. При этом собственной памяти у него нет — есть только немного инструкций в системном промпте. Всё остальное он узнаёт из вашего проекта и из того, что вы ему передадите. Из этого устройства вытекают все практики урока: как передать агенту знания о проекте, как управлять его правами и что делать, когда контекстное окно заканчивается.

CLAUDE.md: инструкции, которые агент получает всегда

Основной способ делиться состоянием между сессиями и внутри команды — файл CLAUDE.md. При запуске Claude Code смотрит в рабочую директорию: если там лежит CLAUDE.md, его содержимое автоматически помещается в контекст. По смыслу это записка агенту: «вот важные инструкции, которые оставил тебе разработчик, отнесись к ним внимательно».

Держать файл можно в двух местах. Первый вариант — в самом проекте: тогда его коммитят в систему контроля версий, и инструкции становятся общими для всей команды. Второй — в домашней директории: туда кладут то, что Claude должен знать всегда, независимо от того, над чем вы работаете.

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

Две детали для больших проектов. В CLAUDE.md можно ссылаться на другие файлы через знак @ — так подтягиваются материалы, которые нужны всегда. А вложенные CLAUDE.md из поддиректорий не загружаются автоматически: в монорепозитории это раздуло бы контекст. По умолчанию читается только файл текущей директории, но когда Claude при поиске по проекту находит дочерний CLAUDE.md, он его читает. И ещё: переход на новую модель — хороший момент пересмотреть свой CLAUDE.md. Современные модели точнее следуют инструкциям, поэтому часть старых пунктов может оказаться лишней, а что-то стоит добавить.

Разрешения: чтение свободно, изменения — по запросу

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

Настройка разрешений — прямой способ ускорить работу. Есть авто-режим: нажмите Shift+Tab, и Claude продолжит без остановки на каждом запросе. А отдельные команды можно одобрить навсегда: если вам надоело каждый раз отвечать «да» на npm run test, разрешите её в настройках — и запрос больше не появится.

Интеграции: CLI-инструменты и MCP

Claude Code силён в терминале, поэтому расширять его возможности проще всего инструментами командной строки. Пример — gh, инструмент GitHub: установите его, и агенту можно отдавать больше работы с репозиториями. Второй путь — подключать MCP-серверы. Рекомендация: если инструмент известный и хорошо документированный и вы выбираете между CLI-версией и MCP-сервером, берите CLI — достаточно установить его на машину. А про внутренние инструменты вашей компании стоит написать в CLAUDE.md, чтобы агент о них знал.

Контекст: 200 000 токенов, /clear и /compact

У моделей Anthropic контекстное окно по умолчанию — около 200 000 токенов, а на новых моделях доступно до 1 млн. Агент вызывает инструменты, читает файлы, и контекст постепенно растёт; в долгой сессии окно заполняется целиком. Когда это приближается, Claude Code показывает предупреждение, и дальше есть два варианта.

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

Сначала план, потом правки

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

Вторая привычка — следить за списком задач. Над большой задачей Claude обычно ведёт to-do список. Если в нём появилось что-то странное, нажмите Escape и поправьте: «давай изменим список задач — по-моему, ты идёшь не туда».

Аккуратный вайб-кодинг

Дать Claude задачу, нажать Enter и посмотреть, что получится, — заманчиво и действительно мощно. Несколько практик делают этот режим надёжнее:

  • разработка через тесты: агент вносит небольшое изменение, запускает тесты и убеждается, что они проходят;
  • просить проверять TypeScript и линтер;
  • регулярные коммиты: если что-то пойдёт не так, всегда можно откатиться и попробовать снова;
  • скриншоты для наводки и отладки: модели мультимодальны, поэтому можно вставить снимок экрана или сослаться на файл — «посмотри на mock.png и собери по нему сайт».

Продвинутые приёмы

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

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

Общий файл для нескольких агентов. Чтобы скоординировать параллельные сессии, пусть они пишут общее состояние в markdown-файл. Например, первый Claude оставляет заметку в ticket.md «для другого разработчика», а второй начинает с команды «прочитай ticket.md».

MCP при нехватке инструментов и запуск без интерфейса. Если с bash и встроенными инструментами агент всё же чего-то не может, тогда стоит смотреть на MCP-серверы. А для автоматизации Claude Code можно использовать программно, без интерфейса — например, в GitHub Actions.

Модель и новые возможности. Команда /model показывает текущую модель и позволяет её сменить; то же доступно в /config. Современные модели могут рассуждать между вызовами инструментов. Есть интеграции с VS Code и JetBrains: Claude знает, какой файл у вас открыт. Журнал изменений публикуется в открытом репозитории Claude Code на GitHub — туда же можно писать issue.