Microsoft випустила стабільний фреймворк Agent Skills для Python 15 липня. Він дозволяє розробникам підключати можливості лише тоді, коли вони фактично потрібні агенту під керуванням LLM. Замість одного постійно зростаючого системного промпту використовується завантаження навичок за запитом, що зменшує розмір промпту, знижує витрати на токени та робить міркування агента чіткішими.
Чому промпти роздуваються і чому це важливо
LLM-агенти покладаються на «системний промпт», який об'єднує політики, інструкції (runbooks) та довідкові матеріали, які модель має бачити під час кожного кроку. Додайте кілька документів із політиками — і промпт роздувається до кількох тисяч токенів. Більші промпти підвищують витрати на інференс (кожен оброблений токен тарифікується) і розмивають сигнал інструкцій, роблячи відповіді агента менш чіткими. Під час сортування інцидентів або перевірки відповідності (compliance checking) розмитий промпт може перетворити корисного помічника на джерело дезінформації.
Патерн Agent Skills: поступове розкриття
Новий фреймворк замінює монолітний промпт на чотириетапний робочий процес:
- Анонсування навички — легкий запис метаданих, який повідомляє рівню маршрутизації назву навички.
- Завантаження інструкцій — стислий опис, який агент читає, щоб вирішити, чи відповідає навичка запиту.
- Читання ресурсів — необов'язкові файли політик або довідкові матеріали, які завантажуються лише після того, як агент обере навичку.
- Запуск скриптів — виконання коду для здійснення дії, що потребує явного підтвердження.
Тільки короткий файл SKILL.md знаходиться в основному промпті. Усі більші документи та скрипти розміщуються в пакеті навичок на основі файлів, який середовище виконання підтягує за запитом. Структура каталогів залишається простою:
SKILL.md— короткий опис, зрозумілий людині.references/— файли політик або інструкцій.scripts/— виконуваний код.
Оскільки агент ніколи не бачить повного вмісту references/ або scripts/, доки не вирішить, що навичка підходить, основний промпт залишається лаконічним, незалежно від кількості зареєстрованих навичок.
Засоби безпеки, вбудовані у фреймворк
Фреймворк передбачає, що завантаження навички може бути ризикованим, і встановлює правила, яких повинні дотримуватися розробники:
- Анонсування назви навички — автоматично, використовується лише для маршрутизації.
- Завантаження інструкцій — автоматично для кураторських списків; неперевірені інструкції можуть ненавмисно змінити поведінку.
- Читання політик — автоматично, якщо дані не є конфіденційними; зберігайте конфіденційні матеріали під додатковим контролем доступу.
- Виконання скриптів — завжди потребує явного підтвердження. Скрипт переводить агента від «пропозиції» до «дії», тому має втрутитися людина або перевірка політик.
- Виклики зовнішніх систем — мають проходити через окремі інструменти з обмеженими правами; сама навичка не є механізмом авторизації.
Ці правила спонукають розробників починати з робочих процесів лише для читання — сортування інцидентів, пошуку політик, запитів статусу — перш ніж намагатися виконувати дії, орієнтовані на запис, такі як оновлення баз даних або розгортання коду.
Операційна гігієна: логування та версіонування
Коли навичка виконується, фреймворк заохочує (а багато розгортань вимагають) логування:
- Початкового запиту та обраного ID навички.
- Версії пакета навички, що використовувалася.
- Чи завантажив агент лише опис, чи також отримав файл ресурсу.
- Рішення про підтвердження виконання скрипта.
- Усіх наданих аргументів інструментів та отриманих результатів.
Якщо агент обирає не ту навичку, перетворіть цю помилку на тест-кейс. Це створить перевірку на регресію перед тим, як навичка потрапить у продакшн.
Ставтеся до кожної навички як до версіонованої залежності з чіткими межами, а не як до розрізненої папки з промптами. Версіонування дозволяє відкотити несправний скрипт, не порушуючи роботу решти бази знань агента.
Початок роботи: прагматичний чек-лист
- Оберіть робочий процес лише для читання — наприклад, «знайти останні рекомендації щодо інцидентів безпеки».
- Пакуйте інструкції та скрипти окремо — тримайте
SKILL.mdкоротким; зберігайте важкі файли політик уreferences/. - Створіть каталог — ведіть список схвалених навичок і забезпечте обов'язкове підтвердження для будь-якого скрипта.
- Встановіть обмеження пісочниці — визначте обмеження CPU, пам'яті та мережі для виконання скриптів; логуйте кожен запуск.
- Проведіть бенчмаркінг зі старим мега-промптом — порівняйте використання токенів, затримку та рівень успішності, щоб підтвердити економію витрат.
На що звернути увагу далі
Реліз Microsoft наразі є стабільною реалізацією для Python.
Підсумок
Agent Skills дозволяють асистентам на базі LLM залишатися легкими, забезпечуючи при цьому доступ до постійно зростаючої бібліотеки політик і скриптів. Завдяки завантаженню лише опису на початковому етапі та підтягуванню важких ресурсів лише за потреби, промпти залишаються короткими, витрати на інференс знижуються, а логічне мислення агента залишається зосередженим.
