- Главная
- Искусственный интелект
- ИИ-агенты: процедурная память, навыки и MCP
ИИ-агенты: процедурная память, навыки и MCP
Содержание
- Проблема: Блестящие умы и отсутствие инструкций
- Решение: Навыки как процедурная память
- Эффективность: Многоступенчатое раскрытие информации
- Сравнение: Навыки vs MCP vs RAG vs Тонкая настройка
- Безопасность и доверие в экосистеме навыков
- Когнитивная аналогия: Память человека и ИИ
- Заключение: Новая эра программируемых ИИ
Работая с большими языковыми моделями (LLM) мы привыкли к тому, что ИИ-агенты могут рассуждать, анализировать и даже генерировать креативный контент. Однако, несмотря на все свои таланты, агенты сталкиваются с фундаментальной проблемой: они знают что, но не всегда знают как. И именно для решения этой проблемы был разработан стандарт навыков ИИ-агентов — AI Agent Skills.
Эта статья — подробный разбор того, что такое навыки, как они работают, чем отличаются от других технологий и почему они стали открытым стандартом, принятым ведущими игроками отрасли.
Проблема: Блестящие умы и отсутствие инструкций
Представьте, что вы наняли гениального стажера, который обладает энциклопедическими знаниями. Он может рассказать вам об архитектуре Kubernetes, истории SQL или даже о скорости полета ласточки. Но если вы попросите его составить 47-шаговый финансовый отчет в точном соответствии с законодательством, он растеряется.
У такого агента есть два варианта действий в сложной, многошаговой задаче:
- Постоянно запрашивать подтверждение: «Делать шаг 1? А теперь шаг 2? А в шаге 3 использовать эту формулу?», что делает процесс невыносимо медленным.
- «Угадывать»: Пытаться выполнить задачу, полагаясь на общие знания, что с огромной вероятностью приведет к ошибкам.
Этой проблеме и дали название — нехватка процедурных знаний. Знаний о том, как именно выполняется работа, в какой последовательности и с какими нюансами.
Решение: Навыки как процедурная память
Навыки ИИ-агентов (Skills) — это способ внедрить процедурные знания в работу агента. Это своего рода «инструкция по эксплуатации» или детальный алгоритм, которому агент должен следовать.
Ключевая идея: Если LLM — это мозг агента, то навыки — это его мышечная память и отработанные рефлексы.
1. Анатомия навыка: простота как основа
Главная красота формата навыков — его невероятная простота. Навык — это обычная папка, содержащая файл skill.md в формате Markdown.
Структура навыка состоит из трех ключевых частей, как показано в таблице ниже:
| Компонент | Описание | Обязательность |
|---|---|---|
| Frontmatter (YAML) | Заголовок файла. Содержит метаданные, необходимые для идентификации навыка. | Обязательно |
| Инструкция (Markdown) | Основное тело файла. Содержит пошаговые рабочие процессы, правила, примеры ввода и вывода. | Обязательно |
| Дополнительные папки | scripts/, references/, assets/ для скриптов, документов и статических файлов. |
Опционально |
Frontmatter: Имя и Описание
Верхняя часть файла skill.md написана на YAML. Два поля являются обязательными:
- name: Название навыка (например,
pdf-builder). - description: Критически важное описание. Оно сообщает агенту, что делает навык и, самое главное, когда его следует использовать (условие срабатывания). Например: «Используйте этот навык, когда пользователь запрашивает создание или извлечение данных из PDF-файла».
Инструкция: Пошаговый алгоритм
Ниже вводной части идет основная инструкция. Это и есть сердце навыка. Здесь простым языком (в формате Markdown) описывается:
- Последовательность шагов.
- Правила и ограничения.
- Примеры корректного ввода и вывода.
- На что обратить особое внимание.
Дополнительные ресурсы (Опционально)
Папка навыка может содержать три типа дополнительных каталогов:
- scripts/: Содержит исполняемые файлы (Python, JavaScript, Bash), которые агент может запускать для выполнения конкретных действий.
- references/: Содержит дополнительную документацию, которая загружается только в том случае, если агенту понадобятся справочные данные.
- assets/: Содержит статические ресурсы, такие как шаблоны документов или файлы данных.
Эффективность: Многоступенчатое раскрытие информации
Если у агента установлено сотня навыков, загрузка их полных инструкций в контекстное окно LLM моментально «съест» весь бюджет токенов. Как же решается эта проблема?
Для этого используется механизм многоступенчатого (или поэтапного) раскрытия информации.
Процесс загрузки навыка происходит в три этапа.
Уровень 1: Метаданные (Оглавление)
- При запуске агент загружает только имена и описания всех навыков.
- Это занимает очень мало места в контексте и служит своего рода «оглавлением» его возможностей.
Уровень 2: Полные инструкции (Глава книги)
- Когда агент получает запрос, он сопоставляет его с описаниями навыков (благодаря своим собственным рассуждениям).
- Если найдено совпадение, агент загружает в контекст полный текст
skill.mdэтого навыка, получая детальные инструкции.
Уровень 3: Дополнительные ресурсы (Сноски и приложения)
- Если во время выполнения инструкции агенту требуются скрипты или справочные данные, он обращается к папкам
scripts/,references/илиassets/и загружает их. - Эти ресурсы задействуются только в момент реальной необходимости.
Этот подход позволяет агенту иметь доступ к огромной базе процедурных знаний, не перегружая свое «оперативное запоминающее устройство» (контекстное окно).
Пример навыка в действии
Чтобы лучше понять, как навык выглядит и работает на практике, рассмотрим конкретный пример — навык для финансового анализа. Этот навык учит агента тому, как анализировать финансовую отчетность компании и рассчитывать ключевые показатели эффективности.
Структура навыка
Навык представляет собой папку со следующей структурой:
financial-analyzer/
├── skill.md # Основной файл с инструкциями
├── scripts/
│ └── calculate_ratios.py # Скрипт для автоматического расчета
└── references/
└── industry_benchmarks.md # Справочные данные по отраслям
Содержимое файла skill.md
Вот как выглядит основной файл навыка:
---
name: financial-analyzer
description: Используйте этот навык, когда пользователь просит проанализировать финансовую отчетность, рассчитать коэффициенты ликвидности, рентабельности или сравнить показатели компании с отраслевыми бенчмарками.
version: 1.0.0
---
# Навык анализа финансовой отчетности
## Процесс анализа
### Шаг 1: Сбор данных
Запросите у пользователя бухгалтерский баланс и отчет о прибылях и убытках (за 3 года).
### Шаг 2: Расчет коэффициентов
Используйте скрипт `scripts/calculate_ratios.py` для расчета:
**Коэффициенты ликвидности:**
- Коэффициент текущей ликвидности = Оборотные активы / Краткосрочные обязательства
- Коэффициент быстрой ликвидности = (Оборотные активы - Запасы) / Краткосрочные обязательства
**Коэффициенты рентабельности:**
- Рентабельность продаж = Чистая прибыль / Выручка × 100%
- ROA = Чистая прибыль / Активы × 100%
- ROE = Чистая прибыль / Собственный капитал × 100%
### Шаг 3: Интерпретация
Для каждого коэффициента предоставьте:
1. Текущее значение с динамикой за 3 года
2. Нормативное значение (если применимо)
3. Оценку: "Выше нормы", "В пределах нормы" или "Ниже нормы"
### Шаг 4: Сравнение с отраслью
Обратитесь к `references/industry_benchmarks.md` и сравните показатели со средними по отрасли.
### Шаг 5: Формирование отчета
Структура финального отчета:
# Финансовый анализ компании [Название]
## 1. Общие показатели
- Выручка, прибыль, активы
## 2. Анализ ликвидности
[Таблица с коэффициентами и оценкой]
## 3. Анализ рентабельности
[Таблица с коэффициентами и оценкой]
## 4. Сравнение с отраслью
[Сравнительная таблица]
## 5. Ключевые выводы и рекомендации
- [Вывод 1]
- [Вывод 2]
- [Рекомендация 1]
Как это работает на практике
Когда пользователь обращается к агенту с запросом: «Проанализируй финансовую отчетность моей компании», происходит следующее:
1. Активация навыка: Агент видит, что описание навыка совпадает с запросом пользователя, и загружает полную инструкцию из skill.md.
2. Сбор данных: Следуя инструкции, агент запрашивает у пользователя необходимые документы.
3. Выполнение скрипта: После получения данных агент запускает Python-скрипт:
# scripts/calculate_ratios.py
def calculate_ratios(data):
# Расчет коэффициентов
ratios = {}
ratios['current_ratio'] = current_assets / current_liabilities
ratios['roe'] = (net_income / equity) * 100
return ratios
4. Интерпретация результатов: Используя справочные данные из references/industry_benchmarks.md:
# Отраслевые бенчмарки
## Розничная торговля
- Current Ratio: 1.2 - 1.8
- ROE: 15% - 25%
5. Формирование ответа: Агент выдает пользователю структурированный отчет с расчетами, оценками и рекомендациями.
Пример диалога с пользователем
Пользователь: «Проанализируй финансовую отчетность моей компании-ритейлера»
Агент: «Я активировал навык финансового анализа. Для начала мне нужен бухгалтерский баланс и отчет о прибылях и убытках за последние 3 года. Пожалуйста, загрузите файлы.»
[Пользователь загружает файлы]
Агент: «Получил данные. Выполняю расчет коэффициентов…»
[Запускается calculate_ratios.py]
Агент: «Анализ завершен. Ключевые выводы:
- Коэффициент текущей ликвидности: 1.8 (норма для ритейла: 1.2-1.8) ✅
- ROE: 22.5% (выше среднего по отрасли 20%) ✅
- Коэффициент долговой нагрузки: 1.2 (требует внимания, норма < 1.0) ⚠️
Хотите получить полный PDF-отчет?»
Что демонстрирует этот пример
| Аспект навыка | Как проявляется в примере |
|---|---|
| Процедурные знания | Четкая последовательность из 5 шагов |
| Многоступенчатое раскрытие | Сначала загружается только описание, затем инструкция, потом скрипты |
| Исполняемые скрипты | Python-скрипт для автоматизации расчетов |
| Справочные данные | Отраслевые бенчмарки из папки references/ |
| Практическая ценность | Агент превращается в полноценного финансового аналитика |
Сравнение: Навыки vs MCP vs RAG vs Тонкая настройка
Навыки — не единственный способ обогатить знания агента. Важно понимать, чем они отличаются от других подходов, чтобы использовать их в связке.
| Технология | Что это? | Что дает агенту? | Ключевое ограничение |
|---|---|---|---|
| Навыки (Skills) | Процедурные знания | Как делать. Инструкции, алгоритмы, последовательности действий. | Не предоставляют инструментов для внешнего мира. |
| MCP (Model Context Protocol) | Доступ к инструментам | Что можно делать. Возможность вызывать внешние API и сервисы. | Не говорит, когда вызывать и как обработать результат. |
| RAG (Retrieval-Augmented Generation) | Фактические знания | Что знать. Поиск и извлечение релевантной информации из базы знаний. | Не учит, как применять эти знания на практике. |
| Тонкая настройка (Fine-tuning) | Встраивание знаний в модель | Постоянное, глубокое изменение поведения модели. | Дорого, негибко, требует переобучения при обновлении модели. |
Итог: Навыки не заменяют MCP или RAG, а дополняют их. Навык может определять, когда и как использовать инструмент из MCP, или ссылаться на справочную информацию из RAG для выполнения конкретного шага.
Безопасность и доверие в экосистеме навыков
Простота формата и возможность запускать скрипты делают навыки чрезвычайно мощными, но и несут в себе риски. Когда агент выполняет скрипт, он часто делает это локально на вашем компьютере, имея доступ к файловой системе, переменным окружения и API-ключам.
Проверки показывают, что в публичных репозиториях навыков могут встречаться вредоносные элементы:
- Внедрение подсказок (Prompt Injection).
- Скрытое вредоносное ПО (Hidden Malware).
- Отравление инструментов (Tool Poisoning).
Поэтому к установке навыков следует относиться с той же ответственностью, что и к установке любой программной зависимости. Всегда проверяйте навык перед запуском.
Когнитивная аналогия: Память человека и ИИ
Чтобы лучше понять архитектуру современных агентов, можно провести аналогию с типами человеческой памяти.
| Тип памяти | Описание (Человек) | Аналог в ИИ |
|---|---|---|
| Семантическая | Факты: «Рим — столица Италии». | Базы знаний, RAG. |
| Эпизодическая | События: «Прошлым летом я был в Риме». | История чатов, журналы взаимодействий. |
| Процедурная | Навыки: «Как управлять скутером в Риме». | Файлы навыков (Skills). |
Заключение: Новая эра программируемых ИИ
Навыки ИИ-агентов стали тем недостающим звеном, которое превращает умные, но иногда беспомощные языковые модели в эффективных цифровых помощников.
Это открытый стандарт, опубликованный на (откроется в новой вкладке)agentskills.io и принятый на многих платформах: от Claude Code до OpenAI Codex.
Это файлы Markdown, которые можно контролировать по версиям, легко обновлять и переносить между платформами.
Это процедурная память, которая дает агентам способность выполнять сложные, повторяющиеся задачи без вмешательства человека.
Теперь агент, который знает скорость полета африканской и европейской ласточки, может научиться следовать 47-шаговому алгоритму, автоматизировать вашу работу и сделать вас значительно эффективнее.