Коротко
Will из команды Applied AI в Anthropic показывает на воркшопе, как чинить раздувшегося агента: на примере вымышленного inventory-агента Stockpilot (400 строк system prompt, 12 инструментов, 3 субагента) видно, как качество падает с 83% до 62% по 12 evals. Три шага назад к норме: вынести политики из system prompt в skills (progressive disclosure), заменить 12 кастомных инструментов на примитивы Claude Code (bash, файловая система, выполнение кода, веб-поиск), оставить субагентов только там, где нужна изолированная свежая голова. Архитектурно агент переезжает с Messages API на Claude Agent SDK, Anthropic берёт на себя масштабирование, безопасность, sandbox. Итог: ~92% по evals, меньше токенов, меньше денег, быстрее.
Главный тезис
Строишь агента, давай Claude те же примитивы, что есть у человека за компьютером (файловая система, выполнение кода, веб-поиск, todo-список), а инструкции подгружай через skills только когда они реально нужны. Не вали всё в system prompt.
Ключевые идеи
- 1:28, Типичный антипаттерн: фичи накапливаются инкрементально, system prompt растёт до сотен строк, инструменты плодятся, evals деградируют.
- 3:33, Исходная архитектура Stockpilot: один оркестратор, ~400 строк system prompt, 12 инструментов, 3 из которых обёртки над субагентами с изолированными контекстами.
- Eval R8 падает из-за конфликта политик в разных частях разросшегося system prompt, модель буквально путается между противоречивыми инструкциями.
- 8:20, Падение F2: субагент выполняет задачу правильно, но между ним и оркестратором рвётся коммуникация, классика мульти-агентных систем.
- 10:00, Падение R8 в калькуляции: данные извлечены верно, но при расчёте модель галлюцинирует множитель (3.5 → 1.35) из-за переполненного контекста.
- 10:12, Это не проблема модели, а проблема контекста, слишком много информации, которая этой задаче не нужна.
- 21:18, Skills, упакованные модули информации, которые Claude сам подгружает в контекст, когда понимает, что они нужны.
- Принцип progressive disclosure: не пихать всё в system prompt, а делать информацию доступной по требованию.
- При создании агента давай те же примитивы, что есть у человека за компьютером: файловая система, браузер, выполнение кода, а не плоди отдельный tool под каждую микро-операцию.
- 26:47, Claude Code мощный не потому что особенный, а потому что Claude получил доступ к компьютеру, те же примитивы работают лучше с каждой новой моделью.
- 32:03, Алгоритм работы с tools: начать с примитивов Claude Code, убрать лишние, добавлять кастомные только когда без них никак.
- 32:19, MCP, не первый выбор: для одного агента, локальные tools; MCP оправдан только когда один набор инструментов нужен нескольким агентам или клиентам.
- 27:31, Альтернатива MCP: code execution as a tool, дёргай API через код или CLI, не раздувай контекст определениями MCP-инструментов.
- Субагенты оправданы в двух случаях: параллелизация тяжёлой задачи (research, поиск по кодовой базе).
- Второй случай, свежая голова без контекста: code review должен делать другой инстанс Claude, не тот, что писал код.
- В Agent SDK есть нативная поддержка субагентов с логированием и observability, не нужно оборачивать субагента в кастомный tool.
- Эффект перехода на примитивы: расход токенов упал с 200k на задачу до значительно меньшего, потому что Claude пишет Python для CSV вместо загрузки CSV в контекст.
Почему это важно
Anthropic сейчас активно двигает Claude Agent SDK как путь с Messages API: облако берёт на себя scaling, sandbox, безопасность, observability, разработчик отвечает только за дизайн агента. Параллельно продвигаются skills и примитивы Claude Code как стандарт вместо MCP-зоопарка и tool-bloat. Выигрывают команды, которые перестали изобретать инструменты под каждую задачу; проигрывают те, кто построил агентов на куче самописных tools и кастомных субагентах, их теперь надо рефакторить под новую парадигму. Воркшоп проходил в рамках конференции Code with Claude в Лондоне.
Идеи
- Деградация агентов почти всегда происходит из-за инкрементального наращивания, а не из-за плохого начального дизайна.
- 17% ошибок (eval 83%) выглядят «приемлемо», но в продакшне это запредельно дорого.
- System prompt на 400 строк почти гарантированно содержит внутренние противоречия.
- Claude отлично диагностирует собственные проблемы, можно скормить eval failures обратно Claude через bash в Claude Code и получить root cause анализ.
- Whisper-транскрипт периодически пишет «Cloud 4.7» вместо «Claude 4.7», смысл сохраняется.
- Will держит Claude Code на Opus 4.7 с уровнем усилий на максимум, это его дефолт.
- Subagent-как-tool, устаревший паттерн; в Agent SDK есть нативная регистрация субагентов.
- Внутри Anthropic команды строят агентов через те же примитивы Claude Code, которые видит конечный пользователь.
- Skills работают не только в Claude Code, но и для агентов, которых ты отдаёшь клиентам.
- Skills экономят контекст, информация подгружается только когда нужна.
- CSV-анализ через bash+Python кардинально эффективнее, чем загрузка CSV в контекст.
- MCP-экосистема стала хаотичной, серверы дублируют друг друга и забивают контекст.
- Claude тратит меньше токенов и реже галлюцинирует, когда может писать код и читать результаты, а не удерживать данные в голове.
- Count of turns при переходе на примитивы может вырасти, это нормально, потому что цена и токены падают.
- Forecasting в Stockpilot оставили субагентом именно чтобы отделить голос с клиентом от голоса, который считает прогноз.
- Иногда субагент можно убрать совсем, фронтирные модели достаточно умны, чтобы держать функциональность в основном оркестраторе.
- Hill climbing на evals, итеративный процесс: меняешь архитектуру, прогоняешь evals, сравниваешь.
- Anthropic держит 12 eval-задач для одного агента на 5 типах оценщиков (детерминированных и нет).
- Регрессионные тесты (R-серия), single-turn реалистичные задачи; F-серия, мульти-turn, сложнее.
- Один и тот же Claude не должен и писать, и ревьюить код, это паттерн из человеческой практики.
- Установка Anthropic SDK через uv sync, стандартный сетап в воркшопах Anthropic.
- В репозитории воркшопа есть теги before и starter, можно сравнить Messages API версию с Agent SDK версией.
Инсайты
- Архитектурный долг агентов растёт быстрее технического, каждая новая фича без рефакторинга умножает вероятность регрессии за счёт конфликтов в system prompt.
- Скрытое преимущество примитивов, backward compatibility со временем: новые модели становятся умнее на тех же tools, кастомные tools такого выигрыша не дают.
- Сужение контекста, это форма alignment: чем меньше нерелевантной информации видит модель, тем точнее она следует инструкциям, которые там есть.
- Code execution превращает агента из «читающего» в «вычисляющего», сдвиг от потребления токенов к потреблению CPU, который почти всегда выгоднее.
- MCP оптимизирован под распространение, а не под производительность одного агента, стандартизация полезна для экосистемы, но вредна для индивидуальной задачи.
- Субагент, это контекстная изоляция, замаскированная под делегирование задач, реальная ценность не в «параллельных мозгах», а в чистом окне контекста.
- Skills работают как процедурная память человека: ты не помнишь всё, но знаешь, где искать, когда нужно.
- Evals, единственная форма honest feedback для агентной архитектуры: логи и traces показывают «что было», evals показывают «что работает».
- Платформенная миграция (Agent SDK), способ обменять контроль на отсутствие операционной боли: scaling, sandbox, observability снимаются с разработчика.
- Архитектура агента стремится к минимуму tool-surface при максимуме capability, обратная зависимость, которую не нащупать без evals.
Фреймворки
Когда использовать субагента (2 случая):
- Параллелизация и интенсивная работа над одной проблемой (deep research, исследование кодовой базы).
- Нужна свежая голова без контекста (code review другим инстансом Claude, отдельный forecasting от диалога с клиентом).
Стек примитивов для нового агента (от человеческой аналогии):
- Code execution (bash, Python)
- File system navigation
- Web search
- Todo-list
- File analysis (для CSV/Excel/документов)
Иерархия выбора инструментов:
- Сначала, встроенные примитивы Claude Code
- Затем, убрать те, что не нужны конкретному агенту
- Только потом, добавить кастомные tools
- MCP, лишь когда tool-набор нужен множеству агентов/клиентов
- Code execution as a tool, альтернатива MCP, если важна экономия контекста
Цитаты
«we have started to see regression in areas where your agent was accelerated», 1:28 Мы начали видеть регрессию в тех областях, где агент раньше работал хорошо
«A error of the 17% is a very expensive percentage», 9:12 Ошибка в 17%, это очень дорогой процент
«this is not a problem of the model, it's a problem with the information that we are circling the model», 10:16 Это не проблема модели, это проблема с информацией, которую мы крутим вокруг модели
«competencies are confeccionate in information components that cloud has the ability to insert in the context every time you realize that you have to do that information to complete an activity particular», 21:18 Skills, это упакованные модули информации, которые Claude вставляет в контекст, когда понимает, что они нужны для задачи
«when you think of Cloud Code as an agent, we have effectively given a Cloud access to all the primitives you have when we work», 26:32 Если думать о Claude Code как об агенте, мы по сути дали Claude доступ ко всем примитивам, которые есть у нас, когда мы работаем
«what we did with Cloud Code is simply giving Cloud access to a computer», 26:47 Всё, что мы сделали с Claude Code, это дали Claude доступ к компьютеру
«Cloud uses simply those primitive better than before», 27:02 Claude просто использует те же примитивы лучше, чем раньше
«start with those instruments of cloud code, those primitive similar to those of the human», 32:03 Начинайте с инструментов Claude Code, тех самых человекоподобных примитивов
«we don't use MCP. And only in case we have a common collection of instruments», 32:19 Мы не используем MCP. И только если есть общий набор инструментов
«subagents are an excellent way to parallelize and work hard on a problem» Субагенты, отличный способ параллелизовать и плотно работать над проблемой
«I don't want nothing in my window of initial context to the prevision process», 37:34 Я не хочу, чтобы в исходном окне контекста было что-то про процесс прогнозирования
«if I have to use a cloud, I want to use a cloud separate for my job», 40:46 Если мне нужен Claude, я хочу отдельный Claude для отдельной задачи
«people use much less tokens when they can write code, so you can read the results», 34:28 Когда у Claude есть возможность писать код и читать результаты, он тратит гораздо меньше токенов
«using all that type of power cerebrally collective to take decisions based on results», 34:36 Использовать всю эту умственную мощь на принятие решений по результатам
«we offer the primitive a which we humans have access», 26:06 Мы даём те же примитивы, к которым есть доступ у нас, людей
«you can simply make an affidation on the code through CLI», 33:20 Можно просто положиться на код через CLI
Факты
- Воркшоп проходил на конференции Code with Claude in London.
- Спикер Will работает в команде Applied AI в Anthropic.
- Демо-агент называется Stockpilot, inventory management agent для вендора средних размеров.
- Исходный system prompt агента: ~400 строк.
- Количество инструментов в исходной версии: 12, из них 3, обёртки субагентов.
- Eval-набор: 12 задач на 5 типах оценщиков.
- Стартовая baseline после миграции в Agent SDK: 62% (хуже исходных 83%).
- Итоговый результат после рефакторинга: ~92%.
- Расход токенов до оптимизации на одну задачу: ~200 000.
- Will запускает Claude Code на Opus 4.7 с максимальным уровнем усилий по умолчанию.
- Сетап репозитория: uv project, команда
uv syncдля зависимостей. - В репозитории два тега: before (Messages API версия) и starter (Agent SDK версия).
- Оценщики делятся на детерминированные и недетерминированные.
- Падения evals в демо: F1 (заявка на низкий запас), F2 (промо-заказ через субагента), R8 (прогноз в промо-месяц с галлюцинацией множителя).
Источники
- Anthropic API / Messages API, исходная платформа агента.
- Claude Agent SDK, целевая платформа миграции.
- Claude Code, референсная агентная система, на чьи примитивы предлагается опираться.
- MCP (Model Context Protocol), упоминается как опция для tools, но рекомендуется только при коммунальном использовании.
- uv, менеджер пакетов Python, используемый в воркшопе.
- Репозиторий воркшопа на платформе Code with Claude London (точный URL не назван в транскрипте).
Рекомендации
- При построении нового агента, начинать с примитивов Claude Code и убирать лишнее, а не строить tools с нуля.
- Использовать skills вместо длинного system prompt для процедурных знаний.
- Прогонять evals на каждом изменении архитектуры (hill climbing).
- Скармливать падения evals обратно Claude через bash в Claude Code, он сам найдёт root cause.
- Не использовать MCP для одного агента, только когда коллекция инструментов идёт нескольким клиентам.
- Code review делает отдельный инстанс Claude, без контекста того, кто писал код.
Итог
Хороший агент, это не агент с большим числом инструментов и инструкций, а агент, которому дали человеческие примитивы и подгружают инструкции только тогда, когда они реально нужны.


