раздел 09 · подстраница 2

Тим-лид паттерн

Один Claude - тим-лид. Он сам не пишет код, а делегирует подзадачи нескольким субагентам параллельно. После того, как все вернутся - сводит результаты в общий ответ. Это паттерн "один промпт - десять рук".

Концепция

Главный Claude в одном сообщении вызывает несколько Task tool сразу. Каждый Task запускает отдельного субагента со своей задачей. Все агенты бегут параллельно. Главный ждёт всех и собирает отчёт.

main Claude
   │
   ├──► Task: "обыщи src/components" ─► subagent 1
   ├──► Task: "обыщи src/pages"      ─► subagent 2
   ├──► Task: "обыщи src/lib"        ─► subagent 3
   ├──► Task: "обыщи src/utils"      ─► subagent 4
   └──► Task: "обыщи src/hooks"      ─► subagent 5
                          │
                          ▼
                  все возвращают отчёты
                          │
                          ▼
                  main сводит в один ответ

Параллелизм нужен, потому что один большой обход 5 папок одним Claude съест весь контекст. Пять маленьких обходов в изолированных контекстах - влезает.

Как пишется промпт для тим-лида

Главная задача промпта - явно сказать "делегируй, не делай сам". Иначе главный Claude поленится и пойдёт рыть всё в одиночку.

Шаблон:

> Найди в репо все React-компоненты, которые делают fetch напрямую
  (без хука или сервисного слоя).

  Делегируй 5 субагентам Explore параллельно, каждому одна папка:
  - src/components
  - src/pages
  - src/features
  - src/widgets
  - src/shared

  Каждый агент возвращает список файлов с примерами кода и
  номерами строк. Никаких правок.

  После сбора - сведи в общий список, отсортированный по количеству
  fetch-вызовов в файле.

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

Когда применять

Хороший кейс:

  • Обход большой кодовой базы в поисках паттернов
  • Параллельный ресёрч 3-5 библиотек/тем
  • Покрытие тестами 5+ модулей одновременно
  • Рефакторинг независимых директорий

Плохой кейс:

  • Задача с последовательными зависимостями (сначала миграция БД, потом код)
  • Маленькая задача, влезающая в один контекст
  • Изменения в одном файле несколькими агентами - конфликты гарантированы

Пример промпта: поиск fetch-вызовов

> Найди в репо все React-компоненты которые делают fetch напрямую.

  Контекст: мы переходим на единый сервисный слой (services/api.ts),
  и нужен список мест, где остался прямой fetch/axios.

  Делегируй 5 субагентам Explore по 5 разным директориям:
  1. src/components - UI-компоненты
  2. src/pages - страницы Next.js
  3. src/features - feature-папки
  4. src/widgets - виджеты
  5. src/shared/ui - shared компоненты

  Каждый агент ищет:
  - вызовы fetch(...)
  - импорты axios
  - использования fetch внутри useEffect / event handlers

  Формат отчёта от каждого:
  - файл:строка - короткое описание контекста (что делает компонент)

  В конце - собери в один markdown-отчёт, отсортируй по приоритету
  (страницы > widgets > features > components).

Что делать главному, пока ждёт

Главный Claude ничего не делает, пока субагенты не вернутся. Он ждёт. Это нормально - параллелизм происходит на стороне API, не на стороне вашего терминала.

Время выполнения = время самого долгого агента, а не сумма. Поэтому делайте подзадачи примерно равного размера, иначе один зависнет, остальные ждут.

Сборка результатов

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

  • "отсортируй по приоритету"
  • "сгруппируй по типу"
  • "выдели топ-10"

Без правил он просто склеит отчёты подряд - не очень полезно.

Антипаттерны

  • Делегировать 20+ агентов на одну задачу - API rate limit и каша в результатах.
  • Давать агентам пересекающиеся области - они найдут одни и те же файлы.
  • Не указывать формат отчёта - каждый агент сделает по-своему, сводить будет невозможно.
  • Запускать тим-лида для задачи, которая решается одним Grep.

Полезные ссылки