Вы, скорее всего, не используете весь потенциал навыков агентов!

AAcademind
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00При работе с Cloud Code, Codex или любым другим агентным инструментом разработки есть одна очень важная
00:00:05концепция, которую поддерживают все эти инструменты, и которую вам следует понять и использовать — это концепция
00:00:12навыков агента (agent skills). Их легко проигнорировать, потому что это просто набор markdown-файлов или потому что
00:00:18их настройка может быть громоздкой, но, по моему опыту, оно того стоит. И пару дней назад был
00:00:24пост от кого-то из команды Cloud Code, то есть от кого-то из Anthropic, где он поделился
00:00:31различными типами навыков, которые они используют внутри компании, потому что действительно можно выделить
00:00:37разные типы навыков, которые вы хотите создать. В конечном счете это всё просто markdown-файлы, хотя
00:00:42вы можете добавить в них чуть больше, я к этому еще вернусь, но, конечно, содержимое этого файла может
00:00:49сильно различаться. Это изображение здесь и весь этот пост могут показаться довольно сложными и могут привести
00:00:56к тому, что вы вообще ничего не сделаете, подумав: «Ладно, если мне нужно потратить неделю на настройку навыков, я лучше»
00:01:02«не буду их использовать вовсе». Именно поэтому в этом видео я хочу предложить альтернативу. Я считаю, что
00:01:08вам достаточно иметь три основных типа навыков, о которых стоит заботиться, и это приведет к лучшим
00:01:15результатам. Кстати, как я уже упоминал, все эти инструменты поддерживают навыки. Я рассказываю, как их настраивать, как
00:01:20активно их вызывать, как создавать навыки для Cloud Code и Codex в моих соответствующих курсах, и если вы
00:01:26хотите приобрести эти курсы или получить доступ ко всем моим курсам, включая будущие, прямо сейчас я
00:01:31провожу акцию, по которой вы можете получить годовое членство, дающее полный доступ ко всем моим
00:01:35курсам на время действия подписки по очень низкой цене. Ссылка внизу. Но что касается этих
00:01:41навыков, это просто markdown-файлы. Markdown-файлы, которые хранятся в специальном месте, и
00:01:46конкретное место зависит от используемого инструмента, но в итоге они служат шаблонами промптов или
00:01:52дополнительными контекстными данными, которые могут быть внедрены в ваши сессии агентной разработки. И
00:02:01первый тип навыка — это навык документации или, я бы сказал, навык знаний. Что я имею в виду?
00:02:09Сейчас я нахожусь в своем проекте academy.com, это проект моего веб-сайта, и там у меня есть ряд
00:02:15навыков агента, которые по сути являются своего рода документацией или знаниями, которые я открываю ИИ-агенту.
00:02:25Например, здесь есть знания по TypeScript, знания о более продвинутых функциях
00:02:33TypeScript, возможно, о каких-то новых фишках, таких как ключевое слово "satisfies", которого не было
00:02:40последние 10 лет. Это то, о чем я хочу, чтобы ИИ-агент знал или о чем ему нужно напомнить, потому что это может
00:02:50быть не первым, к чему он прибегнет, так как он мог не видеть так много подобного материала в своих данных
00:02:58для обучения. Так что это действительно то, что можно найти в официальной документации TypeScript. Проблема
00:03:04только в том, что если вы явно не скажете агенту об этом, он, скорее всего, не пойдет в ту официальную
00:03:11документацию, он не пойдет в документацию TypeScript, поэтому я предпочитаю иметь свой собственный навык, и
00:03:17у этого навыка здесь есть метаданные. Метаданные важны, потому что идея навыков в том,
00:03:24что не все доступные навыки загружаются в окно контекста каждый раз. Вместо этого только
00:03:30метаданные загружаются в контекстное окно, и затем ИИ-агент может решить, какой навык он хочет
00:03:37прочитать подробнее, в зависимости от вашего промпта и задач, которые вы ему дали. Вы также можете активно вызывать навыки
00:03:43в зависимости от используемого инструмента, но основная идея заключается в том, что агент загружает их самостоятельно
00:03:47на основе этих метаданных. Итак, здесь у меня есть метаданные, с помощью которых я пытаюсь дать агенту представление о том,
00:03:55когда использовать этот навык, и поэтому это один из типов навыков, когда вы предоставляете дополнительную документацию
00:04:02или знания, которых у агента может не быть. Возможно, вы работаете с какой-то библиотекой, которой
00:04:08не было в обучающих данных, потому что она совсем новая, или о которой, как вы знаете, он, возможно, видел мало
00:04:13информации, и вы хотите, чтобы он был в курсе — это первый тип навыка, я бы сказал.
00:04:18Второй тип навыков — это поведение, лучшие практики, подходы и всё в таком духе. И здесь идея
00:04:29действительно в том, что, конечно, когда вы работаете над проектом, у вас могут быть определенные предпочтения относительно
00:04:37стиля кода или того, как должны выполняться те или иные задачи. Так, например, у меня есть навык
00:04:45«чистый современный код React», который не столько документирует функции React, сколько
00:04:50устанавливает некоторые правила, которым агент должен следовать при написании кода React, чтобы гарантировать,
00:04:59что определенные антипаттерны будут встречаться реже. По крайней мере, для меня сейчас ИИ-агенты склонны генерировать
00:05:08код, который не всегда самого высокого качества, и можно спорить о том, важно ли вам качество
00:05:13кода вообще. Я создал отдельное видео об этом на другом канале. Я бы сказал, что это
00:05:18важно, потому что качество кода имеет значение для возможности его проверки. Это может иметь
00:05:23последствия для производительности, это может влиять на то, насколько легко код поддерживать или расширять, поэтому я считаю, что это
00:05:29важно. И если у вас есть определенные модели поведения или паттерны, которые вы хотите, чтобы агент использовал, то такой
00:05:36поведенческий навык, где вы объясняете ему, как писать хороший код React, чего ему следует избегать (например,
00:05:43использования useEffect) и как этого избежать, — такой навык может быть очень полезным. Здесь речь меньше о
00:05:50предоставлении дополнительной документации или знаний, а больше о предписании поведения. И что
00:05:55интересно в этом навыке, так это то, что здесь у меня есть связанные файлы с файлом, содержащим более подробную информацию
00:06:02об useEffect. Поскольку все эти файлы навыков загружаются «лениво», как я уже говорил, вы можете
00:06:09в файле навыка ссылаться на другой файл, например, на этот файл useEffect.md в папке references,
00:06:15и тогда ИИ может решить загрузить этот файл только тогда, когда он поймет, что работает с useEffect,
00:06:21что он делает что-то с useEffect. Таким образом, здесь у меня есть более подробные сведения об антипаттернах,
00:06:27о которых он должен знать. Настройка таких навыков может быть вполне оправдана еще и потому,
00:06:33что я, конечно, могу скопировать это в любой React-проект, мне не нужно переписывать всё каждый раз, и это
00:06:39может привести к улучшению кода. Это второй тип навыков, который я рекомендую использовать, и вам не нужно
00:06:45продумывать все возможные паттерны, которые вы хотите описать. Вместо этого просто действуйте шаг за шагом: если
00:06:52вы видите, что в вашем проекте ИИ-агент постоянно делает что-то, чего вы не хотите,
00:06:58добавьте навык, в котором продумайте хорошее описание, повышающее шанс загрузки навыка
00:07:04в нужное время, и поместите свои инструкции в этот навык. Используйте его для исправления ошибок, и со временем
00:07:11вы создадите библиотеку навыков со своими специфическими лучшими практиками и поведением, которые хотите внедрить,
00:07:17и сможете использовать это в будущих проектах. Так что не воспринимайте это как огромную предварительную задачу, которая
00:07:22пугает своей сложностью. Вместо этого стройте базу навыков постепенно. Теперь третий тип навыков, и
00:07:29это уже другой тип — навыки, ориентированные на функциональность. До сих пор мы говорили о документации
00:07:37и о навязывании специфического поведения. Но эти инструменты агентной разработки, такие как Cloud Code, Codex,
00:07:43могут делать самые разные вещи. Они могут писать код, очевидно, но вы не ограничены написанием
00:07:49кода в проектах. Поскольку они могут писать код, они могут делать всё что угодно на вашем компьютере, если захотите.
00:07:55Вы можете использовать их, например, для анализа PDF-документов. Или у меня есть глобальные навыки в системе,
00:08:03которые не относятся только к программированию (некоторые относятся, но не все). Вы могли бы настроить навык, который
00:08:09объясняет агенту, как сгенерировать изображение. Что я имею в виду? Существуют, конечно, различные
00:08:16сервисы или API, которые можно использовать для генерации изображений или видео с помощью ИИ, например, fal.ai. Это,
00:08:24кстати, не спонсируемое видео. Есть также Replicate и другие сервисы. И конечно,
00:08:29если вы хотите сгенерировать изображение, скажем, вам нужна заглушка для вашего сайта или
00:08:34для чего-то совершенно другого — изображение, которое вы хотите распечатать и повесить на стену — вы можете использовать эти
00:08:41сервисы. Вы могли бы использовать Codex, Cloud Code или Py-агента, который мне очень нравится, и попросить его сгенерировать
00:08:49изображение для вас. По умолчанию он, скорее всего, потерпит неудачу, потому что у этих агентных инструментов разработки
00:08:54нет встроенных возможностей генерации изображений. Но если вы дадите им подходящий навык, который по-прежнему
00:09:00является просто markdown-файлом, в нем вы сможете описать, как взаимодействовать с каким-либо сторонним
00:09:06API для генерации изображения. Простое описание этого взаимодействия может быть одним из способов, но вы можете пойти
00:09:12дальше: ваши навыки также могут сопровождаться скриптами. Не всем они нужны, но здесь мой навык генерации
00:09:18изображений это делает. Этот скрипт был, честно говоря, написан искусственным интеллектом, он был «vibe-coded» (написан на вайбе),
00:09:26и в нем у меня есть скрипты, взаимодействующие с API fal — сервисом генерации изображений.
00:09:34По сути, я взял их документацию, вставил её в промпт и сказал ИИ-агенту написать мне
00:09:40инструмент, который может использовать этот API от fal для генерации изображений. Так был написан небольшой CLI-инструмент,
00:09:49скрипт, который может обращаться к этому API и генерировать изображения с различными
00:09:56параметрами и так далее. И затем файл skill.md просто объясняет, как использовать этот скрипт,
00:10:02указывает на него и говорит агенту, как его запустить, какие параметры передать и так далее. И затем
00:10:08у меня есть файл .env с моим ключом fal, и когда этот скрипт вызывается через Bun (о чем я
00:10:18сообщаю ИИ в файле skill.md), этот файл .env загрузится автоматически. Так что мне не
00:10:23нужно давать агенту доступ к этому ключу, мне не нужно говорить: «Пожалуйста, сгенерируй изображение, и, кстати,
00:10:29вот ключ». Вместо этого я просто говорю ему сгенерировать изображение, и он, благодаря этому
00:10:34описанию, загрузит этот навык, когда нужно, и затем узнает, что ему просто нужно запустить
00:10:39скрипт, и ему не нужно беспокоиться о деталях реализации. И это еще один вид
00:10:45навыков, который кажется мне интересным, и он не связан только с программированием. У вас, конечно, также может быть
00:10:52навык на основе скрипта, который форматирует код или что-то еще, но в целом,
00:10:57поскольку вы действительно можете использовать этих агентов для чего-то большего, чем просто написание кода,
00:11:02это определенно еще одна категория навыков, о которой стоит знать. Но в целом, я бы сказал: не усложняйте,
00:11:08но и не игнорируйте это, а создавайте свою библиотеку навыков шаг за шагом. Стоит отметить, что,
00:11:14конечно, существуют реестры навыков, такие как skills.sh, где вы можете просматривать навыки, созданные другими людьми.
00:11:21Всего два важных замечания: это может быть очень полезно, но чего бы я не стал делать, так это говорить: «Так, я строю»
00:11:29«проект на React с Tailwind и Better Auth и чем-то еще, поэтому я найду все навыки,»
00:11:35«которые потенциально могут быть интересны, и установлю их все в свой проект». Это может
00:11:40быть контрпродуктивно, потому что вы загружаете всё больше и больше метаданных в свое контекстное окно,
00:11:47а некоторые из этих навыков могут просто не иметь значения. Это один из моментов, о которых стоит знать: я бы не стал всегда
00:11:53пытаться добавить все навыки, которые теоретически можно добавить. Вместо этого нужно быть избирательным и фокусироваться на
00:11:57тех вещах, в которых ИИ постоянно ошибается или где вы знаете, что потребуется дополнительная
00:12:04документация. Это один момент, а другой момент касательно этих реестров заключается в том, что вы
00:12:09включаете навыки, написанные другими людьми. Эти навыки, как мы узнали, являются просто промптами. Если
00:12:16в одном из этих промптов есть что-то вредоносное, это может стать проблемой. Это может привести к атаке
00:12:22типа «инъекция промпта» (prompt injection), и об этом следует знать. Некоторые реестры, такие как skills.sh, насколько мне известно,
00:12:28проводят какое-то сканирование, чтобы снизить опасность таких инъекций, но вы никогда не защищены на 100%,
00:12:36и об этом следует помнить. Поэтому всякий раз, когда вы используете навык, написанный
00:12:40кем-то другим, прочитайте его. Он доступен для ознакомления, посмотрите и проверьте, нет ли там чего-то
00:12:47вредоносного. Это просто предостережение. Но в остальном — используйте навыки, не думайте,
00:12:54что вам нужно строить суперсложную суперсистему прямо сейчас. Вместо этого поэкспериментируйте с ними и держите
00:13:00эти три основных типа навыков в уме.

