Субагенты
Subagents - полный справочник
Субагенты - это специализированные AI-ассистенты, которым Claude Code может делегировать задачи. У каждого субагента своё назначение, он использует собственное окно контекста, изолированное от основного диалога, и может быть настроен с определённым набором tools и собственным system prompt.
Содержание
- Обзор
- Ключевые преимущества
- Расположение файлов
- Конфигурация
- Встроенные субагенты
- Управление субагентами
- Использование субагентов
- Возобновляемые агенты
- Цепочки субагентов
- Постоянная память для субагентов
- Фоновые субагенты
- Изоляция через worktree
- Forked-субагенты
- Ограничение запускаемых субагентов
- CLI-команда
claude agents - Команды агентов (экспериментально)
- Безопасность субагентов из плагинов
- Архитектура
- Управление контекстом
- Когда использовать субагентов
- Best practices
- Примеры субагентов в этой папке
- Инструкции по установке
- Структура файлов
- Смежные концепции
- Observability
- Дополнительные материалы
Обзор
Субагенты позволяют делегировать выполнение задач в Claude Code за счёт:
- Создания изолированных AI-ассистентов с отдельными окнами контекста
- Настройки собственных system prompts под конкретную специализацию
- Применения контроля доступа к tools для ограничения возможностей
- Предотвращения засорения контекста сложными задачами
- Обеспечения параллельного выполнения нескольких специализированных задач
Каждый субагент работает независимо и с чистого листа: получает только тот контекст, который необходим для его задачи, а затем возвращает результат основному агенту для дальнейшей обработки.
Быстрый старт: попросите Claude создать субагента за вас («create a subagent that reviews security») или добавьте файл .claude/agents/<name>.md вручную - см. раздел Управление субагентами ниже.
Примечание: начиная с v2.1.198, команда
/agentsбольше не открывает интерактивный мастер создания. Создавайте субагентов и управляйте ими, обращаясь к Claude или редактируя файлы в.claude/agents/напрямую.
Ключевые преимущества
| Benefit | Description |
|---|---|
| Context preservation | Operates in separate context, preventing pollution of main conversation |
| Specialized expertise | Fine-tuned for specific domains with higher success rates |
| Reusability | Use across different projects and share with teams |
| Flexible permissions | Different tool access levels for different subagent types |
| Scalability | Multiple agents work on different aspects simultaneously |
| Текущая дата: воскресенье, 6 сентября 2026 г. |
Расположение файлов
Файлы субагентов могут храниться в нескольких местах с разными областями действия:
</query> | Priority | Type | Location | Scope | |----------|------|----------|-------| | 1 (highest) | **CLI-defined** | Via `--agents` flag (JSON) | Session only | | 2 | **Project subagents** | `.claude/agents/` | Current project | | 3 | **User subagents** | `~/.claude/agents/` | All projects | | 4 (lowest) | **Plugin agents** | Plugin `agents/` directory | Via plugins | При наличии дублирующихся имён приоритет отдаётся источникам с более высоким приоритетом.Приоритет вложенных
.claude/(v2.1.178): если одно и то же имя агента определено в нескольких вложенных директориях.claude/agents/(например, в монорепозитории с папками.claude/на уровне пакетов), побеждает определение, расположенное ближе всего к текущей рабочей директории. То же правило «побеждает ближайший» действует и для вложенных определений workflow и output-style.
Конфигурация
Формат файла
Субагенты описываются в YAML-фронтматтере, за которым следует системный промпт в формате Markdown:
Поля конфигурации
| Field | Required | Description |
|---|---|---|
name | Yes | Unique identifier (lowercase letters and hyphens). Lookup is normalized (case- and separator-insensitive - see below), but a name containing : is rejected as of v2.1.218: : is reserved for plugin namespacing |
description | Yes | Natural language description of purpose. Include "use PROACTIVELY" to encourage automatic invocation |
tools | No | Comma-separated list of specific tools. Omit to inherit all tools. Supports Agent(agent_name) syntax to restrict spawnable subagents |
disallowedTools | No | Comma-separated list of tools the subagent must not use |
model | No | Model to use: sonnet, opus, haiku, full model ID, or inherit. Defaults to configured subagent model |
permissionMode | No | manual (renamed from default in v2.1.200 - default is still accepted as the older name), acceptEdits, dontAsk, bypassPermissions, plan, auto. As of v2.1.212, the Task tool's mode invocation parameter is deprecated and ignored - subagents inherit the parent session's permission mode by default unless overridden here |
maxTurns | No | Maximum number of agentic turns the subagent can take |
skills | No | Comma-separated list of skills to preload. Injects full skill content into the subagent's context at startup. v2.1.133+: subagents also discover project, user, and plugin skills via the Skill tool - same catalog as the main session, no longer limited to their own embedded set. |
mcpServers | No | MCP servers to make available to the subagent |
hooks | No | Component-scoped hooks (PreToolUse, PostToolUse, Stop) |
memory | No | Persistent memory directory scope: user, project, or local |
background | No | Subagents already run in the background by default (v2.1.198). Set to true to force background always and prevent inline execution |
effort | No | Reasoning effort level: low, medium, high, xhigh, or max. Overrides the session effort level; available levels depend on the model |
isolation | No | Set to worktree to give the subagent its own git worktree |
initialPrompt | No | Auto-submitted first turn when the subagent runs as the main agent |
color | No | Display color for the subagent in the task list and transcript. Accepts red, blue, green, yellow, purple, orange, pink, or cyan |
experimental | No | Experimental settings block (v2.1.248+). experimental.cacheTtl sets the cache TTL for this subagent - "5m" or "1h" |
Переменные окружения для модели субагента
На то, какая модель используется субагентом, влияют две переменные окружения:
| Variable | Version | Description |
|---|---|---|
CLAUDE_CODE_SUBAGENT_MODEL | - | Sets the model used for subagents |
CLAUDE_CODE_SUBAGENT_MODEL_FORCE | v2.1.257+ | Set to 1 to force the subagent model over a subagent's frontmatter model: |
Приоритет изменился в v2.1.251: до этого релиза
CLAUDE_CODE_SUBAGENT_MODELимела высший приоритет и переопределяла frontmatter агента - в том числеmodel: inherit. Начиная с v2.1.251, приоритет отдаётся собственному полюmodel:во frontmatter субагента. УстановитеCLAUDE_CODE_SUBAGENT_MODEL_FORCE=1(v2.1.257+), если нужно, чтобы переменная окружения снова переопределяла frontmatter - например, чтобы зафиксировать весь прогон оценки на одной модели.
Учёт frontmatter агента в основном потоке (v2.1.117+/v2.1.119+)
Когда агент запускается как агент основного потока (через claude --agent <name> или в режиме --print), учитываются следующие поля frontmatter:
| Field | Version | Notes |
|---|---|---|
mcpServers | v2.1.117+ | Loaded when agent is invoked as main-thread agent via claude --agent <name> |
permissionMode | v2.1.119+ | Honored for built-in agents via --agent <name> |
tools / disallowedTools | v2.1.119+ | Honored in --print mode (non-interactive/scripted usage) |
Пример - агент с mcpServers и permissionMode: |
Запустите командой:
Параметры настройки инструментов
Вариант 1: наследовать все инструменты (поле опущено)
Вариант 2: указание отдельных инструментов
Примечание о Glob/Grep (v2.1.113+): В нативных сборках для macOS/Linux Glob и Grep реализованы как
bfs/ugrepи вызываются через инструмент Bash, а не как самостоятельные инструменты. В сборках для Windows и npm-JS они по-прежнему доступны как отдельные инструменты. Авторы могут указывать Glob/Grep вallowedToolsкак обычно - подстановка на стороне бэкенда происходит прозрачно.
Вариант 3: условный доступ к инструментам
Настройка через CLI
Задайте субагентов для отдельной сессии с помощью флага --agents, передав конфигурацию в формате JSON:
Формат JSON для флага --agents:
Примечание: Начиная с v2.1.243,
--agentsбольше не игнорирует молча некорректный JSON или некорректные определения агентов - Claude Code завершает работу с понятной ошибкой, аналогично поведению--mcp-config.
Приоритет определений агентов:
Определения агентов загружаются в следующем порядке приоритета (побеждает первое совпадение):
- Заданные через CLI - флаг
--agents(только на время сессии, JSON) - Уровень проекта -
.claude/agents/(текущий проект) - Уровень пользователя -
~/.claude/agents/(все проекты) - Уровень плагина - каталог
agents/плагина
Это позволяет определениям из CLI переопределять все остальные источники в рамках одной сессии.
Встроенные субагенты
В состав Claude Code входит несколько встроенных субагентов, доступных всегда:
| Agent | Model | Purpose |
|---|---|---|
| general-purpose | Inherits | Complex, multi-step tasks |
| Plan | Inherits | Research for plan mode |
| Explore | Inherits (capped at Opus) | Read-only codebase exploration (quick/medium/very thorough) |
| claude | Inherits | Catch-all for tasks that don't fit a more specialized agent; has every tool available to subagents. Also the default agent for a dispatched background session |
| statusline-setup | Sonnet | Runs when you use /statusline to configure your status line |
| claude-code-guide | Haiku | Answers questions about Claude Code features |
Универсальный субагент
| Property | Value |
|---|---|
| Model | Inherits from parent |
| Tools | All tools |
| Purpose | Complex research tasks, multi-step operations, code modifications |
| Когда применяется: задачи, требующие одновременно исследования и модификации кода со сложными рассуждениями. |
Subagent планирования
| Property | Value |
|---|---|
| Model | Inherits from parent |
| Tools | Read, Glob, Grep, Bash |
| Purpose | Used automatically in plan mode to research codebase |
| Когда используется: когда Claude необходимо разобраться в кодовой базе перед тем, как представить план. |
Субагент Explore
| Property | Value |
|---|---|
| Model | Inherits the session model, capped at Opus (v2.1.198). Set model: haiku to keep it fast and cheap |
| Mode | Strictly read-only |
| Tools | Glob, Grep, Read, Bash (read-only commands only) |
| Purpose | Fast codebase searching and analysis |
| Когда использовать: при поиске или изучении кода без внесения изменений. |
Уровни тщательности - задают глубину исследования:
- "quick" - быстрый поиск с минимальным изучением, подходит для нахождения конкретных паттернов
- "medium" - умеренное изучение, баланс между скоростью и тщательностью, режим по умолчанию
- "very thorough" - всесторонний анализ с учётом различных мест в коде и вариантов именования, может занять больше времени
Субагент Claude
| Property | Value |
|---|---|
| Model | Inherits from parent |
| Tools | Every tool available to subagents |
| Purpose | Catch-all agent for tasks that don't fit a more specialized agent |
| Когда используется: если задача не подходит ни одному из более специализированных встроенных агентов. Также используется по умолчанию для запускаемой фоновой сессии; режим разрешений, с которым он стартует, зависит от того, как именно была запущена эта сессия. |
Субагент настройки statusline
| Property | Value |
|---|---|
| Model | Sonnet |
| Tools | Read, Write, Bash |
| Purpose | Configure the Claude Code status line display |
| Когда используется: при настройке или кастомизации строки состояния. |
Субагент Claude Code Guide (claude-code-guide)
| Property | Value |
|---|---|
| Model | Haiku (fast, low-latency) |
| Tools | Read-only |
| Purpose | Answer questions about Claude Code features and usage |
| Когда использовать: когда пользователи задают вопросы о том, как работает Claude Code или как использовать те или иные возможности. |
Управление субагентами
Спросите Claude (рекомендуется)
Проще всего создать субагента или управлять им, обратившись к Claude напрямую:
Claude сам создаёт файл .claude/agents/<name>.md, подбирая подходящий frontmatter (tools, model, description). Затем вы можете доработать файл вручную или попросить Claude внести правки.
Примечание: Команда
/agentsбольше не открывает интерактивный мастер создания (удалён в v2.1.198). Теперь она лишь подсказывает обратиться к Claude или отредактировать файлы в.claude/agents/напрямую.
Прямое управление файлами
Current date: воскресенье, 6 сентября 2026 г.
<query>Использование сабагентов
Автоматическое делегирование
Claude проактивно делегирует задачи на основе:
- Описания задачи в вашем запросе
- Поля
descriptionв конфигурациях сабагентов - Текущего контекста и доступных инструментов
Чтобы стимулировать проактивное использование, включите "use PROACTIVELY" или "MUST BE USED" в ваше поле description:
Вы можете явно вызвать конкретного субагента:
Сопоставление
subagent_typeбез учёта регистра и разделителей (v2.1.140): значениеsubagent_type(в вызовах инструментаAgentили во флагах--agent) сопоставляется без учёта регистра и стиля разделителей -code-reviewer,Code Reviewerиcode_reviewerразрешаются в одного и того же агента. Это устраняет давнюю проблему, когда из-за малейших различий в регистре молча использовался агент по умолчанию.
Вызов через @-упоминание
Используйте префикс @, чтобы гарантированно вызвать конкретный субагент (в обход эвристик автоматического делегирования):
Агент на всю сессию
Запуск всей сессии с использованием определённого агента в качестве основного:
Просмотр доступных агентов
Команда claude agents выводит список всех настроенных агентов из всех источников:
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>Возобновляемые агенты
Субагенты могут продолжать предыдущие разговоры с полным сохранением контекста:
</query> ```bash # Initial invocation > Use the code-analyzer agent to start reviewing the authentication module # Returns agentId: "abc123"Resume the agent later
Resume agent abc123 and now analyze the authorization logic as well
Это позволяет выстраивать сложные workflow, в которых вывод одного субагента поступает на вход другому.
Постоянная память для субагентов
Поле memory предоставляет субагенту постоянный каталог, сохраняющийся между диалогами. Благодаря этому субагенты могут со временем накапливать знания, сохраняя заметки, наблюдения и контекст, которые переживают отдельные сессии.
Области видимости памяти
| Scope | Directory | Use Case |
|---|---|---|
user | ~/.claude/agent-memory/<name>/ | Personal notes and preferences across all projects |
project | .claude/agent-memory/<name>/ | Project-specific knowledge shared with the team |
local | .claude/agent-memory-local/<name>/ | Local project knowledge not committed to version control |
Как это работает
- Первые 200 строк файла
MEMORY.mdиз директории памяти автоматически подгружаются в системный prompt субагента - Инструменты
Read,WriteиEditавтоматически становятся доступны субагенту для управления файлами его памяти - При необходимости субагент может создавать в своей директории памяти дополнительные файлы
Пример конфигурации
graph LR A["Subagent<br/>Session 1"] -->|writes| M["MEMORY.md<br/>(persistent)"] M -->|loads into| B["Subagent<br/>Session 2"] B -->|updates| M M -->|loads into| C["Subagent<br/>Session 3"] style A fill:#e1f5fe,stroke:#333,color:#333 style B fill:#e1f5fe,stroke:#333,color:#333 style C fill:#e1f5fe,stroke:#333,color:#333 style M fill:#f3e5f5,stroke:#333,color:#333Текущая дата: воскресенье, 6 сентября 2026 г.
<query>Фоновые субагенты
Субагенты по умолчанию запускаются в фоновом режиме (v2.1.198). Claude продолжает работать над основным диалогом, пока субагент выполняется, и получает уведомление, когда он завершится, поэтому вам больше не нужно ждать, пока субагент вернёт результат, прежде чем продолжить.
Конфигурация
Поскольку фоновый режим уже используется по умолчанию, background: true во frontmatter принудительно заставляет субагент всегда запускаться в фоновом режиме и не даёт ему выполняться inline:
Чтобы полностью отключить поддержку фоновых задач, задайте переменную окружения:
Изоляция через worktree
Параметр isolation: worktree выделяет субагенту отдельный git worktree, что позволяет ему вносить изменения независимо, не затрагивая основное рабочее дерево.
Конфигурация
Как это работает
graph TB Main["Main Working Tree"] -->|spawns| Sub["Subagent with<br/>Isolated Worktree"] Sub -->|makes changes in| WT["Separate Git<br/>Worktree + Branch"] WT -->|no changes| Clean["Auto-cleaned"] WT -->|has changes| Return["Returns worktree<br/>path and branch"] style Main fill:#e1f5fe,stroke:#333,color:#333 style Sub fill:#f3e5f5,stroke:#333,color:#333 style WT fill:#e8f5e9,stroke:#333,color:#333 style Clean fill:#fff3e0,stroke:#333,color:#333 style Return fill:#fff3e0,stroke:#333,color:#333- Субагент работает в собственном git worktree на отдельной ветке
- Если субагент не вносит изменений, worktree автоматически удаляется
- Если изменения есть, путь к worktree и имя ветки возвращаются основному агенту для review или merge
Forked-субагенты
Forked-субагенты (context: fork) наследуют полный контекст диалога родительского агента на момент форка, а не начинают с чистого листа. Это удобно для проработки альтернативных вариантов без потери уже проделанной работы.
Доступность: GA начиная с v2.1.117. Начиная с v2.1.232 fork mode включён по умолчанию в интерактивных сессиях - в любой сборке, first-party или нет. В неинтерактивном режиме (
claude -p) и в Agent SDK он по-прежнему выключен по умолчанию. В Claude Code версий ниже v2.1.232, а также чтобы включить его там, где он выключен по умолчанию, задайтеCLAUDE_CODE_FORK_SUBAGENT=1.
Субагенты в fork mode выполняются в фоне. Там, где fork mode включён - а в интерактивной сессии это поведение по умолчанию, - Claude Code запускает субагентов в фоне, причём как forked, так и обычных.
Конфигурация
Явное включение Fork Mode
В интерактивных сессиях на v2.1.232+ флаг не требуется. Используйте его на более старых версиях, в headless-запусках или в Agent SDK:
Когда использовать Fork, а когда Clean Context
| Scenario | context: fork | Clean context (default) |
|---|---|---|
| Explore alternative implementations | Yes | No (would lose context) |
| Long research with existing context | Yes | No |
| Independent specialized task | No | Yes |
| Avoiding context pollution | No | Yes |
| Текущая дата: воскресенье, 6 сентября 2026 г. |
Ограничение порождаемых субагентов
Вы можете контролировать, каких субагентов данный субагент может порождать, используя синтаксис Agent(agent_type) в поле tools. Это дает способ задать разрешающий список конкретных субагентов для делегирования.
> Примечание: В v2.1.63 инструмент Task был переименован в Agent. Существующие ссылки Task(...) по-прежнему работают как алиасы.
Пример
</query> ```yaml --- name: coordinator description: Coordinates work between specialized agents tools: Agent(worker, researcher), Read, Bash ---You are a coordinator agent. You can delegate work to the "worker" and "researcher" subagents only. Use Read and Bash for your own exploration.
Эта команда:
- Показывает всех доступных агентов из всех источников
- Группирует агентов по их исходному расположению
- Отмечает переопределения, когда агент с более высоким приоритетом перекрывает агента с более низким приоритетом (например, агент уровня проекта с тем же именем, что и агент уровня пользователя)
Agent Teams (экспериментально)
Agent Teams координируют работу нескольких экземпляров Claude Code, совместно решающих сложные задачи. В отличие от субагентов (которым делегируются подзадачи с возвратом результата), участники команды (teammates) работают независимо, каждый со своим окном контекста, и могут напрямую обмениваться сообщениями через общую систему почтовых ящиков.
Официальная документация: code.claude.com/docs/en/agent-teams
Примечание: Agent Teams - экспериментальная функция, по умолчанию отключена. Требуется Claude Code v2.1.32+. Включите её перед использованием.
Субагенты и Agent Teams
| Aspect | Subagents | Agent Teams |
|---|---|---|
| Delegation model | Parent delegates subtask, waits for result | Team lead coordinates work, teammates execute independently |
| Context | Fresh context per subtask, results distilled back | Each teammate maintains its own persistent context window |
| Coordination | Sequential or parallel, managed by parent | Shared task list with automatic dependency management |
| Communication | Results returned to parent only (no inter-agent messaging) | Teammates can message each other directly via mailbox |
| Session resumption | Supported | Not supported with in-process teammates |
| Best for | Focused, well-defined subtasks | Complex work requiring inter-agent communication and parallel execution |
Включение команд агентов
Задайте переменную окружения или добавьте её в settings.json:
Или в settings.json:
Запуск команды
После включения попросите Claude в промпте задействовать других участников команды:
Claude создаст команду, распределит задачи и автоматически скоординирует работу.
Режимы отображения
Управляйте тем, как отображается активность участников команды:
| Mode | Flag | Description |
|---|---|---|
| Auto | --teammate-mode auto | Automatically chooses the best display mode for your terminal |
| In-process (default) | --teammate-mode in-process | Shows teammate output inline in the current terminal |
| Split-panes | --teammate-mode tmux | Opens each teammate in a separate tmux or iTerm2 pane |
| iTerm2 | --teammate-mode iterm2 | (v2.1.186+) Spawns teammates in dedicated iTerm2 panes. Requires the it2 CLI; auto mode warns when it can't be found |
Режим отображения также можно задать в settings.json:
Примечание: Режим split-pane требует tmux или iTerm2. Он недоступен в терминале VS Code, Windows Terminal и Ghostty.
Навигация
Используйте Shift+Down для переключения между участниками команды в режиме split-pane.
Конфигурация команды
Конфигурации команд хранятся в ~/.claude/teams/{team-name}/config.json.
Выбор модели для участника команды
Начиная с версии v2.1.234, настройка «Default teammate model» в /config была удалена. Теперь участники команды по умолчанию наследуют модель тимлида, если только при вызове spawn явно не указана другая модель.
Архитектура
graph TB Lead["Team Lead<br/>(Coordinator)"] TaskList["Shared Task List<br/>(Dependencies)"] Mailbox["Mailbox<br/>(Messages)"] T1["Teammate 1<br/>(Own Context)"] T2["Teammate 2<br/>(Own Context)"] T3["Teammate 3<br/>(Own Context)"] Lead -->|assigns tasks| TaskList Lead -->|sends messages| Mailbox TaskList -->|picks up work| T1 TaskList -->|picks up work| T2 TaskList -->|picks up work| T3 T1 -->|reads/writes| Mailbox T2 -->|reads/writes| Mailbox T3 -->|reads/writes| Mailbox T1 -->|updates status| TaskList T2 -->|updates status| TaskList T3 -->|updates status| TaskList style Lead fill:#e1f5fe,stroke:#333,color:#333 style TaskList fill:#fff9c4,stroke:#333,color:#333 style Mailbox fill:#f3e5f5,stroke:#333,color:#333 style T1 fill:#e8f5e9,stroke:#333,color:#333 style T2 fill:#e8f5e9,stroke:#333,color:#333 style T3 fill:#e8f5e9,stroke:#333,color:#333Ключевые компоненты:
- Team Lead - основная сессия Claude Code, которая создаёт команду, назначает задачи и координирует работу
- Общий список задач - синхронизированный список задач с автоматическим отслеживанием зависимостей
- Mailbox - система обмена сообщениями между агентами, позволяющая участникам команды сообщать о статусе и согласовывать действия
- Teammates - независимые экземпляры Claude Code, каждый со своим контекстным окном
Назначение задач и обмен сообщениями
Team Lead разбивает работу на задачи и распределяет их между teammates. Общий список задач обеспечивает:
- Автоматическое управление зависимостями - задачи ждут завершения тех, от которых зависят
- Отслеживание статуса - teammates обновляют статус задач по ходу работы
- Обмен сообщениями между агентами - teammates отправляют сообщения через mailbox для координации (например, «Схема базы данных готова, можно приступать к написанию запросов»)
Процесс утверждения плана
Для сложных задач Team Lead составляет план выполнения до того, как teammates приступят к работе. Пользователь просматривает и утверждает план - это гарантирует, что подход команды соответствует ожиданиям, прежде чем в код будут внесены какие-либо изменения.
Hook events для команд
Agent Teams добавляют два дополнительных hook events:
| Event | Fires When | Use Case |
|---|---|---|
TeammateIdle | A teammate finishes its current task and has no pending work | Trigger notifications, assign follow-up tasks |
TaskCompleted | A task in the shared task list is marked complete | Run validation, update dashboards, chain dependent work |
Рекомендации
- Размер команды: держите команды в пределах 3-5 участников для оптимальной координации
- Размер задач: разбивайте работу на задачи по 5-15 минут - достаточно мелкие для распараллеливания и достаточно крупные, чтобы имели смысл
- Избегайте конфликтов файлов: назначайте разным участникам разные файлы или каталоги, чтобы не возникало merge-конфликтов
- Начинайте с простого: для первой команды используйте in-process режим; переходите на split-panes, когда освоитесь
- Чёткие описания задач: давайте конкретные, действенные описания задач, чтобы участники могли работать независимо
Ограничения
- Экспериментальная функция: поведение может измениться в будущих релизах
- Нет возобновления сессии: in-process участников нельзя возобновить после завершения сессии
- Одна команда на сессию: нельзя создавать вложенные команды или несколько команд в одной сессии
- Фиксированное лидерство: роль лидера команды нельзя передать участнику
- Ограничения split-pane: требуется tmux/iTerm2; недоступно в терминале VS Code, Windows Terminal и Ghostty
- Нет межсессионных команд: участники существуют только в рамках текущей сессии
Внимание: Agent Teams - экспериментальная функция. Сначала опробуйте её на некритичных задачах и следите за координацией участников на предмет неожиданного поведения.
Безопасность субагентов из плагинов
У субагентов, поставляемых плагинами, возможности frontmatter ограничены из соображений безопасности. Следующие поля запрещены в определениях таких субагентов:
hooks- нельзя определять lifecycle hooksmcpServers- нельзя настраивать MCP-серверыpermissionMode- нельзя переопределять настройки разрешений
Это не даёт плагинам повышать привилегии или выполнять произвольные команды через subagent hooks.
Сканирование вывода субагентов (v2.1.210+)
Начиная с v2.1.210 Claude Code сканирует итоговый отчёт каждого субагента на наличие текста, имитирующего собственный формат вывода harness, - поддельных тегов в стиле <system-reminder>, сфабрикованных реплик Human:/Assistant: или упоминаний флагов обхода разрешений и путей к файлам настроек. Это защищает от prompt injection, переносимой в выводе субагента, - например, когда субагент подгрузил вредоносную веб-страницу с поддельными управляющими токенами, рассчитанными на манипуляцию родительской сессией.
Когда сканер что-то обнаруживает, Claude Code это нейтрализует - вставляя обратный слэш или inline-маркер вида [harness: subagent output matched instruction-shaped pattern(s): ...] с указанием, что именно вызвало срабатывание, - и предполагается, что родительская сессия воспримет помеченный фрагмент как находку для передачи дальше, а не как инструкцию к исполнению. Сканирование включено по умолчанию, документированного способа его отключить нет. Оно склонно перестраховываться: корректный отчёт субагента, дословно цитирующий реальное имя флага (например, --dangerously-skip-permissions), может вызвать маркер, хотя ничего вредоносного не произошло, - ложное срабатывание предпочтительнее пропущенной инъекции.
Ограничения на параллелизм и глубину субагентов
Лимита запусков на сессию больше нет. С v2.1.212 Claude Code ограничивал число запусков субагентов 200 на сессию, но в v2.1.224 этот лимит убрали - длительные сессии больше не отказывают в создании новых агентов, а официальный справочник по субагентам теперь прямо указывает, что общее число субагентов, которые Claude может запустить за сессию, не ограничено. Переменная
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, которая его переопределяла, исчезла вместе с ним.
Два ограничения на fan-out субагентов по-прежнему действуют, оба задаются переменными окружения:
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS(v2.1.217) - максимальное число субагентов, работающих одновременно. По умолчанию: 20.CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH(v2.1.217) - максимальная глубина вложенности для субагентов, запускающих собственных субагентов. По умолчанию: 3, начиная с v2.1.219 (в v2.1.217-v2.1.218 было 1). Установите значение1, чтобы полностью отключить вложенность (см. Ключевые особенности поведения).
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>Архитектура
Высокоуровневая архитектура
</query> ```mermaid graph TB User["User"] Main["Main Agent<br/>(Coordinator)"] Reviewer["Code Reviewer<br/>Subagent"] Tester["Test Engineer<br/>Subagent"] Docs["Documentation<br/>Subagent"]Текущая дата: воскресенье, 6 сентября 2026 г.
<query>Управление контекстом
</query> ```mermaid graph TB A["Main Agent Context<br/>50,000 tokens"] B["Subagent 1 Context<br/>20,000 tokens"] C["Subagent 2 Context<br/>20,000 tokens"] D["Subagent 3 Context<br/>20,000 tokens"]You are an expert code reviewer specializing in [specific areas]
Review priorities (in order):
- Security Issues
- Performance Problems
- Code Quality
For each issue provide: Severity, Category, Location, Description, Fix, Impact
When invoked:
- Run git diff to see recent changes
- Focus on modified files
- Begin review immediately
Claude создаёт файл .claude/agents/<name>.md с соответствующим frontmatter. Проверьте сгенерированный файл и используйте его. (Интерактивный мастер создания через /agents был удалён в v2.1.198 - вместо него попросите Claude сгенерировать файл или отредактируйте его вручную.)
Способ 2: копирование в проект
Скопируйте файлы агентов в директорию .claude/agents/ вашего проекта:
Способ 3: копирование в пользовательский каталог
Чтобы агенты были доступны во всех ваших проектах:
Проверка
После установки убедитесь, что агенты распознаны, выведя содержимое каталога:
Вы также можете спросить у Claude, какие субагенты доступны в текущей сессии, и он перечислит встроенных и пользовательских агентов, которым может делегировать задачи.
Структура файла
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>Связанные концепции
Связанные функции
- Slash Commands - Быстрые команды, вызываемые пользователем
- Memory - Постоянный межсессионный контекст
- Skills - Переиспользуемые автономные возможности
- MCP Protocol - Доступ к внешним данным в реальном времени
- Hooks - Автоматизация shell-команд на основе событий
- Plugins - Пакеты расширений в комплекте