Мастер Claude · Блок 3. Субагенты

Урок 30 из 93 · ~10 мин чтения

Итог фазы 3 — команда агентов

Урок пока закрыт

Курс проходится последовательно.

К текущему уроку

День 30: Итог фазы 3 — команда агентов

Почему это важно именно вам

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

Но понимание и работающая система — разные вещи. Большинство людей доходят до этой точки с набором разрозненных экспериментов. Один агент для анализа. Другой — для редактуры. Где-то пробовали оркестратор. Где-то настроили persistent memory. Всё это по отдельности работало, но в единую рабочую систему не складывалось.

Сегодня складывается.

Мы возьмём конкретный директорский сценарий — еженедельный дайджест. Задача, которая у большинства руководителей либо вовсе не делается, либо съедает час в пятницу вечером: нужно собрать всё важное за неделю из нескольких источников и выдать структурированную выжимку. Под эту задачу мы соберём команду из трёх агентов и оркестратора, разберём все файлы пошагово и завершим чек-листом, по которому вы сможете повторить это со своей задачей за выходные.


Что это такое

Фаза 3 — это субагенты. Всего за десять дней курс прошёл путь от теоретического «что это такое» до полноценной рабочей архитектуры. Кратко восстановим, что именно изучали, чтобы итоговый сценарий был не магией, а суммой понятных кирпичей.

День 21 — типы субагентов. Три основных паттерна: Explore (читает и исследует), Plan (планирует, не выполняет), General-purpose (делает). Важный вывод оттуда: субагент — не просто «другой Claude». Это Claude с конкретной ролью, конкретными правами и конкретным контекстом. Эта специализация и делает команду агентов эффективнее одного универсального.

День 22 — .claude/agents/. Физическое место, где живут агенты. Файл .md в этой папке — это и есть агент. Claude Code читает его автоматически. Никакого дополнительного «подключения» не нужно.

День 23 — frontmatter полей агента. name, description, tools, disallowedTools, model — каждое поле влияет на поведение. description — не для читателя, а для оркестратора: по нему оркестратор решает, кому передать задачу.

День 24 — ограничение инструментов. tools: [Read] — агент только читает. disallowedTools: [Write, Bash] — явно запрещаем. Минимальные права — это не паранойя, а архитектурное решение: агент не сможет сделать то, для чего он не предназначен, даже если его попросят.

День 25 — агент-аналитик. Конкретный агент для работы с CSV и таблицами. Читает данные, строит структурированный вывод, умеет считать агрегаты и находить аномалии.

День 26 — агент-редактор. Агент для работы с текстами: письма, отчёты, протоколы. Знает тон делового письма, умеет сокращать без потери смысла, структурирует длинные документы.

День 27 — persistent memory. Агент с памятью между сессиями. Файл-журнал, который агент обновляет сам. Позволяет накапливать контекст: что уже обрабатывалось, какие решения принимались, что изменилось.

День 28 — оркестратор. Агент с инструментом Agent. Его работа — не делать задачи самому, а разбивать их и делегировать. Принимает высокоуровневую задачу от вас, распределяет по субагентам, собирает результаты.

День 29 — безопасность. Prompt injection, минимальные права, permissionMode: plan или dontAsk и правила permissions.deny. Агент, обрабатывающий внешние документы, потенциально читает инструкции от их авторов. Защита — через ограничение прав и явные барьеры.

Фаза 3 — это не про технологии

Всё, что изучили за эти десять дней, решает управленческую задачу: как делегировать работу инструменту так, чтобы он делал её правильно, не выходя за рамки, не ломая то, что не нужно трогать, и возвращая результат в нужном формате. Это те же принципы, что работают с командой людей — только исполнитель другой.


Как работает на практике

Сценарий: «Еженедельный дайджест директора». Каждую пятницу в папку ~/week-digest/incoming/ падают документы недели: таблицы с показателями, черновики отчётов, письма от партнёров, протоколы встреч. Задача — получить структурированную выжимку за одну команду.

Архитектура команды:

оркестратор (weekly-digest-orchestrator)
├── аналитик (digest-analyst) — таблицы и CSV
├── редактор (digest-editor) — письма, отчёты, протоколы
└── хранитель контекста (digest-memory) — что было на прошлой неделе

Файл 1: агент-аналитик

Путь: .claude/agents/digest-analyst.md

---
name: digest-analyst
description: >
  Анализирует таблицы, CSV и числовые данные из папки входящих.
  Используй этого агента, когда нужно обработать файлы с показателями,
  посчитать агрегаты, найти отклонения или сравнить динамику.
tools:
  - Read
model: haiku
---

Ты аналитик еженедельного дайджеста. Твоя задача — читать таблицы
и числовые данные и возвращать структурированную выжимку.

Формат ответа — строго Markdown:
1. **Ключевые цифры** (3–5 самых важных показателей)
2. **Отклонения** (что выбивается из нормы, с конкретными значениями)
3. **Динамика** (рост/падение относительно предыдущего периода, если данные есть)

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

