Skip to content

Субагенты (Subagents): Передавайте задачи на аутсорс, не тащите всё на себе

📚 Навигация по серии: В предыдущей статье 22 MCP мы научились подключать внешние инструменты к Claude, чтобы он мог делать запросы к базам данных и подключаться к GitHub. В этой статье мы изменим подход — вместо «добавления инструментов» мы научим вас передавать задачи на аутсорс: субагент (Subagent), это специализированный помощник с независимым контекстом, независимыми правами и независимым персонажем (ролью), который после завершения работы возвращает только результат.

Говорят, что subagent — это мощь, «продвинутая фишка» Claude Code. Многие, только узнав об этой функции, приходят в восторг и готовы разбить одну задачу на пять-шесть субагентов, запускаемых одновременно, полагая, что так будет «профессиональнее и эффективнее».

Но честно говоря: разбивать всё сразу — ошибка.

Это понимание приходит только со временем. Позже я объясню почему — а пока вот вывод: субагент — это не «чем больше задач, тем больше нужно разбивать», это инструмент с четкими сценариями применения; при правильном использовании он сэкономит вам нервы, а при неправильном — сделает всё медленным и дорогим. Понять, «стоит ли разбивать», гораздо важнее, чем научиться тому, «как это делать».

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

Прочитав эту статью, вы узнаете:

  • Что такое субагент — независимый контекст, независимые инструменты, независимая роль, одним словом о его отличиях от основного диалога
  • Три проблемы, которые он действительно решает (изоляция контекста, специализация задач и параллельность), и ту самую контринтуитивную ловушку: когда не следует разбивать задачи
  • Как интерактивно создавать с помощью /agents или писать вручную конфигурационный файл .claude/agents/name.md, и за что отвечает каждое поле
  • Два способа запуска: автоматическое делегирование через description в сравнении с прямым вызовом по имени
  • Практический пример, который можно повторить и получить ожидаемый результат: создание минимального субагента своими руками и поручение ему работы

01 Для начала разберемся: что же такое субагент

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

Аналогия: передача работы специализированному помощнику на аутсорс. У вас полно дел, и среди них «просмотреть тысячу строк логов и выбрать несколько с ошибками» — грязная и занимающая много места задача, которую вы не хотите разворачивать на своем основном рабочем столе, иначе он будет завален. Поэтому вы отдаете её на аутсорс помощнику, который специализируется на этом: он сидит в своей комнате, за своим столом и просматривает эту тысячу строк логов; закончив, он не тащит вам обратно всю тысячу строк исходных логов, а передает лишь записку: «Вот три ошибки, на 207, 589 и 903 строках соответственно». Ваш рабочий стол при этом остается абсолютно чистым.

У этого помощника есть три вещи, которые принадлежат «только ему» и полностью изолированы от вас (основного диалога). В официальной документации это сказано очень четко, и это стоит запомнить:

Каждый subagent запускается в собственном окне контекста (context window), имеет настраиваемый системный промпт (system prompt), специфические права доступа к инструментам и независимые разрешения.

Если разобрать, то это три вида «независимости»:

ИзмерениеОсновной диалог (Вы)Субагент (помощник на аутсорсе)
КонтекстВся история вашего общения с Claude с самого началаЧистый лист, получает только «поручение», не видит того, о чем вы общались ранее
Системный промпт (роль)Настройки Claude Code по умолчаниюЭксклюзивная роль, которую вы ему задали, например, «ты код-ревьюер, который только ищет ошибки»
Инструменты / РазрешенияВсе инструменты, которые вы авторизовалиМожно урезать отдельно, например, «разрешено только чтение, без права записи»

Самое важное и часто упускаемое из виду — это первая строка: субагент начинает с чистого листа. Официально сказано прямо — он «не видит историю вашего диалога, навыки (skills), которые вы уже вызывали, или файлы, которые Claude уже прочитал». Claude пишет ему абзац с «поручением задачи», и он начинает работу с этой фразы.

Именно это определяет, в чем субагенты «сильны и в чем слабы», и на это мы будем опираться в следующем разделе.

💡 Краткий итог: субагент = независимый контекст + независимая роль + независимые инструменты помощника на аутсорсе, он работает в своей комнате и возвращает только результаты; помните, что он начинает с чистого листа и не видит ваших предыдущих разговоров.


