# Teammate

## Определение

Teammate — это совместно работающий agent в режиме Team Claude Code Agent. Когда основной agent создаёт команду через `TeamCreate` и генерирует teammate с помощью инструмента `Agent`, каждый teammate запускается как независимый процесс agent с собственным контекстным окном и набором инструментов, взаимодействуя с членами команды через `SendMessage`.

## Отличия от SubAgent

| Характеристика | Teammate | SubAgent |
|------|----------|----------|
| Жизненный цикл | Существует постоянно, может получать несколько сообщений | Одноразовая задача, уничтожается после завершения |
| Способ коммуникации | Двусторонние сообщения через SendMessage | Однонаправленный вызов родитель→потомок, возврат результата |
| Контекст | Независимый полный контекст, сохраняется между ходами | Изолированный контекст задачи |
| Модель взаимодействия | Командная работа, взаимная коммуникация | Иерархическая структура, взаимодействие только с родительским agent |
| Тип задач | Сложные многоэтапные задачи | Одиночные задачи: поиск, исследование и т.д. |

## Поведение

- Создаётся основным agent (team lead) через инструмент `Agent` с назначением `team_name`
- Совместное использование списка задач через `TaskList` / `TaskGet` / `TaskUpdate`
- После завершения каждого хода переходит в состояние idle, ожидая пробуждения новым сообщением
- Может быть корректно завершён через `shutdown_request`

## Описание панели статистики

Панель статистики Teammate отображает количество API-вызовов каждого teammate. Столбец `Name` содержит имя teammate (например, `reviewer-security`, `reviewer-pipeline`), столбец `Кол-во` — общее число API-запросов, сгенерированных данным teammate.