Почему Haiku для аналитика

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

Файл 2: агент-редактор

Путь: .claude/agents/digest-editor.md

---
name: digest-editor
description: >
  Обрабатывает текстовые документы — письма, отчёты, протоколы встреч.
  Используй этого агента для любых текстовых файлов .doc, .txt, .md,
  когда нужно извлечь суть, структурировать или сжать документ.
tools:
  - Read
model: sonnet
---

Ты редактор еженедельного дайджеста. Работаешь с текстовыми документами.

Для каждого документа:
- **Тип**: письмо / отчёт / протокол / другое
- **Суть**: 2–3 предложения — о чём это, что важно
- **Действия**: что требует реакции или решения (если есть)
- **Срок**: если в документе упомянут дедлайн — вынеси явно

Деловой тон. Без воды. Если документ не содержит ничего, требующего
внимания руководителя — напиши «Информационный, действий не требует».

Файл 3: агент памяти

Путь: .claude/agents/digest-memory.md

---
name: digest-memory
description: >
  Хранит контекст предыдущих дайджестов. Используй для получения
  сводки прошлой недели перед формированием нового дайджеста,
  и для сохранения итогов текущей недели после формирования.
tools:
  - Read
  - Write
model: haiku
---

Ты хранитель контекста еженедельных дайджестов.
Файл памяти: ~/week-digest/memory.md

При запросе «что было на прошлой неделе»:
- Прочитай memory.md
- Верни последнюю запись: дата, ключевые цифры, открытые действия

При запросе «сохрани итоги недели»:
- Прочитай текущий memory.md
- Добавь новую запись в конец (не удаляй старые, хранить максимум 8 недель)
- Формат новой записи:
  ### [дата]
  Ключевые показатели: [из аналитика]
  Открытые действия: [из редактора]
  Закрытые с прошлой недели: [что из прошлых открытых больше не актуально]

Файл 4: оркестратор

Путь: .claude/agents/weekly-digest-orchestrator.md

---
name: weekly-digest-orchestrator
description: >
  Главный агент для формирования еженедельного дайджеста директора.
  Вызывай его командой «сделай дайджест недели» или «digest».
  Принимает путь к папке с документами или использует ~/week-digest/incoming/ по умолчанию.
tools:
  - Agent
  - Read
  - Write
model: sonnet
---

Ты оркестратор еженедельного дайджеста. Твой рабочий процесс:

**Шаг 1. Контекст.**
Запусти digest-memory с запросом «что было на прошлой неделе».
Получи сводку открытых действий с прошлых недель.

**Шаг 2. Сортировка.**
Прочитай список файлов в ~/week-digest/incoming/.
Разбей на два списка:
- Таблицы и данные (.csv, .xlsx, файлы с цифрами в названии)
- Текстовые документы (.txt, .md, .pdf, письма, протоколы)

**Шаг 3. Параллельная обработка.**
Запусти digest-analyst для каждого числового файла.
Запусти digest-editor для каждого текстового файла.
Запускай параллельно — не жди завершения каждого перед следующим.

**Шаг 4. Сборка дайджеста.**
Сохрани итоговый документ в ~/week-digest/digest-[YYYY-MM-DD].md:

# Дайджест недели [дата]

## Показатели
[вывод аналитика — ключевые цифры и отклонения]

## Документы
[вывод редактора по каждому документу]

## Открытые действия
[новые действия из документов недели]

## Из прошлой недели
[открытые действия прошлой недели — что закрыто, что осталось]

**Шаг 5. Сохранение памяти.**
Запусти digest-memory с запросом «сохрани итоги недели» и передай
ключевые показатели и открытые действия из собранного дайджеста.

Верни: путь к готовому файлу и краткое содержание (3–5 строк:
главные цифры, главные документы, количество открытых действий).

Запуск всей системы — одна команда:

дайджест недели

Или с явным путём к папке:

сделай дайджест недели из ~/downloads/week-2026-05-26/

Не запускайте сразу на боевых данных

Первый запуск сделайте на тестовой папке с 3–4 документами. Убедитесь, что оркестратор правильно сортирует файлы, агенты получают нужный контекст, формат итогового файла вас устраивает. Только после этого — на реальных данных недели.


Частые ошибки

Оркестратор, который делает всё сам. Самая распространённая ошибка при переходе от одного агента к команде. Вы настраиваете оркестратора, но вместо делегирования через Agent даёте ему Read и Write и пишете длинный промпт про то, как анализировать таблицы и редактировать текст. Это не оркестратор — это один большой агент, который пытается сделать всё и делает это хуже специализированных. Правило простое: у оркестратора почти не должно быть собственной логики обработки — только маршрутизация и сборка.

Слабый description у субагентов. Оркестратор выбирает субагента по полю description. Если там написано «помогает с анализом» — это не описание, это декоративный текст. Должно быть конкретно: когда вызывать, какие типы файлов или задач, что возвращает. Чем точнее description, тем меньше ошибок в маршрутизации.

