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