# Один агент со скилами или команда субагентов

Почему Anthropic советует сворачивать субагентов в один цикл со скилами и тулами, что теряется на хэндофах, как переносить их без поломок и когда субагенты всё же окупаются.

- Автор: Guide DAO
- Опубликовано: 2026-10-24
- Теги: AI-агенты, Claude
- Страница: https://www.guidedao.xyz/blog/odin-agent-ili-subagenty

Типичный корпоративный агент выглядит как оргструктура. Каждая команда пишет своего субагента: возвраты, доставка, тарифы, диагностика. Сверху платформенная команда ставит оркестратор, который решает, кому отдать запрос. Anthropic называет это законом Конвея в действии: архитектура повторяет устройство компании, а не задачу. 22 октября Anthropic опубликовала [разбор](https://claude.com/resources/articles/building-agents-when-to-fold-subagents-into-your-main-agent-loop) таких систем у своих клиентов, его написала Дайан Саркис. По её выводу, во многих случаях один агент, который подгружает знания через скилы и тулы по мере надобности, отвечает лучше, стоит дешевле и работает быстрее. Вместе с текстом компания выложила на GitHub [набор для миграции](https://github.com/anthropics/single-agent-loop-kit).

В тот же день Anthropic [передала стандарт Agent Skills](https://www.anthropic.com/news/donating-agent-skills-to-the-agentic-ai-foundation) фонду Agentic AI Foundation при Linux Foundation, куда раньше ушёл MCP. С декабря 2025 года стандарт встроили больше 70 платформ, включая ChatGPT, Cursor, GitHub Copilot и VS Code, опубликован миллион скилов и почти 280 миллионов установок. Так что скил, написанный для одного агента, всё чаще работает и в других.

## Что ломается в команде субагентов

Первое и главное: детали теряются на хэндофах. Субагент работает в своём контекстном окне и возвращает оркестратору саммари. Всё, что не попало в саммари, для остальной системы исчезло. Агент, который сам видел результаты прошлых шагов, может их связать, а оркестратор видит только чужие пересказы.

Второе: задержка. Каждый хэндоф означает ещё один вызов модели, а вложенные циклы субагентов складываются. Один клиент Anthropic сравнил свой мультиагентный харнес с одним циклом, и один цикл справлялся с задачами примерно вдвое быстрее. У другой компании в клиентском агенте была дюжина субагентов-специалистов, и ей было трудно держать единый тон бренда, а задержка портила впечатление пользователей.

Третье: организационный хаос. Anthropic перечисляет сотни пересекающихся субагентов без владельцев, «франкенпромпт», куда каждая команда дописывает свои правила, и локальные эвалы. Команды оптимизируют свой кусок, а руководство видит усреднённую оценку, по которой не понять, где система ломается.

## Как один агент держит много знаний

Раньше субагентов заводили в том числе потому, что знания всех команд не помещались в один промпт. Эту проблему решает прогрессивное раскрытие. Агент видит только короткие описания скилов и тулов, а полный текст подгружает, когда задача до них дошла.

По [описанию стандарта](https://agentskills.io/) это работает в три шага. На старте агент загружает только имя и описание каждого скила. Когда задача подходит под описание, он читает весь `SKILL.md`. Дальше выполняет инструкции и при необходимости запускает скрипты или открывает справочные файлы из папки скила. Так у агента под рукой могут быть десятки скилов, а контекст почти не растёт.

С тулами то же самое. По наблюдению Anthropic, выбор тула начинает портиться, когда в системном промпте больше 30–50 определений. Поэтому тулы подключают через поиск с отложенной загрузкой: модель видит названия, а схему получает, когда тул нужен. Сама Anthropic сократила системный промпт Claude Code для более сильных моделей больше чем на 80%, в том числе за счёт такого раскрытия скилов и тулов.

Ещё одна причина в моделях. Начиная с Opus 4.5, по словам Anthropic, модель держит в одном цикле больше, чем ожидали многие команды, сама проговаривает ход работы и проверяет себя. Жёсткие мультиагентные конструкции иногда даже мешали клиентам перейти на новую модель.

## Как устроен цикл одного агента

Целевая схема из разбора такая. Одна модель и одно контекстное окно крутят открытый цикл. На каждом шаге модель выдаёт пачку вызовов тулов, харнес выполняет их параллельно и возвращает сырые результаты той же модели. Цикл заканчивается, когда модель дала ответ или упёрлась в бюджет по шагам или деньгам. После этого можно запустить проверяющего. Свой план модель пишет на первом шаге и меняет его по мере того, как приходят результаты.

Знания раскладывают по трём местам. Как команда делает работу, то есть шаги, правила и места, где нужно суждение, уходит в скилы. Действия, свежие данные, проверки прав и подтверждения уходят в MCP-тулы, сгруппированные по задачам пользователя, а не по эндпоинтам API. Справочники, которые нужны изредка, лежат за тулом поиска или в файлах внутри скила. Жёсткие условия лучше зашивать в тул: если у пользователя нет прав, тул возвращает понятный отказ, и один цикл обслуживает людей с разным уровнем доступа.

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

## Как переносить субагентов и ничего не сломать

Миграцию начинают с эвала. Нужен сквозной набор задач с эталонными ответами и рубрикой оценки, хватит даже 10 примеров для старта. Пока оркестратор жив, смотрят, правильно ли он маршрутизирует. После переноса смотрят, тот ли скил загрузил агент и тот ли тул вызвал.

Дальше три шага. Сначала объединяют субагентов, которых почти всегда вызывают вместе или которые работают с одними данными. Затем оставшихся вызывают как тулы со структурированным ответом, чтобы разговор с пользователем вёл главный агент, а полный хэндоф оставался только там, где субагент сам должен общаться с человеком. Наконец, субагентов сворачивают по одному: промпт превращается в скил, вызовы API в MCP-тулы, и эвал прогоняют с субагентом и без него.

Anthropic советует смотреть не только на итоговую оценку, но и на то, какие задачи перевернулись. Средний балл может не измениться, когда одна задача починилась, а другая сломалась.

## Сбой, который виден только во втором прогоне

В разборе есть показательный пример с агентом поддержки. Команда свернула одного субагента в другого, задержка упала, но сломался процесс, который раньше работал. Главный агент начал сам вызывать тул поиска заказа и отвечать, не спросив у специалиста по доставке дату. Со стороны такой ответ выглядит нормально: агент нашёл заказ и ответил. Сбой заметен, только если проверять, прошёл ли агент нужную цепочку.

Этот сбой проявился только в одном из двух прогонов. Модель недетерминирована: на той же задаче она в одном прогоне идёт правильной цепочкой, а в другом срезает путь. Один прогон эвала показал бы, что всё в порядке. Отсюда правило: каждую задачу гонять несколько раз и покрыть эвалом каждую цепочку агентов, которая встречается в проде, и каждое правило, которое агент не должен нарушать.

В README набора авторы прямо пишут, что двух повторов мало: один перевёрнутый прогон сдвигает результат задачи на половину. Если решение держится на одной задаче, повторов нужно три и больше. Для старта набор предлагает 10 задач и два-три повтора.

## Когда субагенты всё-таки нужны

Anthropic не призывает выбросить субагентов. Их стоит оставить в трёх случаях. Когда один цикл измеримо деградирует от раздутого контекста. Когда несколько задач нужно выполнить параллельно, каждую в свежем контекстном окне, которое потом можно выбросить. Когда один агент путается в выборе тулов или в системном промпте оказываются противоречащие друг другу инструкции.

Сюда же относятся независимая проверка, тяжёлое чтение и раздельные права доступа. Свою систему для рисерча Anthropic строит на нескольких агентах. Как это выглядит в Claude Code, мы разбирали в статье [о субагентах](https://www.guidedao.xyz/blog/subagenty-v-claude-code): субагент делает побочную работу в своём окне и возвращает две строки вместо сотни строк лога.

## Что делать со своим агентом

Если субагентов у вас пока нет, начинайте с одного цикла. В наборе Anthropic для этого есть `reference_loop/loop.py`, небольшой цикл с параллельными тулами, скилами по запросу, поиском тулов, бюджетами и защитой записи.

Если субагенты уже есть, порядок такой. Соберите маленький сквозной эвал. Сверните одного субагента в скил и тулы. Прогоните эвал несколько раз и сравните, какие задачи перевернулись. Оставьте субагента, только если без него результат хуже. Повторите со следующим. Набор миграции оформлен как скил для Claude Code: он сначала выносит вердикт по каждому субагенту (свернуть, объединить, вызывать как тул, оставить) и останавливается перед каждым платным прогоном с оценкой токенов.

Процедуры своей команды оформляйте скилами, а не новыми агентами. Как устроен файл `SKILL.md` и как Claude решает его загрузить, мы описали в статье [о скилах](https://www.guidedao.xyz/blog/skily-v-claude-code).

Архитектуру агентов, эвалы и работу с контекстом разбираем на курсе «Разработчик AI-агентов».

Курс Guide DAO: [Разработчик AI-агентов](https://www.guidedao.xyz/agents)
