Субагент (subagent) в Claude Code
Субагент - это отдельный помощник внутри Claude Code, который работает в собственном окне контекста и возвращает в основной диалог только результат. Он нужен там, где побочная задача завалила бы главный чат логами и выдачей поиска: субагент перемалывает это у себя и отдаёт короткий вывод
Что означает субагент
Каждый субагент запускается со своим окном контекста, отдельным системным промптом, своим списком инструментов и своими правами. Когда задача попадает под описание субагента, Claude передаёт её ему, тот отрабатывает самостоятельно и присылает обратно только итог
Смысл в экономии контекста. Разбор чужого репозитория, чтение логов, обход сотни файлов - всё это в основном диалоге занимает место, которое потом нужно под саму работу. Субагент держит этот мусор у себя
Второй мотив - ограничение прав. Субагенту можно выдать только чтение, и тогда он физически не сможет ничего перезаписать, чем бы его ни попросили
Как создать своего субагента
Субагент - это markdown-файл с YAML-шапкой. Тело файла становится системным промптом. Обязательных полей два: name и description
- Личный субагент, доступен во всех проектах:
~/.claude/agents/code-reviewer.md - Проектный субагент, едет в репозиторий вместе с кодом:
.claude/agents/code-reviewer.md - Сам файл выглядит так:
--- 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: доступ, установка, оплата