📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Multi-model AI workflows in GitHub Copilot CLI

Burke Holland18:15

Transcription

Какая модель лучшая? Вот в чем вопрос. Но я не думаю, что это на самом деле правильный вопрос. Видите ли, даже когда я это сказал, если вы использовали много моделей, вы сразу подумали: ну, это Opus или это GPT. У людей очень сильные мнения по этому поводу. Но на самом деле разные модели хороши в разных вещах. Итак, правильный вопрос: какая модель лучше всего подходит для этой работы? И, к счастью, если вы используете GitHub Copilot, вы можете использовать любую модель, которую хотите. Итак, в этом видео мы рассмотрим несколько различных способов создания многомодельных рабочих процессов, когда и где их использовать, и где это уже фактически встроено в Copilot CLI, и вам вообще ничего не придется делать. Так что, если вы готовы, давайте сделаем это. Хорошо. Итак, давайте откроем Copilot в Visual Studio Code, как мы обычно делаем. Итак, я скажу Copilot, а затем мы просто передадим d- yolo. И если вы видели мои видео раньше, то знаете, что я сокращаю это до просто YOLO. Так что это всего лишь одна простая команда. Хорошо, мы в Copilot CLI. Мы в Copilot CLI в любую минуту. Вот так. И, э-э, хорошо, так что мы сейчас используем GPT54 mini extra high. Давайте выйдем из этого. Итак, я перейду сюда к модели и перейду к sonnet. И тогда у нас есть этот новый интерфейс рассуждений внизу. Теперь это полоса прогресса. Раньше это было второе меню. Теперь это полоса прогресса. Итак, давайте перейдем к, э-э, давайте сделаем среднее рассуждение на Sonet 46 здесь. И тогда то, что я хочу сделать здесь, это давайте просто начнем и укажем, что только потому, что у вас есть Sonnet 46 как модель, которую вы используете, это не означает, что это должна быть модель, к которой вы ограничены. Например, если бы мы хотели для этого проекта здесь, который довольно большой, но если бы мы хотели провести, скажем так, всесторонний обзор безопасности этого приложения. Обычно, если бы мы хотели, чтобы 54 сделал это, нам пришлось бы переключиться на эту модель с помощью Control S здесь. Но вместо этого мы можем просто сказать: выполни всесторонний обзор безопасности, используя GPT54. Нам даже не нужно знать правильное внутреннее название модели. И Copilot должен быть достаточно умным, чтобы разобраться в этом и фактически отправить субагент, который пойдет и использует модель 54 для этого, что он и делает. И если мы нажмем задачи здесь и посмотрим, вот наш всесторонний обзор безопасности. И в то же время, в самом верху здесь, мы можем увидеть здесь в деталях субагента, модель GPT54 override. Итак, мы переопределили базовую модель, просто указав, что мы хотим использовать другую модель. Теперь, когда вы знаете, что вы можете это сделать, вещи начинают становиться довольно интересными, верно? Потому что вы можете использовать любую модель, которую хотите, в любое время. Итак, давайте очистим это. Давайте остановим это. Итак, вместо этого, что я хочу сделать, это теперь использовать тот факт, что мы можем использовать несколько моделей в Copilot CLI и посмотреть, какие интересные вещи мы можем сделать. Так что, если вы смотрели мое видео об оркестрации в Visual Studio Code, то вы знаете, что вы можете создавать разные агенты. И если мы посмотрим на мои агенты здесь, если мы посмотрим на мои агенты здесь, э-э, это все разные агенты, которые я фактически создал. Итак, у нас есть кодер, отладчик, дизайнер и планировщик. И тогда у нас есть этот агент-оркестратор. Итак, давайте вызовем этот агент. И если вы не уверены, где находятся ваши агенты, если они не в текущем рабочем пространстве, они, скорее всего, находятся в этом copilot в вашей домашней папке. Copilot/ agents. И тогда мы должны увидеть всех наших агентов. Итак, давайте вызовем агент-оркестратор здесь. И мы можем сделать это, просто щелкнув его. Вот почему нам нравится работать в Visual Studio Code, потому что мы можем просто щелкать по ссылкам и открывать файлы, а затем просматривать их. И мы получаем этот приятный предварительный просмотр markdown. Э-э, давайте закроем это и, э-э, да, давайте просто посмотрим сюда. Итак, вы можете видеть здесь, у нас есть роли и модели. Мы будем планировать, используя Sonnet 46, кодировать, используя 53 codeex, и проектировать, используя Opus 46. Раньше я думал, что Gemini 3.1 лучше для дизайна. Я беру свои слова обратно. Я думаю, что Opus 46 с навыком фронтенд-дизайна — это определенно правильный путь. И тогда здесь выполнение. Мы будем планировать. Мы будем параллелизировать. Другими словами, выяснять, какие задачи могут быть выполнены одновременно, и выполнять их одновременно. Делегировать правильной модели и затем проверять, что работа выполнена, и сообщать обратно. И опять же, просто указывая имя модели, даже если я использовал внутренние имена моделей здесь, вам не нужно получать это точно. Агент обычно может разобраться. Итак, давайте вернемся сюда и вернемся в CLI. И теперь давайте активируем этот агент-оркестратор и сделаем что-то немного более сложное, например, демо, которое вы видели слишком много раз, и я извиняюсь, вы увидите его снова, но давайте добавим темный режим в это приложение. Извините за еще одно демо темного режима, но это легко сделать. Не требует много размышлений с моей стороны. Но это потребует от него довольно многого понимания этого приложения. Итак, сначала он запустит агент-планировщик для исследования кодовой базы, а затем он должен запустить либо кодеров, либо дизайнеров. Я, честно говоря, не знаю, что он будет делать. И тогда мы сможем увидеть эти субагенты в работе. Итак, давайте нажмем задачи здесь и посмотрим, если мы перейдем к планированию реализации темного режима здесь. И вы можете видеть sonnet 46. Он получил переопределение, даже несмотря на то, что мы уже используем sonnet 46. Он бы переопределил с этим sonnet 46. И тогда, когда он будет двигаться вперед, он делегирует агенту-кодеру или агенту-дизайнеру, который снова переопределит и будет использовать либо GPT53, либо opus 46. Теперь мы могли бы наблюдать за этим процессом. У меня есть другое видео об оркестрации, но я хочу отметить, что я отменю это. Я хочу отметить, что это как бы уже встроено в CLI во многих отношениях. Например, если я скажу, э-э, исследуй это приложение и расскажи мне, что оно делает и как оно работает. Давайте отправим это. Теперь я отправил это с sonnet 46 здесь, и я, вероятно, должен был очистить агент-оркестратор. Но, надеюсь, он достаточно умен. Хорошо, вы видите это исследование, исследование структуры приложения. Этот агент исследования здесь. Это фактически встроенный агент в Copilot CLI, и он всегда использует haiku 45 для исследования. Так что это не ясно здесь из пользовательского интерфейса, но это то, что происходит за кулисами. И на самом деле, если мы отменим это, мы сможем просто спросить, какой агент используется для исследования структуры приложения. Мне интересно. Я на самом деле не знаю, что он скажет здесь, но я думаю, что он назовет агент исследования как haiku45. Давайте посмотрим здесь. Он выведет там. Смотрите, модель по умолчанию haiku45. Так что это уже происходит на самом деле за кулисами. Даже несмотря на то, что оркестратор также указывает некоторые из этих вещей. Давайте выйдем из оркестратора. Давайте вернемся к умолчанию, чтобы мы знали, с чем имеем дело. Теперь, другое место, где оркестрация встроена в CLI, и мы на самом деле рекомендуем использовать встроенную оркестрацию, это когда вы используете команду fleet. Итак, помните, если мы посмотрим на мои агенты здесь, у меня установлено много из них. У меня есть кодер, отладчик, дизайнер и планировщик, а затем и другие. Эти агенты являются частью этой крошечной системы оркестрации, которую я назвал Ultralite здесь. И, э-э, вы можете видеть их здесь, и вы можете их установить. И даже несмотря на то, что вы устанавливаете их для VS Code, они будут отображаться в Copilot CLI. Итак, после того, как вы установили их, э-э, если мы вернемся в CLI здесь, мы можем как бы вернуться сюда и попробовать по-другому. Итак, есть встроенная команда слэш под названием fleet, которая включает в себя парк параллельных субагентов, которые отправляются и делают свое дело, каким бы делом вы ни пытались заняться. Вопрос в том, какие субагенты используются? Ну, давайте попробуем и посмотрим. Давайте добавим темный режим в это приложение. Итак, Fleet — это, по сути, система оркестрации GitHub Copilot CLI. Это как оркестратор, который я создал, но он встроен. Итак, что он сделает, это попытается выбрать лучший агент для работы. И откуда он берет этих агентов? Из агентов, которые вы определяете. Итак, в этом случае он начинает с агента исследования, который, как мы знаем, является haiku45. Мы знаем это сейчас. И тогда он должен передать его для реализации, я полагаю, он выберет агента-кодера. Это просто кажется мне наиболее логичным. Но это зависит от Fleet. Fleet фактически разберется, что можно параллелизовать, и затем делегирует правильному агенту. По сути, он выполняет часть агента-оркестратора, но все еще использует агентов, которых я определил. Верно? Итак, если мы посмотрим на разные агенты, у нас есть отладчик, кодер, дизайнер. Он выберет правильный, который я сюда поместил, но вы должны создать этих агентов, чтобы Fleet мог их выбрать. Но как только вы это сделаете, Fleet выберет их здесь. Так что мне интересно посмотреть, что он на самом деле выберет здесь с точки зрения того, какого агента использовать. Давайте посмотрим. Хорошо, так что он выбрал агента-кодера, что именно я и думал. Если мы перейдем к задачам здесь, давайте посмотрим на одну из них. Хорошо, так что мне не ясно, что Fleet на самом деле использует другую модель. Итак, я немного покопался, и оказалось, что он на самом деле использует 53 codec. Итак, что я сделал, это посмотрел на использование здесь, и после того, как все закончилось, вы можете увидеть, что на 53 codecs у нас 1,1 миллиона токенов входящих и 18,2 тысячи исходящих. Это означает, что он определенно использовал это здесь для всех этих агентов-кодеров. Все эти агенты-кодеры использовали 53 codecs. Просто это не отображалось в задачах в переопределении модели. Итак, просто помните, когда вы создаете своих агентов здесь, модель вверху будет указывать модель, которую вы хотите использовать. Теперь вы можете видеть здесь желтую волнистую линию под этим. И это потому, что модели не указываются одинаково в Visual Studio Code в C-pilot CLI. Извините. Я знаю, что это запутанно. Но это просто так. И вы узнаете, что сделали это неправильно. Если у вас неправильное имя здесь, когда вы переходите к своему агенту, как здесь, в Copilot CLI, вы увидите ошибку здесь, наверху. 53 codeex недоступен, верно? И если мы исправим это здесь и вернемся, выйдем и снова войдем, вы увидите, что этой ошибки больше нет. Итак, мы знаем, что все наши агенты хороши с хорошими моделями в начале. Итак, Fleet — это встроенная оркестрация для ваших агентов в Copilot CLI. Это просто работает. Вы получаете это бесплатно. Теперь, одна из вещей, которую я всегда хочу делать, это быть честным с вами. И поэтому, хотя вы можете использовать Sonnet, и вы можете использовать Haiku, и вы можете использовать GPT54 или 53 codecs, я не использую ни один из них. Я всегда использую Opus, и я всегда использую его с высоким уровнем рассуждений. Это три премиальных запроса. Я осознаю, что я несколько избалован тем, что мне не приходится платить за эти запросы, потому что я работаю здесь. Это не совсем справедливо, но так оно и есть, и я просто хочу признать это. Так что я несколько избалован в том смысле, что я бы рекомендовал вам просто установить его, если вы можете позволить себе установить его на Opus 46 и просто забыть об этом. Я получаю от этого наибольшую отдачу. И на самом деле, я не использую другие модели, кроме одного сценария. Итак, мне нравится Opus, но он не всегда правильный. И иногда, часто, он может быть очень ленивым и срезать углы. Поэтому я люблю использовать несколько моделей для проведения так называемого "враждебного обзора" работы, которую выполняет Opus. Например, в реальном мире, если бы я собирался реализовать темный режим в этом приложении, я бы сделал это так. Сначала я бы перешел в режим планирования. Я бы использовал Opus и сказал бы: давайте добавим темный режим в это приложение. Я почти ничего не делаю без плана, если только не задаю очень простой вопрос или просто не занимаюсь мозговым штурмом с моделью. Если я действительно что-то реализую, я всегда использую план. Мы получаем гораздо лучшие результаты, если у нас есть план, прежде чем модель будет реализовывать то, что мы хотим. И причина этого в том, как работают модели. Каждый токен определяется или сильно зависит от предыдущего токена. И поэтому, если у вас есть план, модель действительно должна его придерживаться. Если у вас нет плана, то она как бы придумывает на ходу, и у нее будет тенденция галлюцинировать или полностью сходить с рельсов. Планирование останавливает это, потому что оно просто использует то, как работают модели, а именно то, что находится здесь в контексте, будет сильно влиять на то, что будет дальше. Хорошо, наш план готов, и мы его не примем. Мы выйдем из режима планирования и скажем, что мы сами себе зададим вопрос. Теперь, чтобы провести этот враждебный обзор, мы могли бы попросить об этом, но вместо этого мы создадим навык для этого. Так что в будущем это легко сделать, просто попросив об этом. Итак, давайте создадим новую сессию здесь, и давайте используем создатель навыков для этого. Теперь создатель навыков, создатель навыков поступает с skills.sh, как и все навыки, которые мы используем на этом канале, и он поступает от anthropic. Так что это, я не знаю, почему это anthropic, но это anthropic. Это тот, который вам нужен. И тогда, чтобы использовать его, вы можете либо просто набрать skill creator вот так, либо просто попросить об этом. Так что, если мы хотим быть конкретными, мы можем сказать skill creator здесь. Итак, давайте скажем skill creator. И тогда мы могли бы сказать: создай навык, который использует враждебный обзор от нескольких моделей на основе того, что пользователь передает и просит обзор. Убедитесь, что вы используете Sonnet 46, Opus 46, GPT54 и GPT53 codecs. Пусть модели затем рецензируют результаты друг друга и составляют окончательный список предложений по улучшениям или изменениям. Хорошо? И тогда он вызывает создатель навыков. И опять же, при использовании навыков мы всегда хотим быть очень явными с тем, какой навык мы хотим использовать в подсказке, потому что модели ужасны в определении того, какой навык вы на самом деле хотите использовать динамически, вы можете почти гарантировать, что они этого не сделают. Так что, если вы хотите навык фронтенд-дизайна, вам нужно попросить его. Если вы хотите создатель навыков, вам нужно попросить его. Хорошо. Должно ли это быть в основном для обзора кода или общего назначения? Нам нужно общее назначение здесь. Хорошо, он создал навык и даже создал несколько тестовых случаев для навыка. Просмотрите реализацию ограничителя скорости на предмет проблем безопасности и корректности. Да, давайте сделаем это. Давайте просто возьмем один из них. Теперь, когда навык создан, давайте просто проверим и убедимся, что он есть. Он запускает тестовую оценку, но мы не хотим этого делать. Давайте просто посмотрим на навыки здесь. И он назывался adversarial review. Я его не вижу. Так что это говорит мне о том, что он там есть, но CLI его не видит. Итак, что я заметил, это то, что обычно вам приходится выходить из CLI. Так что мы можем просто вернуться сюда, и у меня есть псевдоним для YOLO. И тогда continue позволяет нам продолжить последнюю сессию, в которой мы были. Он просто подхватывает последнюю сессию, в которой мы были. И мы снова здесь. И теперь мы можем видеть наш навык adversarial. Итак, давайте начнем новую сессию здесь. И теперь давайте вставим тестовый случай, который он нам дал, который заключался в проверке реализации ограничителя скорости в этом проекте на предмет проблем и некорректности. Теперь я отправлю это, но я предполагаю, что он не будет использовать навык adversarial review, потому что мы его не указали. Но давайте посмотрим. Он не видит, он просто как бы пропускает сейчас. Может быть, он найдет это. Мне интересно. Давайте подождем и посмотрим, найдет ли он код ограничителя скорости и фактически использует этот навык. Я предполагаю, что нет. Он просто попытается сделать это самостоятельно. Интересно, что он использовал навык обзора кода, который встроен в Copilot CLI. Он вообще не использовал враждебный обзор. Это именно то, о чем я говорю. Но если мы сформулируем это по-другому, если мы скажем что-то вроде "выполнить враждебный обзор" и затем я забуду, какой был фактический запрос. И теперь, если мы отправим это, он должен будет его подхватить и фактически использовать навык враждебного обзора. И вот он. Это именно то, о чем я говорю. Приходится быть конкретным, когда речь идет о навыках. Просто так оно и есть. И вот почему MCP-серверы иногда лучше, потому что модели гораздо лучше вызывают инструменты, чем вызывают навыки. Я на самом деле думаю, что это улучшится. На самом деле, я знаю, что это улучшится. Пробелы, которые мы видим в моделях сегодня, вы должны предполагать, что через 6 месяцев их больше не будет. Но вот где мы находимся сейчас, 29 марта 2026 года. Через 24 часа весь мир изменится. Мы переоценим это. Хорошо, так что он запускает раунды с первого по четвертый независимых обзоров параллельно. Давайте просто подождем еще одну секунду и посмотрим, что он выдаст. Какие субагенты мы получим. Хорошо, субагенты готовы, давайте посмотрим на наши задачи здесь. И у нас есть 54 CEX и Sonnet. Давайте зайдем в один из них, чтобы убедиться. Да, переопределение модели. Отлично. Так что это работает очень хорошо. Это навык враждебного обзора. И я не буду это публиковать. Вы можете создать свой собственный навык враждебного обзора. Очень легко сделать с помощью создателя навыков. Так что это использование нескольких моделей в GitHub Copilot CLI. Вы можете сделать это сегодня. И помните, все, что вам нужно сделать, это попросить об этом. Это действительно так просто, просто в ваших подсказках. И также помните, что если вы используете Fleet, он автоматически масштабирует параллельные агенты, которые вы определили для работы. Это обзор использования нескольких моделей сегодня в GitHub Copilot CLI. Спасибо за просмотр, и, как всегда, удачного кодирования.