Прежде чем учить команды, агентов и скиллы, стоит понять одну вещь, которая переворачивает половину споров: фичи Claude Code — не «просто промпты в обёртке». Разберём, почему, и заодно соберём правильную картину того, что вообще происходит, когда ты жмёшь Enter.
Опытные пользователи рано или поздно приходят к мысли: скиллы, команды, субагенты, хуки — всё это в конце концов превращается в токены для модели. Значит, достаточно одного сильного промпта, а остальное от лукавого. На уровне финального вызова модели это правда. Модель и впрямь видит только токены.
На всех остальных уровнях, там, где и живёт настоящая инженерия, это упрощение разваливается. Возьми атомарную задачу в вакууме: «напиши рекурсивный flatten». Тут харнесс не добавляет ничего. Те же токены, та же модель, тот же разброс ответов, как ни доставь их: скиллом, командой или голым промптом.
Для одношаговой атомарной задачи качество вывода ≈ качество промпта. Это ровно тот режим, где Claude Code мало чем лучше обычного чат-бота. И ровно тот режим, в котором реальная работа над кодом не находится.
Как только задача перестаёт быть атомарной, «сильное слово» упирается в потолок. Чтобы увидеть почему, надо честно разделить два совершенно разных смысла, которые мы прячем в одном слове «промпт».
В чат-боте это одно и то же. В Claude Code различие огромное. Ты печатаешь шесть слов. Модель на инференсе получает пятнадцать тысяч токенов. Работа харнесса в том и состоит, чтобы превратить (а) в (б).
| Смысл | Кто управляет | Размер |
|---|---|---|
| (а) То, что ты напечатал | ты | ~6–60 токенов |
| (б) То, что модель видит на инференсе | харнесс | ~5 000–50 000+ токенов |
Вывод простой и неудобный для спорщика: качество ответа на нетривиальной задаче — функция от (б), а не от (а). Большую часть (б) пишет не пользователь. «Один сильный промпт» физически не может воспроизвести то, что собрал харнесс, потому что бо́льшую часть этого пользователь не печатал.
Харнесс — это не «доставщик промптов». Это система сборки промпта, детерминированного исполнения и архитектуры контекста. Вот где формулировка категорически не заменяет инфраструктуру.
| Способность | Что делает | Почему промпт не повторит |
|---|---|---|
| Изоляция контекста | Субагенты в отдельных окнах | Промпт заполняет одно окно. N агентов дают ~N× контекста. |
| Запрет инструментов | allowed-tools режут доступ до вызова | Инструкции в промпте — совет, его можно проигнорировать. Deny-правило — нет. |
| Ленивая загрузка | Правила по paths: грузятся при касании файлов | Промпт статичен, он не грузит контент условно в рантайме. |
| Хуки | Код на событиях сессии, может блокировать вызов | Промпт не перехватывает собственные вызовы инструментов. |
| Роутинг моделей | model: haiku/opus на вызов | Ни один токен не меняет, какая модель отвечает. |
| Параллелизм | Несколько агентов одновременно | Промпт последовательный. Харнесс планирует и собирает результаты. |
| Память между сессиями | Память и настройки переживают разговор | Промпт умирает с концом сессии. |
| Предзагрузка скиллов | skills: вшивает контент в старт агента | Пользователь не нашпигует чужой контекст, только загрузчик харнесса. |
Плюс ещё две: модульный системный промпт (110+ фрагментов под включённые фичи) и классификатор разрешений в режиме auto.
Промпт — это рецепт. Харнесс — это кухня: инструменты, хуки, память, параллельные работники, события жизненного цикла. Можно написать лучший рецепт в мире. Без кухни на нём не приготовить ничего в масштабе.
Тот же запрос «напиши рекурсивный flatten» в трёх средах даёт три разных результата. Модель одна. Промпт один.
| Среда | Что видит модель | Результат |
|---|---|---|
| Чат-бот, без инструментов | одно предложение | Учебниковая рекурсия, общий стиль. |
| Claude Code, без чтения | + CLAUDE.md | Совпадает с заявленными конвенциями проекта. |
| Claude Code, агентная петля | + соседние файлы + прогон тестов | Совпадает с реальными паттернами кода, проходит тесты, держит те же краевые случаи. |
Отсюда честная формула для всего, что сложнее одной функции:
Качество вывода = f( эффективный контекст, способности модели, петля итераций ) ▲ сливер контролируешь ты ▲ остальное и петлю — харнесс
Петля — это то, ради чего вообще стоит агент. Дай модели способ проверить свою работу, и она сама поймает ошибки. Создатель Claude Code ставит это первым пунктом.
“Пожалуй, самое важное для отличного результата — дать Claude способ проверять свою работу. С этой обратной связью качество финала вырастает в 2–3 раза. Claude тестирует каждое изменение, которое я отправляю.

Промпты управляют тем, что модель просят сделать. Харнесс управляет тем, что система делает на уровнях, до которых модель не дотягивается: до прихода токенов, после их выхода, между сессиями, между контекстами и между процессами. Из этого следуют рабочие привычки.
Plan mode на старте (Shift+Tab дважды): гоняй план, пока он не нравится, потом переключайся в авто-правки. Лучшая модель с размышлением: её надо меньше направлять, и на дистанции она быстрее. Ручной /compact около 50% контекста: не жди, пока окно забьётся под завязку.