> · 9 мин

5 уровней мастерства Claude Code — от сырых промптов до 198 параллельных агентов

5 уровней мастерства Claude Code — от сырых промптов до 198 параллельных агентов

5 уровней мастерства Claude Code — от сырых промптов до 198 параллельных агентов

Один разработчик на Reddit описал свой путь через пять фаз использования Claude Code. На каждой фазе казалось: «вот теперь я разобрался». А потом что-то ломалось. Не модель тупела — рос проект.

Этот фреймворк совпал с тем, что описывают Boris Cherny (создатель Claude Code), Addy Osmani (в докладе на O'Reilly CodeCon) и десятки постов на Reddit. Разница только в нумерации уровней — суть одна.

TL;DR: Пять уровней: сырые промпты → CLAUDE.md → skills → hooks → оркестрация агентов. На каждом есть потолок, и вы не перешагнёте на следующий, пока не упрётесь в него. Перескакивать нельзя — инфраструктура нижнего уровня держит верхний.

Уровень 1: Сырые промпты

Открываешь claude, описываешь задачу — Claude пишет код. Для мелких задач это работает на удивление хорошо: «напиши функцию валидации email», «добавь тест для auth модуля», «почини этот баг» — и через минуту готово.

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

Как понять, что вы здесь: каждую сессию объясняете одно и то же. «У нас TypeScript, не JavaScript». «Мы используем Vitest, не Jest». «Тесты лежат рядом с модулями».

Уровень 2: CLAUDE.md + Rules

Создаёшь файл CLAUDE.md в корне проекта — Claude читает его при каждом старте сессии. Сюда идёт то, что агент не выведет из кода сам: стек, конвенции, запрещённые паттерны, команды для сборки и тестов.

# CLAUDE.md
## Stack
TypeScript, Bun, Hono, Drizzle ORM, PostgreSQL

## Commands
- Build: `bun run build`
- Test: `bun test`
- Lint: `bun run lint`

## Rules
- NEVER use npm, only bun
- Tests live next to source files: `foo.ts``foo.test.ts`
- No classes — functional style only
- All DB access through `db/repos/` — no raw SQL in routes

Ключевой лимит: Boris Cherny говорит, что LLM надёжно следует ~150-200 инструкциям, а системный промпт Claude Code уже съедает ~50. Остаётся место на 100-150 ваших правил. Практическая рекомендация — до 60 строк в файле, 200 — жёсткий потолок. Больше — и Claude начинает выборочно игнорировать правила, особенно те, что в конце файла.

Если правил много — выносите в .claude/rules/ и подгружайте по запросу.

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

Уровень 3: Skills

Skills — это markdown-файлы с пошаговыми процедурами для конкретных типов задач. Живут в .claude/skills/ или ~/.claude/skills/. Claude сканирует все установленные skills при старте, тратя ~100 токенов на каждый (только имя и описание). Полные инструкции загружаются только когда skill релевантен.

# .claude/skills/deploy/SKILL.md
---
name: deploy
description: Deploy to production via Railway
---

## Steps
1. Run `bun test` — abort if any fail
2. Run `bun run build` — check for errors
3. Commit with message `deploy: <summary>`
4. Run `railway up --detach`
5. Wait 30 seconds, then `curl https://api.myapp.com/health`
6. If health check fails — `railway rollback`

Вызов: /deploy — и агент идёт по чеклисту, а не фантазирует.

Важный нюанс: один инженер протестировал 47 skills и обнаружил, что 40 из них ухудшают качество — добавляют токены, задержки и сужают то, что Claude генерирует. Будьте избирательны. Самые полезные: frontend-design (277K установок — потому что без него каждый лендинг выходит с Inter, фиолетовым градиентом и одинаковой сеткой), simplify (чистит готовый код от мусора), superpowers (заставляет Claude планировать перед написанием).

Лучший skill — тот, что вы напишете сами. Если объясняете Claude один и тот же workflow второй раз — это сигнал к созданию skill.

Потолок: агент следует процедурам, но никто не проверяет его работу автоматически. Вы всё ещё — единственный quality gate.

Уровень 4: Hooks

Hooks — shell-команды, которые выполняются в определённые моменты жизненного цикла Claude Code. Это не «попроси агента сделать X» — это «гарантируй, что X произойдёт каждый раз».

PostToolUse — после каждого редактирования файла автоматически прогоняет prettier:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
          }
        ]
      }
    ]
  }
}

PreToolUse — блокирует редактирование защищённых файлов. Exit code 2 = блокировка:

#!/bin/bash
FILE_PATH=$(cat | jq -r '.tool_input.file_path // empty')
PROTECTED=(".env" "package-lock.json" ".git/")
for pattern in "${PROTECTED[@]}"; do
  if [[ "$FILE_PATH" == *"$pattern"* ]]; then
    echo "Blocked: $FILE_PATH matches '$pattern'" >&2
    exit 2
  fi
done
exit 0

Stop — проверяет, что все задачи реально выполнены, а не «объявлены выполненными»:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "agent",
            "prompt": "Verify that all unit tests pass. Run the test suite and check the results.",
            "timeout": 120
          }
        ]
      }
    ]
  }
}

Anthropic поддерживает 24 типа hook-событий: от SessionStart и PreCompact до WorktreeCreate и FileChanged. Три типа исполнения: command (shell), prompt (одноходовый LLM-запрос), agent (субагент с доступом к инструментам).

Потолок: вы всё ещё один агент, одна сессия. Проект перерос то, что помещается в одно контекстное окно.

