МОДУЛЬ 04/УРОК

Субагенты

Subagents - полный справочник

Субагенты - это специализированные AI-ассистенты, которым Claude Code может делегировать задачи. У каждого субагента своё назначение, он использует собственное окно контекста, изолированное от основного диалога, и может быть настроен с определённым набором tools и собственным system prompt.

Содержание

  1. Обзор
  2. Ключевые преимущества
  3. Расположение файлов
  4. Конфигурация
  5. Встроенные субагенты
  6. Управление субагентами
  7. Использование субагентов
  8. Возобновляемые агенты
  9. Цепочки субагентов
  10. Постоянная память для субагентов
  11. Фоновые субагенты
  12. Изоляция через worktree
  13. Forked-субагенты
  14. Ограничение запускаемых субагентов
  15. CLI-команда claude agents
  16. Команды агентов (экспериментально)
  17. Безопасность субагентов из плагинов
  18. Архитектура
  19. Управление контекстом
  20. Когда использовать субагентов
  21. Best practices
  22. Примеры субагентов в этой папке
  23. Инструкции по установке
  24. Структура файлов
  25. Смежные концепции
  26. Observability
  27. Дополнительные материалы

Обзор

Субагенты позволяют делегировать выполнение задач в Claude Code за счёт:

  • Создания изолированных AI-ассистентов с отдельными окнами контекста
  • Настройки собственных system prompts под конкретную специализацию
  • Применения контроля доступа к tools для ограничения возможностей
  • Предотвращения засорения контекста сложными задачами
  • Обеспечения параллельного выполнения нескольких специализированных задач

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

Быстрый старт: попросите Claude создать субагента за вас («create a subagent that reviews security») или добавьте файл .claude/agents/<name>.md вручную - см. раздел Управление субагентами ниже.

Примечание: начиная с v2.1.198, команда /agents больше не открывает интерактивный мастер создания. Создавайте субагентов и управляйте ими, обращаясь к Claude или редактируя файлы в .claude/agents/ напрямую.


Ключевые преимущества

BenefitDescription
Context preservationOperates in separate context, preventing pollution of main conversation
Specialized expertiseFine-tuned for specific domains with higher success rates
ReusabilityUse across different projects and share with teams
Flexible permissionsDifferent tool access levels for different subagent types
ScalabilityMultiple agents work on different aspects simultaneously
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>

Расположение файлов

Файлы субагентов могут храниться в нескольких местах с разными областями действия:

</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:

yaml
---
name: your-sub-agent-name
description: Description of when this subagent should be invoked
tools: tool1, tool2, tool3  # Optional - inherits all tools if omitted
disallowedTools: tool4  # Optional - explicitly disallowed tools
model: sonnet  # Optional - sonnet, opus, haiku, or inherit
permissionMode: default  # Optional - permission mode
maxTurns: 20  # Optional - limit agentic turns
skills: skill1, skill2  # Optional - skills to preload into context
mcpServers: server1  # Optional - MCP servers to make available
memory: user  # Optional - persistent memory scope (user, project, local)
background: false  # Optional - run as background task
effort: high  # Optional - reasoning effort (low, medium, high, xhigh, max)
isolation: worktree  # Optional - git worktree isolation
initialPrompt: "Start by analyzing the codebase"  # Optional - auto-submitted first turn
experimental:  # Optional - experimental settings block
  cacheTtl: "1h"  # Cache TTL for this subagent: "5m" or "1h" (v2.1.248+)
hooks:  # Optional - component-scoped hooks
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "./scripts/security-check.sh"
---

Your subagent's system prompt goes here. This can be multiple paragraphs
and should clearly define the subagent's role, capabilities, and approach
to solving problems.

Поля конфигурации