Key Takeaway

Эффективное использование навыков агента через простые Markdown-файлы и скрипты позволяет значительно повысить качество кода и расширить возможности ИИ-инструментов разработки без избыточного усложнения системы.

Highlights

Концепция навыков агента (agent skills) — это Markdown-файлы, которые служат шаблонами промптов или контекстными данными для ИИ-инструментов.

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

Выделяются три основных типа навыков: навыки знаний (документация), поведенческие навыки (стандарты кода) и функциональные навыки (скрипты).

Функциональные навыки позволяют агентам выходить за рамки написания кода, например, генерировать изображения через сторонние API с помощью CLI-инструментов.

Рекомендуется строить библиотеку навыков постепенно, исправляя повторяющиеся ошибки ИИ, вместо того чтобы пытаться настроить всё сразу.

При использовании сторонних реестров навыков необходимо проверять их содержимое на предмет «инъекций промптов» и вредоносных инструкций.

Timeline

Введение в концепцию навыков агента

Спикер вводит понятие «навыков агента» как фундаментального элемента в таких инструментах, как Cloud Code и Codex. Многие разработчики игнорируют эту функцию из-за кажущейся сложности настройки, однако автор подчеркивает её высокую эффективность. В основе навыков лежат обычные Markdown-файлы, которые выступают в роли расширенного контекста или шаблонов для промптов. Вместо того чтобы тратить недели на сложную настройку, предлагается сфокусироваться на трех базовых типах. Это позволяет начать получать пользу от инструментов агентной разработки немедленно, не перегружая рабочий процесс.

