В уроке про выбор схемы команда агентов стояла последней: она нужна, когда исполнители должны разговаривать друг с другом. Это экспериментальная функция, по умолчанию выключенная.
Как устроена команда
— это несколько сессий Claude Code, работающих вместе. Твоя сессия — ведущая: она запускает напарников, каждого в собственном контексте. Напарники пишут друг другу напрямую, и ты тоже можешь написать любому из них. же в основном просто возвращают результат.
Напарник загружает твой , MCP-серверы и навыки плюс задание от ведущего — но не разговор ведущего. Значит, всё нужное для задачи должно быть в задании.
Включаем для одной сессии
Не включай команды глобально. Сделай отдельный файл, например .claude/team.json:
{
"env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" },
"teammateMode": "in-process",
"hooks": {
"TeammateIdle": [
{ "hooks": [ { "type": "command", "command": "jq -r '.teammate_name' >> \"$CLAUDE_PROJECT_DIR/.claude/teammates.log\"" } ] }
]
}
}
envвключает команды только для сессий, запущенных с этим файлом;teammateMode: "in-process"держит напарников прямо в твоём терминале — так работает в любом терминале;- хук
TeammateIdleсрабатывает, когда напарник вот-вот замрёт без дела, и записывает его имя. Это и есть доказательство, что команда собралась: в нижней панели субагенты и напарники выглядят одинаково.
Запуск ведущего:
CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude --settings .claude/team.json
CLAUDE_CODE_ENABLE_TODO_TOOLS=1 даёт сессии инструменты задач на любой модели. Без него эти инструменты есть только на некоторых старых моделях, а на остальных напарники координируются одними сообщениями, без общего списка задач. Сам список показывает и прячет Ctrl+T.
Напарники из твоих определений
Назови в задании определение субагента — и напарник получит его tools, инструкции и model, если в задании не указана другая модель. Удобно брать read-only ревьюеров со строкой tools: Read, Grep, Glob: они читают и ищут, но не правят файлы и не запускают команды.
Create an agent team to review the change saved in .claude/review.diff. Spawn two teammates:
one named security, using the security-reviewer agent type, and one named tests, using the
test-reviewer agent type. When both have reported, write one combined report.
Claude Code запускает напарников без подтверждения. Когда работа сделана, останавливай их по имени:
Ask the security and tests teammates to shut down.
Каждый либо соглашается и выходит, либо отказывается и объясняет почему. Напарник, чья строка исчезла из панели, скрыт, а не остановлен — называй его тоже.
Конкурирующие гипотезы
Самое сильное применение — отладка, когда причина бага неизвестна. Сделай read-only определение hypothesis-tester и попроси ведущего запустить трёх напарников: каждый отвечает за свою гипотезу и пишет остальным, чтобы оспорить их версии. Ведущий записывает объяснение, которое выдержало спор, и гипотезы, которые отпали.
Мини-проверка
Два напарника правят один и тот же файл. Чем это кончится?
Осторожно
Пока команды включены, субагент, которого Claude называет по имени, стартует как напарник — команда может собраться, хотя ты просил субагентов. Напарники наследуют твой режим разрешений, кроме dontAsk, а с --dangerously-skip-permissions так работает каждый из них. В claude -p напарники не запускаются, а /resume и /rewind не возвращают напарников в режиме in-process. И каждый активный напарник тратит токены, пока не выйдет: держи команду маленькой, ставь в определения model: sonnet и останавливай всех, как только они отчитались.
Практика в терминале