FieldRequiredDescription
nameYesUnique 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
descriptionYesNatural language description of purpose. Include "use PROACTIVELY" to encourage automatic invocation
toolsNoComma-separated list of specific tools. Omit to inherit all tools. Supports Agent(agent_name) syntax to restrict spawnable subagents
disallowedToolsNoComma-separated list of tools the subagent must not use
modelNoModel to use: sonnet, opus, haiku, full model ID, or inherit. Defaults to configured subagent model
permissionModeNomanual (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
maxTurnsNoMaximum number of agentic turns the subagent can take
skillsNoComma-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.
mcpServersNoMCP servers to make available to the subagent
hooksNoComponent-scoped hooks (PreToolUse, PostToolUse, Stop)
memoryNoPersistent memory directory scope: user, project, or local
backgroundNoSubagents already run in the background by default (v2.1.198). Set to true to force background always and prevent inline execution
effortNoReasoning effort level: low, medium, high, xhigh, or max. Overrides the session effort level; available levels depend on the model
isolationNoSet to worktree to give the subagent its own git worktree
initialPromptNoAuto-submitted first turn when the subagent runs as the main agent
colorNoDisplay color for the subagent in the task list and transcript. Accepts red, blue, green, yellow, purple, orange, pink, or cyan
experimentalNoExperimental settings block (v2.1.248+). experimental.cacheTtl sets the cache TTL for this subagent - "5m" or "1h"

Переменные окружения для модели субагента

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

VariableVersionDescription
CLAUDE_CODE_SUBAGENT_MODEL-Sets the model used for subagents
CLAUDE_CODE_SUBAGENT_MODEL_FORCEv2.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:

FieldVersionNotes
mcpServersv2.1.117+Loaded when agent is invoked as main-thread agent via claude --agent <name>
permissionModev2.1.119+Honored for built-in agents via --agent <name>
tools / disallowedToolsv2.1.119+Honored in --print mode (non-interactive/scripted usage)
Пример - агент с mcpServers и permissionMode:
yaml
---
name: secure-researcher
description: Research agent with scoped MCP access and restricted permissions
permissionMode: acceptEdits
mcpServers:
  notion:
    type: http
    url: https://mcp.notion.com/mcp
  github:
    type: http
    url: https://api.github.com/mcp
tools: Read, Grep, Glob
---

You are a research agent. You may query Notion and GitHub through the
configured MCP servers, and read local files, but you cannot write or
execute commands outside of accepted edits.

Запустите командой:

bash
claude --agent secure-researcher

Параметры настройки инструментов

Вариант 1: наследовать все инструменты (поле опущено)

yaml
---
name: full-access-agent
description: Agent with all available tools
---

Вариант 2: указание отдельных инструментов

yaml
---
name: limited-agent
description: Agent with specific tools only
tools: Read, Grep, Glob, Bash
---

Примечание о Glob/Grep (v2.1.113+): В нативных сборках для macOS/Linux Glob и Grep реализованы как bfs/ugrep и вызываются через инструмент Bash, а не как самостоятельные инструменты. В сборках для Windows и npm-JS они по-прежнему доступны как отдельные инструменты. Авторы могут указывать Glob/Grep в allowedTools как обычно - подстановка на стороне бэкенда происходит прозрачно.

Вариант 3: условный доступ к инструментам

yaml
---
name: conditional-agent
description: Agent with filtered tool access
tools: Read, Bash(npm:*), Bash(test:*)
---

Настройка через CLI

Задайте субагентов для отдельной сессии с помощью флага --agents, передав конфигурацию в формате JSON:

bash
claude --agents '{
  "code-reviewer": {
    "description": "Expert code reviewer. Use proactively after code changes.",
    "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  }
}'

Формат JSON для флага --agents:

json
{
  "agent-name": {
    "description": "Required: when to invoke this agent",
    "prompt": "Required: system prompt for the agent",
    "tools": ["Optional", "array", "of", "tools"],
    "model": "optional: sonnet|opus|haiku"
  }
}

Примечание: Начиная с v2.1.243, --agents больше не игнорирует молча некорректный JSON или некорректные определения агентов - Claude Code завершает работу с понятной ошибкой, аналогично поведению --mcp-config.

Приоритет определений агентов:

Определения агентов загружаются в следующем порядке приоритета (побеждает первое совпадение):

  1. Заданные через CLI - флаг --agents (только на время сессии, JSON)
  2. Уровень проекта - .claude/agents/ (текущий проект)
  3. Уровень пользователя - ~/.claude/agents/ (все проекты)
  4. Уровень плагина - каталог agents/ плагина

Это позволяет определениям из CLI переопределять все остальные источники в рамках одной сессии.


Встроенные субагенты

В состав Claude Code входит несколько встроенных субагентов, доступных всегда:

AgentModelPurpose
general-purposeInheritsComplex, multi-step tasks
PlanInheritsResearch for plan mode
ExploreInherits (capped at Opus)Read-only codebase exploration (quick/medium/very thorough)
claudeInheritsCatch-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-setupSonnetRuns when you use /statusline to configure your status line
claude-code-guideHaikuAnswers questions about Claude Code features

Универсальный субагент

PropertyValue
ModelInherits from parent
ToolsAll tools
PurposeComplex research tasks, multi-step operations, code modifications
Когда применяется: задачи, требующие одновременно исследования и модификации кода со сложными рассуждениями.

Subagent планирования

PropertyValue
ModelInherits from parent
ToolsRead, Glob, Grep, Bash
PurposeUsed automatically in plan mode to research codebase
Когда используется: когда Claude необходимо разобраться в кодовой базе перед тем, как представить план.

Субагент Explore

PropertyValue
ModelInherits the session model, capped at Opus (v2.1.198). Set model: haiku to keep it fast and cheap
ModeStrictly read-only
ToolsGlob, Grep, Read, Bash (read-only commands only)
PurposeFast codebase searching and analysis
Когда использовать: при поиске или изучении кода без внесения изменений.

Уровни тщательности - задают глубину исследования:

  • "quick" - быстрый поиск с минимальным изучением, подходит для нахождения конкретных паттернов
  • "medium" - умеренное изучение, баланс между скоростью и тщательностью, режим по умолчанию
  • "very thorough" - всесторонний анализ с учётом различных мест в коде и вариантов именования, может занять больше времени

Субагент Claude

PropertyValue
ModelInherits from parent
ToolsEvery tool available to subagents
PurposeCatch-all agent for tasks that don't fit a more specialized agent
Когда используется: если задача не подходит ни одному из более специализированных встроенных агентов. Также используется по умолчанию для запускаемой фоновой сессии; режим разрешений, с которым он стартует, зависит от того, как именно была запущена эта сессия.

Субагент настройки statusline

PropertyValue
ModelSonnet
ToolsRead, Write, Bash
PurposeConfigure the Claude Code status line display
Когда используется: при настройке или кастомизации строки состояния.

Субагент Claude Code Guide (claude-code-guide)

PropertyValue
ModelHaiku (fast, low-latency)
ToolsRead-only
PurposeAnswer questions about Claude Code features and usage
Когда использовать: когда пользователи задают вопросы о том, как работает Claude Code или как использовать те или иные возможности.

Управление субагентами

Спросите Claude (рекомендуется)

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

text
Create a subagent that reviews code for security vulnerabilities.

Claude сам создаёт файл .claude/agents/<name>.md, подбирая подходящий frontmatter (tools, model, description). Затем вы можете доработать файл вручную или попросить Claude внести правки.

Примечание: Команда /agents больше не открывает интерактивный мастер создания (удалён в v2.1.198). Теперь она лишь подсказывает обратиться к Claude или отредактировать файлы в .claude/agents/ напрямую.

Прямое управление файлами

bash
# Create a project subagent
mkdir -p .claude/agents
cat > .claude/agents/test-runner.md << 'EOF'
---
name: test-runner
description: Use proactively to run tests and fix failures
---

You are a test automation expert. When you see code changes, proactively
run the appropriate tests. If tests fail, analyze the failures and fix
them while preserving the original test intent.
EOF

# Create a user subagent (available in all projects)
mkdir -p ~/.claude/agents

Current date: воскресенье, 6 сентября 2026 г.

<query>

Использование сабагентов

Автоматическое делегирование

Claude проактивно делегирует задачи на основе:

  • Описания задачи в вашем запросе
  • Поля description в конфигурациях сабагентов
  • Текущего контекста и доступных инструментов

Чтобы стимулировать проактивное использование, включите "use PROACTIVELY" или "MUST BE USED" в ваше поле description:

</query> ```yaml --- name: code-reviewer description: Expert code review specialist. Use PROACTIVELY after writing or modifying code. --- ``` ### Явный вызов

Вы можете явно вызвать конкретного субагента:

CODE
> Use the test-runner subagent to fix failing tests
> Have the code-reviewer subagent look at my recent changes
> Ask the debugger subagent to investigate this error

Сопоставление subagent_type без учёта регистра и разделителей (v2.1.140): значение subagent_type (в вызовах инструмента Agent или во флагах --agent) сопоставляется без учёта регистра и стиля разделителей - code-reviewer, Code Reviewer и code_reviewer разрешаются в одного и того же агента. Это устраняет давнюю проблему, когда из-за малейших различий в регистре молча использовался агент по умолчанию.

Вызов через @-упоминание

Используйте префикс @, чтобы гарантированно вызвать конкретный субагент (в обход эвристик автоматического делегирования):

CODE
> @"code-reviewer (agent)" review the auth module

Агент на всю сессию

Запуск всей сессии с использованием определённого агента в качестве основного:

bash
# Via CLI flag
claude --agent code-reviewer

# Via settings.json
{
  "agent": "code-reviewer"
}

Просмотр доступных агентов

Команда claude agents выводит список всех настроенных агентов из всех источников:

bash
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

CODE
**Сценарии использования**:
- Длительные исследования, растянутые на несколько сессий
- Итеративная доработка без потери контекста
- Многоэтапные workflow с сохранением контекста

---

## Объединение субагентов в цепочку

Запуск нескольких субагентов последовательно:
```bash
> First use the code-analyzer subagent to find performance issues,
  then use the optimizer subagent to fix them

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


Постоянная память для субагентов

Поле memory предоставляет субагенту постоянный каталог, сохраняющийся между диалогами. Благодаря этому субагенты могут со временем накапливать знания, сохраняя заметки, наблюдения и контекст, которые переживают отдельные сессии.

Области видимости памяти

ScopeDirectoryUse 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 автоматически становятся доступны субагенту для управления файлами его памяти
  • При необходимости субагент может создавать в своей директории памяти дополнительные файлы

Пример конфигурации

yaml
---
name: researcher
memory: user
---

You are a research assistant. Use your memory directory to store findings,
track progress across sessions, and build up knowledge over time.

Check your MEMORY.md file at the start of each session to recall previous context.
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:

</query> ```yaml --- name: long-runner background: true description: Performs long-running analysis tasks in the background --- ``` ### Сочетания клавиш | Shortcut | Action | |----------|--------| | `Ctrl+B` | Background a currently running subagent task | | `Ctrl+F` | Kill all background agents (press twice to confirm) | ### Отключение фоновых задач

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

bash
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1

Изоляция через worktree

Параметр isolation: worktree выделяет субагенту отдельный git worktree, что позволяет ему вносить изменения независимо, не затрагивая основное рабочее дерево.

Конфигурация

yaml
---
name: feature-builder
isolation: worktree
description: Implements features in an isolated git worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---

Как это работает

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, так и обычных.

Конфигурация

yaml
---
name: alternative-explorer
description: Explore an alternative implementation path while preserving parent context
context: fork
tools: Read, Edit, Bash, Grep, Glob
---

You are a forked subagent. You inherit the parent's full conversation and
may explore an alternative approach. Return your findings and the parent
will decide whether to adopt them.

Явное включение Fork Mode

В интерактивных сессиях на v2.1.232+ флаг не требуется. Используйте его на более старых версиях, в headless-запусках или в Agent SDK:

bash
export CLAUDE_CODE_FORK_SUBAGENT=1
claude

Когда использовать Fork, а когда Clean Context

Scenariocontext: forkClean context (default)
Explore alternative implementationsYesNo (would lose context)
Long research with existing contextYesNo
Independent specialized taskNoYes
Avoiding context pollutionNoYes
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>

Ограничение порождаемых субагентов

Вы можете контролировать, каких субагентов данный субагент может порождать, используя синтаксис 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.

CODE
В этом примере субагент `coordinator` может запускать только субагентов `worker` и `researcher`. Никаких других субагентов он запускать не может, даже если они определены где-то ещё.

---

## CLI-команда `claude agents`

Команда `claude agents` выводит список всех настроенных агентов, сгруппированных по источнику (встроенные, пользовательские, проектные):
```bash
claude agents

Эта команда:

  • Показывает всех доступных агентов из всех источников
  • Группирует агентов по их исходному расположению
  • Отмечает переопределения, когда агент с более высоким приоритетом перекрывает агента с более низким приоритетом (например, агент уровня проекта с тем же именем, что и агент уровня пользователя)

Agent Teams (экспериментально)

Agent Teams координируют работу нескольких экземпляров Claude Code, совместно решающих сложные задачи. В отличие от субагентов (которым делегируются подзадачи с возвратом результата), участники команды (teammates) работают независимо, каждый со своим окном контекста, и могут напрямую обмениваться сообщениями через общую систему почтовых ящиков.

Официальная документация: code.claude.com/docs/en/agent-teams

Примечание: Agent Teams - экспериментальная функция, по умолчанию отключена. Требуется Claude Code v2.1.32+. Включите её перед использованием.

Субагенты и Agent Teams

AspectSubagentsAgent Teams
Delegation modelParent delegates subtask, waits for resultTeam lead coordinates work, teammates execute independently
ContextFresh context per subtask, results distilled backEach teammate maintains its own persistent context window
CoordinationSequential or parallel, managed by parentShared task list with automatic dependency management
CommunicationResults returned to parent only (no inter-agent messaging)Teammates can message each other directly via mailbox
Session resumptionSupportedNot supported with in-process teammates
Best forFocused, well-defined subtasksComplex work requiring inter-agent communication and parallel execution

Включение команд агентов

Задайте переменную окружения или добавьте её в settings.json:

bash
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

Или в settings.json:

json
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

Запуск команды

После включения попросите Claude в промпте задействовать других участников команды:

CODE
User: Build the authentication module. Use a team - one teammate for the API endpoints,
      one for the database schema, and one for the test suite.

Claude создаст команду, распределит задачи и автоматически скоординирует работу.

Режимы отображения

Управляйте тем, как отображается активность участников команды:

ModeFlagDescription
Auto--teammate-mode autoAutomatically chooses the best display mode for your terminal
In-process (default)--teammate-mode in-processShows teammate output inline in the current terminal
Split-panes--teammate-mode tmuxOpens 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
bash
claude --teammate-mode tmux

Режим отображения также можно задать в settings.json:

json
{
  "teammateMode": "tmux"
}

Примечание: Режим 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:

EventFires WhenUse Case
TeammateIdleA teammate finishes its current task and has no pending workTrigger notifications, assign follow-up tasks
TaskCompletedA task in the shared task list is marked completeRun 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 hooks
  • mcpServers - нельзя настраивать 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, чтобы полностью отключить вложенность (см. Ключевые особенности поведения).
bash
export CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=20
export CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=5

Текущая дата: воскресенье, 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"]
CODE
User -->|asks| Main
Main -->|delegates| Reviewer
Main -->|delegates| Tester
Main -->|delegates| Docs
Reviewer -->|returns result| Main
Tester -->|returns result| Main
Docs -->|returns result| Main
Main -->|synthesizes| User
CODE
### Жизненный цикл субагента
```mermaid
sequenceDiagram
    participant User
    participant MainAgent as Main Agent
    participant CodeReviewer as Code Reviewer<br/>Subagent
    participant Context as Separate<br/>Context Window

    User->>MainAgent: "Build new auth feature"
    MainAgent->>MainAgent: Analyze task
    MainAgent->>CodeReviewer: "Review this code"
    CodeReviewer->>Context: Initialize clean context
    Context->>CodeReviewer: Load reviewer instructions
    CodeReviewer->>CodeReviewer: Perform review
    CodeReviewer-->>MainAgent: Return findings
    MainAgent->>MainAgent: Incorporate results
    MainAgent-->>User: Provide synthesis

Текущая дата: воскресенье, 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"]
CODE
A -->|Clean slate| B
A -->|Clean slate| C
A -->|Clean slate| D

B -->|Results only| A
C -->|Results only| A
D -->|Results only| A

style A fill:#e1f5fe
style B fill:#fff9c4
style C fill:#fff9c4
style D fill:#fff9c4
CODE
### Ключевые моменты

- Каждый subagent получает **свежее окно контекста** без истории основного диалога
- Subagent-у передаётся только **релевантный контекст** для его конкретной задачи
- Результаты **сжимаются до сути** и возвращаются основному агенту
- Это предотвращает **исчерпание токенов контекста** в длительных проектах

### Соображения производительности

- **Экономия контекста** - агенты сохраняют основной контекст, что позволяет вести более длинные сессии
- **Задержка** - subagent-ы стартуют с чистого листа и могут добавлять задержку на сбор начального контекста

### Ключевые особенности поведения

- **Вложенный запуск включён по умолчанию, глубина 3 (v2.1.219)** - subagent-ы могут запускать собственных subagent-ов на глубину до трёх уровней ниже основного диалога. Задайте `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`, чтобы изменить лимит, или `1`, чтобы отключить вложенность. На предельной глубине Claude Code скрывает инструмент `Agent` от всех subagent-ов, кроме fork. (История: в v2.1.172-v2.1.216 вложенность была включена по умолчанию до 5 уровней без возможности это изменить; v2.1.217 сделала вложенность opt-in с глубиной 1; v2.1.219 установила значение по умолчанию равным 3.) Используйте синтаксис ограничения `Agent(agent_type)` (см. [Ограничение запускаемых subagent-ов](#restrict-spawnable-subagents)), чтобы контролировать, каких subagent-ов может запускать данный subagent
- **Разрешения в фоне** - фоновые subagent-ы автоматически отклоняют любые разрешения, которые не были заранее одобрены
- **Перевод в фон** - нажмите `Ctrl+B`, чтобы отправить текущую задачу в фон
- **Транскрипты** - транскрипты subagent-ов сохраняются в `~/.claude/projects/{project}/{sessionId}/subagents/agent-{agentId}.jsonl`
- **Автосжатие** - контекст subagent-а автоматически сжимается при заполнении ~95% (переопределяется переменной окружения `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`)
- **Наследование extended thinking (v2.1.198)** - subagent-ы и сжатие контекста теперь наследуют настройку extended thinking из сессии (ранее оно всегда было отключено). Отдельного поля thinking для каждого subagent-а нет

### Дополнительные настройки

- **Отключить встроенных агентов Explore/Plan** - задайте `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1`, чтобы убрать встроенных агентов Explore и Plan (v2.1.198)
- **Добавление текста к prompt-у каждого subagent-а** - в неинтерактивном режиме / режиме `--print` флаг `--append-subagent-system-prompt "<text>"` дописывает текст к system prompt каждого subagent-а (v2.1.205)
- **Добавление из файла** - `--append-subagent-system-prompt-file ./subagent-rules.txt` считывает тот же дописываемый текст из файла - для prompt-ов, слишком длинных, чтобы передавать их через командную строку. Работает также только с `-p` и не может использоваться вместе с `--append-subagent-system-prompt` (v2.1.261)

---

## Когда использовать subagent-ов
| Scenario | Use Subagent | Why |
|----------|--------------|-----|
| Complex feature with many steps | Yes | Separate concerns, prevent context pollution |
| Quick code review | No | Unnecessary overhead |
| Parallel task execution | Yes | Each subagent has own context |
| Specialized expertise needed | Yes | Custom system prompts |
| Long-running analysis | Yes | Prevents main context exhaustion |
| Single task | No | Adds latency unnecessarily |
Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

---

## Лучшие практики

### Принципы дизайна

**Делайте:**
- Начинайте с агентов, сгенерированных Claude, - создайте начального субагента с Claude, затем итеративно доработайте его
- Проектируйте сфокусированных субагентов - одна четкая ответственность вместо одного, который делает всё
- Пишите подробные prompts - включайте конкретные инструкции, примеры и ограничения
- Ограничивайте доступ к инструментам - предоставляйте только инструменты, необходимые для цели субагента
- Используйте version control - добавляйте проектных субагентов в version control для командной совместной работы

**Не делайте:**
- Не создавайте пересекающихся субагентов с одинаковыми ролями
- Не давайте субагентам ненужный доступ к инструментам
- Не используйте субагентов для простых одношаговых задач
- Не смешивайте разные concerns в одном prompt субагента
- Не забывайте передавать необходимый контекст

### Лучшие практики для System Prompt

1. **Конкретно опишите роль**

You are an expert code reviewer specializing in [specific areas]

CODE

2. **Четко определите приоритеты**

Review priorities (in order):

  1. Security Issues
  2. Performance Problems
  3. Code Quality
CODE

3. **Укажите формат вывода**

For each issue provide: Severity, Category, Location, Description, Fix, Impact

CODE

4. **Включите шаги действий**

When invoked:

  1. Run git diff to see recent changes
  2. Focus on modified files
  3. Begin review immediately
CODE

### Стратегия доступа к инструментам

1. **Начинайте с ограничений**: начните только с essential tools
2. **Расширяйте только при необходимости**: добавляйте инструменты по мере требований
3. **Read-Only, когда возможно**: используйте Read/Grep для агентов анализа
4. **Sandboxed Execution**: ограничивайте команды Bash конкретными patterns

---

## Примеры субагентов в этой папке

Эта папка содержит готовые к использованию примеры субагентов:

### 1. Code Reviewer (`code-reviewer.md`)

**Назначение**: комплексный анализ качества кода и maintainability

**Инструменты**: Read, Grep, Glob, Bash

**Специализация**:
- Обнаружение уязвимостей безопасности
- Выявление возможностей оптимизации производительности
- Оценка maintainability кода
- Анализ покрытия тестами

**Когда использовать**: когда вам нужны автоматизированные code reviews с фокусом на качество и безопасность

---

### 2. Test Engineer (`test-engineer.md`)

**Назначение**: стратегия тестирования, анализ покрытия и автоматизированное тестирование

**Инструменты**: Read, Write, Bash, Grep

**Специализация**:
- Создание unit tests
- Проектирование integration tests
- Выявление edge cases
- Анализ покрытия (цель &gt;80%)

**Когда использовать**: когда вам нужно создать комплексный test suite или проанализировать покрытие

---

### 3. Documentation Writer (`documentation-writer.md`)

**Назначение**: техническая документация, API docs и руководства пользователя

**Инструменты**: Read, Write, Grep

**Специализация**:
- Документация API endpoints
- Создание руководств пользователя
- Документация архитектуры
- Улучшение комментариев к коду

**Когда использовать**: когда вам нужно создать или обновить документацию проекта

---

### 4. Secure Reviewer (`secure-reviewer.md`)

**Назначение**: code review с фокусом на безопасность и минимальными permissions

**Инструменты**: Read, Grep

**Специализация**:
- Обнаружение уязвимостей безопасности
- Проблемы аутентификации/авторизации
- Риски раскрытия данных
- Выявление injection-атак

**Когда использовать**: когда вам нужны security audits без возможностей модификации

---

### 5. Implementation Agent (`implementation-agent.md`)

**Назначение**: полные возможности реализации для разработки features

**Инструменты**: Read, Write, Edit, Bash, Grep, Glob

**Специализация**:
- Реализация features
- Генерация кода
- Выполнение build и тестов
- Модификация codebase

**Когда использовать**: когда вам нужен субагент для end-to-end реализации features

---

### 6. Debugger (`debugger.md`)

**Назначение**: специалист по debugging для ошибок, падений тестов и неожиданного поведения

**Инструменты**: Read, Edit, Bash, Grep, Glob

**Специализация**:
- Root cause analysis
- Исследование ошибок
- Устранение падений тестов
- Реализация минимального fix

**Когда использовать**: когда вы сталкиваетесь с bugs, ошибками или неожиданным поведением

---

### 7. Data Scientist (`data-scientist.md`)

**Назначение**: эксперт по анализу данных для SQL-запросов и data insights

**Инструменты**: Bash, Read, Write

**Специализация**:
- Оптимизация SQL-запросов
- Операции BigQuery
- Анализ и визуализация данных
- Статистические insights

**Когда использовать**: когда вам нужен анализ данных, SQL-запросы или операции BigQuery

---

### 8. Clean Code Reviewer (`clean-code-reviewer.md`)

**Назначение**: review читаемости и maintainability по принципам clean-code

**Инструменты**: Read, Grep, Glob, Bash

**Специализация**:
- Именование, длина функций и количество аргументов
- Дублирование и dead code
- Качество комментариев и intent
- Структурная ясность вместо cleverness

**Когда использовать**: когда вам нужен проход по стилю и maintainability, отдельный от проверки корректности

---

### 9. Performance Optimizer (`performance-optimizer.md`)

**Назначение**: выявление и устранение bottlenecks производительности

**Инструменты**: Read, Edit, Bash, Grep, Glob

**Специализация**:
- Алгоритмическая сложность и hot paths
- Выделение памяти и leaks
- Кэширование и оптимизация запросов
- Concurrency и I/O bottlenecks

**Когда использовать**: когда код измеримо медленный и вам нужна targeted optimization

---

## Инструкции по установке

### Метод 1: спросите Claude (рекомендуется)

Опишите нужного вам субагента и позвольте Claude создать файл:

</query>
```text
Create a project-level subagent that runs tests and fixes failures.
Give it access to Bash, Read, Edit, and Grep.

Claude создаёт файл .claude/agents/<name>.md с соответствующим frontmatter. Проверьте сгенерированный файл и используйте его. (Интерактивный мастер создания через /agents был удалён в v2.1.198 - вместо него попросите Claude сгенерировать файл или отредактируйте его вручную.)

Способ 2: копирование в проект

Скопируйте файлы агентов в директорию .claude/agents/ вашего проекта:

bash
# Navigate to your project
cd /path/to/your/project

# Create agents directory if it doesn't exist
mkdir -p .claude/agents

# Copy all agent files from this folder
cp /path/to/04-subagents/*.md .claude/agents/

# Remove the README (not needed in .claude/agents)
rm .claude/agents/README.md

Способ 3: копирование в пользовательский каталог

Чтобы агенты были доступны во всех ваших проектах:

bash
# Create user agents directory
mkdir -p ~/.claude/agents

# Copy agents
cp /path/to/04-subagents/code-reviewer.md ~/.claude/agents/
cp /path/to/04-subagents/debugger.md ~/.claude/agents/
# ... copy others as needed

Проверка

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

bash
ls .claude/agents/

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


Структура файла

CODE
project/
├── .claude/
│   └── agents/
│       ├── code-reviewer.md
│       ├── test-engineer.md
│       ├── documentation-writer.md
│       ├── secure-reviewer.md
│       ├── implementation-agent.md
│       ├── debugger.md
│       ├── data-scientist.md
│       ├── clean-code-reviewer.md
│       └── performance-optimizer.md
└── ...

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Связанные концепции

Связанные функции

  • Slash Commands - Быстрые команды, вызываемые пользователем
  • Memory - Постоянный межсессионный контекст
  • Skills - Переиспользуемые автономные возможности
  • MCP Protocol - Доступ к внешним данным в реальном времени
  • Hooks - Автоматизация shell-команд на основе событий
  • Plugins - Пакеты расширений в комплекте

Сравнение с другими функциями

</query> | Feature | User-Invoked | Auto-Invoked | Persistent | External Access | Isolated Context | |---------|--------------|--------------|-----------|------------------|------------------| | **Slash Commands** | Yes | No | No | No | No | | **Subagents** | Yes | Yes | No | No | Yes | | **Memory** | Auto | Auto | Yes | No | No | | **MCP** | Auto | Yes | No | Yes | No | | **Skills** | Yes | Yes | No | No | No | ### Паттерн интеграции ```mermaid graph TD User["User Request"] --> Main["Main Agent"] Main -->|Uses| Memory["Memory<br/>(Context)"] Main -->|Queries| MCP["MCP<br/>(Live Data)"] Main -->|Invokes| Skills["Skills<br/>(Auto Tools)"] Main -->|Delegates| Subagents["Subagents<br/>(Specialists)"]
CODE
Subagents -->|Use| Memory
Subagents -->|Query| MCP
Subagents -->|Isolated| Context["Clean Context<br/>Window"]
CODE
Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

---

## Наблюдаемость

&gt; **Добавлено в v2.1.139.**

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

</query>
| Header | Description |
|--------|-------------|
| `x-claude-code-agent-id` | UUID of the subagent making the request. |
| `x-claude-code-parent-agent-id` | UUID of the agent that dispatched this subagent (the main agent, or a higher-level subagent in a chain). |
Те же идентификаторы доступны в OpenTelemetry-спанах `claude_code.llm_request` как атрибуты `claude.code.agent.id` и `claude.code.agent.parent_id`. Используйте их, чтобы:

- Относить расходы на API к конкретному типу субагента, а не ко всей родительской сессии
- Восстанавливать цепочку вызовов агентов постфактум (`parent_id` формирует дерево)
- Настраивать оповещения о неконтролируемо разросшихся субагентах (например, когда на один `agent.id` приходится &gt;50% расходов сессии)

Полную настройку экспортера см. в разделе OpenTelemetry в [Advanced Features → Telemetry](../09-advanced-features/README.md).

## Дополнительные ресурсы

- [Официальная документация по субагентам](https://code.claude.com/docs/en/sub-agents)
- [Справочник CLI](https://code.claude.com/docs/en/cli-reference) - флаг `--agents` и другие параметры CLI
- [Руководство по плагинам](../07-plugins/) - для объединения агентов с другими возможностями
- [Руководство по skills](../03-skills/) - для автоматически вызываемых возможностей
- [Руководство по памяти](../02-memory/) - для постоянного контекста
- [Руководство по hooks](../06-hooks/) - для автоматизации на основе событий

---

**Последнее обновление**: 6 сентября 2026 г.
**Версия Claude Code**: 2.1.263
**Источники**:
- https://code.claude.com/docs/en/sub-agents
- https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
- https://code.claude.com/docs/en/cli-reference
- https://code.claude.com/docs/en/agent-teams
- https://code.claude.com/docs/en/changelog#2-1-172
- https://code.claude.com/docs/en/changelog
- https://github.com/anthropics/claude-code/releases/tag/v2.1.117
- https://github.com/anthropics/claude-code/releases/tag/v2.1.131
- https://github.com/anthropics/claude-code/releases/tag/v2.1.138
- https://github.com/anthropics/claude-code/releases/tag/v2.1.139
- https://github.com/anthropics/claude-code/releases/tag/v2.1.140
- https://code.claude.com/docs/en/model-config
**Совместимые модели**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5
ЛОКАЛЬНАЯ ОТМЕТКА · БЕЗ ПРОВЕРКИ
cc-learnМОДУЛЬ 04
МОДУЛЬ 04/УРОК

Субагенты

Subagents - полный справочник

Субагенты - это специализированные AI-ассистенты, которым Claude Code может делегировать задачи. У каждого субагента своё назначение, он использует собственное окно контекста, изолированное от основного диалога, и может быть настроен с определённым набором tools и собственным system prompt.

Содержание

  1. Обзор
  2. Ключевые преимущества
  3. Расположение файлов
  4. Конфигурация
  5. Встроенные субагенты
  6. Управление субагентами
  7. Использование субагентов
  8. Возобновляемые агенты
  9. Цепочки субагентов
  10. Постоянная память для субагентов
  11. Фоновые субагенты
  12. Изоляция через worktree
  13. Forked-субагенты
  14. Ограничение запускаемых субагентов
  15. CLI-команда claude agents
  16. Команды агентов (экспериментально)
  17. Безопасность субагентов из плагинов
  18. Архитектура
  19. Управление контекстом
  20. Когда использовать субагентов
  21. Best practices
  22. Примеры субагентов в этой папке
  23. Инструкции по установке
  24. Структура файлов
  25. Смежные концепции
  26. Observability
  27. Дополнительные материалы

Обзор

Субагенты позволяют делегировать выполнение задач в Claude Code за счёт:

  • Создания изолированных AI-ассистентов с отдельными окнами контекста
  • Настройки собственных system prompts под конкретную специализацию
  • Применения контроля доступа к tools для ограничения возможностей
  • Предотвращения засорения контекста сложными задачами
  • Обеспечения параллельного выполнения нескольких специализированных задач

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

Быстрый старт: попросите Claude создать субагента за вас («create a subagent that reviews security») или добавьте файл .claude/agents/<name>.md вручную - см. раздел Управление субагентами ниже.

Примечание: начиная с v2.1.198, команда /agents больше не открывает интерактивный мастер создания. Создавайте субагентов и управляйте ими, обращаясь к Claude или редактируя файлы в .claude/agents/ напрямую.


Ключевые преимущества

BenefitDescription
Context preservationOperates in separate context, preventing pollution of main conversation
Specialized expertiseFine-tuned for specific domains with higher success rates
ReusabilityUse across different projects and share with teams
Flexible permissionsDifferent tool access levels for different subagent types
ScalabilityMultiple agents work on different aspects simultaneously
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>

Расположение файлов

Файлы субагентов могут храниться в нескольких местах с разными областями действия:

</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:

yaml
---
name: your-sub-agent-name
description: Description of when this subagent should be invoked
tools: tool1, tool2, tool3  # Optional - inherits all tools if omitted
disallowedTools: tool4  # Optional - explicitly disallowed tools
model: sonnet  # Optional - sonnet, opus, haiku, or inherit
permissionMode: default  # Optional - permission mode
maxTurns: 20  # Optional - limit agentic turns
skills: skill1, skill2  # Optional - skills to preload into context
mcpServers: server1  # Optional - MCP servers to make available
memory: user  # Optional - persistent memory scope (user, project, local)
background: false  # Optional - run as background task
effort: high  # Optional - reasoning effort (low, medium, high, xhigh, max)
isolation: worktree  # Optional - git worktree isolation
initialPrompt: "Start by analyzing the codebase"  # Optional - auto-submitted first turn
experimental:  # Optional - experimental settings block
  cacheTtl: "1h"  # Cache TTL for this subagent: "5m" or "1h" (v2.1.248+)
hooks:  # Optional - component-scoped hooks
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "./scripts/security-check.sh"
---

Your subagent's system prompt goes here. This can be multiple paragraphs
and should clearly define the subagent's role, capabilities, and approach
to solving problems.

Поля конфигурации

FieldRequiredDescription
nameYesUnique 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
descriptionYesNatural language description of purpose. Include "use PROACTIVELY" to encourage automatic invocation
toolsNoComma-separated list of specific tools. Omit to inherit all tools. Supports Agent(agent_name) syntax to restrict spawnable subagents
disallowedToolsNoComma-separated list of tools the subagent must not use
modelNoModel to use: sonnet, opus, haiku, full model ID, or inherit. Defaults to configured subagent model
permissionModeNomanual (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
maxTurnsNoMaximum number of agentic turns the subagent can take
skillsNoComma-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.
mcpServersNoMCP servers to make available to the subagent
hooksNoComponent-scoped hooks (PreToolUse, PostToolUse, Stop)
memoryNoPersistent memory directory scope: user, project, or local
backgroundNoSubagents already run in the background by default (v2.1.198). Set to true to force background always and prevent inline execution
effortNoReasoning effort level: low, medium, high, xhigh, or max. Overrides the session effort level; available levels depend on the model
isolationNoSet to worktree to give the subagent its own git worktree
initialPromptNoAuto-submitted first turn when the subagent runs as the main agent
colorNoDisplay color for the subagent in the task list and transcript. Accepts red, blue, green, yellow, purple, orange, pink, or cyan
experimentalNoExperimental settings block (v2.1.248+). experimental.cacheTtl sets the cache TTL for this subagent - "5m" or "1h"

Переменные окружения для модели субагента

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

VariableVersionDescription
CLAUDE_CODE_SUBAGENT_MODEL-Sets the model used for subagents
CLAUDE_CODE_SUBAGENT_MODEL_FORCEv2.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:

FieldVersionNotes
mcpServersv2.1.117+Loaded when agent is invoked as main-thread agent via claude --agent <name>
permissionModev2.1.119+Honored for built-in agents via --agent <name>
tools / disallowedToolsv2.1.119+Honored in --print mode (non-interactive/scripted usage)
Пример - агент с mcpServers и permissionMode:
yaml
---
name: secure-researcher
description: Research agent with scoped MCP access and restricted permissions
permissionMode: acceptEdits
mcpServers:
  notion:
    type: http
    url: https://mcp.notion.com/mcp
  github:
    type: http
    url: https://api.github.com/mcp
tools: Read, Grep, Glob
---

You are a research agent. You may query Notion and GitHub through the
configured MCP servers, and read local files, but you cannot write or
execute commands outside of accepted edits.

Запустите командой:

bash
claude --agent secure-researcher

Параметры настройки инструментов

Вариант 1: наследовать все инструменты (поле опущено)

yaml
---
name: full-access-agent
description: Agent with all available tools
---

Вариант 2: указание отдельных инструментов

yaml
---
name: limited-agent
description: Agent with specific tools only
tools: Read, Grep, Glob, Bash
---

Примечание о Glob/Grep (v2.1.113+): В нативных сборках для macOS/Linux Glob и Grep реализованы как bfs/ugrep и вызываются через инструмент Bash, а не как самостоятельные инструменты. В сборках для Windows и npm-JS они по-прежнему доступны как отдельные инструменты. Авторы могут указывать Glob/Grep в allowedTools как обычно - подстановка на стороне бэкенда происходит прозрачно.

Вариант 3: условный доступ к инструментам

yaml
---
name: conditional-agent
description: Agent with filtered tool access
tools: Read, Bash(npm:*), Bash(test:*)
---

Настройка через CLI

Задайте субагентов для отдельной сессии с помощью флага --agents, передав конфигурацию в формате JSON:

bash
claude --agents '{
  "code-reviewer": {
    "description": "Expert code reviewer. Use proactively after code changes.",
    "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  }
}'

Формат JSON для флага --agents:

json
{
  "agent-name": {
    "description": "Required: when to invoke this agent",
    "prompt": "Required: system prompt for the agent",
    "tools": ["Optional", "array", "of", "tools"],
    "model": "optional: sonnet|opus|haiku"
  }
}

Примечание: Начиная с v2.1.243, --agents больше не игнорирует молча некорректный JSON или некорректные определения агентов - Claude Code завершает работу с понятной ошибкой, аналогично поведению --mcp-config.

Приоритет определений агентов:

Определения агентов загружаются в следующем порядке приоритета (побеждает первое совпадение):

  1. Заданные через CLI - флаг --agents (только на время сессии, JSON)
  2. Уровень проекта - .claude/agents/ (текущий проект)
  3. Уровень пользователя - ~/.claude/agents/ (все проекты)
  4. Уровень плагина - каталог agents/ плагина

Это позволяет определениям из CLI переопределять все остальные источники в рамках одной сессии.


Встроенные субагенты

В состав Claude Code входит несколько встроенных субагентов, доступных всегда:

AgentModelPurpose
general-purposeInheritsComplex, multi-step tasks
PlanInheritsResearch for plan mode
ExploreInherits (capped at Opus)Read-only codebase exploration (quick/medium/very thorough)
claudeInheritsCatch-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-setupSonnetRuns when you use /statusline to configure your status line
claude-code-guideHaikuAnswers questions about Claude Code features

Универсальный субагент

PropertyValue
ModelInherits from parent
ToolsAll tools
PurposeComplex research tasks, multi-step operations, code modifications
Когда применяется: задачи, требующие одновременно исследования и модификации кода со сложными рассуждениями.

Subagent планирования

PropertyValue
ModelInherits from parent
ToolsRead, Glob, Grep, Bash
PurposeUsed automatically in plan mode to research codebase
Когда используется: когда Claude необходимо разобраться в кодовой базе перед тем, как представить план.

Субагент Explore

PropertyValue
ModelInherits the session model, capped at Opus (v2.1.198). Set model: haiku to keep it fast and cheap
ModeStrictly read-only
ToolsGlob, Grep, Read, Bash (read-only commands only)
PurposeFast codebase searching and analysis
Когда использовать: при поиске или изучении кода без внесения изменений.

Уровни тщательности - задают глубину исследования:

  • "quick" - быстрый поиск с минимальным изучением, подходит для нахождения конкретных паттернов
  • "medium" - умеренное изучение, баланс между скоростью и тщательностью, режим по умолчанию
  • "very thorough" - всесторонний анализ с учётом различных мест в коде и вариантов именования, может занять больше времени

Субагент Claude

PropertyValue
ModelInherits from parent
ToolsEvery tool available to subagents
PurposeCatch-all agent for tasks that don't fit a more specialized agent
Когда используется: если задача не подходит ни одному из более специализированных встроенных агентов. Также используется по умолчанию для запускаемой фоновой сессии; режим разрешений, с которым он стартует, зависит от того, как именно была запущена эта сессия.

Субагент настройки statusline

PropertyValue
ModelSonnet
ToolsRead, Write, Bash
PurposeConfigure the Claude Code status line display
Когда используется: при настройке или кастомизации строки состояния.

Субагент Claude Code Guide (claude-code-guide)

PropertyValue
ModelHaiku (fast, low-latency)
ToolsRead-only
PurposeAnswer questions about Claude Code features and usage
Когда использовать: когда пользователи задают вопросы о том, как работает Claude Code или как использовать те или иные возможности.

Управление субагентами

Спросите Claude (рекомендуется)

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

text
Create a subagent that reviews code for security vulnerabilities.

Claude сам создаёт файл .claude/agents/<name>.md, подбирая подходящий frontmatter (tools, model, description). Затем вы можете доработать файл вручную или попросить Claude внести правки.

Примечание: Команда /agents больше не открывает интерактивный мастер создания (удалён в v2.1.198). Теперь она лишь подсказывает обратиться к Claude или отредактировать файлы в .claude/agents/ напрямую.

Прямое управление файлами

bash
# Create a project subagent
mkdir -p .claude/agents
cat > .claude/agents/test-runner.md << 'EOF'
---
name: test-runner
description: Use proactively to run tests and fix failures
---

You are a test automation expert. When you see code changes, proactively
run the appropriate tests. If tests fail, analyze the failures and fix
them while preserving the original test intent.
EOF

# Create a user subagent (available in all projects)
mkdir -p ~/.claude/agents

Current date: воскресенье, 6 сентября 2026 г.

<query>

Использование сабагентов

Автоматическое делегирование

Claude проактивно делегирует задачи на основе:

  • Описания задачи в вашем запросе
  • Поля description в конфигурациях сабагентов
  • Текущего контекста и доступных инструментов

Чтобы стимулировать проактивное использование, включите "use PROACTIVELY" или "MUST BE USED" в ваше поле description:

</query> ```yaml --- name: code-reviewer description: Expert code review specialist. Use PROACTIVELY after writing or modifying code. --- ``` ### Явный вызов

Вы можете явно вызвать конкретного субагента:

CODE
> Use the test-runner subagent to fix failing tests
> Have the code-reviewer subagent look at my recent changes
> Ask the debugger subagent to investigate this error

Сопоставление subagent_type без учёта регистра и разделителей (v2.1.140): значение subagent_type (в вызовах инструмента Agent или во флагах --agent) сопоставляется без учёта регистра и стиля разделителей - code-reviewer, Code Reviewer и code_reviewer разрешаются в одного и того же агента. Это устраняет давнюю проблему, когда из-за малейших различий в регистре молча использовался агент по умолчанию.

Вызов через @-упоминание

Используйте префикс @, чтобы гарантированно вызвать конкретный субагент (в обход эвристик автоматического делегирования):

CODE
> @"code-reviewer (agent)" review the auth module

Агент на всю сессию

Запуск всей сессии с использованием определённого агента в качестве основного:

bash
# Via CLI flag
claude --agent code-reviewer

# Via settings.json
{
  "agent": "code-reviewer"
}

Просмотр доступных агентов

Команда claude agents выводит список всех настроенных агентов из всех источников:

bash
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

CODE
**Сценарии использования**:
- Длительные исследования, растянутые на несколько сессий
- Итеративная доработка без потери контекста
- Многоэтапные workflow с сохранением контекста

---

## Объединение субагентов в цепочку

Запуск нескольких субагентов последовательно:
```bash
> First use the code-analyzer subagent to find performance issues,
  then use the optimizer subagent to fix them

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


Постоянная память для субагентов

Поле memory предоставляет субагенту постоянный каталог, сохраняющийся между диалогами. Благодаря этому субагенты могут со временем накапливать знания, сохраняя заметки, наблюдения и контекст, которые переживают отдельные сессии.

Области видимости памяти

ScopeDirectoryUse 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 автоматически становятся доступны субагенту для управления файлами его памяти
  • При необходимости субагент может создавать в своей директории памяти дополнительные файлы

Пример конфигурации

yaml
---
name: researcher
memory: user
---

You are a research assistant. Use your memory directory to store findings,
track progress across sessions, and build up knowledge over time.

Check your MEMORY.md file at the start of each session to recall previous context.
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:

</query> ```yaml --- name: long-runner background: true description: Performs long-running analysis tasks in the background --- ``` ### Сочетания клавиш | Shortcut | Action | |----------|--------| | `Ctrl+B` | Background a currently running subagent task | | `Ctrl+F` | Kill all background agents (press twice to confirm) | ### Отключение фоновых задач

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

bash
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1

Изоляция через worktree

Параметр isolation: worktree выделяет субагенту отдельный git worktree, что позволяет ему вносить изменения независимо, не затрагивая основное рабочее дерево.

Конфигурация

yaml
---
name: feature-builder
isolation: worktree
description: Implements features in an isolated git worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---

Как это работает

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, так и обычных.

Конфигурация

yaml
---
name: alternative-explorer
description: Explore an alternative implementation path while preserving parent context
context: fork
tools: Read, Edit, Bash, Grep, Glob
---

You are a forked subagent. You inherit the parent's full conversation and
may explore an alternative approach. Return your findings and the parent
will decide whether to adopt them.

Явное включение Fork Mode

В интерактивных сессиях на v2.1.232+ флаг не требуется. Используйте его на более старых версиях, в headless-запусках или в Agent SDK:

bash
export CLAUDE_CODE_FORK_SUBAGENT=1
claude

Когда использовать Fork, а когда Clean Context

Scenariocontext: forkClean context (default)
Explore alternative implementationsYesNo (would lose context)
Long research with existing contextYesNo
Independent specialized taskNoYes
Avoiding context pollutionNoYes
Текущая дата: воскресенье, 6 сентября 2026 г.
<query>

Ограничение порождаемых субагентов

Вы можете контролировать, каких субагентов данный субагент может порождать, используя синтаксис 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.

CODE
В этом примере субагент `coordinator` может запускать только субагентов `worker` и `researcher`. Никаких других субагентов он запускать не может, даже если они определены где-то ещё.

---

## CLI-команда `claude agents`

Команда `claude agents` выводит список всех настроенных агентов, сгруппированных по источнику (встроенные, пользовательские, проектные):
```bash
claude agents

Эта команда:

  • Показывает всех доступных агентов из всех источников
  • Группирует агентов по их исходному расположению
  • Отмечает переопределения, когда агент с более высоким приоритетом перекрывает агента с более низким приоритетом (например, агент уровня проекта с тем же именем, что и агент уровня пользователя)

Agent Teams (экспериментально)

Agent Teams координируют работу нескольких экземпляров Claude Code, совместно решающих сложные задачи. В отличие от субагентов (которым делегируются подзадачи с возвратом результата), участники команды (teammates) работают независимо, каждый со своим окном контекста, и могут напрямую обмениваться сообщениями через общую систему почтовых ящиков.

Официальная документация: code.claude.com/docs/en/agent-teams

Примечание: Agent Teams - экспериментальная функция, по умолчанию отключена. Требуется Claude Code v2.1.32+. Включите её перед использованием.

Субагенты и Agent Teams

AspectSubagentsAgent Teams
Delegation modelParent delegates subtask, waits for resultTeam lead coordinates work, teammates execute independently
ContextFresh context per subtask, results distilled backEach teammate maintains its own persistent context window
CoordinationSequential or parallel, managed by parentShared task list with automatic dependency management
CommunicationResults returned to parent only (no inter-agent messaging)Teammates can message each other directly via mailbox
Session resumptionSupportedNot supported with in-process teammates
Best forFocused, well-defined subtasksComplex work requiring inter-agent communication and parallel execution

Включение команд агентов

Задайте переменную окружения или добавьте её в settings.json:

bash
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

Или в settings.json:

json
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

Запуск команды

После включения попросите Claude в промпте задействовать других участников команды:

CODE
User: Build the authentication module. Use a team - one teammate for the API endpoints,
      one for the database schema, and one for the test suite.

Claude создаст команду, распределит задачи и автоматически скоординирует работу.

Режимы отображения

Управляйте тем, как отображается активность участников команды:

ModeFlagDescription
Auto--teammate-mode autoAutomatically chooses the best display mode for your terminal
In-process (default)--teammate-mode in-processShows teammate output inline in the current terminal
Split-panes--teammate-mode tmuxOpens 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
bash
claude --teammate-mode tmux

Режим отображения также можно задать в settings.json:

json
{
  "teammateMode": "tmux"
}

Примечание: Режим 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:

EventFires WhenUse Case
TeammateIdleA teammate finishes its current task and has no pending workTrigger notifications, assign follow-up tasks
TaskCompletedA task in the shared task list is marked completeRun 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 hooks
  • mcpServers - нельзя настраивать 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, чтобы полностью отключить вложенность (см. Ключевые особенности поведения).
bash
export CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=20
export CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=5

Текущая дата: воскресенье, 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"]
CODE
User -->|asks| Main
Main -->|delegates| Reviewer
Main -->|delegates| Tester
Main -->|delegates| Docs
Reviewer -->|returns result| Main
Tester -->|returns result| Main
Docs -->|returns result| Main
Main -->|synthesizes| User
CODE
### Жизненный цикл субагента
```mermaid
sequenceDiagram
    participant User
    participant MainAgent as Main Agent
    participant CodeReviewer as Code Reviewer<br/>Subagent
    participant Context as Separate<br/>Context Window

    User->>MainAgent: "Build new auth feature"
    MainAgent->>MainAgent: Analyze task
    MainAgent->>CodeReviewer: "Review this code"
    CodeReviewer->>Context: Initialize clean context
    Context->>CodeReviewer: Load reviewer instructions
    CodeReviewer->>CodeReviewer: Perform review
    CodeReviewer-->>MainAgent: Return findings
    MainAgent->>MainAgent: Incorporate results
    MainAgent-->>User: Provide synthesis

Текущая дата: воскресенье, 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"]
CODE
A -->|Clean slate| B
A -->|Clean slate| C
A -->|Clean slate| D

B -->|Results only| A
C -->|Results only| A
D -->|Results only| A

style A fill:#e1f5fe
style B fill:#fff9c4
style C fill:#fff9c4
style D fill:#fff9c4
CODE
### Ключевые моменты

- Каждый subagent получает **свежее окно контекста** без истории основного диалога
- Subagent-у передаётся только **релевантный контекст** для его конкретной задачи
- Результаты **сжимаются до сути** и возвращаются основному агенту
- Это предотвращает **исчерпание токенов контекста** в длительных проектах

### Соображения производительности

- **Экономия контекста** - агенты сохраняют основной контекст, что позволяет вести более длинные сессии
- **Задержка** - subagent-ы стартуют с чистого листа и могут добавлять задержку на сбор начального контекста

### Ключевые особенности поведения

- **Вложенный запуск включён по умолчанию, глубина 3 (v2.1.219)** - subagent-ы могут запускать собственных subagent-ов на глубину до трёх уровней ниже основного диалога. Задайте `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`, чтобы изменить лимит, или `1`, чтобы отключить вложенность. На предельной глубине Claude Code скрывает инструмент `Agent` от всех subagent-ов, кроме fork. (История: в v2.1.172-v2.1.216 вложенность была включена по умолчанию до 5 уровней без возможности это изменить; v2.1.217 сделала вложенность opt-in с глубиной 1; v2.1.219 установила значение по умолчанию равным 3.) Используйте синтаксис ограничения `Agent(agent_type)` (см. [Ограничение запускаемых subagent-ов](#restrict-spawnable-subagents)), чтобы контролировать, каких subagent-ов может запускать данный subagent
- **Разрешения в фоне** - фоновые subagent-ы автоматически отклоняют любые разрешения, которые не были заранее одобрены
- **Перевод в фон** - нажмите `Ctrl+B`, чтобы отправить текущую задачу в фон
- **Транскрипты** - транскрипты subagent-ов сохраняются в `~/.claude/projects/{project}/{sessionId}/subagents/agent-{agentId}.jsonl`
- **Автосжатие** - контекст subagent-а автоматически сжимается при заполнении ~95% (переопределяется переменной окружения `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`)
- **Наследование extended thinking (v2.1.198)** - subagent-ы и сжатие контекста теперь наследуют настройку extended thinking из сессии (ранее оно всегда было отключено). Отдельного поля thinking для каждого subagent-а нет

### Дополнительные настройки

- **Отключить встроенных агентов Explore/Plan** - задайте `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1`, чтобы убрать встроенных агентов Explore и Plan (v2.1.198)
- **Добавление текста к prompt-у каждого subagent-а** - в неинтерактивном режиме / режиме `--print` флаг `--append-subagent-system-prompt "<text>"` дописывает текст к system prompt каждого subagent-а (v2.1.205)
- **Добавление из файла** - `--append-subagent-system-prompt-file ./subagent-rules.txt` считывает тот же дописываемый текст из файла - для prompt-ов, слишком длинных, чтобы передавать их через командную строку. Работает также только с `-p` и не может использоваться вместе с `--append-subagent-system-prompt` (v2.1.261)

---

## Когда использовать subagent-ов
| Scenario | Use Subagent | Why |
|----------|--------------|-----|
| Complex feature with many steps | Yes | Separate concerns, prevent context pollution |
| Quick code review | No | Unnecessary overhead |
| Parallel task execution | Yes | Each subagent has own context |
| Specialized expertise needed | Yes | Custom system prompts |
| Long-running analysis | Yes | Prevents main context exhaustion |
| Single task | No | Adds latency unnecessarily |
Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

---

## Лучшие практики

### Принципы дизайна

**Делайте:**
- Начинайте с агентов, сгенерированных Claude, - создайте начального субагента с Claude, затем итеративно доработайте его
- Проектируйте сфокусированных субагентов - одна четкая ответственность вместо одного, который делает всё
- Пишите подробные prompts - включайте конкретные инструкции, примеры и ограничения
- Ограничивайте доступ к инструментам - предоставляйте только инструменты, необходимые для цели субагента
- Используйте version control - добавляйте проектных субагентов в version control для командной совместной работы

**Не делайте:**
- Не создавайте пересекающихся субагентов с одинаковыми ролями
- Не давайте субагентам ненужный доступ к инструментам
- Не используйте субагентов для простых одношаговых задач
- Не смешивайте разные concerns в одном prompt субагента
- Не забывайте передавать необходимый контекст

### Лучшие практики для System Prompt

1. **Конкретно опишите роль**

You are an expert code reviewer specializing in [specific areas]

CODE

2. **Четко определите приоритеты**

Review priorities (in order):

  1. Security Issues
  2. Performance Problems
  3. Code Quality
CODE

3. **Укажите формат вывода**

For each issue provide: Severity, Category, Location, Description, Fix, Impact

CODE

4. **Включите шаги действий**

When invoked:

  1. Run git diff to see recent changes
  2. Focus on modified files
  3. Begin review immediately
CODE

### Стратегия доступа к инструментам

1. **Начинайте с ограничений**: начните только с essential tools
2. **Расширяйте только при необходимости**: добавляйте инструменты по мере требований
3. **Read-Only, когда возможно**: используйте Read/Grep для агентов анализа
4. **Sandboxed Execution**: ограничивайте команды Bash конкретными patterns

---

## Примеры субагентов в этой папке

Эта папка содержит готовые к использованию примеры субагентов:

### 1. Code Reviewer (`code-reviewer.md`)

**Назначение**: комплексный анализ качества кода и maintainability

**Инструменты**: Read, Grep, Glob, Bash

**Специализация**:
- Обнаружение уязвимостей безопасности
- Выявление возможностей оптимизации производительности
- Оценка maintainability кода
- Анализ покрытия тестами

**Когда использовать**: когда вам нужны автоматизированные code reviews с фокусом на качество и безопасность

---

### 2. Test Engineer (`test-engineer.md`)

**Назначение**: стратегия тестирования, анализ покрытия и автоматизированное тестирование

**Инструменты**: Read, Write, Bash, Grep

**Специализация**:
- Создание unit tests
- Проектирование integration tests
- Выявление edge cases
- Анализ покрытия (цель &gt;80%)

**Когда использовать**: когда вам нужно создать комплексный test suite или проанализировать покрытие

---

### 3. Documentation Writer (`documentation-writer.md`)

**Назначение**: техническая документация, API docs и руководства пользователя

**Инструменты**: Read, Write, Grep

**Специализация**:
- Документация API endpoints
- Создание руководств пользователя
- Документация архитектуры
- Улучшение комментариев к коду

**Когда использовать**: когда вам нужно создать или обновить документацию проекта

---

### 4. Secure Reviewer (`secure-reviewer.md`)

**Назначение**: code review с фокусом на безопасность и минимальными permissions

**Инструменты**: Read, Grep

**Специализация**:
- Обнаружение уязвимостей безопасности
- Проблемы аутентификации/авторизации
- Риски раскрытия данных
- Выявление injection-атак

**Когда использовать**: когда вам нужны security audits без возможностей модификации

---

### 5. Implementation Agent (`implementation-agent.md`)

**Назначение**: полные возможности реализации для разработки features

**Инструменты**: Read, Write, Edit, Bash, Grep, Glob

**Специализация**:
- Реализация features
- Генерация кода
- Выполнение build и тестов
- Модификация codebase

**Когда использовать**: когда вам нужен субагент для end-to-end реализации features

---

### 6. Debugger (`debugger.md`)

**Назначение**: специалист по debugging для ошибок, падений тестов и неожиданного поведения

**Инструменты**: Read, Edit, Bash, Grep, Glob

**Специализация**:
- Root cause analysis
- Исследование ошибок
- Устранение падений тестов
- Реализация минимального fix

**Когда использовать**: когда вы сталкиваетесь с bugs, ошибками или неожиданным поведением

---

### 7. Data Scientist (`data-scientist.md`)

**Назначение**: эксперт по анализу данных для SQL-запросов и data insights

**Инструменты**: Bash, Read, Write

**Специализация**:
- Оптимизация SQL-запросов
- Операции BigQuery
- Анализ и визуализация данных
- Статистические insights

**Когда использовать**: когда вам нужен анализ данных, SQL-запросы или операции BigQuery

---

### 8. Clean Code Reviewer (`clean-code-reviewer.md`)

**Назначение**: review читаемости и maintainability по принципам clean-code

**Инструменты**: Read, Grep, Glob, Bash

**Специализация**:
- Именование, длина функций и количество аргументов
- Дублирование и dead code
- Качество комментариев и intent
- Структурная ясность вместо cleverness

**Когда использовать**: когда вам нужен проход по стилю и maintainability, отдельный от проверки корректности

---

### 9. Performance Optimizer (`performance-optimizer.md`)

**Назначение**: выявление и устранение bottlenecks производительности

**Инструменты**: Read, Edit, Bash, Grep, Glob

**Специализация**:
- Алгоритмическая сложность и hot paths
- Выделение памяти и leaks
- Кэширование и оптимизация запросов
- Concurrency и I/O bottlenecks

**Когда использовать**: когда код измеримо медленный и вам нужна targeted optimization

---

## Инструкции по установке

### Метод 1: спросите Claude (рекомендуется)

Опишите нужного вам субагента и позвольте Claude создать файл:

</query>
```text
Create a project-level subagent that runs tests and fixes failures.
Give it access to Bash, Read, Edit, and Grep.

Claude создаёт файл .claude/agents/<name>.md с соответствующим frontmatter. Проверьте сгенерированный файл и используйте его. (Интерактивный мастер создания через /agents был удалён в v2.1.198 - вместо него попросите Claude сгенерировать файл или отредактируйте его вручную.)

Способ 2: копирование в проект

Скопируйте файлы агентов в директорию .claude/agents/ вашего проекта:

bash
# Navigate to your project
cd /path/to/your/project

# Create agents directory if it doesn't exist
mkdir -p .claude/agents

# Copy all agent files from this folder
cp /path/to/04-subagents/*.md .claude/agents/

# Remove the README (not needed in .claude/agents)
rm .claude/agents/README.md

Способ 3: копирование в пользовательский каталог

Чтобы агенты были доступны во всех ваших проектах:

bash
# Create user agents directory
mkdir -p ~/.claude/agents

# Copy agents
cp /path/to/04-subagents/code-reviewer.md ~/.claude/agents/
cp /path/to/04-subagents/debugger.md ~/.claude/agents/
# ... copy others as needed

Проверка

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

bash
ls .claude/agents/

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


Структура файла

CODE
project/
├── .claude/
│   └── agents/
│       ├── code-reviewer.md
│       ├── test-engineer.md
│       ├── documentation-writer.md
│       ├── secure-reviewer.md
│       ├── implementation-agent.md
│       ├── debugger.md
│       ├── data-scientist.md
│       ├── clean-code-reviewer.md
│       └── performance-optimizer.md
└── ...

Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

Связанные концепции

Связанные функции

  • Slash Commands - Быстрые команды, вызываемые пользователем
  • Memory - Постоянный межсессионный контекст
  • Skills - Переиспользуемые автономные возможности
  • MCP Protocol - Доступ к внешним данным в реальном времени
  • Hooks - Автоматизация shell-команд на основе событий
  • Plugins - Пакеты расширений в комплекте

Сравнение с другими функциями

</query> | Feature | User-Invoked | Auto-Invoked | Persistent | External Access | Isolated Context | |---------|--------------|--------------|-----------|------------------|------------------| | **Slash Commands** | Yes | No | No | No | No | | **Subagents** | Yes | Yes | No | No | Yes | | **Memory** | Auto | Auto | Yes | No | No | | **MCP** | Auto | Yes | No | Yes | No | | **Skills** | Yes | Yes | No | No | No | ### Паттерн интеграции ```mermaid graph TD User["User Request"] --> Main["Main Agent"] Main -->|Uses| Memory["Memory<br/>(Context)"] Main -->|Queries| MCP["MCP<br/>(Live Data)"] Main -->|Invokes| Skills["Skills<br/>(Auto Tools)"] Main -->|Delegates| Subagents["Subagents<br/>(Specialists)"]
CODE
Subagents -->|Use| Memory
Subagents -->|Query| MCP
Subagents -->|Isolated| Context["Clean Context<br/>Window"]
CODE
Текущая дата: воскресенье, 6 сентября 2026 г.

<query>

---

## Наблюдаемость

&gt; **Добавлено в v2.1.139.**

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

</query>
| Header | Description |
|--------|-------------|
| `x-claude-code-agent-id` | UUID of the subagent making the request. |
| `x-claude-code-parent-agent-id` | UUID of the agent that dispatched this subagent (the main agent, or a higher-level subagent in a chain). |
Те же идентификаторы доступны в OpenTelemetry-спанах `claude_code.llm_request` как атрибуты `claude.code.agent.id` и `claude.code.agent.parent_id`. Используйте их, чтобы:

- Относить расходы на API к конкретному типу субагента, а не ко всей родительской сессии
- Восстанавливать цепочку вызовов агентов постфактум (`parent_id` формирует дерево)
- Настраивать оповещения о неконтролируемо разросшихся субагентах (например, когда на один `agent.id` приходится &gt;50% расходов сессии)

Полную настройку экспортера см. в разделе OpenTelemetry в [Advanced Features → Telemetry](../09-advanced-features/README.md).

## Дополнительные ресурсы

- [Официальная документация по субагентам](https://code.claude.com/docs/en/sub-agents)
- [Справочник CLI](https://code.claude.com/docs/en/cli-reference) - флаг `--agents` и другие параметры CLI
- [Руководство по плагинам](../07-plugins/) - для объединения агентов с другими возможностями
- [Руководство по skills](../03-skills/) - для автоматически вызываемых возможностей
- [Руководство по памяти](../02-memory/) - для постоянного контекста
- [Руководство по hooks](../06-hooks/) - для автоматизации на основе событий

---

**Последнее обновление**: 6 сентября 2026 г.
**Версия Claude Code**: 2.1.263
**Источники**:
- https://code.claude.com/docs/en/sub-agents
- https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
- https://code.claude.com/docs/en/cli-reference
- https://code.claude.com/docs/en/agent-teams
- https://code.claude.com/docs/en/changelog#2-1-172
- https://code.claude.com/docs/en/changelog
- https://github.com/anthropics/claude-code/releases/tag/v2.1.117
- https://github.com/anthropics/claude-code/releases/tag/v2.1.131
- https://github.com/anthropics/claude-code/releases/tag/v2.1.138
- https://github.com/anthropics/claude-code/releases/tag/v2.1.139
- https://github.com/anthropics/claude-code/releases/tag/v2.1.140
- https://code.claude.com/docs/en/model-config
**Совместимые модели**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5
ЛОКАЛЬНАЯ ОТМЕТКА · БЕЗ ПРОВЕРКИ
←ПРЕДЫДУЩИЙAgent Skills Guide
СЛЕДУЮЩИЙMCP (Model Context Protocol)→