00:00:00Как оказалось, «навыки» — не самый лучший способ передачи контекста вашим ИИ-агентам. Возможно, стоит вернуться к старому доброму файлу agents.md.
00:00:08К такому неожиданному выводу пришли в Vercel, когда тестировали лучшие методы обучения кодинг-агентов работе с документацией Next.js.
00:00:15Давайте сразу перейдем к делу и разберем, что именно произошло, почему так случилось и чему это учит нас в плане эффективного использования агентов.
00:00:26Итак, цель Vercel заключалась в том, чтобы дать агенту дополнительный контекст — документацию Next.js. Это нужно, чтобы при написании кода агент знал о новых API, которых может не быть в обучающих данных.
00:00:41Или наоборот: если у вас старая версия Next.js, агент должен использовать только те методы, которые доступны именно в ней.
00:00:47Они хотели создать систему документации, привязанную к конкретной версии, которой мог бы пользоваться агент.
00:00:51Для этого они протестировали два популярных подхода.
00:00:54Первый — это «навыки» (skills).
00:00:56В последнее время они стали очень популярны: многие фреймворки и инструменты внедряют их в свою работу.
00:01:01Иронично, что Vercel сами способствуют этой популярности через свой Skills CLI и репозиторий с навыками.
00:01:08Очень рекомендую ознакомиться с ними.
00:01:09Если вы не знаете, что такое навыки, то это открытый стандарт от Anthropic. По сути, это модульные наборы инструкций, скриптов и контекста, которые агент загружает по мере необходимости.
00:01:20Но здесь есть важный нюанс: агент сам решает, когда именно загружать эту информацию.
00:01:26И в этом, похоже, и кроется главная проблема. Когда Vercel проводили тесты, выяснилось, что в 56% случаев навык вообще не задействовался.
00:01:35Агент просто решал его не использовать.
00:01:37Что еще удивительнее, наличие навыка никак не улучшило результаты тестов по сравнению с агентом, у которого его не было.
00:01:44Более того, выяснилось, что навыки могут иметь даже негативный эффект.
00:01:48Иногда агент справлялся хуже базового уровня, когда навык не использовался. Это намекает на то, что неиспользуемый навык создает лишний «шум» или отвлекает модель.
00:01:57Чтобы исправить это, они попробовали прямо прописать в промпте: «Пожалуйста, используй этот навык».
00:02:02Это помогло. Частота срабатывания навыка выросла до 95%, а успешность прохождения тестов — до 79%.
00:02:09Но возникли другие проблемы. Оказалось, что разные формулировки дают совершенно разные результаты.
00:02:15Например, если сказать «ты обязан использовать навык», он его использовал, но при этом игнорировал контекст самого проекта.
00:02:21Приходилось писать: «используй и навык, и контекст проекта».
00:02:24В Vercel сочли такую систему слишком хрупкой, отметив, что если мелкие правки в тексте так сильно меняют поведение, то подход не подходит для серьезной разработки.
00:02:33Им нужно было более надежное решение, где агенту не пришлось бы самому принимать решение о доступе к данным.
00:02:40И тогда они попробовали файл agents.md.
00:02:42Это открытый формат, который поддерживают многие агенты. Если вы пользуетесь Claude, то это полный аналог claude.md.
00:02:49Он используется для передачи инструкций, которые всегда включаются в системный промпт агента.
00:02:53В отличие от навыков, агент не решает, подгружать ли данные.
00:02:58Они уже есть в системном промпте. Но тут может возникнуть проблема объема контекста.
00:03:03Это ситуация, когда при разрастании контекста качество ответов падает.
00:03:06Вы же не хотите запихивать всю документацию Next.js целиком в agents.md.
00:03:10Как же быть? Чтобы избежать перегруза, Vercel просто поместили в agents.md индекс документации.
00:03:17Это обычный список путей к отдельным файлам документации в вашей файловой системе.
00:03:22И еще один важный момент — инструкция: «отдавай приоритет поиску в документации, а не знаниям из обучения, при выполнении любых задач по Next.js».
00:03:31Честно говоря, когда я это прочитал, я подумал, что результат будет как с навыками, ведь агенту все равно нужно самому идти и читать эти файлы.
00:03:38Но когда они провели тесты, агенты набрали 100% во всех сценариях и получили идеальные баллы в тестах на сборку, линтинг и проверку кода.
00:03:47То есть это гораздо надежнее и точнее, чем навыки. Классика программирования.
00:03:53Более простой и даже «глупый» подход в итоге оказался самым эффективным. Не нужно ничего переусложнять.
00:03:58Но почему так? Почему файл agents.md работает лучше навыков? Сказать трудно.
00:04:03ИИ — это своего рода «черный ящик», но в Vercel предполагают, что дело в трех факторах, связанных с принятием решений.
00:04:10Когда есть файл agents.md, агенту не нужно ничего решать.
00:04:14Мы сразу в системном промпте говорим ему использовать документацию и указываем, где лежит каждый файл.
00:04:20Знания становятся постоянным контекстом, а не опцией, которую модель может выбрать или проигнорировать.
00:04:27Они уже встроены в процесс рассуждения, так как мы дали их в системном промпте.
00:04:31Но это не значит, что навыки бесполезны. Напротив, в Vercel обнаружили, что они отлично дополняют друг друга.
00:04:36Навыки лучше подходят для конкретных действий по запросу пользователя, например: «обнови мою версию Next.js»,
00:04:41«перейди на App Router» или «примени лучшие практики фреймворка».
00:04:45Но если вам нужно, чтобы агент в целом хорошо разбирался во фреймворке,
00:04:48то пассивный контекст через agents.md сработает лучше навыков, особенно на текущих моделях.
00:04:54Уверен, в будущем модели оптимизируют под работу с навыками, но пока мы к этому не пришли.
00:04:59Сейчас рекомендации Vercel (особенно для авторов фреймворков и тех, кто пишет инструкции для агентов) таковы:
00:05:06Не ждите, пока навыки станут лучше. Максимально сжимайте контекст.
00:05:10Проектируйте систему под поиск информации, а не под запоминание. И главное — всегда всё тестируйте.
00:05:16А для обычных пользователей Vercel выпускает инструмент для скачивания документации
00:05:21и готового файла agents.md под вашу версию Next.js, чтобы вы могли внедрить этот подход прямо сейчас.
00:05:29Мне любопытно, последуют ли этому примеру другие инструменты. И что вы думаете по этому поводу?
00:05:34Пишите в комментариях свои мысли о «навыках» и «агентах».
00:05:37И не забудьте подписаться. Увидимся в следующем ролике!