Уровень 5: Оркестрация

Параллельные агенты в изолированных git worktrees. Persistent файлы, которые несут стейт между сессиями. Координация, которая не даёт агентам редактировать одни и те же файлы.

Автор Reddit-поста запустил 198 агентов через 32 fleet-сессии с 3.1% конфликтов при мёрджах. Один разработчик — на масштабе целой команды.

Claude Code поддерживает это нативно через Agent Teams (экспериментально):

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

Prompt:

Create an agent team to review PR #142. Spawn three reviewers:
- One focused on security implications
- One checking performance impact
- One validating test coverage
Have them each review and report findings.

Lead-агент создаёт команду, раздаёт задачи через shared task list, агенты общаются между собой через mailbox, и каждый работает в своём контекстном окне. Split panes через tmux показывают всех одновременно.

Когда оркестрация оправдана:

  • Code review — 3 агента по разным аспектам (безопасность, перформанс, тесты)
  • Дебаг — 5 агентов тестируют конкурирующие гипотезы и спорят друг с другом
  • Новые модули — каждый агент владеет своими файлами

Когда НЕ оправдана: последовательные задачи, работа с одним файлом, задачи с множеством зависимостей. Токены масштабируются линейно с числом агентов — 5 агентов = 5x расход.

«Agent Dumb Zone» — главная ловушка всех уровней

На любом уровне есть невидимый враг: деградация при заполненном контексте. Когда usage превышает 60-70%, Claude начинает игнорировать инструкции и допускать базовые ошибки. Calvin French-Owen (сооснователь Segment, ex-Codex) называет это «LLM dumb zone» и считает management контекста главным фактором 5x продуктивности.

Что делать:

  • /compact на 50% — не ждите auto-compaction на 90%, когда уже поздно
  • /clear между несвязанными задачами — свежий контекст = свежая голова
  • /rewind (Esc Esc) — откат к предыдущему чекпоинту вместо коррекции в том же контексте (ошибочная логика остаётся в контексте и тянет агента назад)
  • Subagents для тяжёлых задач — они работают в отдельном контекстном окне и возвращают только результат

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

Перескакивание уровней. Автор Reddit-поста пробовал прыгнуть на Level 5 без solid hooks — «it was a mess». Инфраструктура каждого уровня — фундамент следующего. Hooks без хорошего CLAUDE.md бессмысленны — они не знают, что проверять.

Skills bloat. 40 из 47 протестированных skills ухудшили результат — потому что добавляют инструкции в контекст, а контекст — конечный ресурс. Если skill не вызывается через / явно, он активируется вероятностным pattern matching — и может сработать не там, где нужно.

Agent Teams — drain по токенам. Каждый teammate — отдельный экземпляр Claude с полным контекстным окном. 3 агента при ревью PR — это 3x стоимость. Для рутинных задач одна сессия эффективнее. Рекомендация Anthropic: 3-5 агентов, 5-6 задач на агента.

Hook loops. Stop hook, который всегда возвращает «не всё сделано», создаёт бесконечный цикл. Нужно парсить stop_hook_active из JSON и выходить с кодом 0, если hook уже отработал на этом ходу.

Альтернативы: как устроена прогрессия в других инструментах

  • Cursor — четыре ступени: Tab completion → Cmd+K inline → Agent mode (мульти-файл) → Background Agents (фоновые задачи). Нет аналога hooks и skills — всё через .cursorrules и промпты. Background Agents пока в бете, параллельная работа ограничена.

  • Codex CLI — три ступени: одиночный промпт → субагенты с TOML-конфигами → CSV batch режим для массовой обработки. Субагенты появились в марте 2026, но без оркестрации уровня Agent Teams.

  • Addy Osmani описывает 8 уровней: от ручного кодинга (L1) до программной оркестрации (L8), где вы пишете свой orchestration layer и маршрутизируете агентов кодом. Три тира: In-Process (subagents) → Local Orchestrators (Conductor, Vibe Kanban) → Cloud Async Agents (Claude Code Web, Codex Web).

Claude Code — единственный инструмент, где все пять уровней работают нативно: CLAUDE.md, skills, hooks, subagents и Agent Teams живут в одной экосистеме без сторонних обёрток.

Вердикт

Реальный скачок продуктивности дают уровни 2-4: CLAUDE.md + skills + hooks. Это покрывает 90% задач среднего проекта. Уровень 5 (оркестрация) — для тех, кому тесно в одном контекстном окне, и кто готов платить 3-5x за параллелизм. Не начинайте с оркестрации — начинайте с хорошего CLAUDE.md на 60 строк и одного skill для самого частого workflow.

Как попробовать

  1. Создайте CLAUDE.md в корне проекта — стек, команды сборки/тестов, 5-10 главных правил. Держите под 60 строк.

  2. Напишите первый skill — возьмите workflow, который объясняете Claude чаще всего, и вынесите в .claude/skills/<name>/SKILL.md.

  3. Добавьте один hook — начните с PostToolUse + prettier/eslint для автоформатирования после каждого редактирования.

  4. Мониторьте контекст/context для проверки, /compact на 50%, /clear между задачами.

  5. Попробуйте Agent Teams — включите CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 в settings.json, запустите ревью PR с 3 агентами и посмотрите, как они спорят друг с другом.

$ ls ./related/

Похожие статьи

subscribe.sh

$ cat /dev/blog/updates

> Свежие заметки о программировании,

> DevOps и AI — прямо в мессенджер

./subscribe