02 Что он решает — и та самая контринтуитивная ловушка

Поняв, «что это», нужно уяснить, «зачем он нужен». Субагент действительно решает три проблемы, о которых я расскажу по порядку, а на третьем пункте заодно разберу контринтуитивную ловушку из начала статьи.

Проблема первая: Изоляция контекста без засорения основной линии

Это самое важное и ценное применение субагента.

Контекст — «рабочий стол» Claude — ограничен. Чем дольше вы с ним общаетесь и чем больше файлов он читает, тем теснее становится на столе, и когда он переполняется, Claude начинает забывать вещи и «тупеть». Некоторые задачи сумасшедшим образом занимают рабочий стол, но промежуточный мусор, который они выдают, вы даже не захотите смотреть второй раз.

Например, «прогони весь набор тестов и скажи, какие упали». Запуск тестов выдаст сотни или тысячи строк вывода, но всё, что вам действительно нужно, это одна фраза: «Упали вот эти три теста, ошибка такая-то: XXX». Если делать это прямо в основном диалоге, эти сотни строк размажутся по вашему столу.

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

Запуск тестов, получение документации или обработка лог-файлов могут потреблять много контекста. Делегируя их субагенту, подробный вывод остается в контексте субагента, а в ваш основной диалог возвращается только релевантное резюме.

Реальный сценарий: При отладке стороннего SDK вам приходится раз за разом делать curl к его API и смотреть ответ, каждый раз прокручивая экран JSON. К десятому раунду основной диалог настолько забивается JSON, что начинает забывать изначальные требования. Другой подход — заставить субагента «проверить этот интерфейс и только сказать, как выглядят поля», основной диалог мгновенно становится чистым, и ход ваших мыслей не прерывается.

Проблема вторая: Специализация в определенном типе задач

Второе применение: назначить «специалиста для конкретной задачи» для повторяющихся видов работ.

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

Он «специализируется» в двух вещах: первое — эксклюзивная роль (в системном промпте жестко прописано «вы — придирчивый ревьюер»), второе — эксклюзивные инструменты (ревьюер должен только читать, а не писать, поэтому отключаем Write и Edit, и он не сможет ничего изменить, даже если захочет).

Проблема третья: Возможность распараллеливания

Третье применение: несколько независимых друг от друга задач можно одновременно поручить нескольким субагентам для параллельного выполнения.

Например, «проведи исследование по трем модулям: аутентификация, база данных, API» — эти три части не зависят друг от друга, поэтому запускаем трех субагентов для их одновременного исследования, и в конце Claude соберет для вас три результата в один. Последовательно пришлось бы ждать три цикла, а параллельно всё делается за один.

Контринтуитивная ловушка: Чем больше, тем лучше — не работает

Хорошо, подготовив почву с тремя применениями, вернемся к фразе из начала статьи — почему «сразу всё разбивать» — это ошибка?

Потому что у новичков обычно есть заблуждение: «чем мельче разбито = тем профессиональнее = тем быстрее». Абсолютно наоборот. У субагента есть три скрытые издержки, и если простую задачу разбить, они все всплывают наружу:

СравнениеПростая задача выполняется прямо в основном диалогеПростая задача жестко делегируется субагенту
Затраты на стартНикаких, просто скажите и делайтеСубагент начинает с чистого листа, ему нужно время на «сбор контекста» и понимание ситуации
Туда-обратно коммуникацияВы скажете, он ответит, можно изменить в любой моментЕсли неясно объяснить, придется переделывать, субагент не видит ваших прошлых диалогов
СтоимостьОдин объем tokenОткрытие еще одного контекста = сжигание лишних token, чем больше открыто, тем больше сжигается
Возврат результатовОтсутствуетКаждый субагент запихивает подробные результаты обратно в основной диалог, слишком много открытых агентов завалят стол еще сильнее

Официально был представлен специальный чек-лист для определения «использовать ли основной диалог или субагента», я сведу его к одной фразе: задачи с частыми итерациями, общим контекстом, быстрыми мелкими изменениями, где важна скорость — оставляйте в основном диалоге; задачи, которые производят кучу промежуточного мусора, который вы не хотите видеть, требуют жесткого ограничения прав на инструменты и могут сами по себе вернуть лишь один результат-вывод — вот их отдавайте на аутсорс.

