День 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 минут:
- [ ] Создайте папку
.claude/agents/если её нет - [ ] Напишите файл первого субагента: frontmatter (name, description, tools, model) + промпт с ролью и форматом вывода
- [ ] Протестируйте его отдельно на одном реальном файле — убедитесь, что формат вывода вас устраивает
- [ ] Напишите второй субагент по той же схеме
- [ ] Напишите оркестратор:
Agent+ минимальный набор собственных инструментов, шаги делегирования явные и пронумерованные
Воскресенье — 30 минут:
- [ ] Запустите на тестовой папке с 3–4 файлами разных типов
- [ ] Проверьте: правильно ли оркестратор сортирует файлы по агентам?
- [ ] Проверьте: понятен ли итоговый документ без дополнительных пояснений?
- [ ] Если что-то не так — найдите слабое звено (обычно это
descriptionсубагента или формат вывода) и исправьте - [ ] Запустите на реальных данных одной недели
Дополнительно, если время есть:
- [ ] Добавьте агента памяти с файлом
memory.md - [ ] Настройте ротацию памяти (максимум 8 последних записей)
- [ ] Добавьте в
descriptionоркестратора примеры команд, чтобы не вспоминать синтаксис через месяц
Главная проверка готовности
Система работает, если через три недели вы запустили её минимум дважды и каждый раз получили результат без отладки. Если каждый запуск требует правки промпта или ручного вмешательства — что-то в архитектуре не так. Вернитесь к description субагентов: скорее всего, оркестратор неточно маршрутизирует задачи.
Резюме
Фаза 3 — это переход от одиночного инструмента к системе. За десять дней вы прошли путь от понимания, что такое субагент, до полноценной команды с оркестратором, специализированными агентами и persistent memory.
Главные вещи, которые стоит помнить:
Специализация важнее универсальности. Агент с чёткой ролью и ограниченными правами работает надёжнее, чем один большой агент, который умеет всё. Ограничения — это не недостаток, это контроль.
Оркестратор управляет, не делает. Его работа — разбить задачу и передать. Если оркестратор начинает делать аналитику или редактуру сам — что-то пошло не так в архитектуре.
description — это маршрутизация. Оркестратор выбирает субагента по этому полю. Плохой description — неправильный выбор — мусорный результат.
Память накапливает контекст, который иначе теряется. Без неё каждый запуск — с чистого листа. С ней — система накапливает историю и открытые действия, которые иначе застревают в голове или в заметках.
Безопасность через минимальные права. Агент, который только читает, не может испортить файлы. Агент без Bash не может запустить скрипт. Это простой принцип, который спасает от большинства нежелательных сценариев при работе с внешними документами.
Фаза 4 начнётся со skills: агенты, которые работают по расписанию, получают данные из внешних источников и отправляют результаты туда, где вы их ждёте. Команда, которую вы собрали сегодня, станет ядром этих сценариев.