Към съдържанието
Claude Library
Български
Esc
↑↓navigate↵open⌘Jpreview
На тази страница

Екипи от агенти

Координиране на няколко Claude Code сесии като един екип — експерименталният флаг, пускане на съотборници, agent панелът, display режимите, общият списък със задачи, permissions, лимити и цена.

Agent team е няколко Claude Code сесии, които работят заедно. Твоята сесия става lead: тя пуска съотборниците, раздава задачи и обобщава резултатите. Всеки съотборник е пълноценна, самостоятелна Claude Code инстанция със собствен контекстен прозорец.

Това, което го прави екип, а не просто разпръскване: съотборниците си пишат директно един на друг и споделят един списък със задачи, а ти можеш да отвориш кой да е от тях и да говориш с него, без да минаваш през lead-а.

Включване

Задаваш променливата в средата на shell-а си или в settings.json:

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

Това е цялата настройка. От v2.1.178 няма отделна стъпка за създаване на екип — екипът се формира с пускането на първия съотборник, а директориите му се чистят при изход от сесията. Старите TeamCreate и TeamDelete tools вече не съществуват.

Срещу субагентите

И двете паралелизират работа. Изборът е дали работниците трябва да си говорят помежду си:

Субагенти Agent teams
Контекст Собствен контекстен прозорец; резултатът се връща на извикващия Собствен контекстен прозорец; напълно независим
Комуникация Докладват само на главния агент Съотборниците си пишат директно
Координация Главният агент управлява цялата работа Общ списък със задачи, самокоординация
Подходящо за Фокусирани задачи, при които значение има само резултатът Работа, която изисква обсъждане и сътрудничество
Цена в токени По-ниска — резултатът се обобщава обратно По-висока — всеки съотборник е отделна Claude инстанция

Най-силните случаи са паралелно проучване и ревю, нови модули, при които всеки съотборник владее различни файлове, дебъгване с конкуриращи се хипотези и промени през няколко слоя — frontend, backend и тестове.

Екипите носят разход за координация. За последователна работа, промени по един и същ файл или силно зависими стъпки печели една сесия или обикновени субагенти. Когато самият план трябва да живее в код, а не в контекста на lead-а, посягаш към динамичен workflow.

Пускане на екип

Описваш задачата и съотборниците, които искаш, със свои думи. Claude ги пуска, попълва общия списък със задачи и накрая обобщава находките.

I'm designing a CLI tool that helps developers track TODO comments across
their codebase. Spawn three teammates to explore this from different angles:
one on UX, one on technical architecture, one playing devil's advocate.

Claude може и сам да предложи екип, когато задачата изглежда паралелна — ти потвърждаваш. Никога не пуска съотборници без одобрение.

Писане на промпта за пускане

Съотборникът се събужда с проекта ти и без спомен за разговора ви, така че промптът за пускане е целият брифинг. Форма, която работи:

Целта

Какво се строи и как изглежда „готово“. Без нея съотборникът знае своята задача, но не и защо до него има други — и не може да прецени кога съобщение от тях е важно.

Екипът

Колко съотборници и с кой модел.

Всеки съотборник

Роля, файловете или директорията, които притежава, какво произвежда и на кого пише, щом приключи.

Крайните резултати

Какво искаш да получиш обратно, след като lead-ът обобщи всичко.

Goal: build a working full-stack app with a REST API and a React frontend.
The end result should run on http://localhost:3000 with users and posts,
plus a QA report confirming it works.

Spawn 3 teammates using Sonnet:

1. Backend dev — build the REST API in src/api/. Create routes for users
   and posts. When done, message the frontend dev with the endpoints.
2. Frontend dev — build the React UI in src/components/. Wait for the
   backend dev's message with the API contract, then wire up the fetches.
3. QA — write tests in tests/. Start with unit scaffolding, then add
   integration tests once backend and frontend report done.

Final deliverables:
- a running app on http://localhost:3000
- tests/report.md with pass/fail results
- docs/build-summary.md — what was built, key decisions, how to run it

Двете зависимости са изписани. „Message the frontend dev“ и „wait for the backend dev’s message“ са инструкции — екипът не изважда графа на предаванията от реда, в който си изброил ролите.

Прави Не прави
Давай на всеки съотборник собствени файлове Двама съотборници да редактират един файл
Казвай какъв е изходът и къде отива Да искаш „ревю“ или „подобрения“
Назовавай получателя на всяко предаване Да разчиташ, че сами ще се сетят на кого да пишат
3–5 съотборници Да пускаш рояк от десет
Повтаряй контекста, който им трябва Да приемаш, че разговорът ти се е пренесъл

Agent панелът

Съотборниците се изброяват под полето за въвеждане в терминала на lead-а.

Клавиш Действие
↑ / ↓ Избор на съотборник
Enter Отваря транскрипта му и ти пише директно на него
Esc Прекъсва текущия ход на избрания съотборник
x Спира избрания съотборник
Ctrl+T Показва или скрива списъка със задачи
Изчезналите редове не са мъртви съотборници

