Агенты · Agents · урок 7 · 14 мин
Supervisor–worker, context engineering и спор о multi-agent
Supervisor–worker, context engineering, the multi-agent debate
Зачем
После урока у тебя будет взвешенная позиция по multi-agent (системам из нескольких агентов): один агент по умолчанию, разделение — по измеренной нужде и только там, где части независимы. Ты перескажешь обе стороны спора по первоисточникам, Cognition и Anthropic, и объяснишь, при чём тут context engineering. На собеседовании это вопрос «when would you use multiple agents?», и слабый ответ звучит как «multi-agent всегда лучше».
Паттерн supervisor–worker
Supervisor (руководитель, он же orchestrator) принимает запрос, решает, какому исполнителю его отдать, передаёт и затем проверяет и собирает результат. Worker (исполнитель, sub-agent) делает узкую работу со своими tools (инструментами) и меньшим context (всем, что модель видит за вызов). Для поддержки клиентов банка: supervisor направляет запрос в worker по картам (блокировка, перевыпуск, лимиты), по спорам (открыть, отследить) и по продуктам (RAG, поиск по документам тарифов).
Anthropic в «Building effective agents» называет пять родственных паттернов, их стоит знать по именам: prompt chaining (фиксированные шаги подряд), routing (классифицировать и отдать одному обработчику), parallelization (части параллельно, потом свести), orchestrator–workers (наш supervisor) и evaluator–optimizer (одна модель делает, другая критикует, по кругу).
Context engineering: почему вообще делят
Anthropic определяет context engineering как набор стратегий, чтобы держать в context модели оптимальный набор tokens (кусков слов) на каждом шаге. Причина — context rot (порча длинного context): чем больше tokens в окне, тем хуже модель вспоминает нужное из него. У модели есть «attention budget» (бюджет внимания): каждый token может смотреть на каждый, это n² пар, и каждый лишний token этот бюджет тратит. Принцип статьи: найти наименьший набор tokens с высоким сигналом.
Для длинных задач статья даёт три приёма. Compaction (сжатие): когда окно почти заполнено, свести разговор в сводку и продолжить с неё; самая лёгкая форма — убрать старые результаты tools. Structured note-taking (заметки вне окна): агент пишет заметки в файл и читает их, когда нужно. Sub-agent architectures (под-агенты): узкая задача решается в чистом context, а руководителю возвращается сжатая сводка, по статье обычно 1 000–2 000 tokens. Последний приём — и есть главный довод за multi-agent: не «больше умов», а чистый context у каждого.
Сторона против: Cognition, «Don't Build Multi-Agents»
Статья Walden Yan (Cognition, июнь 2025) формулирует два принципа:
- «Share context, and share full agent traces, not just individual messages» — делись context и полными журналами работы агента, а не отдельными сообщениями.
- «Actions carry implicit decisions, and conflicting decisions carry bad results» — каждое действие несёт неявные решения, а конфликтующие решения дают плохой результат.
Пример оттуда: задачу «сделай клон Flappy Bird» делят на двух под-агентов. Один рисует фон, другой птицу. Первый понял задачу не так и нарисовал фон в стиле Super Mario Bros., второй сделал птицу, которая не подходит ни по стилю, ни по движению. Финальному агенту остаётся склеивать несовместимое. Вывод Cognition: самый простой способ соблюсти оба принципа — single-threaded linear agent (один агент, идущий по задаче последовательно), у которого context непрерывен. Для очень длинных задач они предлагают отдельную модель, которая сжимает историю в ключевые решения, и признают, что это трудно сделать хорошо.
Сторона за: Anthropic, multi-agent research system
Статья Anthropic (июнь 2025) описывает систему для исследовательских запросов по схеме orchestrator–worker: lead agent (ведущий агент) планирует и запускает несколько subagents, которые ищут параллельно. Ведущий на Claude Opus 4, исполнители на Claude Sonnet 4. На внутренней оценке исследовательских задач система обошла одиночный Claude Opus 4 на 90,2%. Цена тоже названа: агенты тратят примерно в 4 раза больше tokens, чем чат, а multi-agent — примерно в 15 раз. На BrowseComp (оценка поиска трудной информации в вебе) три фактора объяснили 95% разброса результатов, и один расход tokens — 80%. Там же честная граница: плохо подходят задачи, где всем агентам нужен общий context или много взаимных зависимостей; в большинстве задач программирования по-настоящему параллельных частей меньше, чем в исследовании.
Как примирить: обе стороны говорят одно
Спор меньше, чем кажется. Исследование хорошо делится: под-агенты читают разные источники, ничего не меняют в мире и возвращают находки, которые не конфликтуют друг с другом. Программирование и любые связанные действия делятся плохо: каждое действие принимает неявные решения, и их надо видеть целиком. Правило: делить можно чтение вширь, нельзя — связанные решения.
Пример бюджета: чат-ответ стоит 5 000 tokens. При 10 000 запросах в день это 50 миллионов tokens. Тот же поток через multi-agent при множителе 15× — около 750 миллионов tokens в день. Такой рост окупается только там, где задача ценна и действительно параллельна; для справки о тарифе он не окупается.
Суждение и оценка
Начинай с одного агента. Дели, только когда измеренная причина этого требует (context переполняется, tools слишком много, права надо разделить) и части независимы. Где намерения чёткие (карты / споры / продукты), routing делают правилами или маленьким classifier (классификатором), а LLM — только для неоднозначных запросов: меньше случайных шагов — стабильнее система. Ещё один плюс разделения — узкие права: worker по продуктам физически не может заблокировать карту. Если всё же делишь, лечи главную болезнь, потерю context при handoff (передаче задачи), по первому принципу Cognition: worker получает не одну строку «сделай фон», а бриф — цель всей задачи, уже принятые решения (стиль, ограничения, формат), границы своей части и формат ответа. Чем больше связанных решений приходится пересказывать в брифе, тем сильнее довод не делить вовсе. И отчёт worker — это утверждение, а не факт: supervisor проверяет его, а не верит на слово.
Оценивают три уровня: routing отдельно (верный ли worker для каждого запроса — простая accuracy, доля верных, на размеченном наборе), каждый worker на своих задачах, система целиком. Если результаты нестабильны, первым смотри routing: один шаг, который меняется между прогонами, раскачивает весь путь.
Схема
Термины · Key terms
- supervisor / orchestrator
- агент, который распределяет задачу, проверяет и собирает результат
- worker / sub-agent
- исполнитель с узкой задачей, своими tools и чистым context
- handoff
- передача задачи от агента агенту; здесь теряются детали
- context engineering
- подбор наименьшего набора tokens с высоким сигналом на каждом шаге
- context rot
- падение точности вспоминания с ростом context
- compaction
- сжатие почти полного context в сводку и продолжение с неё
- structured note-taking
- заметки агента вне окна, которые он читает по необходимости
- routing
- выбор исполнителя для запроса; лучше правилами, где можно
- single-threaded agent
- один агент с непрерывным context, без передач
Сделай сам
Напиши абзац из 5–6 предложений: когда в банке ты согласишься на multi-agent? Приведи одну задачу, где части независимы (например, сводка по десяти источникам регулятора), и одну, где нет (спор по операции, где проверка, решение и письмо клиенту связаны). Для каждой назови, какой принцип Cognition или какая цифра Anthropic решает дело.
Обсуди с тьютором: вставь абзац и попроси тьютора выступить за противоположную сторону спора, а потом найти в твоём абзаце одно утверждение без цифры или источника.
Проверь себя · ответ под вопросом
1Два принципа Cognition.
2Почему исследовательские задачи хорошо делятся между агентами?
3Во сколько раз больше tokens тратит multi-agent против обычного чата, и что это значит для бюджета?
Interview questions · US / UK
1When would you use a supervisor with workers instead of a single agent?
2Cognition says "don't build multi-agents"; Anthropic shipped one. Who's right?
3Follow-up: your multi-agent system is flaky. Where do you look first?
Ключевые фразы · Say it aloud
- Start with one agent; split only for a measured reason.Начни с одного агента; дели по измеренной причине.
- Parallelize reading, not coupled decisions.Параллель чтение, а не связанные решения.
- Handoffs lose context.При передаче теряется context.
- The smallest set of high-signal tokens.Наименьший набор tokens с высоким сигналом.
- A worker's report is a claim; the supervisor verifies it.Отчёт исполнителя — утверждение; руководитель проверяет.
- Route with rules where intents are clear.Где намерения чёткие, маршрутизируй правилами.
Материалы
- Cognition — Don't Build Multi-Agents — два принципа и пример с Flappy Bird (≈1 800 слов, 9 мин)
- Anthropic — How we built our multi-agent research system — раздел «Benefits of a multi-agent system» (6 мин)
- Anthropic — Effective context engineering for AI agents — подраздел «Context engineering for long-horizon tasks» (7 мин)
- Anthropic — Building effective agents — пять паттернов workflow, включая orchestrator–workers (10 мин)