Transcription
Как создавать собственные навыки агента в Visual Studio Code. GitHub Copilot. Навыки агента в последнее время привлекают к себе всеобщее внимание, и не без причины. Навыки агента — это технология, представленная Anthropic. Они были приняты широким сообществом ИИ и представляют собой, по сути, список навыков внутри папки. Инструкции. Когда я говорю «навыки», мы имеем в виду инструкции, скрипты, ресурсы, которые ваш 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. Я собираюсь использовать шаблон, и я дал вам адрес, откуда я взял свой шаблон. Так что вы можете пойти туда. Я выделил это, и это навык под названием refactor. Это навык, который поможет вам проверить ваш код. Я уже скопировал, взял копию одного из них. Так что вы можете пойти туда, просто когда вы перейдете по этой ссылке, просто нажмите на 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, и именно туда он пойдет. Теперь самый простой способ сделать это — вот что. Я собираюсь скопировать все отсюда до конца. Я не копировал первую строку, потому что эту первую строку я добавил для ясности. Это не часть навыка. Хорошо. Итак, я копирую все это. Копировать. Итак, я скопировал это сейчас с другими правками, которые я добавил. И теперь я собираюсь перейти, давайте сделаем еще немного места здесь. Я собираюсь перейти к своему переключателю, чтобы перейти в свой чат. Вы видите этот маленький значок здесь, где написано configure. Я собираюсь нажать на него. И вы увидите skills. Я собираюсь выбрать skills. И теперь я хочу новый навык. И я хочу поместить его внутрь папки GitHub skills. И я хочу назвать его refactor-code. Вот как я хочу его назвать. И нажать Enter. И вы видите, что он делает для меня. Теперь он назвал это так же, как и папку, в которой оно находится. Теперь я могу внести изменения во все это, потому что я уже скопировал весь этот код. Я просто собираюсь вставить все, что скопировал, поверх этого, а затем убедиться, что я вернусь и изменю это имя обратно на code. Хорошо, позвольте мне просто сохранить это, а затем, когда я вернусь сюда, в свои папки, теперь вы увидите, что внутри моей, давайте просто свернем это. Правильно, внутри моей папки GitHub, сверните это, моя папка skills. Обратите внимание, что у меня теперь есть refactor code. И это все. Мой навык теперь установлен. Теперь я просто закрою эту часть здесь. И я собираюсь um закрыть этот uh этот навык здесь. Я закрою это. Хорошо. И затем я собираюсь файл, закрыть папку. Теперь причина, по которой я закрываю свою папку, заключается в том, что я иногда замечаю, что когда вы создаете навык в первый раз, он не регистрирует его, если вы не закроете и не откроете приложение снова. Итак, теперь я снова открыл свое приложение, и там вы можете увидеть мою папку skills, и там мой refactor. Хорошо. Итак, теперь давайте попробуем быстро запустить его. И для этого я собираюсь перейти в свою рабочую область, где у меня есть файл под названием moving text. Это очень простой, очень базовый маленький скрипт. Давайте посмотрим, смогу ли я показать вам это. Я собираюсь перейти в um, позвольте мне свернуть это. Я собираюсь щелкнуть правой кнопкой мыши по этому и открыть его в браузере по умолчанию. Вот мы. И если бы я сказал, um, дайте мне знать завтра. Хорошо. И когда я нажму submit, текст прокрутится со страницы, а затем появится сообщение: «Спасибо. Ваши слова были поданы». И это возвращается снова. Очень, очень простая база. Хорошо. Итак, вот оно. Это написано на JavaScript. Позвольте мне проверить это. И для этого я собираюсь сделать следующее: я собираюсь нажать на это и сказать, так что вы можете видеть, что это на этой странице. Я собираюсь сказать refactor this script. По сути, проверьте это. Убедитесь, что это написано хорошо. Убедитесь, что это готово к производству. И давайте посмотрим. Вперед. Обратите внимание, я не говорил ему о своем навыке. Хорошо? Я просто сказал refactor this script. Теперь вы можете видеть, что он работает. Он прочитал мой CSS. Он показывает мне все страницы, которые я прочитал здесь, которые он консультирует. И давайте посмотрим здесь тоже. Здесь он, вероятно, um просмотрел инструкции по навыкам и текущие. Хорошо. И позвольте мне просто нажать здесь и посмотреть. Да. Хорошо. Итак, здесь он посмотрел на мой Copilot и моих агентов. Хорошо. Так что он все еще оценивает, и мы скоро ah теперь очень хорошо, теперь вы можете сразу увидеть, что он прочитал мои навыки, потому что, во-первых, он спрашивает, анимация остается, хорошо, мне следует продолжить? Теперь помните, в моих навыках я очень четко сказал ему, что прежде чем он внесет какие-либо изменения, он должен дать мне знать. И именно это он и сделал. Теперь, позвольте мне сделать это немного больше для вас. Если вы нажмете здесь, я могу перейти сюда, чтобы вы могли видеть это гораздо лучше. Итак, вот мы. Um, так вот оно. Um, просмотрел инструкции по навыкам, просмотрел пять файлов, проанализировал, refactor code, skill. Итак, здесь вы можете видеть, что он прочитал навык и следовал ему. Я не говорил ему этого делать. Вам не нужно. Пока вы ставите там одно из ключевых слов, таких как refactor, он посмотрит, есть ли у него этот навык. Он увидел, что он есть. Он следовал руководящим принципам. Итак, теперь мы um посмотрели на CSS, что хорошо. Он посмотрел на JavaScript, который также идет с ним, потому что это два файла, которые работают вместе с ним. А затем он посмотрел на, он дал мне список того, что он собирается изменить. Итак, глобальная константа user input, обернуть все в I ifme. Хорошо. Вложенная анонимная функция, план изменений, извлекает это и это как отдельные именованные функции, что хорошо, хорошо, так что он, он, он, он сказал мне все, что он собирается сделать. Я не буду слишком останавливаться на этом, но даже несмотря на то, что этот код был написан ИИ раньше, вы можете видеть, что он все еще мог внести в него изменения, и теперь он сказал мне, какие изменения он собирается внести, следует ли мне продолжить, и теперь я должен сказать да. Итак, здесь я собираюсь сказать да, продолжайте, и он приступает к работе. Я собираюсь свернуть это. Вернуть это. Итак, вот мы. Я вернулся сюда. И он уходит. Он делает свое дело. И вот оно. Ну, я хочу, чтобы это было коротко. Итак, вот оно. Навыки агента в Visual Studio Code. Пожалуйста, не забудьте поставить лайк и подписаться, и я принесу вам еще одно видео позже. Большое спасибо.