Навык (Skill) для AI-агента

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

Определение

Навык (skill) — это упакованный, переиспользуемый блок процедурного знания, который расширяет возможности AI-агента для выполнения конкретного класса задач. В отличие от общей модели, которая пытается решить любую задачу «с нуля» опираясь только на свои веса, навык предоставляет агенту:

  1. Явные инструкции («как делать») — пошаговые процедуры, чек-листы, правила принятия решений;
  2. Контекстные ограничения среды (доступные библиотеки, форматы вывода, лимиты API), которые не входят в обучающие данные модели и могут устаревать;
  3. Опционально — исполняемые ресурсы: скрипты, шаблоны, вспомогательные файлы, референсные данные.

Формально навык можно определить как набо (множество):

Skill = (Trigger, Instructions, Resources, Scope)

где:

  • Trigger — условие/описание, по которому агент решает, что навык релевантен текущей задаче;
  • Instructions — процедурное знание в текстовом виде (best practices, порядок действий, edge cases);
  • Resources — вспомогательные артефакты (код, шаблоны, справочные таблицы);
  • Scope — границы применимости навыка (что он покрывает, а что — нет).

Зачем навыки нужны: логика и обоснование

Навыки решают три конкретные проблемы агентных систем:

1. Ограниченность контекстного окна. Модель не может держать в контексте инструкции для всех возможных задач одновременно — это увеличивает время ответа, стоимость и «размывает» точность постановки задачи и данные на вход. Навыки загружаются по требованию (lazy loading): агент сначала видит только краткое описание навыка (метаданные), и лишь при совпадении с задачей подгружает его полное содержимое.

2. Проблема устаревания весов модели. Веса модели фиксированы на момент обучения и не отражают: специфику конкретной инфраструктуры (доступные библиотеки, версии API), изменения во внешних продуктах, узкоспециализированные внутренние регламенты компании. Навык — это способ инъекции актуального знания без дообучения модели (аналог retrieval, но для процедур, а не фактов).

3. Воспроизводимость и контроль качества. Без навыка модель может решить одну и ту же задачу по-разному в разных диалогах (высокая дисперсия). Навык фиксирует «одобренный» способ решения, полученный методом проб и ошибок экспертами — это снижает дисперсию и повышает предсказуемость выхода.

Навык vs Инструмент (Tool) — принципиальное отличие

Это разграничение критично для документации, так как термины часто путают:

Tool (инструмент)Skill (навык)
Что этоФункция/API с формальной сигнатурой (вызов, параметры, возврат)Процедурное знание + (опционально) набор инструментов и ресурсов
Что даёт агентуВозможность действовать во внешнем миреЗнание, как и когда правильно использовать инструменты
Примерsend_email(to, subject, body)«Как писать деловые письма: структура, тон, когда уместен follow-up»

Инструмент отвечает на вопрос «что агент может сделать физически». Навык отвечает на вопрос «как это следует делать в данном контексте, чтобы результат был качественным». Навык часто оборачивает один или несколько инструментов инструкцией по их правильному применению.

Пример навыка: «Генерация финансового отчёта в Excel»

Ниже — минималистичный, но реалистичный пример структуры навыка в виде файла-манифеста (паттерн SKILL.md), который применяется в промышленных агентных системах:

---
name: excel-financial-report
description: >
  Используется, когда пользователь просит собрать, отформатировать или
  проверить финансовый отчёт (P&L, баланс, cash flow) в формате .xlsx.
  Триггеры: "финансовый отчёт", "P&L", "excel модель", "баланс за квартал".
---

# Навык: Финансовый отчёт в Excel

## Когда применять
Запрос предполагает файл .xlsx с финансовыми данными: расчёты, формулы,
сводные таблицы, форматирование для последующей презентации руководству.

## Инструкции
1. Никогда не записывай как числа вычисляемые значения — используй формулы Excel
   (SUM, SUMIFS, XLOOKUP), чтобы отчёт оставался живым при правке исходных данных.
2. Числовые ячейки: формат валюты с разделителем тысяч, 2 знака после запятой.
3. Итоговые строки — жирным шрифтом, заливка светло-серым.
4. Перед сдачей — пересчитай и проверь: сумма по подразделениям должна
   совпадать с итоговой строкой (кросс-валидация).
5. Прикладывай лист "Предположения" с исходными допущениями, если они
   использовались в расчётах.

## Пример вызова
Пользователь: "Собери P&L за Q2 из этих данных о продажах"

Что здесь происходит логически:

  • description — это триггер: короткий текст, по которому агент поймёт релевантность этого навыка запросу без загрузки всего файла;
  • секция «Инструкции» — не пересказ того, что модель и так знает про Excel (это было бы бесполезно и тратило бы контекст), а специфические, «выстраданные» практики: как избежать типичных ошибок (хардкод чисел вместо формул, несовпадение итогов);
  • пример вызова закрепляет паттерн нескольких проходов исполнения (итерации), снижая риск неправильной интерпретации задачи.

Ключевой критерий качественного навыка

Хороший навык добавляет то, чего модель не могла бы вывести самостоятельно из общих знаний:

  • специфику окружения (пути к файлам, доступные библиотеки, лимиты),
  • организационные регламенты (стиль компании, юридические ограничения),
  • накопленный опыт «на граблях» (что ломается, если сделать иначе).

Если инструкция в навыке — это то, что модель и так умеет делать хорошо по умолчанию, она не несёт ценности и лишь засоряет контекст.

Источники и дальнейшее чтение

Содержание