От v2.1.199 редът на бездействащ съотборник остава видим, докато друг агент още работи. Щом целият панел утихне, бездействащите редове се скриват след 30 секунди и се връщат при следващия ход на съотборника — той продължава да работи и остава достъпен по име през цялото време.

Повече от трима бездействащи

Излишните редове се сгъват в един брояч, например 2 idle agents при петима бездействащи. Enter го разгъва, Esc го сгъва обратно. Работещите, отказалите и този, който гледаш, винаги си запазват собствен ред.

Display режими

Режим Какво получаваш
In-process Всички работят в основния ти терминал; превключваш през agent панела. Работи навсякъде, без настройка.
Split panes По един pane на съотборник, целият изход се вижда наведнъж, кликваш в pane и работиш директно. Нужен е tmux или iTerm2.

По подразбиране е "in-process" (преди v2.1.179 беше "auto", така че обновени сесии, които преди са отваряли split panes, вече остават в един терминал). Задава се с teammateMode в ~/.claude/settings.json:

{
  "teammateMode": "auto"
}
Стойност Поведение
in-process Всичко в един терминал — по подразбиране
auto Split panes, ако вече си в tmux сесия или си в iTerm2 с инсталиран it2; иначе in-process
tmux Split panes, като сам разпознава дали да ползва tmux или iTerm2
iterm2 Изрично native split panes на iTerm2 (v2.1.186+); дава грешка с команда за инсталация, ако it2 липсва

claude --teammate-mode auto задава режима за една сесия. Флагът е експериментален и не се появява в claude --help.

Управление на екипа

Съотборници и модели

Claude сам преценява броя според задачата или ти го казваш изрично:

Spawn 4 teammates to refactor these modules in parallel. Use Sonnet for
each teammate.

Съотборниците не наследяват избора на lead-а от /model по подразбиране — това е редът Default teammate model в /config, където Default (leader’s model) ги кара да следват lead-а. Затова пък наследяват неговото effort ниво (в split-pane режим от v2.1.186).

Одобрение на план

За рискована работа накарай съотборника първо да планира. Той остава в read-only plan mode, докато lead-ът не одобри:

Spawn an architect teammate to refactor the authentication module.
Require plan approval before they make any changes.

Отхвърлените планове се връщат с обратна връзка, преработват се и се подават отново. Lead-ът решава самостоятелно, затова сложи критериите си в промпта — „only approve plans that include test coverage“, „reject plans that modify the database schema“.

Директен разговор със съотборник

Избираш го в панела и натискаш Enter (или кликваш неговия pane в split режим). Докато гледаш in-process съотборник, обикновеният текст и skills отиват при него, но вградените команди пак се изпълняват в сесията на lead-а.

Команда Къде отива
/model, /fast Само при lead-а — моделът и fast mode на съотборника са фиксирани при пускането (v2.1.199 показва предупреждение)
/effort При следващите ходове на гледания съотборник, защото съотборниците следват effort нивото на lead-а

Преизползване на subagent дефиниции

Можеш да пуснеш съотборник от коя да е subagent дефиниция — project, user, plugin или дефинирана през CLI — като споменеш типа по име:

Spawn a teammate using the security-reviewer agent type to audit the auth module.

Съотборникът спазва tools allowlist-а и model от дефиницията, а тялото ѝ се добавя към системния му промпт, вместо да го замества. SendMessage и tools за задачите остават достъпни дори при ограничителен tools.

Спиране на съотборник

Ask the researcher teammate to shut down

Lead-ът изпраща заявка за спиране; съотборникът може да я приеме и да излезе чисто или да я откаже с обяснение. Няма отделна стъпка за почистване — общите директории си отиват с края на сесията.

Задачи и съобщения

Общият списък със задачи е повърхността за координация. Задачите са pending, in progress или completed и могат да зависят една от друга — pending задача с неразрешени зависимости не може да бъде взета. Lead-ът може да възлага изрично или съотборникът сам си взема следващата свободна и незаблокирана задача, щом приключи текущата. Взимането минава през file locking, за да не грабнат двама една и съща задача, а завършването автоматично отблокира зависимите.

Съобщенията са push, не poll:

  • Автоматична доставка — съобщенията между агентите пристигат, без lead-ът да ги дърпа.
  • Idle известия — спрелият съотборник уведомява lead-а. От v2.1.198 ход, който приключва с API грешка, докладва провала и текста на грешката, вместо да изглежда като нормален край.
  • По име — всеки съотборник може да пише на всеки друг по име. Няма broadcast: за да стигнеш до всички, изпращаш по едно съобщение на получател. Кажи на lead-а как да кръсти всеки, ако искаш имена, към които после да се обръщаш.

Всеки съотборник зарежда CLAUDE.md, MCP сървъри и skills като нормална сесия, плюс промпта при пускането. Историята на разговора на lead-а не се пренася, затова слагай специфичните детайли в промпта при пускането.

Hooks

