Как я использую Claude Code

Как я использую Claude Code

@ai_longreads

Полное руководство по работе с Claude Code — от базовых принципов до продвинутых техник. Автор делится проверенными стратегиями управления контекстом, планирования, отладки и масштабирования работы с несколькими терминалами параллельно.

Это AI-перевод статьи, сделанный каналом Про AI: Лучшие Статьи и Исследования.


Как я использую Claude Code

How I Use Claude Code Автор: Silen Naihin Оригинальный текст:

Введение

Я использую Claude Code каждый день для разработки продуктов и это изменило мой подход к программированию. Эта статья — результат сотен часов работы с инструментом и изучения опыта сообщества. Я структурировал материал от базовых принципов к продвинутому использованию.

Статья предназначена для разработчиков с любым уровнем опыта работы с Claude Code: от новичков до тех, кто уже активно его использует.

Отдельное спасибо steipete за детальную обратную связь и вдохновение.

Базовые принципы

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

Контекстное окно (context window) — самый важный ресурс. Ваша способность эффективно им управлять напрямую влияет на качество работы агента.

  1. Читайте ваш контекст как журнал изменений. Думайте о том, что входит и выходит из контекстного окна. Каждый вызов инструмента, каждый файл добавляет контекст.
  1. `/compact` — ваш главный инструмент. Используйте его для сжатия контекста, иначе качество будет деградировать со временем. Для длинных задач используйте часто. Я компактифицирую каждую сессию. Можно добавить инструкции о том, что сохранить.
  1. Пользовательские команды для начала сессии. Я использую команду `/transfer-context` для переноса контекста между сессиями.
  1. `/context` показывает, сколько контекста осталось. Вы получите отчёт, и Claude предупредит, когда контекст заканчивается. Принимайте решение о компактификации или смене чата на этом этапе. Не ждите, пока дойдёт до 0% — это ухудшит результаты.
  1. Поддерживайте фокус: один чат = примерно одна задача. Определение «задачи» стало намного шире, чем раньше. Тестируйте границы и смотрите, что работает для вас.
  1. Генерация в чате с контекстом всегда работает лучше, будь то документация, тесты или связанный код. Иногда для одноразовых изменений (вроде исправления бага) я делаю их в контексте чата, коммичу изменения, а потом откатываю разговор назад для экономии контекста.

Используйте /resume для продолжения предыдущего чата.

Примечание о лимитах контекста: Claude Code имеет лимит в 200k токенов (tokens). Вы упрётесь в него быстрее, чем в альтернативах вроде Codex (400k) или Gemini (1M).

Планирование

Время, потраченное на планирование, прямо пропорционально качеству результата агента.

Эмпирическое правило: хороший промпт сэкономит вам 3 минуты на последующих промптах и отладке за каждую минуту планирования.

Shift+Tab дважды: Режим планирования (plan mode). Я использую его, но только для крупных задач или когда форма желаемого результата неясна. Заметка: режим планирования сохраняет в .md в глобальной папке ~/.claude, которая недоступна внутри репозитория. Я либо прошу Claude создать plan.md в репозитории после режима планирования, либо вообще пропускаю его и планирую прямо в чате.

