Skills и Tools в AI: в чём разница, если вы вообще не понимаете о чём речь

Пришло время разобраться с ними, чтобы понять, как устроена вся эта заварушка с ИИ

Согласно детским учебникам начнём с абсолютно дурацкого примера:


Представим себе повара (да-да, обычного повара на кухне)

Skills и Tools в AI: в чём разница, если вы вообще не понимаете о чём речь

У нашего повара в арсенале есть ложка, венчик и весы — это его инструменты (tools)

Но наличие ложки, венчика и весов ещё не означает, что он умеет печь тортики. Сначала он должен понять:

  • какие ингредиенты понадобятся
  • в какой последовательности их добавлять
  • сколько времени выпекать бисквит
  • как понять, что бисквит готов
  • что делать, если что-то пошло не так

Это уже навык (skill)

Так мы пришли к ответу на вопрос «в чём различие?»:

Tools дают возможность что-то сделать

Skills объясняют, как решить конкретную задачу

Допустим, вы спрашиваете у любого чат-бота:

«Какие встречи по календарю у меня сегодня?»

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

То есть tool — это буквально инструмент в руках ИИ

А теперь другая задача:

«Подготовь меня к сегодняшним встречам»

Тут просто открыть календарь уже недостаточно — нужно понять, какие встречи и какой у них приоритет, найти связанные с ними письма/документы, определить незакрытые вопросы и собрать всё это в нормальный файлик для подготовки — вот это уже skill, то есть инструкция о том, как именно выполнять такую задачу

Причём один skill может использовать сразу несколько tools:

Skill «Подготовить к встрече» → открыть календарь → найти встречу → найти письма/документы → просмотреть письма/документы → собрать краткий файл для подготовки

И здесь главное не запутаться:

Skill — это не более навороченный Tool, он вообще может существовать без tools — они отвечают за разные вещи

Tool говорит:

«Я умею открывать календарь»

Skill говорит:

«Я знаю, что делать с информацией из календаря, чтобы нормально подготовить тебя к встрече»

Например, skill «Проведи UX-критику интерфейса» может просто содержать инструкцию: сначала определить пользовательскую задачу, затем проверить иерархию, понятность действий и только потом давать рекомендации

Никакой внешний сервис для этого может быть не нужен

Или возвращаясь к нашему несчастному повару:

Дать человеку нож — это tool

Научить его печь торт — это skill

А как выглядит skill на практике?

Здесь под skills мы понимаем Agent Skills — готовые наборы инструкций и материалов, которые помощник может использовать для определённых задач

Основа такого skill — текстовый файл SKILL.md. В нём описано, для чего нужен skill и как выполнять работу

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

Возвращаясь к повару, тут: мы дали ему рецепт, по которому можно готовить

А зачем вообще всё это различать?

Потому что дальше почти любая более сложная ИИ-система собирается примерно из этих же деталей: сначала мы решаем, что AI должен уметь делать → и даём ему нужные tools, а потом объясняем, как именно он должен выполнять работу → и создаём skills

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

Но это уже следующая серия нашей заварушки!