Гейтовете за качество висят на три hook-а; изход с код 2 връща обратна връзка:

Hook Кога се задейства Какво прави изход 2
TeammateIdle Съотборник е на път да мине в idle Праща обратна връзка и го държи в работа
TaskCreated Създава се задача Спира създаването и праща обратна връзка
TaskCompleted Задача се маркира като завършена Спира завършването и праща обратна връзка

Полето team_name в тези payload-и носи името, изведено от сесията, и е deprecated.

Къде живее всичко

Компонент Роля
Team lead Главната сесия — пуска съотборници и координира
Съотборници Отделни Claude Code инстанции, които работят по възложените задачи
Task list Общи работни елементи, които съотборниците взимат и завършват
Mailbox Системата за съобщения между агентите

Името на екипа се извежда от сесията: session- плюс първите осем знака от session ID-то.

  • ~/.claude/
    • teams/
      • session-a1b2c3d4/
        • config.json
        • inboxes/
          • researcher.json
    • tasks/
      • session-a1b2c3d4/

config.json пази runtime състояние — session ID-та, tmux pane ID-та и масив members с имена и agent ID-та (записът на lead-а винаги носи agent type team-lead). Съотборниците го четат, за да се открият взаимно. Не го редактирай на ръка и не го пиши предварително; следващата промяна на състоянието те презаписва. Няма еквивалент на ниво проект — .claude/teams/teams.json в репото ти е най-обикновен файл.

Директорията с конфигурацията на екипа се маха при край на сесията. Директорията със задачите остава, никога не се качва никъде и следва същото cleanupPeriodDays задържане като транскриптите на сесиите — така продължена сесия си пази задачите.

Permissions

Съотборниците тръгват с permission настройките на lead-а — включително --dangerously-skip-permissions, ако lead-ът работи с него. Можеш да смениш режима на отделен съотборник след пускането, но не и да зададеш различни режими при самото пускане. Permission промптовете на съотборниците изскачат в сесията на lead-а, така че ги одобряваш там.

Когато нещо се обърка

Таблицата отдолу е за грешки в начина, по който екипът е бил пуснат. За това, което екипите наистина не могат, виж Ограничения.

Симптом Решение
Съотборниците спират на permission промптове Одобри предварително нужните инструменти в permissions.allow, преди да ги пуснеш — всеки промпт изскача в сесията на lead-а и блокира съотборника, докато не отговориш
Резултатите се презаписват Не е раздадена собственост върху файловете. Кажи в промпта кой съотборник кои файлове притежава
Един съотборник бездейства, докато другите работят Няма своя задача или зависимост не е маркирана като завършена. Дай му работа изрично или виж списъка със задачи с Ctrl+T
Токените изгарят по-бързо от очакваното По-малко съотборници — цената расте приблизително линейно с активните. Трима фокусирани обикновено бият петима разпилени
Работа изчезва между стъпките Накарай съотборниците да пишат междинното състояние във файлове, вместо да го държат в контекста
Lead-ът одобрява планове, които ти би отхвърлил Решава сам, така че сложи изрични критерии за приемане и отхвърляне в промпта
Съотборник явно тръгва в грешна посока Esc го прекъсва, x го спира. В split panes виждаш това в първите няколко хода, а не накрая

Ограничения

Ограничение Какво значи
Няма продължаване на сесия /resume и /rewind не възстановяват in-process съотборници; lead-ът може да пише на несъществуващи. Кажи му да пусне нови.
Статусът на задачите изостава Съотборниците понякога забравят да маркират задача като завършена и блокират зависимите. Обнови ръчно или подсети lead-а.
Бавно спиране Съотборникът първо довършва текущата заявка или tool call.
Един екип на сесия Обвързан е със сесията; няма допълнителни именувани екипи и няма споделяне между сесии.
Няма вложени екипи Съотборниците не могат да пускат свои съотборници. Само lead-ът управлява екипа.
Няма фонови субагенти Субагентите на in-process съотборник вървят на преден план; run_in_background или background: true връща грешка.
Lead-ът е фиксиран Главната сесия води до края на живота си — не се повишава и не се прехвърля.
Split panes искат tmux или iTerm2 In-process работи във всеки терминал.

Размер и цена

Разходът на токени расте приблизително линейно с броя активни съотборници — всеки е отделна Claude инстанция със собствен контекстен прозорец. За проучване, ревю и нова функционалност обикновено си струва; за рутинни задачи една сесия излиза по-евтино.

Насока Защо
3–5 съотборници Балансира паралелността срещу разхода за координация; няма твърд таван, но ползата намалява
5–6 задачи на съотборник Държи всички заети и оставя на lead-а място да преразпредели, ако някой заседне
Самостоятелни задачи Функция, тестов файл, ревю — твърде малка и координацията струва повече, отколкото спестява; твърде голяма и съотборникът работи дълго без проверка
По един собственик на файл Двама съотборници в един файл значи презаписване — разделяй работата по собственост върху файлове

Беше ли полезна тази страница?