Субагент (subagent) в Claude Code

Субагент - это отдельный помощник внутри Claude Code, который работает в собственном окне контекста и возвращает в основной диалог только результат. Он нужен там, где побочная задача завалила бы главный чат логами и выдачей поиска: субагент перемалывает это у себя и отдаёт короткий вывод

Что означает субагент

Каждый субагент запускается со своим окном контекста, отдельным системным промптом, своим списком инструментов и своими правами. Когда задача попадает под описание субагента, Claude передаёт её ему, тот отрабатывает самостоятельно и присылает обратно только итог

Смысл в экономии контекста. Разбор чужого репозитория, чтение логов, обход сотни файлов - всё это в основном диалоге занимает место, которое потом нужно под саму работу. Субагент держит этот мусор у себя

Второй мотив - ограничение прав. Субагенту можно выдать только чтение, и тогда он физически не сможет ничего перезаписать, чем бы его ни попросили

Как создать своего субагента

Субагент - это markdown-файл с YAML-шапкой. Тело файла становится системным промптом. Обязательных полей два: name и description

  1. Личный субагент, доступен во всех проектах:
    ~/.claude/agents/code-reviewer.md
  2. Проектный субагент, едет в репозиторий вместе с кодом:
    .claude/agents/code-reviewer.md
  3. Сам файл выглядит так:
    ---
    name: code-reviewer
    description: Проверяет диф перед коммитом
    tools: Read, Glob, Grep
    model: sonnet
    ---
    
    Ты придирчивый ревьюер. Ищи ошибки, не хвали.

Важно. С версии 2.1.198 команда /agents больше не открывает мастер создания: она печатает напоминание попросить Claude или отредактировать папку .claude/agents/ руками. Сами файлы, поля шапки и обе папки не изменились

Полный список полей шапки (tools, disallowedTools, model, permissionMode, memory, isolation, background) лежит в официальной документации Create custom subagents

Когда нужен субагент, а когда нет

Не нужен, если задача короткая и её результат всё равно понадобится в основном диалоге целиком. Передача в субагента и обратно стоит времени, а итог придёт сжатым

Нужен, когда одну и ту же роль вызываешь раз за разом с одинаковой инструкцией. В моей системе так живут четыре файла в ~/.claude/agents/ под конвейер проверки: аналитик, исполнитель, контролёр и приёмка. Каждый со своим промптом, каждый в своём контексте

Рядом стоит другой механизм: скилл (skill) учит Claude делать что-то по инструкции в основном диалоге, субагент выносит работу в отдельное окно. Их часто путают

Один субагент code-reviewer.md у тебя уже отрабатывает и возвращает только итог, не забивая основной чат логами

Через неделю та же задача встанет по-крупному: не один субагент, а цепочка ролей, где один анализирует, второй делает, третий проверяет придирчиво, а четвёртый принимает результат - вручную собрать такую связку долго и легко напутать порядок

На Лагере собираем именно такой конвейер субагентов под твою собственную задачу, а не один пример для тренировки

Забрать путёвку в ИИ-Лагерь

Это заявка в мой закрытый канал, не оплата. Впускаю сразу, дальше бот в личке отдаёт путёвку на три дня

Частые вопросы

Чем субагент отличается от скилла?

Скилл подгружает инструкцию в текущий диалог, контекст остаётся общим. Субагент запускается в отдельном окне контекста со своим системным промптом и возвращает только итог. Скилл нужен, чтобы Claude делал работу по вашему регламенту, субагент - чтобы побочная работа не съела основной чат

Где физически лежат субагенты?

В двух местах: ~/.claude/agents/ для всех ваших проектов и .claude/agents/ внутри конкретного проекта. Обе папки сканируются рекурсивно, поэтому файлы можно раскладывать по подпапкам. Имя субагента берётся из поля name, а не из имени файла

Сколько инструментов можно выдать субагенту?

Список задаётся полем tools как белый список или disallowedTools как чёрный. Если поле не указано, субагент наследует инструменты основного диалога. Фоновым субагентам часть встроенных инструментов срезается принудительно

Связанные гайды

Больше материалов по теме - в разделе Claude Code: доступ, установка, оплата

Иван Сергеев, автор гайда: практик вайбкодинга и вайбмаркетинга, портрет в квадратном кадре

Иван Сергеев

Вайбмаркетинг и вайбкодинг для тех, кто начинает с нуля. Вырастил свою аудиторию до сотен тысяч подписчиков на контент-заводе на ИИ и помог 800 людям собрать больше 5 миллионов подписчиков

Источники

  • code.claude.com - официальная документация: папки, поля шапки, поведение при делегировании
  • code.claude.com - событие SubagentStart получает значение поля name как agent_type
  • Структура файлов и поведение проверены в живой системе автора на Claude Code 2.1.186

После Лагеря остаётся не идея о цепочке ролей, а рабочие файлы в ~/.claude/agents/, которые уже сегодня делят задачу между собой. Три дня, бесплатно, доступ сразу

Забрать путёвку в ИИ-Лагерь

Заявка в закрытый канал, одобряю сразу. Бот сам напишет первым и покажет, как забрать три дня Лагеря. Бесплатно