Первый тип: Навыки знаний и документации

Первая категория включает в себя навыки, предоставляющие агенту специфические знания или документацию, которой может не быть в его обучающих данных. Автор приводит пример с использованием продвинутых функций TypeScript, таких как ключевое слово "satisfies", о которых ИИ может забыть или не знать. Важную роль здесь играют метаданные в заголовке файла, которые помогают агенту решить, нужно ли загружать полное содержимое навыка в текущую сессию. Это экономит контекстное окно, так как полная информация подтягивается только при необходимости. Таким образом, разработчик может гарантировать, что агент всегда использует самые актуальные API и библиотеки.

Второй тип: Поведенческие навыки и стандарты

Второй тип навыков фокусируется на поведении, лучших практиках и специфических подходах к написанию кода. В качестве примера рассматривается навык для написания «чистого современного кода React», который диктует агенту правила избегания антипаттернов, таких как злоупотребление useEffect. Эти файлы могут содержать ссылки на другие Markdown-документы, создавая иерархию знаний, которую ИИ исследует по мере выполнения задачи. Автор советует не прописывать все правила сразу, а добавлять их постепенно, когда вы замечаете повторяющиеся ошибки в работе ИИ. Такой итеративный подход позволяет создать персонализированную библиотеку стандартов, которую легко переносить между проектами.

