На GitHub лежат сотни AI-скиллов: для code review, дебага, обработки PDF, анализа безопасности. Установил в Cursor или Claude Code — и ассистент стал умнее. Звучит как npm install: поставил пакет — работает.
Но скилл — не пакет. Это текстовый файл с инструкциями, который читает языковая модель. А модели читают по-разному.
Представьте: вы дали одно и то же подробное ТЗ четырём профессионалам. Все мотивированы, все его прочитали. Результат всё равно будет разным. Каждый действует по своему опыту, привычкам, интерпретации. Кто-то начнёт не с того, кто-то ответит устно, вместо того чтобы выполнить задачу.
Модель — это работник. Скилл — ТЗ. Я взял один скилл, отдал четырём моделям и запустил 120 раз на каждой. Всего — 480 запусков. Вот что получилось.
Забегая вперёд: скиллы работают. Но не так, как обещают. И самый интересный результат оказался не там, где я ожидал.
Эта статья — для тех, кто использует или пишет AI-скиллы и хочет понять, чего от них ожидать. Не научная работа, а практический эксперимент с цифрами. Весь код и данные — в репозитории, воспроизведите сами.
Скилл — это ТЗ для робота. Хорошее ТЗ.
AI-скилл — это markdown-файл с инструкциями для языковой модели: роль, инструменты, порядок действий, особые случаи. Устанавливается в IDE (Cursor, VS Code, Claude Code) или передаётся через API. Модель читает — и пытается следовать.
Ключевое слово — «пытается». Как отмечено в руководстве по SKILL.md: скиллы не гарантируют исполнение. Модель сама решает, следовать ли инструкциям. Это структурированное руководство, повышающее стабильность, но не детерминированная автоматизация.
Программа при одинаковых входных данных всегда даёт один и тот же результат. Скилл — нет. Это не баг, а фундаментальное свойство: языковая модель не исполняет — она интерпретирует. Как точно сформулировано в статье O'Reilly: AI-системы — это не детерминированные компоненты, а недетерминированные коллабораторы.
Результат может разойтись на трёх уровнях:
- Разные модели: Claude и GPT читают одну инструкцию, но «понимают» по-разному.
- Разные оболочки: Cursor и VS Code по-разному передают инструкцию.
- Разные запуски: одна и та же модель может выдать разный результат на один и тот же вход.
Один скилл. Четыре модели. 480 запусков.
В экосистеме растёт число скиллов: awesome-agent-skills на GitHub, стандарты от GitHub Copilot, Anthropic, OpenAI, Google. Но ни один скилл не указывает success rate и не помечен «протестировано на X, Y, Z». Anthropic признали эту проблему в апреле 2026 года, выпустив eval-фреймворк для скиллов. Я решил проверить, насколько результаты расходятся на практике.
Я написал скилл для обработки пользовательских обращений — универсальная задача: тикет-система. Скилл делает три вещи:
- Классифицирует обращение (баг, фича, вопрос, жалоба).
- Проверяет дубликаты в базе.
- Создаёт задачу в трекере с правильным приоритетом — или не создаёт, если не нужно.
Я подготовил 10 тестовых обращений четырёх уровней сложности:
- Простые: «не работает оплата картой» — очевидный баг, критический приоритет.
- Неочевидные: «конкурент уже сделал интеграцию с Telegram, когда вы?» — запрос на фичу, но в форме жалобы.
- Цепочки: «не могу войти, коллега тоже» — массовая проблема; или два бага в одном сообщении — нужно две задачи.
- Сдержанность: «спасибо, всё заработало» — задачу создавать не нужно.
Тестирование прошло на четырёх моделях — тех, на которых реально строят продукты:
- Claude Sonnet 4.6
- GPT-4.1
- Gemini 2.5 Pro
- DeepSeek V3
Все запросы — через OpenRouter, один API-ключ, одинаковый формат, temperature=0. Ключевые обращения — по 20 повторов, остальные — по 5. Всего 480 запусков.
Три режима сравнения:
- Baseline: tools + голое обращение, без system prompt.
- Простой промпт: «Ты обработчик обращений. Классифицируй, проверь дубликаты, создай задачу, если нужно. Если это вопрос или благодарность — не создавай».
- Скилл: полный SKILL.md с правилами приоритетов, порядком шагов, таблицами типов, негативными инструкциями и особыми случаями.
Успех — когда совпало всё: правильная классификация, приоритет в диапазоне, правильная последовательность вызовов инструментов и решение о создании задачи.
Это разведочный эксперимент, не статистическое исследование. 10 обращений достаточно, чтобы показать паттерны, но недостаточно для строгих выводов. Числа округлены.
Результаты
Скилл — это не просто длинный промпт
Простой промпт даёт прирост у GPT и Gemini. Но у Claude и DeepSeek — сюрпризы.
Claude: без промпта — 75%, с простым промптом — 65%. Короткая инструкция навредила. Подробный скилл поднял до 78%. Вероятно, короткий промпт ограничил модель, но не дал деталей — она потеряла уверенность.
DeepSeek: с простым промптом — 0%. Все 20 запусков — ошибки. Половина — не вызвал инструменты, половина — передал неверные параметры. Со скиллом — 62%. Для этой модели разница между промптом и скиллом — разница между «не работает» и «работает».
Вывод: скилл — это не просто «длинный промпт». Структура (порядок шагов, негативные инструкции, особые случаи) создаёт ценность.
Простые задачи — почти все справились
На простых обращениях (L1) все модели показали высокие результаты. Даже DeepSeek — 82%. «Оплата не работает» → баг → критический — тут все молодцы. Для простой маршрутизации дешёвая модель со скиллом — рабочий вариант. Экономия по сравнению с Claude — в шесть раз.
Когда НЕ делать — тоже все молодцы
На обращениях, где задачу создавать не нужно (L4), все четыре модели — 100%. Ни одна не создала тикет на «спасибо» или «какие форматы?». Негативные инструкции — самая надёжная часть скилла.
Ловушки — где DeepSeek паникует
На неочевидных задачах (L2) DeepSeek проваливается — 58%.
Обращение: «ваш конкурент уже сделал Telegram, когда вы?» — раздражённый запрос на фичу. Claude видит фичу. DeepSeek — жалобу, ставит высокий приоритет. Как стажёр, услышавший повышенный тон.
Другое обращение: «перешли на новый тариф, в кабинете старая цена, деньги списались правильно». Claude — средний приоритет (проблема отображения). DeepSeek видит «деньги» — и ставит критический.
Claude и GPT — 100% на L2. Они читают контекст: «деньги списались правильно» = не критично. DeepSeek читает ключевые слова.
GPT не умеет читать до конца
Обращение: «мне третий раз приходит письмо о продлении, хотя я уже продлил. Плюс в мобильном приложении кнопка "Поддержка" ведёт на 404». Две проблемы.
Claude — 100%: создаёт две задачи. Gemini — 100%. DeepSeek — 67%. GPT-4.1 — 17%. В пяти из шести случаев GPT видит только первую проблему.
Как коллега, который читает письмо до середины и бежит выполнять. Вторая половина? Какая вторая?
Стабильность: топ стабилен, бюджет — рулетка
При temperature=0 Claude и GPT оказались полностью стабильны — один и тот же результат в 20 из 20 запусков.
DeepSeek — в каждом восьмом запуске выдавал другой ответ. Та же модель, тот же скилл — другой результат. Если строите продукт на бюджетной модели — закладывайте запас на непредсказуемость.
Главная ошибка — одна у всех
Я классифицировал ошибки:
- Тип A: не вызвал инструмент, ответил текстом.
- Тип B: вызвал не тот инструмент.
- Тип C: неправильные параметры.
- Тип D: нарушил порядок.
Тип A — от 78% до 96% всех ошибок. У всех четырёх моделей.
Модели не путают инструменты и не передают неверные параметры. Они просто «забывают», что инструменты есть — и отвечают как чатбот. Это подтверждает данные бенчмарков: когда задача требует суждения, модели часто не вызывают инструменты. Размер модели — слабый предиктор точности.
Итоговая картина
DeepSeek на L3 (цепочки) показал 82% против 78% у Claude — контринтуитивный результат. Возможно, из-за малого числа кейсов. Относитесь с осторожностью.
Скилл работает. Но не как программа. И это нормально.
Скилл — выравниватель, не гарантия
Подробный скилл драматически улучшает слабые модели. DeepSeek — с 0% до 62%. Gemini — с 70% до 73%. Claude — с 65% до 78%.
Экономическая логика: зачем платить $3 за Claude на простую классификацию, если DeepSeek за $0.55 со скиллом справляется в 82% случаев? На сложных задачах — переключайтесь на сильные модели.
У каждой модели — свои грабли
GPT-4.1 не видит множественные проблемы. DeepSeek не понимает нюансы и паникует от ключевых слов. Gemini иногда теряет стабильность. Claude — ровный, но дорогой.
Нельзя написать один скилл и забыть. Нужно тестировать на целевой модели. Прогоните десять задач пять раз — это полчаса, но сэкономит недели отладки.
Что с этим делать
Если вы пишете скиллы:
Указывайте, на каких моделях тестировали. Публикуйте success rate. Негативные инструкции работают лучше — не скупитесь на них.
Если вы строите продукт:
Тестируйте скилл на своей модели. Для простых задач — слабая модель + хороший скилл = рабочее решение. Для сложных — скилл не заменяет качество модели. Закладывайте fallback: в 20–25% случаев модель может «забыть» про инструменты.
Если вы делаете платформу:
Нужен стандарт skill-карточек: модель, версия, success rate, типы ошибок. Как у npm-пакетов. Anthropic уже движется в эту сторону — их eval-фреймворк позволяет запускать бенчмарки и A/B-тесты. Но это пока инструмент, а не стандарт.
Проверяйте сами
Я не говорю, что скиллы бесполезны — данные показали обратное. Подробный скилл поднял DeepSeek с нуля до 62%.
Я говорю: тестируйте. Измеряйте. Не верьте на слово — ни авторам скиллов, ни мне. Код, скилл, тестовые обращения, сырые результаты — всё в репозитории. Прогоните на своих моделях и задачах. Расскажите, что получилось.
Если ваш скилл стабильно работает на трёх моделях с 90% success rate — это отличный скилл. Просто напишите об этом в README.
Хороший скилл превращает слабую модель в рабочую. Но не в отличную. А разницу можно узнать только одним способом — проверить.
Эксперимент проведён в апреле 2026 года. Модели: Claude Sonnet 4.6, GPT-4.1, Gemini 2.5 Pro, DeepSeek V3 (deepseek-chat-v3-0324). Все запросы через OpenRouter API, temperature=0. Полная методология, параметры и данные — в репозитории.