# Agent

Запускает автономный подагент Claude Code с собственным окном контекста для выполнения сфокусированной задачи и возврата единого консолидированного результата. Это канонический механизм делегирования открытых исследований, параллельной работы или командного взаимодействия.

## Когда использовать

- Открытые поиски, когда вы ещё не знаете, какие файлы релевантны, и ожидаете нескольких раундов `Glob`, `Grep` и `Read`.
- Параллельная независимая работа — запустите несколько агентов в одном сообщении, чтобы одновременно исследовать разные области.
- Изоляция шумного исследования от основного диалога, чтобы родительский контекст оставался компактным.
- Делегирование специализированному типу подагента, такому как `Explore`, `Plan`, `claude-code-guide` или `statusline-setup`.
- Создание именованного участника команды в активной группе для скоординированной многоагентной работы.

НЕ используйте, когда целевой файл или символ уже известен — обращайтесь напрямую к `Read`, `Grep` или `Glob`. Одношаговый поиск через `Agent` расходует целое окно контекста и добавляет задержку.

## Параметры

- `description` (string, обязательный): короткая метка из 3–5 слов, описывающая задачу; отображается в UI и логах.
- `prompt` (string, обязательный): полный, самодостаточный бриф, который агент будет выполнять. Должен содержать весь необходимый контекст, ограничения и ожидаемый формат ответа.
- `subagent_type` (string, необязательный): предустановленная персона, например `general-purpose`, `Explore`, `Plan`, `claude-code-guide` или `statusline-setup`. По умолчанию `general-purpose`.
- `run_in_background` (boolean, необязательный): если `true`, агент работает асинхронно, а родитель может продолжать работу; результаты забираются позже.
- `model` (string, необязательный): переопределяет модель для этого агента — `opus`, `sonnet` или `haiku`. По умолчанию совпадает с моделью родительской сессии.
- `isolation` (string, необязательный): значение `worktree` запускает агента внутри изолированного git worktree, чтобы его записи в файловую систему не конфликтовали с родителем.
- `team_name` (string, необязательный): при запуске в существующую команду — идентификатор команды, к которой присоединится агент.
- `name` (string, необязательный): адресуемое имя участника в команде, используемое как цель `to` в `SendMessage`.

## Примеры

### Пример 1: открытый поиск по коду

```
Agent(
  description="Find auth middleware",
  subagent_type="Explore",
  prompt="Locate every place in this repo where JWT verification is performed. Return a bulleted list of absolute file paths with a one-line note about each site's role. Do not modify any files."
)
```

### Пример 2: параллельные независимые исследования

Запустите двух агентов в одном сообщении — один инспектирует пайплайн сборки, другой проверяет тестовую обвязку. Каждый получает собственное окно контекста и возвращает резюме. Объединение в один блок tool-call запускает их параллельно.

### Пример 3: добавление участника в запущенную команду

```
Agent(
  description="Data layer specialist",
  team_name="refactor-crew",
  name="db-lead",
  prompt="You are db-lead on team refactor-crew. Audit all Prisma schema files and propose a migration plan. Use SendMessage to report findings to the team leader."
)
```

## Примечания

- У агентов нет памяти о предыдущих запусках. Каждый вызов начинается с нуля, поэтому `prompt` должен быть полностью самодостаточным — включайте пути к файлам, соглашения, вопрос и точную форму ожидаемого ответа.
- Агент возвращает ровно одно финальное сообщение. Он не может задавать уточняющих вопросов по ходу работы, поэтому неоднозначность в промпте превращается в догадки в результате.
- Запуск нескольких агентов параллельно значительно быстрее последовательных вызовов, когда подзадачи независимы. Объединяйте их в один блок tool-call.
- Используйте `isolation: "worktree"` всякий раз, когда агент будет писать файлы и вы хотите проверить изменения перед слиянием в основное рабочее дерево.
- Предпочитайте `subagent_type: "Explore"` для разведки только на чтение и `Plan` для проектной работы; `general-purpose` — значение по умолчанию для смешанных задач чтения и записи.
- Фоновые агенты (`run_in_background: true`) подходят для длительных задач; избегайте опроса в цикле со `sleep` — родитель получит уведомление о завершении.
