Тул, скилл или сабагент? Разбираем агента, который перерос свой промпт

Claude23 мая 202613 17524710 мин чтения26 мая, 10:13

Коротко

Will из команды Applied AI в Anthropic показывает на воркшопе, как чинить раздувшегося агента: на примере вымышленного inventory-агента Stockpilot (400 строк system prompt, 12 инструментов, 3 субагента) демонстрируется падение качества с 83% до 62% по 12 evals. Решение в три шага: вынести политики из system prompt в skills (progressive disclosure), заменить 12 кастомных инструментов на примитивы Claude Code (bash, file system, code execution, web search), оставить субагентов только там, где нужна изолированная свежая «голова». Архитектурно агент мигрируется с 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:18Skills — это упакованные модули информации, которые Claude сам подгружает в контекст, когда понимает, что они нужны для задачи.
  • Принцип progressive disclosure: не пихать всё в system prompt, а делать информацию доступной по требованию.
  • При создании агента давай те же примитивы, что есть у человека за компьютером: файловая система, браузер, написание кода — а не делай отдельный tool под каждую микро-операцию.
  • 26:47 — Claude Code мощный не потому что особенный, а потому что мы дали Claude доступ к компьютеру — те же примитивы становятся лучше с новыми моделями.
  • 32:03 — Алгоритм работы с tools: начать с примитивов Claude Code, убрать ненужные, добавлять кастомные только когда без них никак.
  • 32:19MCP — не первый выбор: для одного агента используй локальные tools; MCP оправдан только когда коллекция инструментов нужна нескольким агентам/клиентам.
  • 27:31 — Альтернатива MCP: code execution as a tool — вызывать API через код/CLI, чтобы не раздувать контекст определениями MCP-инструментов.
  • Субагенты оправданы в двух случаях: параллелизация тяжёлой задачи (исследование, поиск по кодовой базе).
  • Второй случай для субагента — свежая голова без контекста: code review должен делать другой инстанс Claude, не тот, что писал код.
  • В Agent SDK есть нативная поддержка субагентов с логированием и observability — не нужно оборачивать субагента в кастомный tool.
  • Эффект перехода на примитивы: расход токенов упал с 200k на задачу до значительно меньшего, потому что Claude пишет Python для CSV вместо загрузки CSV в контекст.

Почему это важно

Anthropic сейчас активно двигает Claude Agent SDK как путь миграции с Messages API: облако берёт на себя scaling, sandbox, безопасность, observability — клиент отвечает только за дизайн агента. Параллельно Anthropic продвигает 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 работают как human procedural memory: ты не помнишь всё, но знаешь, где искать, когда нужно.
  • Evals — единственная форма honest feedback для агентной архитектуры: всё остальное (логи, traces) показывает «что было», а evals показывают «что работает».
  • Платформенная миграция (Agent SDK) — способ обменять контроль на отсутствие операционной боли: scaling, sandbox, observability снимаются с разработчика.
  • Архитектура агента стремится к минимуму tool-surface при максимуме capability — обратная зависимость, которую невозможно нащупать без evals.

Фреймворки

Когда использовать субагента (2 случая):

  1. Параллелизация и интенсивная работа над одной проблемой (deep research, исследование кодовой базы).
  2. Нужна свежая голова без контекста (code review другим инстансом Claude, отдельный forecasting от диалога с клиентом).

Стек примитивов для нового агента (от человеческой аналогии):

  • Code execution (bash, Python)
  • File system navigation
  • Web search
  • Todo-list
  • File analysis (для CSV/Excel/документов)

Иерархия выбора инструментов:

  1. Сначала — встроенные примитивы Claude Code
  2. Затем — убрать те, что не нужны конкретному агенту
  3. Только потом — добавить кастомные tools
  4. MCP — лишь когда tool-набор нужен множеству агентов/клиентов
  5. 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, без контекста того, кто писал код.

Итог

Хороший агент — это не агент с большим числом инструментов и инструкций, а агент, которому дали человеческие примитивы и подгружают инструкции только тогда, когда они реально нужны.

readmint Pro

То, что вы только что прочитали — это саммари readmint

Оформите доступ — и получайте такой же разбор по любому своему видео. Вставляете ссылку, через 2–3 минуты готов пересказ с главными тезисами и цитатами. Без воды и без перемотки.

  • Безлимит саммари — сколько угодно видео
  • Главные тезисы и цитаты без воды
  • Приоритет в очереди обработки
  • Без рекламы и сторонних блоков
Получить такое же саммари
Доступ откроется сразу после оплаты — вставите ссылку и начнёте.

Или 4 900 ₽/год — доступ откроется сразу после оплаты.

Ещё с канала «Claude»

Все видео