Три подхода

  1. Диалог в режиме планирования: Начните разговор, задавайте вопросы, дайте ему изучить код, создайте план вместе. Когда будете довольны, скажите «напиши план в docs/*.md и начинай кодить».
  1. Спринт-стиль со списком задач: Для крупных проектов настройте progress.txt и структурированный список задач (prd.json). Подробнее в разделе Advanced.
  1. Генерация плана отката: Запустите промпт, посмотрите, что сгенерируется, потом откатите и продолжайте планировать для финального плана.

После создания плана используйте команду `/interview-me-planmd`, которая проводит детальное интервью о вашем плане перед началом работы.

Opus 4.5 отлично объясняет вещи и создаёт превосходные ASCII-диаграммы. Моё исследование включает много вопросов, уточнение требований, понимание где/как/зачем вносить изменения.

Обратная совместимость: Модели сейчас настолько сильно RLHF'нуты, что нужно явно просить не поддерживать обратную совместимость.

Следите за переусложнением: Модели Claude любят делать слишком много. Лишние файлы, гибкость, о которой вы не просили, ненужные абстракции. Будьте максимально явными в том, чего НЕ делать. Pete хорошо сформулировал: «Мы хотим максимально простое изменение. Нам не важна миграция. Читаемость кода важнее всего, и мы готовы на большие изменения ради неё.»

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

Замыкание цикла

Классический XKCD про программистов, тратящих неделю на автоматизацию задачи, которая занимает 5 минут.

С агентным (agentic) программированием это уравнение перевернулось. Замыкание цикла теперь почти всегда окупается. Стоимость автоматизации рухнула. То, что раньше занимало неделю, теперь занимает один разговор.

Если вы делаете что-то больше одного раза, замкните цикл. Если тратите много времени на X, замкните цикл.

  • Создавайте команды для повторяющихся промптов
  • Создавайте агентов для повторяющейся работы
  • Обновляйте ваш claude.md
  • Создавайте промпты в .md файлах (как правила Cursor!)
  • Меняйте tsconfig и другие конфиги

Верифицируемость

Единственный способ узнать, что вы правы — это проверить результаты.

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

Интерфейсные тесты — это способность понять, что не так, и объяснить это.

Для UI это значит смотреть, для UX — кликать, для API — делать запросы. И проверять ответы.

Хороший способ думать о замыкании цикла: упростить верификацию для себя — значит упростить верификацию для агента.

Для крупных рефакторингов: Попросите Claude заранее написать комплексные интерфейсные тесты. Это гарантирует правильность рефакторинга. Тесты становятся вашим слоем верификации.

Написание тестов: Лучшие тесты пишутся в том же контексте, что и код, который они тестируют.

Доверьтесь процессу. Для продакшн-приложений тестируйте в staging или dev на PR. Интеграционные тесты — ваша страховочная сеть. Если они прошли — выкатывайте.

Отладка

ИИ пишет код быстро, но отладка ИИ-кода требует других навыков, чем отладка собственного. Вы его не писали, поэтому у вас нет ментальной модели.

Цикл отладки

Когда что-то ломается, используйте систематическую отладку. У меня есть команда `/debug`, которая запускает тщательное расследование:

  1. Создайте гипотезы о том, что не так
  2. Прочитайте ВЕСЬ связанный код (не спешите)
  3. Добавьте стратегическое логирование для проверки предположений
  4. Подойдите к проблеме по-другому в новом чате
  5. Попробуйте другую модель
  6. Откатите и попробуйте снова
  7. Худший случай: погрузитесь в код сами

Правило трёх: Если вы объяснили одно и то же три раза, а Claude всё ещё не понимает, дальнейшие объяснения не помогут. Измените что-нибудь.

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

Начните заново: Если вы вносите много изменений в план, начните новую сессию. Попросите агента подытожить ситуацию, что было испробовано и выводы. Скопируйте в новую сессию Claude.

Совет моделей

У разных моделей разные слепые зоны. Когда застряли, получите свежие перспективы:

  • `/ensemble-opinion`: Получите мнения от нескольких моделей о проблеме. Запускает Claude, Gemini и Codex параллельно, потом синтезирует ответы.
  • `/codex-delegate`: Делегируйте задачи в OpenAI Codex для автономного выполнения.

Вы можете автоматически ревьюить свои PR и коммиты. Claude может находить проблемы, предлагать улучшения и давать контекстно-зависимую обратную связь до человеческого ревью.

Если у вас есть доступ, используйте Codex для ревью PR. Вы не хотите, чтобы код ревьюили те же индуктивные предубеждения, которые его написали. Codex ловит то, что пропускает Claude, и наоборот.

Рефакторинг (refactoring) и очистка

Инструменты:

Запустите `/refactor` для фокусированной сессии очистки с этими инструментами.

Я рефакторю, когда чувствую боль из-за ошибок Claude, или после крупных добавлений в кодовую базу. Не только я считаю, что делать это постоянно убивает импульс. Относитесь к этому как к отдельной фазе.

Claude не поймёт ваших предпочтений по чистоте кода. Со временем добавляйте контекст в Claude.md, который раскрывает ваши предпочтения и сокращает время рефакторинга.

Советы для эффективного пользователя Claude Code

Всегда выбирайте самые мощные модели. Используйте /model для переключения на Opus 4.5. Разница в стоимости незначительна по сравнению с разницей в качестве.

Используйте @ для упоминания файлов прямо в промпте. Иногда нужно набрать @/, чтобы появился полный список файлов.

Горячие клавиши, которые я использую чаще всего

Shift+Tab дважды: Режим планирования.

Ctrl+R: Поиск по истории промптов (похоже на backsearch в терминале).

Esc+Esc: Доступ к чекпоинтам /rewind. Откатывает к предыдущему чекпоинту, когда Claude что-то сломал. Можно откатить и код, и разговор.

`!`: Можно набрать любую bash-команду в чате, добавив ! перед сообщением.

Полезные сочетания на Mac:

  • Shift+Enter: Добавить переносы строк без отправки сообщения.
  • Cmd+Option+C (Raycast): Доступ к полной истории буфера обмена. Необходимо для копирования нескольких вещей.
  • Option+Arrow: Перемещение по словам. Cmd+Arrow: Переход в начало/конец строки.

Мышление «просто спроси Claude»

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

Выработайте привычку: просто спросите Claude. Он знает, как делать вещи вроде создания кастомных команд (он поищет в интернете и разберётся, если не знает).

Использование 12 параллельных терминалов

Я часто даже не открываю IDE для репозитория. У меня открыто 12 терминалов одновременно, активно работаю в 1-8 из них в любой момент времени. Обычно 2 на проект: один для управления контекстом или Ralph, один для активной многопоточности.

Реальный прогресс в 4 проектах одновременно требует, чтобы проекты были больше про исполнение, чем про мышление. И нужно быть в потоке.

Естественный инстинкт — использовать git worktrees для изоляции параллельной работы.

Но работа в одной ветке — лучший подход при запуске нескольких инстансов. Для скорости и простоты. На практике, если делать это правильно, worktrees редко понадобятся. Armin согласен. Pete тоже.

Думайте в терминах «радиуса поражения» одного из ваших терминалов. Оцените масштаб изменений перед отправкой промпта. Если он пересекается с другим инстансом, вы должны делать это в том инстансе. Вы обнаружите, что по-настоящему редко этот подход не работает.

В худшем случае, если есть ошибки или вы просчитались, всегда можно откатить или исправить. Стоимость редких случаев, когда это происходит, того стоит.

Наша команда `/commit-smart` помогает делать контекстуальные коммиты. Она коммитит только файлы, которые затронул инстанс Claude Code, что позволяет откатить конкретное изменение без потери несвязанной работы.

Для соло-проектов я просто пушу в main напрямую. При работе с другими:

  1. Если это один человек, у меня есть ветка silen, для которой я периодически создаю PR и мёржу.
  2. Если несколько коллабораторов, я создаю ветки и переключаю инстансы Claude на эту ветку.
  3. Если репозиторий более устоявшийся, я создаю второй worktree и держу два терминала, связанных с двумя разными ветками.

Ещё один совет: когда одна сессия делает что-то вроде рефакторинга, но у вас уже набран следующий промпт для добавления фичи, можно сделать !sleep 600 во втором инстансе, а затем отправить промпт.

Ваш CLAUDE.md

Дефолтная команда /init анализирует ваш проект и генерирует стартовую конфигурацию. Наша команда `/setup-repo` идёт дальше и настраивает репозиторий с самого начала. Она включает лучшие практики для агентных репозиториев и проводит интервью о ваших потребностях.

В целом, что включать — должно быть обусловлено болью. Помимо базового шаблона от /setup-repo:

  • Саммари проекта + структура директорий: Даёт Claude немедленную ориентацию.
  • Основные зависимости и паттерны: Если используете domain-driven design, микросервисы, специфические фреймворки — документируйте.
  • Нестандартные организационные решения: Всё, что запутает кого-то (или Claude), нового в кодовой базе.
  • Информация об инструментах и структуре репо: Минимизируйте количество поиска для агента.
  • Комментарии только где нужно: Добавляйте комментарии к коду, на который ссылаются в других местах или который трудно понять без контекста.
  • Монорепозитории требуют дополнительных указаний: Claude хуже работает с монорепозиториями. Явно указывайте, в каком пакете работаете, используйте полные пути от корня репозитория.

Используйте `/update-claudemd` в том же чате, когда обнаруживаете подводный камень, добавляете новый паттерн или меняете структуру проекта.

Доменные руководства

Фронтенд

Хороший промптинг и гайдлайны помогают больше всего. UI сложно объяснить и трудно верифицировать.

Я обнаружил, что давать доступ к скриншотам UI было медленно и несовершенно, но возможно через месяц это изменится.

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

  • Держите листовые компоненты презентационными: Бизнес-логика живёт в родительских компонентах. Разделение ответственности упрощает аудит пропсов и обнаружение аномалий. Также помогает агенту находить паттерны для следования.
  • Для последней мили прыгайте в IDE: ИИ плохо справляется с пиксельно-точной работой. Скорее всего, понадобится органическое программирование для идеала.
  • Про адаптивность забывают: Модели плохо помнят, что адаптивность важна. Скажите им держать это в уме с самого начала.
  • плагин frontend-design: Из магазина плагинов Claude Code. Помогает с дизайн-решениями и структурой компонентов.

Скриншоты

Перетаскивайте скриншоты в чат.

Pete упоминает, что минимум 50% его промптов содержат скриншоты. Я использую их редко. Они могут быть мощными для UI-фиксов, но медленные и несовершенные для итеративной фронтенд-работы.

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

  • Заглушение линтеров: Бывали случаи, когда агенты предпочитали заткнуть линтер через eslint-disable вместо исправления проблем. Если заметите это, используйте eslint-comments/no-restricted-disable.
  • Создайте референсную документацию по стилям: Создайте стилевые компоненты и md-файлы с референсами. Настройте tailwind.config с основными цветами, spacing-токенами и т.д.
  • Установите скилл React best practices от Vercel: Vercel выпустил скилл, который кодирует паттерны и конвенции React. Стоит установить для любого проекта на React/Next.js.

Бэкенд

Верифицируемость здесь проста. Несколько советов:

  • Используйте ORM для схемы-как-контекста: Вся схема БД в файле, который понимает ИИ. Есть другие способы, но я полюбил Prisma с агентами кодирования.
  • Реалистичные seed-данные: Инвестируйте в инструменты для поддержания локальной БД с реалистичными данными. Это позволяет агентам самоверифицироваться реалистичным способом.
  • Генерируйте документацию API и Postman-коллекции: При работе с API попросите Claude сгенерировать документацию и Postman-коллекцию для лёгкого тестирования эндпоинтов (API endpoint, точка доступа API).

Исследования в области ИИ

Я только начинаю экспериментировать с этим. Я дал Claude доступ к VM с A100, чтобы посмотреть, какие эксперименты он будет проводить.

Karpathy поделился своим опытом:

>

>

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

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

Обучение

Claude Code отлично подходит для генерации IPYNB и использования большого промпта для изучения концепций. Но когда вы сидите, пытаясь что-то понять и хотите оставаться в процессе, Cursor's Cmd+K и чат лучше (вместе с ChatGPT).

  • Проверка ваших предположений: Попросите его оспорить ваше понимание.
  • Код с пробелами: Вместо генерации всего, пусть создаёт каркас (scaffolding, каркасный код) с пробелами для вас.

Продвинутое использование Claude Code

На Mac запустите caffeinate -dimsu, чтобы предотвратить засыпание ноутбука, пока Claude работает. Запустите задачу, закройте ноутбук, идите по делам.

Когда вы вставляете что-то длинное, Claude упрощает это в терминале до [Pasted text #x +x lines]. В 9/10 случаев мне это нравится.

В остальных 10% вот мой обходной путь: отправляю bash-команду типа !sleep 100, затем жму enter на промпте, потом стрелку вверх. Это вернёт полностью развёрнутый промпт из очереди в терминал.

Раньше у нас был радужный текст, когда мы набирали «ultrathink», который максимизировал мышление Claude. Но теперь это включено по умолчанию.

Ralph для крупных проектов

К сожалению, для почти всего Ralph — это больше боли, чем пользы. Извините за разочарование хайпа.

Ralph по сути помещает кучу Claude Code в цикл и координирует их с помощью prd.json и progress.txt. Я иногда использую его при старте нового проекта.

Если вы достаточно смелы, команда `/setup-ralph` настроит все файлы Ralph для вас.

Ralph выходит рано, когда обнаруживает ключевые слова вроде «done», «complete» или «finished» в файлах прогресса. Используйте статусные термины вроде PASSED/PENDING вместо этого, чтобы избежать преждевременных выходов.

Также Claude может запутаться и думать, что он советует о Ralph, а не является агентом. Сделайте PROMPT.md прямым: «Ты — агент. Делай работу.»

Ключ к Ralph: держите сопровождающий чат открытым для направления и проверки прогресса. Ralph работает в фоне; вы управляете сбоку. При запуске Ralph я говорю моему мониторинговому чату: «Подожди 30 секунд, потом проверь, правильно ли выполняется Ralph. Повтори 3 раза.» Это ловит ранние проблемы до того, как вы уйдёте.

Кодинг с телефона

Используйте vibetunnel.sh с Tailscale для кодинга с телефона, и вы можете запускать Claude Code на телефоне откуда угодно.

Хуки, субагенты, скиллы и MCP

Кастомные субагенты — это порождённые инстансы, которые не засоряют ваш основной контекст, но могут отчитываться прямо в него. У меня есть кастомные агенты для разных типов глубокого исследования и агент claude-critic для мнений.

Сценарии использования: крупный рефакторинг (субагент для каждой логической группы файлов), пайплайны (pipeline, конвейер обработки) код-ревью (style-checker, security-scanner, test-coverage параллельно), исследовательские задачи.

Хуки выполняются на определённых событиях (вызов инструмента, остановка и т.д.). Я экспериментировал, но ничего не прижилось. Один сценарий: запуск Prettier на .ts файлах после завершения Claude. Хорошая ментальная модель для хуков: a) конкретные вещи, которые вы делаете в определённый момент часто, и b) это можно сделать через bash-команду.

Я слышал о запуске промпта «Do more» при завершении Claude через Stop hook, чтобы держать его работающим часами.

Скиллы — это папки, где LLM решает, когда и что загружать. Файлы со скриптами, промптами и т.д. Они — надмножество команд, идущие со своим исполняемым кодом и множеством потенциальных файлов промптов. Сценарии: стандарты код-ревью, конвенции коммит-сообщений, паттерны запросов к БД, форматы документации API. Скилл React best practices от Vercel стоит установить для проектов на React/Next.js.

MCP (Model Context Protocol) позволяет Claude общаться с внешними сервисами напрямую. Подключение к GitHub, Slack, базам данных, трекерам задач. Сценарии: реализация фич из JIRA-тикетов, прямые запросы к PostgreSQL, интеграция дизайнов Figma, черновики ответов Gmail, саммари тредов Slack. Запустите /mcp, чтобы увидеть ваши подключения.

Вот гайд, который углубляется в эти темы. Я думаю, вам стоит начать без его прочтения. Если почувствуете, что чего-то не хватает, или попытаетесь замкнуть цикл другим способом и это не сработает — вернитесь и прочитайте.

Headless-режим

Флаг -p запускает Claude Code в headless-режиме. Он выполняет ваш промпт и выводит результат без входа в интерактивный интерфейс. Это значит, что его можно скриптовать, перенаправлять вывод в другие инструменты, связывать с bash-командами, интегрировать в автоматизированные рабочие процессы.

Люди используют это для автоматических ревью PR, автоматических ответов на тикеты поддержки, обновления документации. Всё логируется и аудируемо.

Суть

Чтобы упростить вашу жизнь, я закодировал всю ценность этой статьи в двух командах: `/setup-claude-code` (глобальная, запускается раз на машину) и `/setup-repo` (на проект). Они проводят интервью о ваших потребностях и всё настраивают. Просто вставьте это в чат Claude Code и запустите:

Download these commands to ~/.claude/commands/: 1. /setup-claude-code (run once per machine - installs all other commands): https://gist.github.com/SilenNaihin/3f6b6ccdc1f24911cfdec78dbc334547 2. /setup-repo (run once per project): https://gist.github.com/SilenNaihin/e402188c89aab94de61df3da1c10d6ca Fetch each gist and save as [command-name].md in ~/.claude/commands/ Then run /setup-claude-code to install everything else.

Всё это изменится. Быстро. Вот что, я верю, сохранится:

  • Рычаг планирования будет только расти. По мере улучшения моделей хорошо структурированный промпт/репо окупается ещё больше.
  • Способность быстро верифицировать работу останется важной.
  • Замыкайте цикл. Если делаете что-то больше одного раза, абстрагируйте. Команды, документация, компоненты. Этот принцип существовал до ИИ.
  • Не ленитесь. Разберитесь логически, что нужно сделать. Вам не нужно на самом деле кодить, но делайте сложное мышление. Часто вы поймёте, что то, что пытаетесь сделать, проще или сложнее, чем вы думали.
  • Нет «правильного ответа». Единственный способ создать вашу лучшую систему — создать её самому, будучи в процессе. Лучшее предвзято вкусом и опытом. Экспериментируйте, итерируйте и открывайте, что работает для вас.

Ссылки и благодарности

Люди, чья работа повлияла на это руководство, и ресурсы для изучения:

Люди

  • steipete — Плодовитый автор о рабочих процессах с ИИ-кодингом
  • vibekanban — Комплексное руководство по vibe coding (разработка в свободном стиле)
  • sankalp — Отчёты об опыте с Claude Code
  • addyo — Разбор рабочего процесса с LLM-кодингом

Ключевые публикации

Упомянутые инструменты

  • VibeTunnel — Терминальный мультиплексор для мобильного кодинга
  • knip — Поиск мёртвого кода
  • jscpd — Обнаружение дублирования кода
  • agent-scripts — AGENTS.MD и скрипты steipete
  • Ralph — Для крупной спринт-стиль разработки
  • Wispr — Voice-to-text для кодинга

Сводка команд

Все команды, которые я рекомендую, организованные по типу и частоте.

| Команда | Тип | Использование |

| --- | --- | --- |

| /compact | По умолчанию | Каждый чат |

| /context | По умолчанию | Каждый чат |

| /rewind | По умолчанию | По ситуации |

| /resume | По умолчанию | По ситуации |

| /agents | По умолчанию | По ситуации |

| /clear | По умолчанию | По ситуации |

Кастомные команды (ссылки на gist'ы):

| Команда | Использование | Ссылка |

| --- | --- | --- |

| /setup-claude-code | Раз на машину | gist |

| /setup-repo | Раз на проект | gist |

| /setup-ralph | При использовании Ralph | gist |

| /commit-smart | Каждый коммит | gist |

| /interview-me-planmd | Планирование | gist |

| /update-claudemd | Конец сессии | gist |

| /transfer-context | При деградации контекста | gist |

| /debug | Когда застряли | gist |

| /refactor | После крупных добавлений | gist |

| /ensemble-opinion | Редко (мульти-модель) | gist |

| /codex-delegate | Редко (требует Codex CLI) | gist |

| /gemini-delegate | Редко (требует Gemini CLI) | gist |

Это руководство фиксирует момент времени. Инструменты изменятся, модели улучшатся, но принципы планирования, верифицируемости и замыкания цикла сохранятся. Берите то, что работает, оставляйте то, что не работает, и развивайте свой собственный рабочий процесс через эксперименты.


Подпишитесь на канал и каждый день читайте лучшие материалы про AI переведенные на русский!

Нашли интересную статью для перевода? Пришлите нашему боту: @ailongreadsbot

Report Page