Отсутствие явного формата вывода у субагентов. Когда субагент возвращает результат оркестратору, тот должен этот результат собрать в итоговый документ. Если форматы разных субагентов несовместимы (один возвращает bullet-list, другой — сплошной текст, третий — таблицу Markdown), сборка становится непредсказуемой. Договоритесь о формате на уровне промптов и укажите его явно в каждом агенте.

Память без ротации. Файл persistent memory растёт бесконечно. Через три месяца еженедельного использования он станет настолько большим, что агент будет читать его дольше и дороже. Добавьте в промпт агента памяти правило: хранить записи максимум за последние 8 недель, более старые — удалять при следующей записи.

Права оркестратора и субагентов — разные вещи

Если у оркестратора есть Write, это не значит, что субагенты тоже могут писать. Права не наследуются автоматически — каждый агент работает со своим набором инструментов. Субагент с tools: [Read] не сможет записать файл, даже если оркестратор попросит его об этом. Это хорошо: это барьер. Не пытайтесь его обойти — используйте осознанно.


Когда нужно / когда нет

Команда агентов нужна, когда задача регулярная, многосоставная и требует разных типов обработки. Еженедельный дайджест — идеальный случай: повторяется каждую неделю, включает и числа, и тексты, и накопленный контекст. Другие подходящие сценарии для директора: аудит папки с договорами (читать → анализировать риски → приоритизировать), подготовка к квартальному обзору (данные + нарратив + история решений), онбординг нового партнёра (читать их материалы → структурировать → готовить вопросы к встрече).

Команда агентов избыточна для разовых или простых задач. Если нужно один раз обработать один файл — запустите агента напрямую или просто попросите Claude. Настройка оркестратора с субагентами оправдана, когда вы планируете запускать это минимум раз в неделю. Иначе время на настройку не отобьётся.

Принцип окупаемости

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


Связь с другими уроками

Этот урок — финал фазы 3, но не изолированный модуль. Команда агентов работает поверх всего, что изучили раньше.

Из фазы 1 (дни 1–10) сюда приходит базовое умение формулировать задачи для Claude. Оркестратор получает задачу от вас, и от качества этой формулировки зависит, как он разобьёт её на части. Мутная задача — мутное делегирование.

Из фазы 2 (дни 11–20) — навык работы с контекстом и документами. Субагенты работают с файлами, и умение структурировать файловую систему, давать документам понятные имена и хранить данные предсказуемо напрямую влияет на качество работы агентов.

Внутри фазы 3 все уроки работают вместе. День 24 (ограничение инструментов) и день 29 (безопасность) — это не отдельные темы, это часть архитектуры каждой команды. Без них система будет работать, но будет хрупкой: один неожиданный файл с вредоносными инструкциями или одна ошибка агента с лишними правами — и появятся последствия, которые придётся разбирать вручную.

Фаза 4 (дни 31–40) пойдёт дальше: свои skills, именованные сессии и ветки диалога, worktrees и запуск по расписанию через cron и launchd. Команда агентов из сегодняшнего урока — это основа, на которую эти интеграции будут надстраиваться.


Задание на сегодня

Чек-лист «Команда за выходные» — последовательность действий для тех, кто хочет собрать рабочую систему, не теряясь в деталях.

Пятница вечер — 30 минут:

Суббота — 60 минут:

Воскресенье — 30 минут:

Дополнительно, если время есть:

Главная проверка готовности

Система работает, если через три недели вы запустили её минимум дважды и каждый раз получили результат без отладки. Если каждый запуск требует правки промпта или ручного вмешательства — что-то в архитектуре не так. Вернитесь к description субагентов: скорее всего, оркестратор неточно маршрутизирует задачи.


Резюме

Фаза 3 — это переход от одиночного инструмента к системе. За десять дней вы прошли путь от понимания, что такое субагент, до полноценной команды с оркестратором, специализированными агентами и persistent memory.

Главные вещи, которые стоит помнить:

Специализация важнее универсальности. Агент с чёткой ролью и ограниченными правами работает надёжнее, чем один большой агент, который умеет всё. Ограничения — это не недостаток, это контроль.

Оркестратор управляет, не делает. Его работа — разбить задачу и передать. Если оркестратор начинает делать аналитику или редактуру сам — что-то пошло не так в архитектуре.

description — это маршрутизация. Оркестратор выбирает субагента по этому полю. Плохой description — неправильный выбор — мусорный результат.

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

Безопасность через минимальные права. Агент, который только читает, не может испортить файлы. Агент без Bash не может запустить скрипт. Это простой принцип, который спасает от большинства нежелательных сценариев при работе с внешними документами.

Фаза 4 начнётся со skills: агенты, которые работают по расписанию, получают данные из внешних источников и отправляют результаты туда, где вы их ждёте. Команда, которую вы собрали сегодня, станет ядром этих сценариев.

Следующий урок откроется после отметки.