Один скилл, четыре модели — что может пойти не так

Один скилл, четыре модели — что может пойти не так

На 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 запусков.

Три режима сравнения:

  1. Baseline: tools + голое обращение, без system prompt.
  2. Простой промпт: «Ты обработчик обращений. Классифицируй, проверь дубликаты, создай задачу, если нужно. Если это вопрос или благодарность — не создавай».
  3. Скилл: полный 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. Полная методология, параметры и данные — в репозитории.

Читать оригинал