В официальной документации также указана неочевидная деталь — субагент в сценариях, где важна «задержка» (latency), скорее является недостатком:

Задержка имеет значение. Subagents начинают с нуля и могут потребовать времени для сбора контекста.

Реальный сценарий: Если упорствовать и даже для «изменения имени переменной» открывать субагента, «чтобы выглядело профессионально». Какой будет результат? Ему придется сначала заново прочитать файл (потому что у него нет вашего текущего контекста), медленно внести изменения и вернуть результат, что намного медленнее, чем сказать в основном диалоге «переименуй эту переменную», да еще и сожжет больше token. Так что запомните железное правило: задача, которую можно объяснить в одно предложение и которая требует изменений прямо сейчас перед глазами, никогда не передается на аутсорс.

💡 Краткий итог: субагенты решают три вещи: «изоляция контекста, специализация задач, параллельность»; но простые задачи быстрее и дешевле выполнять напрямую — сильное дробление ≠ профессионализм, чрезмерное дробление будет медленнее, дороже и снова завалит стол.

Изоляция контекста основного диалога и субагента: грязная работа выполняется в комнате субагента, только вывод возвращается в основную линию

На этой картинке четко показано, что такое «аутсорс»: основной диалог — это ваш рабочий стол, вы отправляете грязную работу (запуск тестов / просмотр логов), которая выдаст много промежуточного вывода, субагенту; субагент берет на себя все детали в своей независимой комнате контекста, и в конце только одна строка «резюме-вывода» возвращается в основную линию, ваш стол остается чистым.


03 Как создать: Интерактивное создание через /agents

Поговорив о том, «когда использовать», давайте создадим одного. Самый простой способ — использовать команду /agents, это полностью интерактивно, и вам не нужно писать ни слова конфигурации вручную.

В сессии Claude Code введите:

text
/agents

Появится интерфейс управления. Чтобы создать нового, официальный рекомендуемый процесс состоит из нескольких шагов (я пересказываю официальную демонстрацию, просто следуйте ей):

  1. Выбор местоположения: Перейдите на вкладку LibraryCreate new agent → выберите Personal. Выбор Personal сохранит его в ~/.claude/agents/, и его можно будет использовать во всех проектах; выбор Project означает, что он будет использоваться только в текущем проекте и его можно будет закоммитить в git для команды (разницу между ними мы подробно разберем в следующем разделе).
  2. Попросите Claude помочь с генерацией: Выберите Generate with Claude, затем простыми словами опишите, какой помощник вам нужен. Например: «Помощник для код-ревью, сканирующий файлы, дающий предложения по улучшению с точки зрения читаемости, производительности и лучших практик, с четким описанием каждой проблемы, приведением текущего кода и предоставлением улучшенной версии». Claude автоматически напишет имя, описание и тот самый системный промпт (роль).
  3. Выбор инструментов: Ревьюер должен только читать, а не писать, поэтому отметьте только Read-only tools, остальные снимите. Официальная документация напоминает о важном моменте: «Если вы оставите все инструменты выбранными, subagent унаследует все инструменты, доступные в основном диалоге.» — если вы не отключите их сами, он сможет делать всё.
  4. Выбор модели: Выберите для него отдельную модель. Для ревью официальный пример выбирает Sonnet (баланс между аналитическими способностями и скоростью).
  5. Сохранение: Взгляните на сводку конфигурации, нажмите s или Enter для сохранения, и им можно сразу пользоваться. (На практике интерфейс также предложит вам выбрать цвет фона и scope памяти (memory scope); цвет на ваше усмотрение, память по умолчанию None, новички могут пропустить.)

Аналогия: заполнение формы «заявка на аутсорс-должность». Вам не нужно знать, как писать контракт, ресепшен (интерфейс /agents) берет форму и спрашивает пункт за пунктом: как называется должность, что делать, какие инструменты использовать, какой уровень специалиста — вы заполняете, и эта «должность» создается для вас. Generate with Claude — это как HR, стоящий рядом и помогающий вам красиво заполнить форму.