Третий тип: Функциональные навыки и автоматизация

Третья категория — это функциональные навыки, которые позволяют агенту выполнять действия на компьютере, выходящие за рамки простого редактирования текста. Спикер демонстрирует, как с помощью навыка и небольшого скрипта можно научить агента генерировать изображения через API сервиса fal.ai. Скрипт может быть написан самим ИИ (так называемый "vibe-coding") и вызываться через описание в Markdown-файле без необходимости раскрывать агенту секретные ключи доступа напрямую. Это превращает ИИ-помощника в полноценного оператора системы, способного взаимодействовать со сторонними сервисами и инструментами командной строки. Такой подход значительно расширяет область применения агентных инструментов в повседневных задачах.

Реестры навыков и вопросы безопасности

В заключительной части обсуждаются внешние реестры навыков, такие как skills.sh, где можно найти готовые решения от сообщества. Однако автор предостерегает от бездумной установки всех доступных навыков, так как это перегружает контекстное окно и может снизить точность ответов. Особое внимание уделяется безопасности: сторонние навыки могут содержать «инъекции промптов», способные нанести вред проекту или данным. Рекомендуется всегда внимательно прочитывать содержимое Markdown-файлов перед их использованием, даже если сервис заявляет о проверке на безопасность. Итоговый совет видео — использовать навыки осознанно, постепенно развивая свою систему автоматизации.

Community Posts

View all posts