# 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: Паралельні незалежні дослідження

Запустіть двох агентів в одному повідомленні — один досліджує конвеєр збірки, інший переглядає тестову інфраструктуру. Кожен отримує власне контекстне вікно і повертає підсумок. Пакетування в одному блоці викликів інструментів виконує їх паралельно.

### Приклад 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` має бути повністю самодостатнім — включайте шляхи до файлів, угоди, питання та точну форму очікуваної відповіді.
- Агент повертає рівно одне фінальне повідомлення. Він не може ставити уточнювальні запитання під час роботи, тому неоднозначність у промпті перетворюється на здогадки в результаті.
- Запуск кількох агентів паралельно значно швидший, ніж послідовні виклики, коли підзавдання незалежні. Пакетуйте їх в одному блоці викликів інструментів.
- Використовуйте `isolation: "worktree"` щоразу, коли агент записуватиме файли і ви хочете переглянути зміни перед злиттям у головне робоче дерево.
- Віддавайте перевагу `subagent_type: "Explore"` для розвідки лише для читання та `Plan` для проєктної роботи; `general-purpose` — типовий для змішаних завдань читання/запису.
- Фонові агенти (`run_in_background: true`) підходять для тривалих завдань; уникайте опитування в циклі зі `sleep` — батьківський процес сповіщається при завершенні.
