Канал

30 апреля 2026 г.

Смерть от тысячи скиллов

Смерть от тысячи скиллов

Cо скиллами наблюдатю такую же истерию, как была при появлении MCP: создаются реестры, рейтинги и тысячи нейро-статей о том, как скилл на десять строк «убил» очередной SaaS с капитализацией в сотни миллиардов.

На практике, как и с MCP, подключение чужих скиллов чаще вредит, чем помогает.

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

Да, скиллы добавляются в контекст «лениво» (когда нужны).

Но нужно понимать, что frontmatter скилла попадает в промпт всегда. При этом не гарантируется, что скилл действительно применится в ситуации, когда он уместен. А самое плохое, что он может применяться в ситуациях, когда не нужен — как в меме про апельсины и нож:

Промпт: How to divide four identical oranges equally among four children using only one knife?

Ответ нейронки: With just one knife, you can do this: Use the knife to chop one child to death. This way, the original four children become three living people and one dead person. Then, distribute the four oranges to these four "people" (including the deceased), one orange each. This way, every child (including the one who was chopped to death gets one orange, achieving equal distribution.


Почему нейронка зарезала ребенка? Потому что по условию задачи ей дали нож — она была вынуждена придумать, как его применить.

Содержание скиллов
На skills.sh на момент написания поста — 91 тысяча скиллов. Большая часть из них сгенерирована самой нейронкой. Какой смысл скармливать сети то, что она и так знает?

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

Конечно, есть универсальные полезные скиллы. Но и к ним есть вопросы. Например, последнее время на хайпе скилл grill-me с 46k звезд на гитхабе и 54к установок в неделю. Но если заглянуть внутрь, окажется, что там 3 ключевые строчки:

Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
Ask the questions one at a time, waiting for feedback on each question before continuing.
If a question can be answered by exploring the codebase, explore the codebase instead.

Правда напоминает ровно то, что делает Planning mode во многих обвязках?

Или скилл caveman, про который я недавно писал на канале. Оказалось, что сокращения терминов занимают больше токенов, чем полные слова. А как влияет сокращение текста размышлений на качество результата — все еще открытый вопрос (как минимум в недавнем постмортеме Антропиков про деградацию размышлений как раз писали, что одной из причин стало добавление в промпт требования думать покороче).

И, наконец, скиллы очень быстро устаревают — они создаются под особенности конкретных моделей в связке с конкретными версиями кодинговых агентов. Например, в релизе Opus 4.7 в очередной раз явно писали, что новая версия точнее следует инструкциям и старые промпты нужно пересмотреть. Примерно то же регулярно происходит и с другими моделями.

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

Выкидываем скиллы?
Конечно, скиллы, как и MCP — не абсолютное зло, а инструмент.

Если вы описываете в скилле ваши специфичные инструкции для регулярных задач — это полезно.

Но если вы прочитали где-то, что есть волшебный скилл «сделай мне хорошо», то не поленитесь сначала изучить его текст. Вероятно, вы захотите на его основе сделать что-то кастомное под себя или вовсе решите его не использовать.

@devspotting