ПостСредне ⏱ ~11 мин

Skills, агенты и саб-агенты: когда что использовать в 2026

Оглавление

В AI-инструментах в 2026 году есть три разные роли: скилл, агент и сабагент. Их постоянно путают — в статьях, в разговорах, в маркетинге. На самом деле это не синонимы, а разные инструменты с разной ценой и разной зоной применения. И главное — они не альтернативы. Они слои одной системы.

Этот пост продолжает предыдущий, про agentic engineering и vibe coding. Там я разделял режимы работы по типу обратной связи. Здесь разговор другой: внутри agentic engineering есть своя иерархия, и в этом году она наконец устаканилась.

Одно терминологическое замечание. Я использую «сабагент» как русский аналог sub-agent. Термин пришёл из мира Claude Code и GitHub Agent HQ, где sub-agent — это подчинённый исполнитель внутри одного запуска. «Сабагент» — попытка перевести, привыкайте. В скобках буду иногда давать оригинал.

Откуда вообще троица

До 2024-го AI-инструменты были в основном про чат. Описал задачу — получил код. Или про автодополнение: пишешь строку, инструмент предлагает следующую.

Потом появились агенты, которые могут сами читать файлы, запускать команды, ловить ошибки, чинить и снова запускать. Claude Code, OpenAI Codex, GitHub Copilot SDK, JetBrains Junie. Они работают без постоянного внимания человека. Качественный скачок, который в 2024–2025 занял всё дискуссионное пространство.

Но у этих агентов обнаружились проблемы. Они были универсальными, а значит — медленными в узких задачах. Когда нужно было просто посмотреть, какие селекторы есть на странице (селектор — это способ указать на элемент интерфейса: кнопку, поле ввода, ссылку), запускать полноценного агента с доступом к командной строке и системе контроля версий было избыточно. А когда нужно было помнить, как у нас принято оформлять коммиты, агент каждый раз изобретал это заново, потому что у него не было постоянного источника этого знания.

В октябре 2025 Anthropic запустил систему Skills — наборы инструкций в виде файлов, которые описывают, как делать конкретную вещь. Они загружаются по запросу, когда модель видит, что задача подходит. В мае 2026 OpenAI запустил свой аналог. GitHub в Agent HQ начал объединять несколько специализированных агентов под одной системой управления. И в какой-то момент стало ясно: скилл, агент и сабагент — это не маркетинговые ярлыки, а реальные роли с разной ценой и разной зоной применения.

Скилл

Скилл в смысле Anthropic Skills — это, по сути, структурированная инструкция. Файл или папка с файлами, которая описывает, как решать конкретный класс задач. Не «что делать», а «как именно делать»: какие инструменты вызвать, в каком порядке, какие ограничения соблюсти, какой формат отчёта вернуть.

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

Хороший пример — скилл для оформления коммитов в конкретном проекте. Без скилла модель придумывает формат заново. Где-то Conventional Commits (общепринятый стандарт вида «тип: описание»), где-то «корпоративный стандарт», где-то просто «fix: stuff». Со скиллом она сразу знает правила проекта. Скорость выше, согласованность выше, ошибок меньше.

Скилл часто путают с системной инструкцией (так называемый system prompt, который модель получает в начале каждого диалога). Разница в том, что системная инструкция загружается всегда, а скилл — только когда подходит задаче. Скилл не раздувает контекст на каждый запрос, а появляется ровно тогда, когда нужен.

Агент

Агент — это то, что все привыкли называть «AI-ассистент для разработки». Claude Code, OpenAI Codex CLI, GitHub Copilot SDK, JetBrains Junie. У него есть цикл: прочитал задачу → составил план → начал делать → столкнулся с проблемой → починил → продолжил → отчитался.

Агент самостоятелен в рамках своих прав. У него есть доступ к файлам, к командной строке, к MCP-серверам (MCP, Model Context Protocol — открытый стандарт, через который AI-агенты подключаются к внешним инструментам и данным), к браузеру, к запуску тестов. Он сам решает, когда остановиться и спросить, а когда продолжить. У него есть память в рамках сессии или между сессиями, и он умеет учиться на собственных ошибках внутри одной задачи.

Цена этой самостоятельности — в скорости и деньгах. Каждый шаг агента — это размышление, вызов инструмента, наблюдение результата, новое решение. Он расходует больше токенов (токены — это порции текста, которые модель читает и генерирует; за них платят), потому что ведёт длинный диалог сам с собой. И у него больше шансов пойти не туда, если рамки заданы плохо.

Но в работе над серьёзным кодом альтернативы пока нет. Когда задача непростая — нужно изменить код в пяти местах, прогнать тесты, поправить миграцию базы данных (скрипт, который меняет структуру базы при обновлении приложения), обновить документацию — это работа для агента. Скилл здесь недостаточен, потому что скилл не запускает инструменты сам.

Сабагент

Сабагент (sub-agent) — это специализированный агент, которого вызывает родительский агент под конкретную подзадачу. У него свой узкий набор прав и своя узкая область работы. Родительский агент даёт ему задачу, получает результат и продолжает как ни в чём не бывало.

В Claude Code есть встроенные сабагенты: Explore (только читать файлы, искать закономерности), Plan (только составлять планы, не трогать код), Web research (только искать в интернете). В GitHub Agent HQ тоже есть специализированные сабагенты, в OpenAI Codex — аналогично.

Допустим, нужно найти, в каких местах кодовой базы вызывается конкретный метод. Родительский агент мог бы сделать это сам: поиск по проекту, чтение результатов, группировка. Но это длинно и шумно. Сабагент Explore делает то же самое быстрее, потому что у него нет других инструментов — только поиск в режиме «только чтение». Он не сможет случайно изменить файл. Не сможет запустить тесты. Сможет только одно: вернуть список с контекстом.

Смысл сабагента — в ограничении зоны поражения (по-английски это называется blast radius, размер максимального ущерба от ошибки). Когда родительский агент делает много разных вещей, у него высокий шанс сделать что-то не то. Когда он вызывает узкого сабагента под конкретную задачу, зона поражения ограничена правами этого сабагента. Если сабагент ошибётся, он ошибётся в своей узкой области, а не в основной задаче.

Чем скилл отличается от промпта

Скиллы часто путают с промптами (промпт — это текст запроса, который пользователь отправляет модели). Путаница мешает понять, что они вообще дают.

Промпт — это то, что вы отправляете модели в конкретном диалоге. Скилл загружается автоматически, только когда модель сама считает задачу подходящей. Это экономит контекст (оперативную память модели в рамках диалога) и не «загрязняет» модель неподходящими инструкциями.

Промпт — это плоский текст. Скилл — это структурированный набор файлов: основная инструкция, примеры, скрипты, шаблоны, справочные материалы. Скилл может нести с собой «память проекта», которая слишком велика для одного промпта.

Промпт живёт в одном разговоре. Скилл — это файл в репозитории или в специальной папке, который переиспользуется между сессиями, между людьми, между проектами. Знание, которое не теряется, когда заканчивается контекстное окно (максимальный объём текста, который модель держит в голове за один раз).

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

Когда скилл лучше агента

Скилл — правильный выбор, когда задача детерминированная (результат однозначно определяется входными данными), повторяемая и узкая. Когда не нужен самостоятельный цикл, а нужен правильный регламент.

Допустим, нужно оформить изменения в виде pull request, PR (запрос на слияние правок в основную ветку) с правильным заголовком и описанием по нашему шаблону. Это можно сделать агентом, но он потратит время на планирование, на попытки понять формат, на споры с самим собой. Скилл даст ему готовый шаблон, и он отработает за секунды.

Другой пример: «напиши сообщение коммита в стиле conventional commits для этого изменения». Скилл знает формат, агент его применяет.

Общее правило простое. Вопрос «правильно ли я сделал?» — это к агенту. Вопрос «как мне это сделать правильно?» — это к скиллу.

Когда сабагент лучше скилла

Сабагент лучше скилла, когда нужно не «знание, как делать», а «возможность сделать в ограниченной области». Когда узкий исполнитель с узкими правами нужен на конкретном шаге работы.

Пример: нужно обновить все комментарии-описания функций в модуле. Родительский агент мог бы пройтись по файлам сам, но при этом он отвлечётся на основную задачу, потеряет фокус, и в список правок попадут неожиданные изменения. Сабагент с правами «только править docstrings, не трогать код» сделает это за один проход, вернёт результат, и родительский агент продолжит свою работу, не отвлекаясь.

Сабагент — это правильный выбор, когда вы хотите защитить основной цикл от побочных эффектов. Когда задача «пощупать» (исследовать, найти, посмотреть), и при этом вы не хотите, чтобы эта «щупалка» могла что-то изменить.

Когда одного агента хватает

У меня был соблазн разбивать всё на сабагентов. Один для чтения, один для написания, один для тестов, один для документации. В теории звучит правильно: каждый делает своё, зона поражения минимальная, композиция — сила.

На практике выяснилось, что это чаще вредит. Каждый вызов сабагента — это отдельный цикл размышлений, задержка, риск «потерял контекст родительской задачи». Когда сабагенты вызываются слишком часто, родительский агент превращается в диспетчера, а не в исполнителя. Он тратит больше времени на координацию, чем на работу.

Я пришёл к простому правилу: один агент на одну сессию, сабагент — только когда есть реальная причина. То есть когда сабагент даёт что-то, чего не дал бы основной агент. Если сабагент просто «делает то же, но в отдельном цикле», это лишняя нагрузка сверх необходимого.

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

Как они работают вместе

В моих проектах сейчас это выглядит так. Скилл — мой «корпоративный свод правил»: как оформлять коммиты, как писать описания PR, как готовить заметки о релизе, как делать ревью кода. Эти скиллы лежат в репозитории в отдельной папке и автоматически подгружаются, когда модель видит подходящую задачу.

Агент — основной исполнитель. Я даю ему задачу, он работает в своём самостоятельном цикле. У него есть права на чтение, запись, запуск тестов, коммит (но не отправку в удалённый репозиторий — отправка всегда по моему запросу). Доступ к MCP-серверам для специфичных задач.

Сабагент — для двух случаев. Первый: задачи-разведки, когда нужно «просто посмотреть, не трогая». Claude Code сам вызывает сабагент Explore в нужные моменты. Второй: длительные фоновые задачи, которые я хочу вынести из основного цикла. Например, прогнать полный набор тестов в фоне, пока я работаю над следующей задачей.

Скилл даёт знание, агент даёт самостоятельность, сабагент даёт специализацию. Когда все три используются по делу, это ощущается как «AI наконец-то работает по-взрослому». Когда используется что-то одно без учёта двух других, это либо медленно, либо хрупко, либо шумно.

Главный вывод

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

Я для себя вывел простое правило. Если задача детерминированная и повторяемая — скилл. Если самостоятельная и непростая — агент. Если требует специализации и ограниченной зоны поражения — сабагент. Если не уверен — начни с агента и скилла, а повторяющиеся куски со временем вынеси в отдельные скиллы. Главное — не пытаться сделать всю систему из одного инструмента и не плодить сабагентов там, где справится один агент.

Ссылки

НазадДалее

Обсуждение

Комментариев пока нет — начните тему.

Комментариев пока нет — начните тему.

Оставить комментарий

Комментарии публикуются сразу после отправки.