Реальный сценарий: Очень ценный постоянный субагент создается именно так — test-runner, специализирующийся на «запуске тестов и сообщении только о том, что упало + сообщения об ошибках». При создании специально дайте ему только Read и Bash, но не Write, именно для того, чтобы у него не зачесались руки изменять ваш код во время работы. Создаете один раз, потом пользуетесь каждый день.

💡 Краткий итог: /agents — это рекомендуемый способ создания субагентов, полностью интерактивное заполнение формы, плюс можно поручить Claude сгенерировать роль; не забудьте отключить инструменты, иначе он унаследует все разрешения основного диалога.


04 Как создать: Написание конфигурационного файла вручную

После интерактивного создания на диске появляется Markdown файл. Разобравшись с этим файлом, вы сможете писать его вручную или изменять чужие.

Файл субагента выглядит так — сверху блок YAML (frontmatter) для конфигурации, а ниже в тексте — его роль (системный промпт):

markdown
---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.

Аналогия: рабочий бейдж + должностная инструкция для помощника на аутсорсе. Блок YAML — это строгая информация на бейдже: как зовут, чем занимается, какие инструменты может трогать, какого уровня (name/description/tools/model); текст под чертой — это должностная инструкция, которую ему всучили: «Кто ты, что делаешь с самого начала, по каким стандартам». Он приступает к работе, видя только эти две вещи, и не видит остальные дела вашей компании.

Официально заявлено, что только name и description обязательны, остальные можно пропустить. Давайте вынесем и объясним самые часто используемые поля:

ПолеОбязательноЗачем нужноКлючевые моменты для новичков
nameДаУникальный идентификатор, строчные буквы с дефисом (например, code-reviewer)Избегайте дубликатов в рамках проекта, иначе один из них будет тихо отброшен
descriptionДаСообщает Claude, «какие задачи следует ему назначать»Чем точнее написано, тем лучше работает автоматическое делегирование, это ключ к вызову
toolsНетКакие инструменты он может использоватьОтсутствие = наследование всех инструментов основного диалога; если хотите ограничить права, перечислите здесь разрешенные
modelНетКакую модель использоватьsonnet/opus/haiku/inherit, по умолчанию inherit (та же, что в основном диалоге)
permissionModeНетЕго режим разрешенийДоступные варианты: default/acceptEdits/auto/dontAsk/bypassPermissions/plan

То, где лежит файл, имеет значение, местоположение определяет, «кто может им пользоваться». В официальной документации указано несколько уровней, но новичкам достаточно запомнить два самых популярных:

Где лежитКто может использоватьПодходит для
~/.claude/agents/Все ваши проектыПерсональный универсальный помощник, например, код-ревьюер, которого вы хотите использовать везде
.claude/agents/Только текущий проектЭксклюзивный помощник для проекта; может быть закоммичен в git и разделен с командой

Рекомендация по проектному уровню очень практична:

Проектные subagents (.claude/agents/) отлично подходят для субагентов, специфичных для кодовой базы. Добавляйте их в систему контроля версий, чтобы ваша команда могла совместно использовать и улучшать их.

Последняя ловушка для новичков, на которую обращается особое внимание с помощью пометки Note — после ручного написания или прямого редактирования файла на диске, необходимо перезапустить сессию, чтобы изменения загрузились; но те, что созданы через интерфейс /agents, работают сразу, без перезапуска. Когда вы впервые пишете субагента вручную, легко столкнуться с ситуацией, когда вы зовете его, а он не реагирует, и вы думаете, что ошиблись в коде, а на самом деле просто забыли перезапустить.

💡 Краткий итог: субагент — это Markdown файл, блок YAML управляет конфигурацией (обязательны только name/description), основной текст — это роль; если положить в ~/.claude/agents/, будет доступен глобально, в .claude/agents/ — только в проекте; после ручного изменения файла не забудьте перезапустить сессию.


05 Как запускать: Автоматическое делегирование vs Прямой вызов

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

Путь первый: Автоматическое делегирование на основе description

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

Вот почему в предыдущем разделе постоянно подчеркивалось, что description нужно писать четко — это единственное основание для делегирования Claude. В официальной документации есть небольшой совет по повышению «инициативности»: если добавить в описание фразы вроде «use proactively» (использовать активно), Claude будет охотнее сам поручать задачи. Например, если в описании ревьюера написать «активно использовать сразу после написания или изменения кода», то как только вы измените код, он может сам вызвать ревьюера.

