Skip to content

Instantly share code, notes, and snippets.

@alexeykrol
Created February 6, 2026 04:19
Show Gist options
  • Select an option

  • Save alexeykrol/d6c399f3d2e72d28a430fc961f8d2048 to your computer and use it in GitHub Desktop.

Select an option

Save alexeykrol/d6c399f3d2e72d28a430fc961f8d2048 to your computer and use it in GitHub Desktop.

Лекция 35: Using Subagents in Claude Code

Источник: 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 и шарить с командой.


Зачем субагенты, если Claude и так всё умеет?

1. Изоляция контекста (главное преимущество)

Каждый субагент работает в собственном контекстном окне. Это значит:

  • ✅ Задача субагента НЕ загрязняет основной контекст разработки
  • ✅ Основной контекст не теряет важную информацию из-за code review / security scan
  • ✅ Claude не «отвлекается» на результаты работы агента
  • ⚠️ Минус: агент стартует с нуля каждый раз (нет наследования контекста от основной сессии)
  • ⚠️ Минус: дополнительная латентность и расход токенов на старт

Ключевая цитата из лекции: «Если бы я просто сказал основному Claude 'убери дублирующийся код', это упражнение вытеснило бы из контекста информацию, которая может быть мне важна. Субагент изолирует это.»

2. Точная настройка поведения

Вместо того чтобы каждый раз писать подробные инструкции для code review, ты один раз описываешь всё в файле агента. Агент точно знает:

  • Что проверять (readable code, well-named functions, etc.)
  • Как структурировать обратную связь (critical → warnings → suggestions)
  • Какие конкретные примеры фиксов давать

3. Переиспользуемость

  • Проверяются в git
  • Шарятся с командой
  • Работают на любых проектах
  • «Army of agents» — библиотека агентов для типовых задач

4. Контроль разрешений

Можно ограничить набор инструментов для каждого агента:

  • Read-only tools — только чтение
  • Edit tools — редактирование файлов
  • Execution tools — запуск кода/команд

Меньше инструментов = больше фокуса + безопасности.

5. Цепочки агентов (Chaining)

Можно в одном промпте запустить последовательность:

«Запусти code review агента, потом security analysis агента, потом deployment»

Одна команда → сложный пайплайн из специализированных агентов.


Создание субагента — пошагово (из демо)

Способ 1: Guided process (рекомендуемый)

> /agents
  1. Показывается меню существующих агентов (включая встроенный general purpose)
  2. Enter → создать нового
  3. Выбор scope: project-specific или home directory (глобальный)
  4. Выбор генерации: Claude сгенерирует файл (рекомендуется) или написать вручную
  5. Описание задачи на естественном языке
  6. Claude расширяет описание, добавляет примеры промптов для автоматического распознавания
  7. Настройка permissions (read-only / edit / execution)
  8. Выбор модели (haiku / sonnet / opus)
  9. Выбор цвета для визуальной идентификации
  10. Превью файла → E для редактирования в редакторе → Ctrl+X для сохранения

Способ 2: Ручной

Просто создай .md файл в <project>/.claude/agents/ с нужной структурой.


Демо: Duplicate Code Eliminator

Фрэнк создал агента с таким описанием:

«Анализировать и устранять дублирующийся код. Суммировать изменения, предлагать оптимизации, показать конкретные изменения, дать возможность применить их. Ограничить анализ 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/.


Практические советы из лекции

  1. Ограничивай tools — чем меньше инструментов, тем фокуснее агент
  2. Коммить агентов в git — для шаринга и версионирования
  3. Используй sonnet для большинства задач — оптимальный баланс цена/качество
  4. Цвет агента — помогает визуально отличить, какой агент сейчас работает (жёлтый тег в терминале)
  5. Не делай агентов proactive без необходимости — контроль над расходами
  6. Чем подробнее описание — тем лучше результат. Если есть специфические стандарты кодирования (OOP паттерны, naming conventions) — укажи их

Мой вердикт

Что реально полезно:

  • Изоляция контекста — киллер-фича для длинных сессий разработки
  • Chaining агентов — пайплайн из одной команды
  • Переиспользуемость через git — масштабирование на команду

Что не покрыто в лекции (и стоит изучить отдельно):

  • Динамическое создание агентов через API
  • Взаимодействие между агентами (обмен результатами)
  • Интеграция субагентов с MCP-серверами
  • Автоматический запуск цепочек через hooks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment