Источник: Frank Kane — Claude Code: Building Faster with AI, from Prototype to Prod (Udemy)
Формат: Видео, 14:35
Ниже: полная структурированная выжимка из транскрипта
Субагенты — это task-specific AI-персональности (специализированные воркфлоу), которые ты определяешь для конкретных задач. По сути это текстовые файлы с инструкциями.
Примеры субагентов:
- Code reviewer
- Designer
- Security analyzer
- Debugger
- Duplicate code eliminator
Каждый агент — это текстовый файл со следующей структурой:
| Поле | Назначение |
|---|---|
| name | Имя агента |
| description | Высокоуровневое описание — ЧТО делает и КОГДА используется. Критически важно: фреймворк решает, когда вызывать агента, именно по этому полю |
| tools | Список инструментов, к которым агент имеет доступ (чем меньше — тем лучше, больше фокуса) |
| model | Какую модель использовать (haiku = дёшево/быстро, sonnet = середина, opus = дорого/мощно) |
| color | Фоновый цвет для визуального отличия в терминале |
| system prompt | Детальные инструкции — что именно агент делает при вызове |
# Для конкретного проекта:
<project>/.claude/agents/<agent-name>.md
# Для всех проектов (глобально):
~/.claude/agents/<agent-name>.md
Файлы можно (и нужно) коммитить в git и шарить с командой.
Каждый субагент работает в собственном контекстном окне. Это значит:
- ✅ Задача субагента НЕ загрязняет основной контекст разработки
- ✅ Основной контекст не теряет важную информацию из-за code review / security scan
- ✅ Claude не «отвлекается» на результаты работы агента
⚠️ Минус: агент стартует с нуля каждый раз (нет наследования контекста от основной сессии)⚠️ Минус: дополнительная латентность и расход токенов на старт
Ключевая цитата из лекции: «Если бы я просто сказал основному Claude 'убери дублирующийся код', это упражнение вытеснило бы из контекста информацию, которая может быть мне важна. Субагент изолирует это.»
Вместо того чтобы каждый раз писать подробные инструкции для code review, ты один раз описываешь всё в файле агента. Агент точно знает:
- Что проверять (readable code, well-named functions, etc.)
- Как структурировать обратную связь (critical → warnings → suggestions)
- Какие конкретные примеры фиксов давать
- Проверяются в git
- Шарятся с командой
- Работают на любых проектах
- «Army of agents» — библиотека агентов для типовых задач
Можно ограничить набор инструментов для каждого агента:
- Read-only tools — только чтение
- Edit tools — редактирование файлов
- Execution tools — запуск кода/команд
Меньше инструментов = больше фокуса + безопасности.
Можно в одном промпте запустить последовательность:
«Запусти code review агента, потом security analysis агента, потом deployment»
Одна команда → сложный пайплайн из специализированных агентов.
> /agents- Показывается меню существующих агентов (включая встроенный general purpose)
- Enter → создать нового
- Выбор scope: project-specific или home directory (глобальный)
- Выбор генерации: Claude сгенерирует файл (рекомендуется) или написать вручную
- Описание задачи на естественном языке
- Claude расширяет описание, добавляет примеры промптов для автоматического распознавания
- Настройка permissions (read-only / edit / execution)
- Выбор модели (haiku / sonnet / opus)
- Выбор цвета для визуальной идентификации
- Превью файла →
Eдля редактирования в редакторе →Ctrl+Xдля сохранения
Просто создай .md файл в <project>/.claude/agents/ с нужной структурой.
Фрэнк создал агента с таким описанием:
«Анализировать и устранять дублирующийся код. Суммировать изменения, предлагать оптимизации, показать конкретные изменения, дать возможность применить их. Ограничить анализ Python и JavaScript файлами.»
Claude расширил это в полноценный system prompt:
- Сканирование на дупликацию
- Анализ импакта
- Сводка изменений
- Детальные опции для исправления
- Примеры промптов, при которых агент должен активироваться автоматически
Результат запуска: агент нашёл дублирующуюся логику в database query и validation patterns, создал utils.py для централизации.
Два способа:
# 1. Явный вызов по имени:
> Please invoke the Duplicate Code Eliminator agent to fix any duplicated logic
# 2. Автоматический (если в description указано proactive поведение):
# Агент сам решает, когда запускаться, на основе descriptionСовет по cost control: Если НЕ указывать «proactively» или «must always be used» в description, агент не будет запускаться автоматически → контроль над расходами.
> /agentsМеню позволяет:
- Просмотреть файл агента (View)
- Редактировать (Edit)
- Удалить (Delete)
Или напрямую работать с файлами в .claude/agents/.
- Ограничивай tools — чем меньше инструментов, тем фокуснее агент
- Коммить агентов в git — для шаринга и версионирования
- Используй sonnet для большинства задач — оптимальный баланс цена/качество
- Цвет агента — помогает визуально отличить, какой агент сейчас работает (жёлтый тег в терминале)
- Не делай агентов proactive без необходимости — контроль над расходами
- Чем подробнее описание — тем лучше результат. Если есть специфические стандарты кодирования (OOP паттерны, naming conventions) — укажи их
Что реально полезно:
- Изоляция контекста — киллер-фича для длинных сессий разработки
- Chaining агентов — пайплайн из одной команды
- Переиспользуемость через git — масштабирование на команду
Что не покрыто в лекции (и стоит изучить отдельно):
- Динамическое создание агентов через API
- Взаимодействие между агентами (обмен результатами)
- Интеграция субагентов с MCP-серверами
- Автоматический запуск цепочек через hooks