Аналогия: насколько хорошо написано описание должности, определяет, будет ли HR назначать ему правильную работу. description — это «объявление о вакансии» для этого аутсорс-поста. Если объявление расплывчато («выполнение некоторых задач»), HR (Claude) вообще не будет знать, какую работу ему дать; если оно точное («специализируется на ревью безопасности кода и именования, вступает в дело после написания кода»), то при появлении подходящей задачи HR естественно вспомнит о нём.

Путь второй: Вы напрямую называете имя

Когда автоматическое делегирование не срабатывает, или вы просто хотите указать на определенного субагента, назовите его сами. Официальная документация предлагает несколько способов от легких к тяжелым, новичкам хватит первых двух:

Вызов на естественном языке — просто назовите его имя в предложении, без специального синтаксиса:

text
用 code-reviewer 子代理看看我最近的改动

Вызов через @ — введите @ и выберите из выпадающего списка (после выбора появится текст вида @"code-reviewer (agent)"), или не используйте список, а введите вручную @agent- плюс имя. Этот способ «гарантирует» его использование, не оставляя право выбора за Claude:

text
@agent-code-reviewer 看看这次认证相关的改动

Разница между ними официально объяснена очень четко: естественный язык означает, что «Claude обычно делегирует», а @ означает «гарантирует запуск указанного subagent». Надежная привычка — для новых субагентов, с характером которых вы еще не разобрались, всегда используйте вызов через @, чтобы Claude не принимал самостоятельных решений, не назначив задачу, а вы бы не думали, что субагент сломался.

Как возвращаются результаты

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

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

💡 Краткий итог: запуск идет двумя путями — через автоматическое назначение Claude по description (описание должно быть точным), или через прямой вызов естественным языком / через @ (@ гарантирует использование); субагент возвращает только результат в основную линию, но если результатов слишком много, стол всё равно окажется завален.


06 Практика: Создаем минимального субагента за 5 минут и поручаем ему работу

Только читать, не пробуя — пустая трата времени. Ниже мы создадим минимального субагента вручную и заставим его реально работать, чтобы вы своими глазами увидели цепочку «аутсорс → возврат только результата». И всё это без сложного окружения.

Мы создадим самого простого: «Код-ревьюера», доступного только для чтения, который специализируется на чтении файлов и предоставлении советов по улучшению, но не имеет права изменять ни одного слова (даем только Read, но не Write/Edit).

Шаг 1: Создание проекта-игрушки и директории для субагентов (Mac / Linux)

bash
mkdir sub-demo
cd sub-demo
mkdir -p .claude/agents

Ожидание: В папке sub-demo появилась директория .claude/agents/. Введя ls .claude, вы увидите, что папка agents на месте.

Шаг 2: Написание конфигурационного файла субагента вручную

Используя удобный вам редактор, создайте файл sub-demo/.claude/agents/code-reviewer.md и вставьте:

markdown
---
name: code-reviewer
description: 只读的代码点评员,读指定文件并从可读性、命名、潜在 bug 角度给改进建议。审查任何代码时主动使用。
tools: Read, Grep, Glob
---

你是一个资深代码审查员,只挑刺、不改代码。
被调用时:
1. 读用户指定的文件
2. 按可读性、命名、潜在 bug 三类列出问题
3. 每条问题给出具体的改进建议,但不要直接修改文件

按严重程度分组:必须改、建议改、可以考虑。

Обратите внимание, что мы не указали поле model — по умолчанию официально используется значение inherit (та же модель, что и в основном диалоге). Для tools указаны только три инструмента только для чтения, поэтому даже если он захочет что-то записать, он не сможет.

Шаг 3: Создание кода «с пространством для улучшений» для ревью

bash
echo 'def f(a, b):
    return a / b' > calc.py

Имя функции f и имена параметров a/b ужасны, и нет обработки деления на ноль — как раз для нашего ревьюера.

Ожидание: В sub-demo появился файл calc.py с содержимым из этих двух строк.

Шаг 4: Запуск Claude и вызов субагента для работы

bash
claude

