Transcription
Как создать собственные навыки агента в Visual Studio Code. GitHub Copilot. Навыки агента в последнее время привлекают к себе всеобщее внимание, и не зря. Навыки агента — это технология, представленная Antropic. Они были приняты широким сообществом ИИ, и по сути представляют собой список навыков внутри папки. Инструкции. Когда я говорю "навыки", мы имеем в виду инструкции, скрипты, ресурсы, которые ваш GitHub Copilot может использовать, когда хочет выполнить задачу. Навыки агента дают много преимуществ. Главное из них — то, что они выбираются самим ИИ-агентом. В случае с файлами подсказок, пользовательскими подсказками или пользовательскими агентами, которые мы уже использовали в Visual Studio Code, вам приходится выбирать их. И часто вы можете забыть, но с навыками агента агент выбирает их, когда они необходимы. Что еще более важно, навыки агента могут значительно дополнить пользовательские инструкции, которые вы уже даете GitHub Copilot. Теперь я поместил сюда ссылку на визуальные навыки в визуальных um агентах, навыки агента в Visual Studio Code, и вы можете перейти по этой ссылке, чтобы узнать больше об этом. Также требования я поместил сюда. Конечно, вам нужен Visual Studio Code, по крайней мере, версия 1.109.3. Так что, если у вас есть что-то старше, пожалуйста, обновитесь. Конечно, наличие учетной записи GitHub и GitHub Copilot. Если у вас нет подписки, вы можете воспользоваться пробной версией, и вы сможете использовать ее там. А также Git. Теперь это должно быть около Git um 2.52, что-то вроде того. Это Git, который у нас сейчас есть. Я бы упомянул Git, потому что если ИИ-агент будет редактировать ваш код, вам лучше иметь хороший контроль версий. У меня есть другое видео о том, как выполнять контроль версий с помощью Git. Вы можете посмотреть его. Хорошо. Теперь вот моя настройка папок. Просто откройте здесь. Вы можете видеть, где мои папки. Итак, у меня есть папка GitHub. Очень важно. И внутри нее у меня есть папка агентов. Это для пользовательских агентов. Пользовательские агенты отличаются от навыков агента. Мои общие инструкции, это очень важно, потому что там у меня есть инструкции о том, как я хочу, чтобы он писал мой CSS, мой HTML, мой JavaScript, мой PHP, и даже когда я пишу документы и мой Python, я не поместил этот туда. Um, так что вы помещаете все свои навыки туда, а затем, конечно, все свои инструкции туда. Хорошо, так что ваши инструкции, общие инструкции идут туда, и у вас также есть инструкции Copilot. Это первое, что GitHub Copilot будет искать. В моем случае я перенаправил его на agents.md, потому что все ИИ-агенты теперь понимают агентов. И вот мои агенты. Итак, это инструкции, которым они все будут следовать. Хорошо, так что все, что я показал вам до сих пор, не имеет отношения к навыкам. они все еще там, и они будут дополнены навыками. Хорошо, давайте закроем это, чтобы дать нам больше места. Итак, что мы хотим сделать сейчас, это создать навык агента для Visual Studio Code. Я собираюсь использовать шаблон, и я дал вам адрес, откуда я взял свой шаблон. Так что вы можете пойти туда. Я выделил его, и это навык под названием "рефакторинг". Это навык, который поможет вам проверить ваш код. Я уже скопировал один из них. Так что вы можете пойти туда, просто как только вы перейдете по этой ссылке, просто нажмите "raw" и скопируйте весь необработанный код. Навыки иногда поставляются с более чем одним файлом, но этот хорош. Это всего лишь один файл skills.md. Теперь я скопировал этот файл. Я поместил его в свою папку P, потому что я хочу внести в него некоторые изменения. Хорошо. Итак, вот он. Если вы пойдете и скопируете этот файл, вот что вы получите. Единственное отличие, которое у меня есть здесь, это то, что я поместил этот кусок сверху. И я также внес еще одно изменение. Обратите внимание, здесь я добавил эту часть. Теперь, когда вы идете и получаете навык, я настоятельно рекомендую вам прочитать его и посмотреть, что он говорит. Даже в репозитории не все написано так хорошо, не по их вине, но это очень быстро развивающаяся технология. Мне особенно нравится, как написан этот, потому что он очень общий, и я покажу вам, что я имею в виду, но это то, что я добавил, прежде чем вносить какие-либо изменения, прежде чем редактировать, изменять или удалять какой-либо код, вы должны, и я сказал ему, что я хочу, чтобы он сделал. Я хочу, чтобы он представил мне список всех файлов, которые он собирается отредактировать. Я хочу, чтобы он дал мне снимок всего соответствующего кода, который он собирается изменить. Я хочу, чтобы он кратко описал план изменений для этих элементов, и я хочу, чтобы он спросил меня и подождал моего подтверждения, прежде чем продолжить. Я проделал много работы над кодом. Я просто не хочу, чтобы один ИИ туда пошел и изменил все, не зная меня заранее. Теперь все это написано в markdown. Опять же, я дал вам ссылку на то, как вы можете писать эти вещи. Так что следуйте по ссылке в описании, но все это написано в markdown. Вы можете получить их копии. Кроме того, я ничего больше не менял. Но если вы прокрутите вниз и посмотрите на этот код, вы обнаружите, что он очень общий. И что я имею в виду под этим, так это то, что это может работать для PHP, это может работать для JavaScript. Он не был настолько специфичным. Это почти как псевдокод, но это нормально. И причина, по которой это будет работать хорошо для меня, заключается в том, что внутри моей папки GitHub у меня есть конкретные инструкции о том, как я хочу, чтобы он писал все эти отдельные файлы. Например, для моего JavaScript я очень конкретен, что он должен использовать по крайней мере ES6 и выше, что означает, что я не хочу никаких из этих V, если вы что-нибудь знаете о JavaScript. Хорошо, вот что я сделал. И вот мой файл навыка агента. Теперь вы, возможно, заметили, что я все еще держу это внутри, давайте сделаем это, внутри моей папки P. Это не то место, где оно должно жить. Навыки агента должны быть внутри папки skills. Теперь вы можете настроить, куда вы хотите, чтобы он шел, но если вы используете Visual Studio Code по умолчанию, он будет внутри вашей папки GitHub, и внутри нее будет папка skills, а затем внутри папки skills будут разные папки, которые носят имя навыка, который вы хотите использовать. Я собираюсь назвать этот refactor code. Так что будет еще один refactor code внутри папки skills, и именно туда он пойдет. Теперь самый простой способ сделать это — вот что. Я собираюсь скопировать все отсюда до конца. Я не копировал первую строку, потому что эту первую строку я поместил туда для ясности. Это не часть навыка. Хорошо. Итак, я копирую все это. Копировать. Итак, я скопировал это сейчас с другими правками, которые я добавил. И теперь я собираюсь перейти, давайте сделаем еще немного места здесь. Я собираюсь перейти к моему переключателю, чтобы перейти в мой чат. Вы видите этот маленький значок здесь, где написано "настроить". Я собираюсь нажать на него. И вы увидите навыки. Я собираюсь выбрать навыки. И теперь я хочу новый навык. И я хочу поместить его в папку GitHub skills. И я хочу назвать его refactor-code. Вот как я хочу его назвать. И нажать Enter. И вы видите, что он делает для меня. Теперь он назвал это тем же именем, что и папка, в которой оно находится. Теперь я могу внести изменения во все это, потому что я уже скопировал весь этот код. Я просто собираюсь вставить все, что я скопировал, поверх этого, а затем убедиться, что я вернусь и изменю это имя обратно на code. Хорошо, позвольте мне просто сохранить это, а затем, когда я вернусь сюда, в мои папки, теперь вы увидите, что внутри моей, давайте просто свернем эти. Правильно, внутри моей папки GitHub, сверните это вниз, моя папка skills. Обратите внимание, что у меня теперь есть refactor code. И это все. Мой навык теперь установлен. Теперь я просто закрою эту часть здесь. И я собираюсь um закрыть этот uh этот навык здесь. Я собираюсь закрыть это. Хорошо. А затем я собираюсь файл, закрыть папку. Теперь причина, по которой я закрываю папку, заключается в том, что я иногда замечаю, что когда вы создаете навык в первый раз, он не регистрирует его, если вы не закроете и не откроете приложение снова. Итак, теперь я снова открыл свое приложение, и там вы можете видеть мою папку skills, и там мой refactor. Хорошо. Итак, теперь давайте попробуем быстро запустить его. И для этого я собираюсь перейти в папку моей рабочей области, где у меня есть файл под названием moving text. Это очень простой, очень базовый маленький скрипт. Давайте посмотрим, смогу ли я показать его вам. Я собираюсь перейти в um, позвольте мне свернуть это. Я собираюсь щелкнуть правой кнопкой мыши по этому и открыть его в браузере по умолчанию. Вот мы. И если бы я сказал, um, дайте мне знать завтра. Хорошо. И когда я нажму "отправить", текст прокрутится со страницы, а затем появится сообщение: "Спасибо. Ваши слова были учтены". И это возвращается снова. Очень, очень простой базовый материал. Хорошо. Итак, вот он. Он написан на JavaScript. Позвольте мне проверить его. И для этого я собираюсь сделать следующее: я собираюсь нажать на это и сказать, так что вы можете видеть, что это на этой странице. Я собираюсь сказать "рефакторинг этого скрипта". По сути, проверьте его. Убедитесь, что он написан хорошо. Убедитесь, что он готов к производству. И давайте посмотрим. Вперед. Обратите внимание, я не говорил ему о своем навыке. Хорошо? Я просто сказал "рефакторинг этого скрипта". Теперь вы можете видеть, что он работает. Он прочитал мой CSS. Он показывает мне все страницы, которые я прочитал здесь, которые он консультирует. И давайте посмотрим здесь тоже. Здесь он, вероятно, um просмотрел инструкции по навыкам и текущие. Хорошо. И позвольте мне просто нажать здесь и посмотреть. Да. Хорошо. Итак, здесь он посмотрел на мой Copilot и мои агенты. Хорошо. Так что он все еще оценивает, идет дальше, и мы скоро ah теперь очень хорошо, теперь вы можете сразу увидеть, что он прочитал мои навыки, потому что, во-первых, он спрашивает, анимация остается, хорошо, мне следует продолжить? Теперь помните, в моих навыках я очень четко сказал ему, что прежде чем он внесет какие-либо изменения, он должен дать мне знать. И именно это он и сделал. Теперь позвольте мне сделать это немного больше для вас. Если вы нажмете здесь, я могу перейти сюда, чтобы вы могли видеть это гораздо лучше. Итак, вот мы. Um, так вот он. Um, просмотрел инструкции по навыкам, просмотрел пять файлов, проанализировал, рефакторинг кода, навык. Так что здесь вы можете видеть, что он прочитал навык и следовал ему. Я не говорил ему этого делать. Вам не обязательно. Пока вы вводите один из ключевых слов, таких как "рефакторинг", он посмотрит, есть ли у него этот навык. Он увидел, что он есть, он следовал руководящим принципам. Так что теперь мы um посмотрели на CSS, что хорошо. Он посмотрел на JavaScript, который также идет с ним, потому что это два файла, с которыми он работает. А затем он посмотрел на, он дал мне список того, что он собирается изменить. Итак, глобальная константа пользовательского ввода, обернуть все в I ifme. Хорошо. Вложенная анонимная функция, план изменений, извлечь это и это как отдельные именованные функции, что хорошо, хорошо, так что он, он, он, он рассказал мне все, что он собирается сделать. Я не буду слишком останавливаться на этом, но даже несмотря на то, что этот код был написан ИИ раньше, вы можете видеть, что он все еще мог внести в него изменения, и теперь он рассказал мне об изменениях, которые он собирается сделать. Следует ли мне продолжить? И теперь я должен сказать "да". Итак, здесь я собираюсь сказать "да, продолжайте". И он приступает к работе. Я собираюсь свернуть это. Поставить обратно. Итак, вот мы. Я вернулся сюда. И он уходит. Он делает свое дело. И вот он. Ну, я хочу, чтобы это было кратко. Итак, вот он. Навыки агента в Visual Studio Code. Пожалуйста, не забудьте поставить лайк и подписаться, и я принесу вам еще одно видео позже. Большое спасибо.