⚡ Boris Cherny
Создатель Claude Code. Практики из первых рук — от человека, который построил инструмент изнутри.
🎯 Контекст: почему Boris знает лучше всех
Boris Cherny — не просто активный пользователь CC. Он его создатель. Он проектировал архитектуру инструмента, работал с его ограничениями изнутри, и выработал практики понимая как CC работает на уровне кода. Его подходы — не эксперименты, а выводы из месяцев ежедневной работы с собственным инструментом.
Сайт howborisusesclaudecode.com — живой документ, который он обновляет по мере развития практик. Ниже — шесть ключевых принципов.
⚡ Практика 1: 5 параллельных сессий в нумерованных вкладках
Boris открывает ровно 5 вкладок терминала, пронумерованных 1–5. Каждая — отдельная CC-сессия с отдельной задачей или независимым аспектом одной большой задачи. Пока одна сессия думает и пишет код, он переключается на другую.
Вместо того чтобы ждать завершения одной задачи, Boris параллельно ведёт пять. Системные уведомления — ключевой компонент: когда Claude заканчивает задачу или ждёт ввода, hook отправляет уведомление. Boris знает в какую вкладку переключиться без постоянного мониторинга.
Дисциплина обязательна: у каждой вкладки строго своя роль. Смешивать контексты нельзя — они загрязняются.
Boris пришёл к числу 5 экспериментально. Меньше — недостаточная параллельность. Больше — слишком высокая когнитивная нагрузка переключения. Пять сессий дают максимальный throughput при сохранении контроля над каждой.
🧠 Практика 2: Opus с extended thinking для всего
Контринтуитивный совет от Boris: используй самую мощную модель почти всегда. Haiku отвечает быстро, но чаще ошибается. Итоговое время на задачу с Opus часто меньше, чем с Haiku плюс три цикла исправлений. Ключевое слово — итоговое.
Когда НЕ нужен Opus: rename файла, форматирование, тривиальный regex. Всё что не требует понимания контекста — это Haiku. Но граница гораздо выше чем кажется интуитивно.
| Ситуация | Модель | Причина |
|---|---|---|
| Новая фича, архитектурное решение | Opus | Сложный контекст, нужен глубокий анализ |
| Рефакторинг существующего кода | Opus | Много зависимостей, риск сломать логику |
| Написание тестов с edge cases | Opus | Нужно понять бизнес-логику |
| Debugging сложного бага | Opus | Нужно отследить цепочку зависимостей |
| Rename переменной / файла | Haiku | Тривиальная механическая задача |
| Форматирование, prettier-style fix | Haiku | Нет логики — нет смысла в Opus |
| Простой regex, однострочная замена | Haiku | Минимальный контекст нужен |
📋 Практика 3: CLAUDE.md в git + теги @.claude в PR
Boris ведёт CLAUDE.md как живой документ в git. Каждый раз когда Claude делает ошибку — неправильный паттерн, небезопасный код, нарушение конвенций — это фиксируется как правило. Так накапливается «институциональная память» проекта.
При code review в PR: рецензент, заметив нежелательный паттерн от Claude, оставляет комментарий с тегом @.claude. Это сигнал добавить правило в CLAUDE.md чтобы предотвратить повторение.
Результат: с каждой неделей Claude делает меньше типичных ошибок конкретно в этом проекте. CLAUDE.md растёт как база знаний команды.
CLAUDE.md читается Claude в начале каждой сессии. Правила в нём — это эффективное «дообучение» под специфику вашего проекта. Чем точнее правила, тем меньше ошибок и итераций исправлений. Это накапливается как сложный процент.
🎤 Практика 4: Голосовой ввод для богатых промптов
Boris активно использует голосовой ввод при формулировке промптов. Причина неочевидна: голосом естественно получаются более полные, контекстно богатые формулировки. При написании руками мы склонны к сокращениям. При диктовке — к полным предложениям.
На macOS: двойное нажатие fn открывает системный диктовщик. На Windows: Win+H. На Linux: whisper-mic или ibus-speech.
Особенно эффективно для передачи бизнес-контекста — объяснить почему нужна фича, какие ограничения, что важно учесть. Голосом это 30 секунд вместо 3 минут печатания.
🔐 Практика 5: Точечные permissions вместо --dangerously-skip
Флаг --dangerously-skip-permissions существует, но Boris рекомендует избегать его. Вместо отключения всех проверок — точечные wildcards для конкретных команд которые вы действительно хотите разрешить без подтверждения.
Это даёт баланс: удобство (не подтверждать каждое действие) и безопасность (CC не может выполнить произвольную команду). Список allow/deny в .claude/settings.json коммитится в git — вся команда видит правила.
✅ Практика 6: Верификация через реальные тесты
Boris категоричен: никогда не принимать утверждение Claude что задача выполнена без независимой проверки. Claude может быть уверен в своём коде — и ошибаться. Единственный объективный критерий — прохождение тестов с реальным выводом.
Правило: каждая задача заканчивается явным запуском тестов с выводом результата. Не «тесты должны пройти», а «запусти тесты и покажи полный вывод». Особенно важно после авто-компакции контекста.
TDD усиливает это: если тест был красным до реализации, Claude не может «забыть» что он должен стать зелёным.
🔑 Ключевой вывод
Практики Boris работают как система. Пять параллельных сессий без уведомлений — хаос. Opus без правил в CLAUDE.md — повторяющиеся ошибки. Wildcards без deny-листа — риски. Голосовой ввод без структуры промпта — богатый но неточный запрос. Все шесть практик усиливают друг друга.