Войдя, назовите его напрямую с помощью @ (чтобы гарантировать его использование, а не полагаться на самодеятельность Claude). Введите вручную @agent-code-reviewer или введите @ и выберите code-reviewer из выпадающего списка:

text
@agent-code-reviewer 点评一下 calc.py

Ожидание: Вы увидите, что Claude делегирует задачу субагенту code-reviewer (в интерфейсе будет указано, что этот субагент работает, возможно, с цветовой меткой). Он прочитает calc.py в своем контексте, а затем вернет только одно «заключение-ревью» в основной диалог — примерно укажет, что имена f, a/b не передают смысла, отсутствует обработка деления на ноль, и предложит изменить на более понятные имена с добавлением проверки границ. Заметьте, он дает только советы и не трогает ваш файл (потому что вы не дали ему инструмент Write).

Шаг 5: Убедитесь, что он действительно не изменил файл

Выйдите из Claude (введите exit или нажмите Ctrl+D) и вернитесь в терминал:

bash
cat calc.py

(В Windows PowerShell используйте type calc.py)

Ожидание: calc.py остался абсолютно целым, все те же две строки — вот она, сила «ограничения прав»: вы дали только инструменты для чтения, и даже если бы он попытался помочь вам исправить файл, он бы не смог, ему остается только говорить.

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

⚠️ Если при вводе @agent-code-reviewer его нет в списке, скорее всего, файл субагента не загрузился — для написанных вручную файлов требуется перезапуск сессии (ошибка из раздела 04). Выйдите и зайдите снова, или просто создайте через интерфейс /agents (не требует перезапуска).

💡 Краткий итог: напишите вручную ревьюера только с правами Read, вызовите его через @, а затем сделайте cat, чтобы убедиться, что файл не тронут — пройти лично цепочку «независимая работа + ограничение прав без нарушения границ» полезнее, чем запомнить десяток полей.


07 Резюме

В этой статье мы разобрали «субагентов» (Subagents) от вопроса «стоит ли использовать» до «как создавать, как вызывать, как проверять» — суть не в том, чтобы научить вас дробить задачи, а в том, чтобы помочь вам выстроить границу принятия решения: «отдать на аутсорс или сделать самому».

Давайте соберем ключевые моменты:

Что нужно понятьОтветКлючевой момент
Что такое субагентПомощник на аутсорсе с независимым контекстом + ролью + инструментамиНачинает с чистого листа, не видит предыдущих разговоров
Что он решаетИзоляция контекста, специализация задач, параллельностьСамое ценное: «грязная работа остается у него, возвращается только результат»
Когда не нужно использоватьПростые задачи, частые итерации, важна скоростьЧрезмерное дробление ≠ профессионализм, излишнее дробление = медленнее и дороже
Как создатьИнтерактивно через /agents или вручную в .claude/agents/name.mdОбязательны только name/description; ручное изменение требует перезапуска
Как вызыватьАвтоделегирование через description / естественный язык / вызов через @@ гарантирует вызов; description должен быть точным

Теперь вы должны уметь: Определять, следует ли передать задачу субагенту на аутсорс (вместо того, чтобы дробить ее на эмоциях), создавать субагента с эксклюзивной ролью и ограниченными инструментами с помощью /agents или ручного создания файла, а также заставлять его работать через автоматическое делегирование или прямой вызов через @, получая чистый результат в основную линию. Это чувство меры — «когда аутсорс, а когда делать самому» — и есть настоящий порог для субагентов; функции осваиваются за 10 минут, а вот меру нужно прочувствовать на практике.

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

💡 Краткий итог: Порог для работы с субагентами — это не «уметь создавать», а «знать, когда создавать» — грязная, самодостаточная работа, требующая ограничения прав — на аутсорс; простые, быстрые задачи с частыми итерациями — делаем сами.


Следующая статья 24 «Плагины (Plugins)» — к этому моменту у вас накопилось всё больше «аксессуаров»: CLAUDE.md, слэш-команды, Skill, а теперь добавился Subagent. Настраивать их по одному кажется слишком раздробленным процессом, верно? В следующей статье мы научимся упаковывать их все в плагин, который можно установить или поделиться одним кликом, или даже взять готовый из «рынка плагинов». Подумайте: можно ли в один клик перенести к себе субагентов и команды, настроенные другими?


Рекомендуем к прочтению