📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

CLAUDE CODE: ПОЛНЫЙ КУРС 2026 (4+ ЧАСА)

Несерьезный айтишник4:24:00

Transcription

Всем привет. Это полный курс по клод-коду от нуля до проo to Hero и так далее, который будет актуален ещё как минимум неделю в этом увлекательном, быстро развивающемся мире искусственного интеллекта.

Так, сегодня в программе познакомимся с код-кодом. Что это вообще такое? Чем это отличается от какого-нибудь чатбота, например, чата GPT? Установим его и как терминал, и как расширение для. Возможно, вы что-то слышали про VS-код или про антигравити или про курсор. Вот туда его установим. Посмотрим на базовые настройки. Посмотрим, как ему разрешить делать всё. И установим висперы, чтобы быть ещё быстрее, потому что печатать мы устаём, хотим говорить.

Далее мы посмотрим, как научить его что-то помнить, соблюдать какие-то правила и при этом не повторяться. Изучим, что такое clд MD файлик, и посмотрим на то, каким образом работает автопамять. Ну и заодно расскажу, почему она мне не нравится.

Далее мы расширим его возможности, дав инструменты такие как MCP, которые, кстати говоря, в конечном итоге вероятно всего будут переходить в скилы. Поговорим про скилы, что это вообще такое, про субагентов и в каком случае вам может быть полезна агент Teams, которая вышла, ладно, она вышла уже давно по меркам AI.

Далее мы пойдём разбираться с тем, а что вообще такое этот контекст, почему все говорят о каком-то контексте, что это вообще такое, что туда попадает. Поговорим про то, как работать с этим контекстным окном эффективно, и научимся за ним следить с помощью статуслайна.

Далее мы пойдём это всё релизить, то есть мы сможем кому-то просто передать ссылку, и человек может этим сервисом воспользоваться. В качестве примера будем использовать Verл, но на самом деле сервисов много. Я о них тоже упомяну, когда будем разговаривать про эту часть.

Далее мы пойдём знакомиться с Гитом, расскажу какие-то базовые важные вещи, как безопасно хранить код, как организовать параллельную работу над несколькими задачами сразу, чтобы агенты друг другу не мешали, и посмотрим, как мы можем строить автоматизации. Итого мы поговорим, что такое Git, что такое GitBrandch, что такое Git Work 3. Посмотрим на GitHub экшны, как раз-таки для автоматизации, и посмотрим, как безопасно хранить ваши секреты. Секреты локально хранить не нужно.

Далее мы пойдём знакомиться с тем, как построить из этого всего многообразие какой-то понятный процесс. Потому что если вы пойдёте в клод-код и напишите: "Сделай мне вот это!" И сразу начнёте что-то делать, это провальный путь. Оно иногда сработает на каких-то мелких задачах, на больших задачах это 100% не сработает. И это будет в конечном итоге невозможно поддерживать. В качестве примера мы возьмём Superpowers, как простой процесс, с которым, я думаю, вам будет несложно разобраться. И он очень сильно вас прокачает с точки зрения системного подхода. И я уверен, что у вас начнёт получаться лучше, чем получалось до.

Ну и секретный уровень, про который я, конечно же, не буду говорить, потому что он секретный. И параллельно я буду показывать какие-то полезные команды, которые использую сам. Поговорим про безопасность. В конечном итоге это может быть куда-то подытожим. Ну и что-нибудь полезное обязательно ещё всплывёт. Я специально снёс все свои настройки клод-кода для того, чтобы как раз-таки в процессе почувствовать какие-то неудобства и, возможно, рассказать что-то, что я не планировал вообще рассказать, потому что, конечно же, некоторые вещи для меня уже работают как будто бы по умолчанию, и, возможно, я просто забыл, что я их устанавливал. Вот такой вот план на время этого видео.

С вами я, меня зовут Ваня, несерьёзный айтишник. Рассказываю про разработку Сий здесь на Ютубе и в Telegram-канале, поэтому быстренько подпишитесь, чтобы не забыть, потому что там дальше будет выходить пушечка страшная. Обязательно нужно за этим всем следить. никакого нейрослопа, весь контент фильтруется мной и пощу и записываю видео только те, которые считаю действительно интересными и полезными. Сегодня во мне очень много эфина, поэтому мы обязательно дойдём до конца. Поехали.

Для начала я предлагаю поговорить о том, что вообще такое клод-код. Чем это отличается, например, от чатбота того же GPT прямо в браузере? Я думаю, что многие просто слышали про клод-код и нашли это видео, потому что пошли искать и знакомиться с тем, что это вообще такое. Я хочу, чтобы мы все оказались в одной точке, поэтому начнём с самого начала.

Итак, для начала я предлагаю это представить в виде чата. Ну, по сути, это так и есть. То есть у нас здесь будет usер. Давайте это как-нибудь обернём, чтобы чуть симпатичнее было. Далее ему отвечает клод. Пусть код будет оранжевым.

Так, чем же это всё отличается от обычного чатбота? Ну, во-первых, у кода есть доступ к вашему компуктеру. Пусть это будет вот так. Разместим это здесь. То есть, как минимум, у него есть какие-то инструменты, которые позволяют ему что-то делать с вашей файловой системой. Он может, например, читать, может создавать, может изменять и может удалять. То есть, по сути, все операции. Помимо этого, у него есть выход в интернет, то есть он может что-то искать, поискпоиск. И может, например, запросить какую-нибудь страницу по урлу. Ну, то есть открыть какой-нибудь сайт. Ну, мы не будем продолжать перечислять все инструменты. По сути, у него есть ещё много инструментов, которые делают нашу жизнь проще. И некоторые из инструментов, я думаю, вы слышали, это MCP, скилы, субагенты, агент Teams и так далее. Понятно, что те же скилы поддерживаются и у вас в браузере, но я думаю, основной посыл вы поняли.

Получается, что вы, например, как пользователь захотите создать какую-нибудь папку. Создай папку. Что будет происходить дальше? Клод, ну, во-первых, он спросит у вас разрешение какое-то, да? То есть он не будет просто так создавать папку по умолчанию. То есть он просто спросит, можно ли создать папку. Ну, и, кстати говоря, сразу ответим на вопрос, что для того, чтобы у клоду было всё можно, и есть Bypass Permissions. Всё можно, bypass Permissions. О'кей. Мы об этом ещё чуть-чуть позже поговорим, когда будем это всё устанавливать.

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

Итого, если взять все вот эти инструменты, всё, что есть у клода, и всё, что вы можете поставить в клод, вы можете делать буквально всё. То есть это ограничено просто вашей фантазией. Он может выходить в интернет, он может делать какие-то действия прямо в браузере, он может создавать приложение, он может за вас что-то искать, собирать какую-то информацию. Короче говоря, это всё ограничено просто вашей фантазией. Думаю, этих водных достаточно для того, чтобы рассказать о том, что вообще такое клод-код и зачем его нужно устанавливать. Поэтому погнали его устанавливать.

Мы заходим на сайт клод-кода, спускаемся вот сюда вниз, и у нас здесь есть опции установки. Мы будем смотреть на терминал и IDE, то есть мы можем установить это всё в виде расширения VS-код, либо в Интегравити, либо в курсор. Это всё VS-код подобные. Я думаю, что вы про них слышали. Здесь будет более визуально приятная оболочка. Ну а здесь будет больше функций. Я про это тоже немножечко расскажу позже. Я не пользуюсь, но мне пришлось вчера этим всем попользоваться, и спойлер мне не понравилось. Но начнём мы оттуда, потому что это тоже одна из опций работы с код-кодом. Почему нет? Ну и думаю, что это будет менее страшно для начала, чем работа в терминале, и вы не уйдёте и дослушаете хотя бы до какой-то первой полезной части. Ну, и, соответственно, в виде я буду использовать Googleravity. Думаю, вы тоже про него слышали. Заходим сюда, нажимаем кнопочку установить. Там, кстати, тоже была кнопочка установить. Выбираем нужную вам операционную систему и чип в случае с MacOS. Я до этого пользовался антигравити и даже делал на него обзор, но снёс все настройки, которые у меня были. Надеюсь, они действительно снеслись. Не то, чтобы я этому сильно много времени уделил, просто попросил у кода снести все настройки антигравити, поэтому буду его устанавливать заново.

Итак, нас приветствует антигравити. Здесь нет никаких сложностей, чтобы пройти регистрацию, поэтому просто жмём Next, выбираем тему, оставляем здесь все опции, которые нам рекомендуют. Мы, по крайней мере, здесь не будем работать в целом как в Интегравите. Мы будем это использовать просто как для просмотра файлов. Здесь мы тоже оставляем всё как есть и входим с помощью Гугла. Здесь вы можете ставить галочки, какие вам нравятся. Если хотите передавать данные для того, чтобы антиграфити улучшался, эту галочку оставляем здесь, если хотите получать какие-то промоакции и подобные вещи. Поэтому как хотите, так и делайте.

Итак, мы видим стандартный интерфейс антигравити. Видим здесь чат, который нам не нужен будет. Поэтому можем нажать Command, запятая либо перейти в настройки. Я думаю, что вы найдёте эти настройки. И вот здесь вот, кажется, в самом внизу есть открывать агента по умолчанию. Вот эта вот история. Open agent on reload. То есть мы это всё выключаем и, соответственно, в следующий раз, когда мы закроем вот эту часть, она больше открываться не будет. Нам это и нужно. Я открыл папочку, в которой мы будем работать всё это время. У меня там есть заметки, которые я вчера накидал с кодом. Как раз-таки для того, чтобы не забыть что-то рассказать. Он меня спрашивает, доверяю ли я папке. Конечно, доверяю, и больше мне не нужно об этом спрашивать.

Далее мы переходим в extensions, вот сюда. И здесь ищем clд. Находим первым же расширением клодко код от антропиков. Кстати говоря, друзья, проверять все, да, расширения, которые вы устанавливаете, они должны быть, конечно же, официальные. То есть смотрим, что здесь антроopic. Вы в целом можете вообще перейти вот сюда и здесь, соответственно, нажать VS-код и посмотреть, что это действительно то расширение, которое вы собираетесь устанавливать. Итого, мы жмём Install. Нас спрашивают, доверяем ли мы. Конечно же, доверяем. У нас установилось расширение. Мы видим, что оно появилось вот здесь. Вот так выглядит у нас интерфейс взаимодействия с кодом. Согласитесь, здесь нет ничего страшного. То есть примерно так же выглядит и взаимодействие с тем же чатом GPT. Здесь мы можем видеть прошедшие наши диалоги. Здесь можем начинать новые сессии. Ну, а здесь можем говорить коду что-то сделать. Давайте попробуем как раз-таки сказать ему что-то сделать. Создает папку тест. Ну, конечно, да, нам нужно залогиниться, потому что я до этого снёс же все настройки, поэтому логинимся, позволяем ему авторизоваться. Всё о'кей. И возвращаемся в клод. Есть ошибка авторизации, но я думаю, что А, ну да, она произошла, потому что я не был залогинен. О'кей, давайте повторим этот запрос ещё раз.

И вот это то, о чём я говорил. По умолчанию код будет спрашивать, что можно сделать в вашей файловой системе. То есть вы будете постоянно ему давать разрешение на какие-то действия. Давайте дадим ему разрешение. У нас появилась папочка тест. Давайте теперь попросим её удалить. И он снова у нас попросит разрешения. И вы это будете делать каждый раз. Поэтому, конечно же, Ask before Edits не совсем подходит нам для того, чтобы работать с агентами, потому что всё, что мы хотим на самом деле - это делегировать работу агентов, а не сидеть и одобрять каждое их действие. Но тем не менее, о такой опции вы должны знать. И есть вторая опция, где вы можете позволить ему это делать автоматически. То есть, если я попрошу его создать папку ещё раз, то в этот раз он у меня уже ничего не спросил и создал эту папку. Если я попрошу её удалить, соответственно, он её удалит. О'кей, я думаю, что мы поняли, как это работает.

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

Далее я предлагаю дать какое-то простое задание для того, чтобы с ваншота, вообще, без каких-либо знаний попробовать реализовать что-то действительно полезное. Но перед тем, как я это сделаю, я предлагаю установить виспер. Что такое виспер? Это возможность говорить в input. То есть вы не будете печатать, вы будете разговаривать. Работает это примерно вот так. Я нажимаю кнопочку fn, и пока я её держу, я могу говорить. В конечном итоге это всё транскрибируется в текст и улетит вот в этот инпут. Оставлю вам ссылки внизу на два топовых Виспера. Я пользуюсь Visper Flow. по ссылочкам будет 30 дней и в Visperflow, и в Aquavoice. Но если вы хотите пользоваться чем-то бесплатным, то можете погуглить handди компьютер называется. Много, на самом деле, есть решений бесплатных виспев. Некоторые устанавливаются через терминал, некоторые устанавливаются в виде приложения, как вот хнy, например. Хен мне нравится, он достаточно популярный. Выглядит это всё прилично, сразу как приложение, но качество у Visper Flow сильно выше. Поэтому я вам рекомендую, конечно, сначала потестировать Visper Flow, потом потестировать Aquavoice. Ну, и потом вы это всё можете сравнить с HY или пойти искать аналоги. Короче говоря, висперы - это must have, потому что иногда нужно много писать, а говорить намного быстрее, чем писать.

О'кей, давайте дадим ему какое-то задание. У меня есть заметки мои, и я хочу не забыть вам что-то рассказать. Возможно, я уже забыл что-то рассказать, поэтому я хочу создать для моего браузера расширение, чтобы я мог его открыть так же, как открываю, например, вот здесь кд-код. И здесь будет список того, что я хочу рассказать. Вот давайте сделаем эту простую задачу, посмотрим, справится ли с ней клодко. Для того, чтобы упомянуть какой-то файлик, мы можем использовать собаку. И здесь мы как раз-таки получаем доступ к нашей файловой системе. Cl-код CРS MD - это MCD файлик. Он может открываться вот здесь. Допустим, если вы нажмёте Command Shift V или нажмёте вот здесь вот, то вы сможете это прочитать в каком-то более-менее понятном формате. То есть это документ с определённым форматом. Вот это все заметки, которые я накидал вчера голосом в клод-код, и он в конечном итоге помог мне это всё структурировать. Не всё, что там написано, мы будем использовать, но давайте посмотрим, как он создаст расширение в виде этого списка, чтобы я смог прямо в браузере это видеть, когда будем рисовать прямо на доске. Давайте я это всё опишу без каких-либо технических подробностей. Просто попрошу, что я хочу получить в конечном итоге. Я хочу, чтобы ты на основе этого файла создал tск-лиist. Но этот таск-лист должен быть в виде расширения для хрома. Я хочу это видеть всё в виде сайт-панели в хроме. То есть это должен быть Chrome extension, как будто бы. О'кей, давайте попробуем это отправить как есть. Ну, единственное, что не сайдпанели, а сайдпанели, но я думаю, что когнитивных способностей ему хватит для того, чтобы понять, как это работает.

Мы уже видим, появилась папочка Chrome, там появляется манифест. Ну, сейчас он будет делать какие-то действия для того, чтобы реализовать это расширение. То есть он мне не задавал даже никаких вопросов, просто приступил к реализации. Посмотрим, как это будет работать в конечном итоге. И покад что-то делает, я могу заниматься какими-то другими проектами и какими-то другими делами. В этом и прелесть работы с агентами. То есть они очень сильно масштабируют количество ваших возможностей. Пока всё это происходит, я могу, например, открыть ещё одну сессию с кодом и спросить, например, составить тот же чек-лист, который попросил составить видеорасширение, но прямо здесь. На основе этого файла составь мне чек-лист задач. Он прочитал этот файлик. Это как раз-таки есть те инструменты, о которых я говорил. То есть никакой здесь магии нет. Это просто инструмент, который описан таким образом, чтобы искусственный интеллект понимал, когда его вызвать. И вот он мне создал какой-то чек-лист. Как раз-таки, я думаю, что тот же чек-лист будет и в Хромэкшене. У меня 37 задач. Может отмечать их по мере съёмки и монтажа. Ну, отмечать я здесь их, конечно, не смогу, но в целом я думаю, что вы поняли, что вы можете в конечном итоге открывать несколько сессий и работать с несколькими проектами или в рамках одного проекта параллельно. Мы ещё об этом подробнее поговорим позже. Он, кстати говоря, продолжает меня спрашивать, потому что это всё ещё не Bypass Permission Mode. Его можно, кажется, включить здесь в настройках. То есть он по умолчанию недоступен как опция. Но я это буду делать уже в терминале. Как раз-таки и покажу, в чём разница прямо с ходу, который я заметил вчера, когда установил это расширение. Пока мы просто это разрешим. Ну, и, кстати говоря, для удобства, если вы всё-таки будете продолжать работать с экстеншном, вы можете открыть, кажется, здесь это называется activity bar и, допустим, сюда перенести клод. Да, он у меня уже перенёсся сюда. И, соответственно, я его могу открывать вот здесь.

Итого, он создал Chrome extension. Вот эта папочка появилась. И он мне говорит, что нужно перейти в Хроме вот сюда, нажать developer mode, соответственно, нажать load Unpacket и вот эту папку отправить туда. О'кей, давайте так и сделаем. Мы можем перейти вот сюда. Здесь есть manage extensions. И здесь мы можем включить, он у меня включен, developer mode. Вот здесь галочка находится. И здесь есть как раз-таки та кнопка Load Unpacked. Я выбрал ту папку, и у меня появился Master of Cloud Code. Давайте вернёмся вот сюда и попробуем открыть этот Master of Cloud Codд. Давайте я это запиню даже. Итак, с первой попытки у нас уже появился чек-лист. В нём даже как будто бы должно всё работать. Всё работает. Перезагружать страницу не буду, чтобы проверить, что действительно сохраняется. Мне в целом это и не нужно. Он немножко фиолетовый, и эта фишечка агентов делать всё фиолетовым. Но в этот раз это даже подходит Excalidrow, поэтому выглядит нативно, как будто бы это здесь. И понятно, что это не должно вас удивить, но всё-таки на минуточку, я прямо сейчас решил свою проблему. Прямо во время записи я придумал, что мне нужен чек-лист. Одна просьба, и у меня уже есть чек-лист, который мне может помочь. То есть вы тоже в процессе своего дня можете просто убивать рутинные вещи и улучшать что-то прямо в процессе. То есть вы можете просто просить это сделать, и это будет делаться.

Мы не обязательно будем следовать всему чек-листу. Первая демка с вау-эффектом. Ну, надеюсь, у вас был вау эффект. Фра, которую там записана, дела не я, как я уже сказал. Я надиктовал всё в код, а он это просто всё структурировал и каким-то образом, естественно, форматировал. Там никаких не было скилов, поэтому как есть, так есть. Ну, и, допустим, это точно решает мою проблему, потому что я забыл рассказать про подписки. Вот, пойдёмте, сейчас про них расскажу.

Итак, у нас есть три опции. То есть код-код вообще недоступен бесплатно. Есть опция Pro за 17 долларов, но по факту там 20 долларов. Есть подписка Max, на которой я и нахожусь. Она стоит 100 долларов. Мне хватает её под все задачи. Ну, и есть подписка Мак. Но, честно говоря, я не знаю, в каком случае мне нужно было бы именно 20x. То есть 10X может быть ещё о'кей, потому что иногда я всё-таки достигаю лимитов 5x, но 20x, я не знаю, вы должны делать что-то на основной работе. У вас должен быть ещё какой-нибудь педпроект и ещё заказная какая-нибудь разработка. И это всё ещё делается с помощью Agen Teams. Понятно, что я преувеличиваю немножко, но, короче говоря, на 5X большинству из вас хватит лимитов с головой. Но начните с проверсии, потому что вы таким образом сможете понять вообще, как это работает. И как только вы захотите перейти на 5x, даже если вы это сделаете в течение месяца, вам просто пересчитают остаточную стоимость. То есть заложат эти 20 долларов в остаточную стоимость. Кстати говоря, да, это если мы платим помесячно, то 20 долларов, а если мы платим за год, то 17 долларов. Вот так это работает. Ну, вот теперь про подписки рассказал.

Теперь я предлагаю перейти в терминал и рассказать как раз-таки вам про Voice, про Russian Language, про Permission Mode и так далее. В общем, переходим в терминал. В виде терминала вы можете использовать терминал самого антигравити, то есть вы можете открыть его вот здесь и просто здесь запустить клод. Соответственно, он запустится. Вот я его первый раз как раз-таки запускаю. Он меня сейчас будет просить выбрать тему и так далее. Но здесь я это делать не буду. Поэтому этот терминал я закрою. Я пользуюсь внешним терминалом, потому что мне просто так нравится. Я использую warp, но использую его не как агентский терминал, а как просто терминал. То есть мне он просто нравится, как работает по умолчанию. Есть ещё неплохой терминал, называется ITM2. Я им до этого пользовался, ещё когда занимался разработкой без искусственного интеллекта. И в целом меня там тоже всё устраивало. Но единственное, что там нужно было больше приложить усилий, чтобы это выглядело так, как мне хочется, чтобы выглядело. Поэтому я пользуюсь варпом просто потому, что мне удобно пользоваться варпом. Если вам не сложно, перейдите по рефералочке в описании. Мне это ничего не даёт, кроме бонусов, на которые можно, кажется, в конечном итоге, например, худи взять. Правда, это можно сделать только в Америке, но вдруг судьба так распорядиться, что вот буду я в Америке и заберу этот худи. Поэтому, если не сложно, перейдите.

Он у меня уже установлен. Я не стал там сносить никакие настройки, но я сейчас быстренько покажу, что вам может быть полезно. По умолчанию этот терминал выглядит вот так. На самом деле не так, потому что у меня выключены AI настройки. Давайте я их обратно включу. Вот так по умолчанию выглядит терминал. То есть у нас вот здесь вот появилась информация немножко про агентов. Кстати говоря, у них до этого, по-моему, был Виспер. Вот я не уверен, можно ли здесь использовать Виспер. Теперь давайте попробую выйти из моего виспектовать что-то здесь. Да, оно всё ещё работает. Не знаю, есть ли какие-то лимиты сейчас. До этого лимитов не было. То есть даже если вы как бы действуете в рамках бесплатной квот, именно общаясь с агентами, то на Visсper не было никаких лимитов до этого. Поэтому Visper Flow, которым я пользуюсь - это самый топовый Виспер из тех, которые я знаю. Пробуйте, тестируйте. Если будет долго работать, можете просто действительно оставаться и работать здесь, не платя за внешний терминал. Но тем не менее советую попробовать внешний тоже, потому что он работает не только в терминале, но вообще везде. Мне это лично удобно, допустим, в чате также пообщаться. Ну, конечно, с людьми я так не общаюсь, но вот, допустим, пойти в чатик с клодом, например, почему бы и нет, я там тоже быстро могу какой-то вопрос задать и надиктовать его так же, как я диктую в терминал. О'кей, это работает. Но я этими функциями, как я уже сказал, не пользуюсь, поэтому мне проще это всё отключить. То есть я захожу в настройки и вот здесь вот Ai, просто снимаю галочку. Это выключает все вообще настройки. Вот как раз-таки здесь есть Voice. И здесь рассказывает про то, что у нас работает это всё с Visper Flow. Тот же Visper, которым пользуюсь я.

О'кей. У нас здесь есть некоторые suggжешны. То есть последний раз я заходил в эту папку, соответственно, он сразу предложил, чтобы я зашёл в эту папку. То есть он немного угадывает действия, которые вы собираетесь делать. Поэтому это тоже удобно. Это та же папка, которая у нас есть. То есть, если я посмотрю, что в ней находится, в ней находится Chrome extension и находится.m. Вы также можете это сделать вот здесь. То есть, если вы откроете эту панель, то у вас появится вот эта навигация по файлам. Поэтому в целом вам не обязательно вообще заходить в курсор или в антигравити. Вы можете смотреть эти файлики здесь. Точно так же это всё открывается. Можете смотреть в формате row, то есть как выглядит этот Markdown файл. Можете смотреть в отредеренном формате. Поэтому выбирайте сами, что вам больше удобно, тем и пользуйтесь. Мне пользоваться удобно вот этим, но тем не менее я иногда открываю и де и при этом открываю даже не антигравити. Не буду про это особо сейчас рассказывать, это не имеет никакого значения. Для того, чтобы делать какие-то вещи, может

быть, руками или более удобно просматривать файлы.

Итак, я закрываю эту панельку. Давайте здесь также запустим клод. Запускается он просто командой clд. Здесь нам нужно выбрать тему. Можете выбрать ту, которая вам нравится. Я использую dark mode. Мне здесь также нужно залогиниться. Естественно, я всё также разрешаю. В общем, такой же процесс, который мы прошли в антигравити. Нужно здесь нажать Enter. Нас предупреждает, что клод-код может ошибаться. Понятно всё? Да, я доверяю папке.

И вот мы попадаем тоже в чат. На первый взгляд это выглядит немножко страшнее, чем выглядит в антигравите, потому что это выглядит всё-таки как терминал. Но на самом деле ничего страшного здесь нет. Мы видим здесь тот же чат. Опять же, давайте проверим, что это до сих пор работает. То есть я зайду опять в настройки, включу AI функции. И по сути я здесь могу говорить, могу ли я говорить? Проверка. Да, я могу всё ещё говорить здесь, но опять же я сейчас это всё выключу. Но вы можете этим пользоваться, потому что я пользуюсь внешним виспем, мне это не нужно.

Итак, давайте на всякий случай я вернусь вот сюда, закрою вот эту историю, вернусь на наш борд, открою наш tkск-лиist, вернусь сюда и, может быть, вот так сделаю, чтобы я видел этот tkск-лиist на всякий случай.

Итак, по сути, мы установили cд cд extension, да, помимо того, что у вас есть виспер в warp, у вас ещё есть voice в самом клоде. То есть, если всё-таки не будет работать Виспер в арпе или вам не захочется платить за внешний Виспер, в общем, по какой-то причине вы хотите остановиться на Виспере от самого клодкода, то эти ребята, да, не так давно завезли Voice. Вы просто пишите voice, он у меня был включён, поэтому давайте я ещё раз это сделаю. И если вы зажмёте пробел, вы сможете говорить внутрь инпута, как это я делал с Виспером. Давайте попробуем. Проверка качества транскрибации. Виспера от CLC код CLД MD GPT кодекс ну что-то непонятное произошло. Странно, может быть. Давайте проверим ещё раз. Cдкод GPT кодекс проверка Виспера. Код MD no spech detected. Ну, короче, не знаю, как будто бы не очень не работает, судя по всему. Я до этого этим не пользовался, поэтому вот тоже с вами узнал, что так себе. В любом случае, попробуйте. Может быть, просто проблема в том, что, да, я не знаю, в чём проблема, херово работает.

О'кей, рассказал вам, получается, про виспе, про антигравити тоже уже рассказал. Давайте теперь поговорим про базовую конфигурацию. Что вообще такое базовая конфигурация? Кстати говоря, здесь не хватает ссылочек. Давайте я попрошу его, на самом деле, вот пока мы будем дальше обсуждать, добавить эти ссылочки. У нас в папке Chrome Extension есть extension, который основан на файле. Какой-то там файлик с базой знаний. Я думаю, ты его найдёшь. Там были ссылки, и эти ссылки полезные, но их в экстеншене нет, а я хочу на них кликать. Давай мы это доработаем. Я хочу, чтобы в экстеншене появились эти ссылки. Как-то так сумбурно наговорил, но в целом понятно.

Продолжим немножко ещё про war, потому что здесь есть полезные функции. Допустим, вы можете переименовывать вкладки, например, я могу это назвать YouTube, пускай будет код, и могу задать ей цвет. Также, как и в браузере, я могу нажать, например, Command T и открыть ещё одну вкладку. Command V, закрыть эту вкладку. Command D, сплитнуть экран. И могу здесь запустить ещё одну сессию клода, например, Command Shift D. Могу ещё один экран открыть и здесь ещё одну сессию клода запустить. То есть в целом на одном экране я могу видеть, ну, допустим, там удобно четыре сессии клода. Почему бы и нет? Выглядит это всё вполне себе прилично. Вот он, кстати говоря, меня тоже спрашивает разрешение. Сейчас мы первым делом, когда будем говорить про настройки, сделаем Alias, который позволяет нам запускать-код сразу с ByYPass Permission. Это мод, в котором вообще ничего не спрашивает. Давайте, кстати говоря, пока это сделаем, запустим вот здесь кд. А настройки, о которых я хочу поговорить - это настройки на уровне пользователя и настройки на уровне проекта. Но вы будете, скорее всего, пользоваться настройками на уровне пользователя. И вам не обязательно даже разбираться в том, как это работает на самом деле. Вот это одна из хороших мыслей. Вы можете просто говорить об этом с кодом. То есть я могу его попросить, например, я знаю, что есть настройка language. Я хочу, чтобы ты поставил её по умолчанию Russian. То есть я хочу, чтобы ты мне по умолчанию отвечал на русском языке. Я просто об этом говорю сюда. И, соответственно, Клод, благодаря тому, что у него есть, во-первых, тулы, которые позволяют дёргать документацию, он найдёт эту информацию. Вот мы видим, что он дёрнул луд код guide. Он найдёт эту информацию и, соответственно, внесёт это в настройки. То есть мне даже не обязательно идти и смотреть, что есть в этом конфиге. Я просто могу попросить его сделать какие-то вещи, и он их сделает. То есть, если вас что-то не устраивает, вы можете на всякий случай спросить, есть ли опция для того, чтобы это изменить. И, вероятнее всего, вам клод ответит правильно.

О'кей, пока мы здесь это разрешим, переходить по окнам можно просто кликами. Есть, по-моему, ещё горячая клавиша, но, по-моему, я её отключил, потому что она с чем-то конфликтовала, на самом деле. А может быть, и нет. Но в любом случае кликать тоже удобно. Давайте пока здесь я буду всё разрешать. Он просит как раз-таки изменения внести в clД settings.jon. Это то, где хранятся все конфиги пользователя. Да, конечно, вот этот мод - это такое себе. через Shift tab, то есть он может внести изменения. То есть здесь через Shift T вносится изменения, но опять-таки здесь пермиission мода нет, его тоже нужно включать. О'кей, нам внесли изменения в settings jon, то есть, точнее, предлагают внести изменения. Я подтверждаю, что мне это нужно. Language Russian. И теперь по умолчанию клод будет отвечать на русском языке. До этого, конечно же, не было никаких проблем, потому что я с ним начинаю разговаривать на русском языке, и он отвечает на русском языке. Но такие проблемы бывают, когда вы, допустим, ставите какой-нибудь скилл, который изначально на английском, и вот вы открываете новую сессию кода. Допустим, он о вас ничего не знает, и он будет, естественно, говорить на английском языке, потому что весь контекст, который у него есть - это скилл на английском языке.

Итак, о'кей, пока нам не дали ссылки на clД settings, например, да, я хочу создать алиас, который позволит запускать clд сразу с Bypass Permission. Мы сейчас об этом ещё немножко поговорим, а пока я просто попрошу его это сделать. Мне нужно, чтобы ты создал али. Пусть это будет CC, который будет запускать clД, команду CLД сразу с флагом ByYP Permission. То есть вы можете назвать это как угодно. То есть ALAS вы можете сделать какой хотите. Просто, конечно, здесь не совсем CC, я имел в виду вот это, который будет запускать команду код. Вот что-то надо будет внести, мне кажется, в словарик вне словод. Почему-то он постоянно хочет код. Либо я произношу просто так сразу с флагом Bypass Permission. Думаю, что он поймёт.

О'кей. Итак, здесь у нас появились какие-то ссылки. Давайте проверим. Нам нужно просто зайти опять в extension и, соответственно, заменить наш extension. И у нас здесь появились вот эти ссылочки. Ну, не то чтобы это суперу удобно, да, появились ссылочки, но не все ссылочки появились. То есть появились только ссылки на сервисы. О'кей, я вернусь в него и попрошу. Но появились не все ссылки. Появились только ссылки на сервисы. Но у нас ещё были ссылки на документацию. Почему-то я их не вижу. Здесь он нас просит внести изменения в ZS- это место, где хранятся как раз-таки настройки, связанные с оболочкой терминала. В общем, не вникаем, просто говорим: "Да, у вас это может быть вообще другая оболочка, если вы в другой операционной системе находитесь". Например, вот он создаёт ALIAS CC, да, на ClД с Dangerously Skip Permission. Это как раз-таки есть bypass Permission. Я нажимаю о'кей. Теперь, когда я буду запускать колод, кстати, команда exit, соответственно, со слэшлом. Без слшла всё равно сработает. Вы просто выйдите из сессии. Если я буду запускать клод таким вот образом. А, о'кей. Да, он не выполнил ещё вот эту команду. Давайте я её тоже выполню, поэтому не работает. Теперь я, когда буду запускать clд с такой опцией, то, соответственно, он будет её запускать bypass Permission. Кажется, первый раз только это будет предупреждение, потом этого предупреждения уже не будет. Да, больше не будет этого предупреждения.

Итак, эту вкладку я могу закрыть. В целом, она мне нужна была только для того, чтобы провести вот эти настройки. Здесь у нас есть какая-то проблема по поводу ссылок. Код выглядит корректно. Section linkнрится. Проблемы все сS. Подожди, я понял проблему. Ты говоришь, что видишь ссылки Aquice Vflone. Задача не видишь ссылки пилы на секции settings, Permission cost и так далее. Скорее всего, проблема в том, что Chrome закширует файлы расширения. Давай ты обновишь версию расширения, чтобы я увидел, что расширение обновилось. О'кей. Сделаем это так. Пока что, э, в целом, я думаю, что вы поняли, что в терминале работать не сложнее, чем работать в антигравити. То есть выглядит это всё примерно точно так же.

Сейчас мы ещё вернёмся вот сюда. И давайте пометим сразу опцию, что можно всё, но осторожно. То есть здесь я бы не хотел, чтобы вы меня потом привлекли к какой-то ответственности за то, что я сказал вам, можно запускать это всё с Bypass Permission, потому что это всё-таки даёт вам возможность того, что клод может делать какие-то вещи, которые вы не хотели бы делать. Но опираясь на свой опыт, а я запускаю это всё довольно-таки продолжительное количество времени, ну, не знаю, больше полугода уж точно, за Bypass Permission. И ни разу у меня не было никаких проблем. Скорее, я что-то снесу случайно и что-то случайно куда-то запушу, как и многие из вас, чем это сделает клод. То есть, если я, например, напишу МРФ в клоде, ну, то есть попрошу клод это сделать, он как минимум меня может спросить, уверен ли я в этом действии. Вот если это сделаю сам и снесу корневую папку, например, себе, то меня никто не спросит, хочу я это сделать или не хочу. Оно просто сделается. Но если вы всё-таки боитесь так запускать или есть какие-то важные проекты, вы можете на уровне проекта, например, сделать настройки, которые называются Sunbox. То есть вы можете это всё запускать в санбоксе. Я сейчас покажу доку. Я не буду про неё особо ничего рассказывать, но по сути это ограничивает клод внутри определённой папки. То есть он не сможет выйти наружу для того, чтобы что-то там заменить. По-моему, он сможет читать, но не сможет ничего заменять. Соответственно, он не сможет снести какие-то внешние папки. И максимум, что может произойти - это произойти внутри репозитория. Не репозитории, а папки. Про репозитории ещё попозже поговорим.

Обновилась версия расширения. Давайте я это ещё раз попробую обновить. То есть у нас 1. Давайте я просто ещё раз обновлю её. 110. О'кей. Давайте вот эту ещё нажмём на всякий случай. Посмотрим, что там. И нет у нас никаких ссылок. Нет никаких ссылок. О'кей, давайте отправим в колод, скажем, что ссылок никаких нет. У нас всё это развёрнуто, кстати говоря. Да, и в терминале. И здесь вы можете просто вставлять картинки. То есть вы можете их прилинковывать. Единственное, что в терминале не у всех, кажется, кот V работает. То есть у меня работает, я не знаю, это заслуга варпа или заслугада, нокод, кажется, советовал делать это через Ctrl V, поэтому, возможно, есть проблема. Так что пробуйте и тот, и другой вариант. У меня Command V тоже работает. Я думаю, что ты видишь, что на скриншоте нет ссылок, про которые я говорю. Соответственно, вы можете прилинковывать картинки прямо сюда. То есть вы можете скринить, что есть какая-то проблема, и клод-код будет смотреть эту картинку и, соответственно, каким-то образом на это реагировать. Кстати, сейчас-то у меня bypass Permission появился. Нет, не появился. Надо перезапустить сессию. Ну ладно, пока давайте так это оставим.

Что у нас здесь ещё? Что ещё, что я хотел рассказать вам в рамках вот этого всего? Нет, давайте оставим эту вкладку. Кажется, всё. То есть, если вы хотите в санбоксе, сейчас ссылочки у нас появятся, я, соответственно, их открою. Хочу всё-таки добиться, чтобы это работало нормально. И заодно там расскажу про Дени и Ало правила. Поэтому мы ещё сюда вернёмся. Про терминал я вам рассказал. Ну и дальше мы будем работать в терминале, потому что, как вы поняли, разницы никакой особо нет. Я вижу на скриншоте, что ссылки на документацию есть. А, ну да, вот же они, они есть. Это я просто невнимательно смотрю. Вечер, ветер уже вечер. О'кей, у нас есть эти ссылки, и я сейчас покажу те вещи, про которые я говорил, и вы сможете эти ссылочки тоже забрать. Я всё это вместе с бордом прилинкую в пост в Телеграме. Вы сможете в комментариях это всё забрать. Ну и ссылки, наверное, оставлю в Ютубе тоже. Просто картинку в Ютубе вот эту не буду огромную прилинковывать. Кажется, это там нельзя сделать. Поэтому она будет в Телеграме. Если вам вдруг нужно будет, переходите и смотрите это там.

Давайте, кстати, откроем сессию с кодом ещё одну, и на всякий случай я буду туда кидать ссылочки, вдруг они не упоминались в этом файлике. Давайте я этот файлик упомяну и как минимум туда скину ссылочку на антигравити и ссылочку на clдкод. Пусть будет, потому что, ну, вдруг понадобится. Если вдруг в этой доке нет этих ссылок, добавь. Давайте это будет как-то открыто у нас, может быть, вот так. просто, чтобы я на всякий случай туда что-то закидывал.

Итак, в целом здесь мы закончили. Мы можем сделать exit, ещё раз открыть кд. Почему-то не работает, кстати говоря. И здесь опять просит меня разрешения. А, наверное, потому что я её как клод запустил, а не как CC. О'кей, давайте я выйду, попробуем так. И здесь ещё раз это сделать. О'кей. Вот теперь это работает. В общем, сюда я буду кидать ссылочки на всякий случай, а здесь мы будем работать как основной терминал. О'кей, возвращаемся сюда.

И я вам хотел сказать про пермишены, которые у нас есть. Вот здесь вот перечислены все моды, в которых вы можете запускаться. И здесь есть мод, допустим, don't ask. И вот тогда ваши пермишены могут работать. И в эти пермишены вы, допустим, можете перечислять, какие команды можно выполнять. То есть, например, вы можете написать, что нельзя в эту папку ничего писать или, допустим, он не может видеть какие-нибудь файлики ENV и так далее. То есть вы можете с этим разделом ознакомиться, потому что я следую немножко другим правилам, про которые я позже расскажу. То есть я локально, например, вообще не храню никакие продовские переменные. Поэтому даже если я сомневаюсь в том, что клод не позволит утечь моим данным, да, то в любом случае моих данных здесь нет. Поэтому единственное, конечно, что он может достать - это какие-то файлы, может быть, системы. Я использую bypass Permission в виде Алиаса, поэтому вы тоже можете его использовать. И у меня на опыте не было никаких проблем. Поэтому я думаю, что эту часть я вам тоже рассказал. И в целом мы как будто бы познакомились с тем, что такое-код, что он может. Мы создали расширение. Расширение работает. Ссылочки по моей просьбе он тоже добавил и сюда, и сюда. Поэтому как будто бы можно закрывать наш первый шаг, это знакомство с код-кодом.

Также я упоминал, что расскажу про разницу, но я думаю, что некоторые вещи я уже показал вам. То есть нет ничего, во-первых, такого, чего нет в расширении, кроме того, что это выглядит чуть-чуть более страшно. Того же Voice там нет. То есть мы не можем включить Виспер, хоть он и как-то странно работает, поэтому не знаю, плюс это или минус. Также мы будем устанавливать некоторые вещи в терминал типа статус лайна. Поговорим про это, когда будем говорить про контекст. Также есть такие команды, как, например, BTВ. Я думаю, что это имеется в виду Bтвин, то есть что-то между делом спросить. То есть, несмотря на то, что агент в процессе выполнения задачи, вы всё равно можете что-то его спросить, и это при этом не попадёт в сессию. Но сама сессия, именно контекст, который у вас есть, он будет доступен для того, чтобы задать вопрос по поводу того обсуждения, что было выше. Короче говоря, я думаю, что в процессе мы это будем иногда использовать. Далее, на самом деле, у нас в доке описано было, какие есть различия. Давайте просто спросим, какие есть различия между CLI и экшном? посмотри в моей доке. Ну и давайте сразу на доку ссылаться будем для того, чтобы понять. Может быть, я что-то просто забыл сказать, но вчера я в процессе фиксировал многие вещи, поэтому, возможно, он сейчас нам расскажет то, что я забыл рассказать.

Итак, статуслайна. Я сказал контекст rewind. Да, у нас есть двойной escape, но я думаю, что мы тоже в процессе про это поговорим. Но если коротко, вы жмёте два раза escape и можете откатиться на предыдущий шаг и при этом откатить и код, и откатить диалог. То есть, по сути, у вас и контекст изменится, и изменится файловая система, которую клодко трогал. Есть voice, есть Bitwin, естьки. Проки тоже позже поговорим, я думаю. Переключение между сессиями. Ну, это на самом деле есть и в экстеншене, потому что там есть удобная для этого навигация. удобнее сплитить экран. Да, это я уже показал. Идея расширение, визуальные дифы, ссылки, но ссылки здесь тоже есть, поэтому это не то, чтобы плюшка и минипугающий интерфейс. Короче говоря, да, всё, я как будто бы показал. Вот теперь мы точно можем двигаться ко второму уровню.

Итак, мы переходим ко второму уровню и будем учить клод-код что-то помнить. Но для начала вообще разберёмся, зачем ему что-то помнить и вообще, что значит что-то помнить. Кстати говоря, не ориентируйтесь на вот эти пункты, если вдруг их кто читает, потому что не всё правильно задокументировал, что я говорил, как минимум не в том может быть, порядке где-то, но это будет мне напоминать просто, что я должен точно рассказать. И мы будем говорить про clд MD файлика, как это можно всё организовать. На самом деле многие его используют неправильно, но в каких-то кейсах это в целом оправдано, потому что какая разница, как его использовать, если это работает. Но я вам расскажу, зачем это вообще существует именно с той точки зрения, когда вы будете проект поддерживать, а не сделаете его за раз и забьёте. Я думаю, что вы могли видеть, что есть какие-то готовые clд MD файлики, где вы просто получаете какую-то инструкцию, например, по созданию лендинга. То есть там есть инструкция, что-то типа получи скриншот, потом реализуй это, потом сравни всё с этим скриншотом, то есть с референсом, и в конечном итоге происходит цикл исправлений, пока это всё не исправится. Так вот, это на старте о'кей, но это может быть и обычным промтом. Не обязательно это сохранять в какой-то код MD файлик. Понятно, что это удобнее просто перетащить, но тем не менее в конечном-то итоге вам этот кд MD нужен всего один раз. А суть этого клод MD вообще не в этом.

Давайте сразу с примера. Я, кстати говоря, каждый раз буду очищать контекст. Я закрыл ещё панельку эту боковую, чтобы мы каждый раз стартовали с чего-то нового. То есть сейчас как будто бы наступил новый этап, то есть новая сессия. И в конечном итоге так будет проще показывать, чтобы я не запутался и вы не запутались тоже. Итого у нас наступила новая сессия. И последнее, что я делал - это создал Chrome Extension. Теперь, допустим, мне бы хотелось, чтобы каждый раз, когда я вносил изменения вот в этот вот документ, потому что я, допустим, им хочу поделиться в конечном итоге, я бы хотел, чтобы изменения вносились в Chrome extension. Мне это нужно каким-то образом объяснить. Во-первых, клод сейчас в новой сессии вообще ничего не знает про то, что здесь находится. То есть у него сейчас в контексте ноль информации про мой проект. Так вот, код MD и решает эту проблему. Давайте, наверное, визуализируем это всё, потому что так будет как будто бы проще понять. Поэтому я просто возьму вот эту вот часть. Давайте её вот сюда скопируем. Ну, этого тоже персонажа скопируем, потому что так симпатичнее. О'кей. Что у нас здесь есть?

Итак, напоминаю, что в контекст у нас попадают инструменты, но сюда не попадает никакой инструмент, который связан с памятью о проекте. То есть клод начинает всё с нуля. И чем это плохо? Мы каждый раз должны тратить как минимум время, а как максимум токены на то, чтобы клод изучил проект. Каждый раз клод должен изучить проект. То есть понятно, что мой проект достаточно маленький, ему будет просто разобраться в нём. То есть, что он сделает? Он прочитает с помощью своих инструментов файловую систему этого проекта. Может быть, заглянет в какие-то файлики, посмотрит там на структуру папок, посмотрит на содержимое файлов. Если повезёт, то возьмёт какую-то часть этого файла для того, чтобы понять, что там находится. Короче говоря, это всё зависит от того, насколько хорошо реализован инструмент поиска в клоде. Понятно, что команда Клода над этим работает, и в любом случае это будет становиться всё лучше и лучше, но тем не менее сама идея даже каждый раз заставлять клод изучить весь проект странная. То есть представьте, что каждый раз, когда вы рассказываете что-то человеку, вы должны начинать с самого начала. То есть он о вас ничего не знает. Ну это странно. То есть вы будете тратить просто какое-то огромное количество времени и количество токенов соответственно. Поэтому нам нужно какое-то решение, которое всегда будет подгружаться в контекст вот сюда до того, как мы начнём разговаривать с клодом. И это решение есть. Это кд MD. Поэтому давайте мы вот эту часть расширим и вот эту часть просто опустим вниз. И здесь создадим новый блок и назовём егод MD.

На самом деле, есть разные способы организовать эти файлики. Я вам сейчас их покажу, но мы будем использовать один. Кстати говоря, не сворачивается, не запоминается, точнее, что было свёрнуто, хотя вот эти галочки запоминаются. И у клода есть целая доко помери. И там не только Clд MD, там ещё и автомеory. Я сейчас тоже про неё позже расскажу. И по сути, что из себя представляет код MD файлик? это файл в корне проекта, либо файл у вас в корневой папке тод в директории юзера. То есть у вас есть как глобальные правила код MD, так и правила проекта. И, соответственно, в подпапке, на самом деле, вы тоже можете это всё вкладывать. Сейчас я найду, где есть здесь структура, и покажу вам её. Ну и, соответственно, нам здесь говорят, что если у вас есть, например, папка FBAR и у вас в фу лежит клод, то, соответственно, у вас загрузится и то, и другое. Вы также можете, на самом деле, дополнительно через флаги передавать, где может лежать кд MD файлик. Но в большинстве случаев, я думаю, что вы всё равно будете держать просто один кд MD файлик в корне проекта, и это будет решением вашей проблемы. Потому что когда вы пойдёте дальше, когда вам нужно будет это всё организовать, вы познакомитесь с этим ещё более подробно. И сейчас, я думаю, что не стоит тратить на это время. Но тем не менее, я вам скажу, что это можно организовать и в виде папки. То есть вы можете не в корне сложить клод, а просто создать папку clк, где как раз-таки хранятся и настройки проекта, например, и создать на папку Rules и в папке Rules поделить ваши правила на несколько секций. Например, где-то вы опишите стилькода, где-то опишите какие-то, может быть, ваши правила по работе с безопасностью и так далее. То есть какие-то правила, которые всегда будут подгружаться в клод. Это и есть ответ, на самом деле, на вопрос, что там должно находиться. То, что всегда клод должен знать о вашем проекте. И, вероятнее всего, он не всё должен знать всегда о вашем проекте. И, как я говорил в начале, если вы держите инструкцию, как создать лендинг, и потом вносите изменения в лендинге, то есть вы дорабатываете свой проект, а не создаёте лендинг с нуля. то информация, как создать лендинг, клоду абсолютно не нужна. То есть это просто захломляет ваш контекст. Мы позже, на самом деле, поговорим, где это всё должно находиться. В целом, я думаю, понятно, какую задачу решает код MD. Давайте ещё раз на практике это посмотрим. Итак,

Каждый раз, когда я изменяю файлик вот этот, я хочу, чтобы здесь, я даже не знаю, где это хранится, чтобы вот здесь это тоже изменялось. То есть мне не хочется это каждый раз объяснять.

Также мне каким-то образом надо объяснить к лоду, что вообще есть такая структура папок, то есть что это за проект. И для этого есть уже встроенная команда Инит. Она в целом работает нормально. То есть на первых этапах просто используйте её. Это точно лучше, чем вообще не создать клодмфайлик или создать его, не понимая, что вы создаёте. Поэтому мы просто переходим вот сюда и вводим команду init/IT. Нажимаем, и он создаёт для нас mdфайлик.

Что там происходит под капотом? Он изучает как раз-таки структуру папок. То, что он делает каждый раз, но делает это один раз. В следующий раз вы за это уже не платите токенами. У него сразу этот файлик загрузится, и, соответственно, ему не нужно будет делать уже вот этот обход.

Вы также можете туда добавлять какие-то дополнительные правила. Я сейчас добавлю туда правило, что если я изменяю документацию, изменяется, соответственно, и мой чек-лист. Итак, он мне создал кд MD-файлик. Давайте посмотрим, что в нём находится. Здесь описывается инструкция, что это нужно для клода, когда он работает с этим репозиторием. Соответственно, далее описывается, что это вообще за проект. Здесь как раз-таки есть про Chrome extension, архитектура этого проекта, разработка, ну, и так далее. В общем, какая-то информация, которую ему не придётся получать ещё раз, обходя так же, как он обошёл в этот раз.

Не могу статфлайн показать, потому что у меня его ещё нет, но он у нас обязательно появится. У нас сейчас потратилось 33.000 токенов. То есть вот на эту операцию всё вместе потратилось 33.000 токенов. А наши сообщения заняли 18,5 токенов. То есть на эту сессию при запуске и вот этом вот первом ините, что будет происходить на самом деле практически каждый раз, если мы не создадим этот код MD файлик, ушло 33.000 титокенов. То есть на наши сообщения ушло 2% от всего контекста. То есть 2% на таком маленьком проекте ушло на то, чтобы мы просто поняли, что это за проект. Я думаю, у вас приходит осознание, зачем это делать.

Также у вас есть и глобальные правила. То есть код MD лежит локально в папке проекта, но есть и глобальные правила. В эти глобальные правила вам тоже нужно что-то записывать для того, чтобы не повторять это много где. На практике это могут быть, да, суперпростые-то вещи могут быть. Например, запиши глобальные правила clд MD, никогда не использовать букву ё. Допустим, вы не хотите, чтобы клод вообще нигде буква. Да, спасибо, Виспер. А вы хотите, чтобы Клод никогда не использовал букву ё. Неважно, это где, в общении с вами или когда он создаёт какой-то контент. Вы просто не хотите, чтобы он использовал букву ё. Вы можете попросить код добавить в глобальное правило эту информацию, и он не будет больше использовать букву.

Вы туда можете описывать много вещей, на самом деле, и технические вещи там могут быть описаны, но и этот файлик точно не должен быть большим. Но вы должны понимать, что это будет попадать в каждую сессию. Ну что код должен знать каждую сессию для того, чтобы это ему помогло реализовывать ваши задачи. Ну то есть это какое-то маленькое количество информации. Итак, например, мы ещё туда можем записать что-то типа: "Никогда не устанавливай пакеты на мой Mac без разрешения". Я имею в виду глобально. То есть мы разрешили коду вообще делать всё, что угодно, но мы можем таким же образом в глобальные правила сложить что-то на уровне промпта. Понятно, что это можно сделать другими способами, например, запретить ему использовать какие-то команды, но мы можем и просто его попросить это сделать. И на самом деле на практике, если вы не засрали контекст, то он будет тоже соблюдать эти инструкции. То есть он просто остановится и скажет: "Для того, чтобы мне это сделать, мне нужно установить какую-то библиотеку". Ты ему говоришь: "О'кей", и он начинает это делать. Соответственно, вот так вы можете это использовать с точки зрения там глобальных правил.

Итого я предлагаю зафиксировать простые правила, то есть где они лежат. Это вот эта вот часть. И они ещё могут лежать в проекте. И вот эту часть мы тоже можем скопировать. То есть это место, где могут лежать файлики клода. Пусть это будет вот так, как напоминание. О'кей. Я думаю, здесь понятно.

Если вы хотите какую-то определённую структуру, вы можете это сделать здесь. На самом деле, вы можете много чего сделать. Вы можете также определять, какой файл изменился. Например, если изменился файл тоts, Typescript, то, соответственно, нужно применить определённые стили и так далее. То есть какие-то такие вещи вы можете настраивать. Я вам дал направление, куда смотреть. В большинстве случаев для большинства людей это просто не нужно будет. Поэтому, кто хочет покопать глубже, пожалуйста, копайте. На этой странице есть вся необходимая информация.

Также, как напоминание, есть доколучшим практикам. Вот она у меня здесь тоже есть. Я с вами тоже ей поделюсь. Ну и, соответственно, здесь описано в том числе, как создавать эффективный клод MD. Но это, на самом деле, такой спорный холиварный момент. Опять же, я вам советую просто запускать команду Инит и на этом этапе вообще об этом не думать. То есть, как минимум, вы просто соберёте контекст по проекту и перестанете его собирать в каждой сессии. Это уже хорошо.

Ну и какие-то правила, которые вам нужно сохранить глобально, вы сохраняете глобальные правила юзера. Вы можете попросить Клод это сделать, и вам даже не обязательно искать, в какой папке там что находится. У него есть свои гайдлайны, и он понимает, каким образом вы хотите это реализовать. Опять же, здесь есть примеры, что туда не нужно сохранять, что нужно, но, как я уже сказал, единственное, что вам стоит запомнить - это этот файл попадает в каждую сессию. Думаете о том, что должно попадать туда каждую сессию. Ну и старайтесь этот файл держать небольшим. То есть, если у вас вот здесь будет больше 500 строк кода, ну, это 100% какая-то странная история, потому что вы слишком много как будто бы описали. Возможно, вам нужно некоторые вещи выносить в скилы, возможно, хотя бы некоторые вещи выносить в отдельные документы и здесь просто через собаку упоминать там какой-то путь. Ну и, соответственно, писать, что подгрузи этот документ в тот момент, когда это будет нужно. Вот примерно так организовывается работа с код MD.

Я сейчас добавлю в правила проекта, что нужно каждый раз, когда обновляется вот тот файлик. я уже забыл, как он называется. Нужно, соответственно, обновить extension. Каждый раз, когда обновляется этот файл, то есть вот он этот файлд код курс, нужно обновлять extension и поднимать версию минорную. Пусть это будет пока так. То есть я буду по минорной версии понимать, что обновление было, поэтому пока так зафиксируем. Не самый лучший кейс, но в целом для примера, я думаю, пойдёт. Ну и давайте это проверим, потому что, допустим, в этом пункте как минимум здесь не должно быть что-то про инсайты, не должно быть про собаку, не должно быть про ремоткорол. Это всё не здесь как будто бы должно быть. Кстати, про NPXC Usage тоже я не рассказал, когда рассказывал про подписки. Наверное, наверное, не буду рассказывать, потому что я вам просто скажу, что в месяц я трачу около 500 долларов на токены, а подписка стоит 100 долларов. То есть всегда это будет дешевле. Давайте это просто заскриню и скажу, что этому здесь не место. Вот эта часть здесь не должна быть. То есть нам нужно куда-то их в разные места распределить. Может быть, это должно быть в первом уровне. Может быть, может быть, где-то ещё. Давай remote control перенесём в первый уровень и последняя галочкой, пускай это будет. И NPXC usage тоже перенесём туда. И я сейчас об этом тоже расскажу. Ну, это уже не нужная информация для кода, но тем не менее.

Итак, что сейчас должно произойти? Он должен обновить этот файлик и в конечном итоге это всё переместить вот сюда. Итак, он пошёл перемещать это сюда, но файлик пока не обновил. А, нет, обновил всё-таки. Ну, здесь просто правило так описалось. То есть сначала нам нужно, соответственно, синхронизировать с новым контентом. Ну, здесь не описано, в каком порядке это делать. О'кей, согласен. Поэтому в целом и так пойдёт. И в конечном итоге должна подняться версия манифеста. Ну и поднялась версия. Правда, я имел в виду фикс версию надо поднимать, а не минорную. Ну ладно, так тоже пойдёт. О'кей. Соответственно, вот для чего нужен код MD. Каждый раз теперь, когда я буду вносить вот эти изменения, он сам будет знать, что с этим делать. Мне нужно каждый раз об этом говорить. О'кей, я сейчас загружу это расширение сюда. Поднимется версия, она поднялась до 1.0. Соответственно, сейчас я это обновлю. Ну и здесь вот как раз появились два пункта. Я про них расскажу после того, как расскажу про то, как работает автомеory.

Итого. Понятно? Проблему я плюс-минус описал. CLД MD описал клод папку описал. про инсайты, про инсайты и вот эти команды. Ну, я уже рассказал, короче говоря, давайте я тоже это отправлю. Вот это тоже нужно убрать. Давай инсайты уберём куда-нибудь в раздел с контекстом. Про восклицательный знак я уже рассказал, про собаку я тоже рассказал, поэтому просто перемести их в первый уровень. О'кей.

Пока он это всё фиксирует, давайте зафиксируем мы, в чём профит вообще этого всего. Итак, первый пункт - это экономия контекста. Второй пункт - это ваши требования сохраняются. То есть он помнит то, что нужно делать. Ну, в целом это два пункта и есть ответ на вопрос, зачем вам нужен клодм MDфайлик. Я думаю, что как напоминание хорошо будет работать. О'кей.

Далее будем говорить про Automemory. Это ещё одна фича клодкода. Она появилась сильно позже, чем появился клод MD файлик. Она более магическая и тем она мне меньше нравится, но я должен про неё рассказать. Итак, что у нас здесь ещё может быть? Это, соответственно, Memory MD файлик. Но в Memory MD точно не должно храниться то, что хранится в требованиях проекту. Как минимум потому что Memory MD находится на уровне юзера. То есть там записываются папки и там записываются проекты, но тем не менее это находится у вас в папке юзера. То есть это в конечном итоге не попадает в репозиторий. Вы можете сделать, чтобы это попадало, но тем не менее сама задумка говорит о том, что это не так должно работать.

Давайте посмотрим, что вообще говорит документация по поводу clд MD и автомеory. Автомеory - это заметки клода, написанные самостоятельно. То есть это такая история, которая я даже не знаю, какой пример привести. То есть когда вы работаете один, то в целом какая разница, куда это писать? Вы можете писать куда угодно, потому что в любом случае это будет работать, потому что это просто попадает в контекст. Но в автомеory просто много магии. То есть это не какие-то явные требования, которые лежат в проекте, и там не должно быть требований. Это какие-то заметки клода, которые он пишет сам для того, чтобы как будто бы делать self-imovмен. То есть как будто бы он должен самоулучшаться от того, что вы ему говорите: "Запомни, что это делать не надо". Но при этом, если вы явно скажете, что делать не надо и нужно это записать куда-нибудь в код MD, это тоже будет работать. Поэтому, ну, лично для меня это такая какая-то сомнительная история. Но я думаю, что это может работать хорошо, если, ну, допустим, у вас есть какая-то особенность, связанная конкретно, может быть, с вашей операционной системой. То есть, может быть, именно с вашим ПК что-то не так. То есть, какая-то история, которую стоит учесть у вас. Может быть, порядок действий вас не устраивает, да? У вас есть какая-то история с код MD, это командный какой-то MD-файлик, но при этом вы хотите, чтобы что-то происходило чуть иначе. То есть вы можете подкорректировать код, попросив его это не делать в таком порядке, например. Или вот, как я сказал, если у вас Мак и какой-то специфичный может быть, маг с определённым окружением, а больше ни у кого этого нет, то, соответственно, вы тоже можете попросить его запомнить, что у вас всегда при запуске вот этого что-то лагает, например. То есть не запускай это в таком виде и так далее. То есть я вижу это только вот в таком случае как что-то полезное.

Также вот здесь нам приводит пример, что, да, код MD служит для, например, стандартов кодинга. как должен происходить workflow, то есть процесс, да, как должна быть построена архитектура. А при этом автомеory пишет какие-то, может быть, команды билда, которые код выявил самостоятельно. То есть как будто бы он ошибался где-то. Вы попросили это исправить и, соответственно, он это запомнил. Вы это можете делать в явном виде, клод это сам может делать. В общем, это такая, как я уже сказал, история с небольшой ноткой магии, поэтому мне она и не особо нравится.

Итого, моё мнение, что автомеory появилось как раз-таки для того, чтобы вы меньше думали о том, что нужно записывать в тот же CLД MDфайлик, например. То есть, если вы какой-то базовый пользователь, конечно, вам будет приятнее, что что-то запомнилось и оно что-то как будто бы работает. Вам даже не нужно думать о том, как это работает. И тем не менее что-то где-то запомнилось и записалось. Ну да, кстати говоря, вам нужно её включить или выключить. Она включена по дефолту, поэтому, если вам это не интересно, вы можете это вырубить. Я забыл про это сказать. Соответственно, хранится она на уровне юзера. То есть у вас есть клод, проекты, проект и в нём есть уже меory. Соответственно, вы можете это изменить, но можете ли вы переместить это конкретно в проект? Честно говоря, не знаю. Здесь также описываются ещё дополнительные файлики, но это всё, как я уже сказал, self improvement, то есть как будто бы вам за этим даже не нужно следить. Оно работает, оно что-то записывает. И хорошо, если так. И, допустим, если у вас и у вашего коллеги есть какая-то повторяющаяся проблема, вам нужно её сложить в код MD. Если же этого нет, ну, пускай клод-код пишет это всё в мемори. Я думаю, что вам об этом не стоит сильно много думать.

Ну и также у вас есть команда Memory. Вы можете там посмотреть и сам clд MD файлик, и clд MD файлик в проекте, и при этом сможете открыть папкуриy. Вот так это работает. То есть вы пишете здесь. Вот он код MD вашего юзера. То есть вы можете прочитать, что записано в глобальных правилах, либо можете попросить код это сделать. Код MD проекта. И вот здесь вот автомеory. Мы открываем. И здесь ничего нет, потому что туда ничего клод ещё не сохранял. Ну, как пример могу. Я не знаю. Давайте спросим, как меня зовут. Как меня зовут? Он не знает, как меня зовут, потому что в памяти ничего не записано про это. Но я не видел, чтобы существовала какая-то глобальная память, честно говоря. Поэтому, вероятнее всего, это также будет записано на уровне проекта. Поэтому это всё равно не подходит именно для такого вопроса. Наверное, не очень хороший пример. Меня зовут Ваня. И вот сейчас посмотрим, куда он запишет. Может быть, я ошибаюсь, и это уже исправили, и существует теперь ещё и глобальная память, но мне кажется, нет, потому что, судя по описанию, тому, что мы сейчас прочитали, это выглядит как раз-таки self-imovement на уровне проекта. И вот он даже не предупреждает, куда на самом деле сохраняет, да? То есть мы можем, кстати говоря, можем нажать Ctrl O и посмотреть, что здесь происходило, куда он записал всё это. И он записал всё это на уровень проекта. Вот здесь вот видно, что YouTube код. Ну и давайте в этом убедимся. Я просто создам папочку на уровне выше, да, пусть это будет папочка тест. Ну и, соответственно, перейду в эту папку тест. Запущу здесь клод. Как меня зовут? По факту он не должен знать, как меня зовут, потому что эти данные сохранились на уровне вот этого проекта. Он проверяет память. Ну и в памяти ничего не будет, потому что памяти этого проекта ничего нет. Из системного окружения я вижу только имя пользователя MacOS. Ну вот, как я и говорил, получается единственный смысл автомеory. Может быть, всё-таки можно сохранить глобально, но я этого не увидел в документации. Клод это тоже мне не предложил. он это не сделал. Соответственно, единственный смысл - это когда в рамках проекта что-то улучшается на основе выводов самого клода. Поэтому я вам рекомендую какие-то важные вещи явно всё-таки сохранять в clд MD. Ну а если клод-код сам что-то сохранил, потому что посчитал нужным, ну о'кей, пусть это будет немного улучшать ваш процесс. Понятно, что если вы напишете запомни что-то, он тоже это пойдёт записывать в память. Но опять же, я бы вам советовал думать о том, что всё-таки в явном виде возможно хранить в код MD - это лучше, чем хранить в таком виде где-то непонятно в памяти. Вот такие вот дела с точки зрения автомеory.

Если у вас есть какие-то классные кейсы использования автомеory, я понимаю, что на этом можно построить определённый процесс. То есть я могу в код MD, например, зафиксировать то, что он должен это делать, каждый раз сохранять какие-то выводы в меory. Но при этом это же такая штука, которую вы не пошарите потом. То есть я размышляю всегда в рамках проекта, что с этим проектом может потом работать какой-то ещё человек, и это уже готовая конфигурация. То есть вы просто можете передать проект заказчику, например, обучить его что-то делать, и он может просто заходить и надиктовывать что-то. То есть вы можете это всё ограничить, соответственно, передав проект вот таким вот образом, если вы не хотите его поддерживать или если вы работаете в рамках какой-то команды. Соответственно, тоже вам нужны какие-то определённые, ну, глобальные правила. А вот автомеory, ну, не знаю, не знаю. В общем, если какие-то классные кейсы у вас есть, рассказывайте. Вроде бы я всё в этот раз рассказал. То есть инсайты, это всё я сейчас унесу, про автомеory сказал. Ну, в общем, всё, мы можем переходить к третьему уровню.

Итак, мы переходим к следующему уровню - это инструменты, которые мы можем дать агенту дополнительно. Это MCP, Скилы, субагенты и агент Teams. Ну и начнём мы, конечно же, с MCP. Но прежде чем мы начнём, я думаю, что нужно докрутить немножко мою реализацию для того, чтобы было на чём показывать. Я думаю, что нам нужно создать лендинг. Допустим, мы хотим в конечном итоге это расширение публично опубликовать, да? И у нас будет лендинг, который будет разводить, ну, пусть это будет Chrome Extension, App Store и Google Play. Пока у нас есть только Chrome Extension, но ничего страшного, я думаю, что для примера пойдёт. Пусть это будет какая-то такая история. И здесь в центре будет мобилка. То есть здесь будет отображаться что-то, какой-то скриншот. Давайте эту идею докрутим как-нибудь. Пусть это будет что-то полезное. Мы можем перевести, например, Markdown в Todду list. Пусть это будет Markdown to do. list. Вот так мы это всё назовём. Соответственно, лендинг у нас будет плюс-минус вот так выглядеть. И снизу у нас будут просто какие-то кнопочки. Пусть здесь будет Chrome extension, здесь App Store, ну и здесь Google Play. В общем, как-то так это пускай выглядит. Я думаю, что для референса пойдёт, чтобы не объяснять, что я хочу получить. Соответственно, мы это просто заскриним.

Переходим обратно в клод. И у меня здесь чистый контекст. Как я сказал, я буду каждый уровень очищать контекст. Не буду каждый раз это показывать. Напоминаю, что это просто делается с помощью clear. Соответственно, я снова вставляю скриншот. Кстати говоря, если вы хотите удалить скриншот, здесь вот показывает нам, что нужно нажать стрелочку вверх и, соответственно, нажать delete, либо нажать escape, и вы снова выйдете обратно. Ну, либо вниз нажать и тоже выйдете обратно. Я предлагаю дать опять же простую инструкцию. Нам нужно создать лендинг в новой папке для того, чтобы сделать разводящую страницу для нашего расширения и в будущем приложения. Я хочу сделать разводящую страницу для нашего приложения. На данный момент это только Chrome Extension, но в конечном итоге у нас будет ещё мобильное приложение, поэтому сразу нужно подготовить кнопки под App Store и Google Play. Ссылки замокай какие-нибудь. Пусть будет так. Посмотрим, что у нас в конечном итоге получится. После изменений внеси изменения в код MD для того, чтобы появился новый контекст продигн. Вот опять код MD. Кстати, новая порция кофе подъехала. Кстати говоря, Виспер тоже запоминает те изменения, которые я изменил. Соответственно, в следующий раз он не должен ошибаться, но я уже не первый раз это меняю, поэтому, возможно, это нехорошо работает. Вот я ещё иногда сам захожу внутрь Виспера, и там есть dictionary, и мы можем туда тоже вносить фразы, и это помогает немножко его улучшать.

Пока он создаёт лендинг, я предлагаю поговорить о том, что вообще такое MCP. Вообще MCP придумали антропики. Это был такой первый gameчер. Это появилось ещё до скилов, до субагентов тем более. И это позволяло дать агентам инструменты внешнего мира. То есть, если мы вернёмся вот сюда, я предлагаю вот эту часть скопировать. Нам здесь не нужна будет информация, наверное, про вот эту часть. Но при этом можно забрать, наверное, вот эту часть. То есть, чтобы было понятнее. Пусть это будет так. О'кей. Как мы видим, вот здесь есть какие-то предустановленные инструменты, которые нам предусталивает команда клода. Они, конечно же, это всё улучшают. И, допустим, раньше не было каких-то инструментов, теперь они появляются. Например, код guide. По-моему, изначально, допустим, его не было и не было у клод-кода знаний. Когда ты сам у клод-кода спрашиваешь, что он умеет, он не знал, что он умеет, потому что у него не было этого гайда. В конечном итоге это всё появлялось, и, соответственно, инструменты расширяются и будут расширяться в дальнейшем тоже. То есть, например, прямо сейчас можно из коробки использовать Chrome в клоде. Это работает с помощью того же Chromeна, вот этого вот. И, соответственно, под капотом это всё может коннектиться. Появляется вот здесь вот такая группа вкладок. Мы можем здесь что-то задавать, какие-то вопросы. И при этом из код-кода в терминале мы можем законнектиться вот сюда. Это даже открываться не будет, но вы видите точно такое же отображение здесь. И, соответственно, код может делать что-то с вашим браузером. Давайте я здесь сделаю груou.

Так вот, MCP - это первое, что позволило добавить к лоду свои собственные инструменты. Вообще, что такое MCP? Давайте представим, что это клод. То есть всё, что есть у клода - это те инструменты, которые были в него предустановлены. И у нас есть, допустим, какой-то сервис. Пусть это будет Chrome. Давайте его сделаем зелёным. Итак, у нас есть Chrome и естьд.Д понятия не имеет, что у нас существует Chrome и точно никак не может им управлять. Но если этот Chrome, давайте его как-нибудь сделаем вот таким большим. Но если Chrome нам даст публичный API, ну, допустим, у него есть ручка открыть вкладку или ручка сделать скриншот и так далее, кликнуть почему-то ещё что-то, ещё что-то, вот это всё мы можем назвать публичным API. То есть нам разработчики Хрома предоставляют возможность управлять браузером программно. То есть не так, что мы заходим, что-то кликаем, да? Мы можем вызывать какие-то ручки, и эти ручки будут вызывать что-то прямо в браузере. Давайте это всё назовём API. Так вот, если мы разработчики и мы читаем документацию, мы понимаем, как работать с этим API. То есть мы прочитали, понимаем, что делает эта ручка. Вот клод эту документацию тоже может прочитать. И вот как раз для этого и придумали MCP. Я не буду усложнять, то есть там понятно, что это работает чуть сложнее, но это просто описание ручек, которые может дёрнуть клод. То есть, по сути, что у вас здесь есть - это открыть вкладку. Допустим, это, ну, какая-нибудь ручка Chrome Open Tab. Если скриншот, то это Chrome сreн, допустим. И каким-то образом клоду надо понять, когда вызывать эти ручки. Так вот, у них есть просто описание. Эта ручка открывает новую вкладку и так далее, да? То есть получается, что AI начинает понимать, в какой момент, какой инструмент вызвать. Пусть это будет вот так. И, соответственно, когда вы начинаете общаться с тем же кодом, он понимает, что у него есть доступные инструменты. То есть у него помимо вот этих инструментов ещё появились вот эти инструменты из MCP. У них есть описание, и он знает, что если пользователь просит открыть, например, вкладку, то он знает, что нужно вызвать вот эту вот ручку в API. То есть,

соответственно, мы говорим: "Открой вкладку". Он дёргает эту ручку, у нас открывается браузер. Вот примерно так MCP и работает.

Давайте тоже скопируем и здесь напишем MCP. Понятно, что техническая реализация там чуть-чуть сложнее, чем я рассказал, но я думаю, что в общих чертах нам достаточно знать вот эту информацию, потому что вряд ли кто-то из вас пойдёт создавать свои собственные MCP. А если вы даже и пойдёте создавать свои MCP, то, соответственно, с кодом вы сможете это сделать очень просто. Думаю, что в общих чертах нам достаточно знать вот это вот.

Соответственно, помимо того, что у нас есть тулы, помимо того, что у нас есть код MD и Memory MD, у нас ещё есть MCP, которые, на самом деле, достаточно прожорливый, потому что все эти описания ручек, то есть всё, что здесь есть, оно может быть достаточно такое большое, если MCP особенно сделан плохо, они попадают тоже в контекст. То есть получается, что у нас помимо вот этого всего есть ещё наши MCP, то есть то, что мы добавили в клод MCP. Мы ещё поговорим, посмотрим на это, то есть как это выглядит и насколько там это всё прожорливо. Но в общих чертах пока так.

Итак, давайте вернёмся сюда. У нас уже здесь что-то готово. Он нам говорит, что нужно открыть вкладку в браузере, чтобы посмотреть результат. Нас, конечно же, это вообще никак не устраивает. То есть, что это значит? Что мы должны открывать какую-то вкладку. Мы, вообще-то, заплатили 100 долларов. И нам, конечно же, нужно, чтобы он сам открывал все вкладки, сам смотрел, сам убедился, что это работает. И только в конце сам он предоставил нам ссылочку, чтобы мы пошли и посмотрели, потому что мы за этим здесь и собрались.

И вот одно из таких решений. Я не буду сейчас показывать Chrome. То есть мы можем в целом вызвать вот здесь Chrome/Chrome и подключиться к расширению хрома, но оно, во-первых, медленное. Во-вторых, оно находится в бете. И в целом для того, чтобы этим пользоваться, вам ничего не нужно делать. Поэтому давайте посмотрим на что-то более интересное. То есть мы хотим найти способ, то есть MCP, взаимодействовать с Хромом.

Мы можем просто пойти и написать MCP. Кстати говоря, MCP Servers - это тоже я вам про это расскажу. Это место, где вы можете искать как раз-таки MCP, но в целом вы можете это сделать в поиске. То есть вы пишете MCP Chrome, давайте вот без death Tools, и вы наткнётесь на тот же Chrome de Tools MCP. То есть вы переходите вот сюда и получаете этот MCP. Здесь всегда есть секция про код-код, например. Давайте её найдём. Вы её просто разворачиваете, и здесь есть инструкция, каким образом это всё установить. Мы это всё, соответственно, копируем.

Вот эта вот часть Scope user говорит нам о том, что мы поставим MCP глобально, то есть всегда наш MCP будет доступен в каждой сессии. Я вам советую, на самом деле, ставить MCP глобально, только те, которые действительно вам нужны всегда. Но вот если вы всегда работаете с хромом, то есть вы всегда хотите, чтобы у клода была возможность открывать что-то по вашему запросу, либо когда он это делает и в инструкциях находится информация про то, что он должен что-то открыть. Соответственно, это можно поставить глобально.

Если же вам это глобально не нужно, ну, допустим, у вас есть MCP Superabase, да, если вы хотите работать с базой данных, естественно, вам не нужно это ставить глобально. Почему? Потому что у вас много проектов может быть вообще без Superbase. То есть зачем каждый раз загружать MCP Superbase в проекты и захломлять этим контекст, если вы с этим вообще не собираетесь работать? Поэтому, если вы не хотите это ставить глобально, то, пожалуйста, просто ставьте это через, э, без scope user, соответственно. Если хотите глобально, ставим scope user. В целом Chrome def Tools мы можем поставить глобально, потому что это нам может много где понадобиться, поэтому я поставлю это глобально.

Для того, чтобы всё заработало, мы просто выходим и заходим обратно. И, соответственно, вот нам подсказывали, что мы можем запустить сразу клод с этой сессией, но я могу вот сюда зайти в резюме и, соответственно, опять вернуться вот сюда. Теперь мы можем вызвать команду MCP и увидеть здесь MCP Chrome de Tools. Вот он как раз-таки у нас появился. Мы также можем вызвать команду контекст. Здесь мы увидим, что у нас также появились ручки хрома.

Клод-код пошёл дальше, и они MCP теперь загружают по запросу. То есть, если агент считает, что ему нужно поискать что-то среди MCP, то он просто вызывает инструмент tool search и начинает искать описание нужных MCP. Раньше это работало не так, поэтому раньше контекст очень сильно мог засраться с помощью этих MCP, потому что они все попадают в контекст. Вот это вот всё может в конечном итоге, если вы кучу MCP поставите, там Chrome defols, Contex 7, Super Base, ещё что-то, ещё что-то, а может быть Directus там поставить и Superbase вместе, а может бы поставить и Play Wright, и Chrome MCP, и короче у вас это таким образом может превратиться в огромный список. MCP всегда попадают в контекст в клоде. Видите, это теперь не попадает в контекст. Хотя они на самом деле говорят, что если больше 10% то не попадает в контекст, но как будто бы ещё дальше они пошли и докрутили, что теперь это вообще не попадает в контекст, потому что я уверен, что вот эти вот ручки вряд ли занимают больше 10% от контекста.

Мы сейчас это включим. А, кажется, есть какая-то опция, которая позволяет это включить. Найди опцию, которая позволяет сделать так, чтобы MCP загружались всегда, а не on demond. Сейчас посмотрим. По-моему, есть такой флаг. Я просто хочу вам показать, сколько места занимает вот, допустим, сам Chrome. Вот он опять вызывает clд cod guide и говорит нам о том, что такая опция есть. То есть, да, мы можем сделать так, чтобы это всё работало всегда on demond. Все MCP инструменты загружаются сразу. Давай сделаем так, чтобы все MCP инструменты загружались сразу. Кстати говоря, да, мы видим, что есть и skкил на update config. Вот он пошёл и обновил этот config. Соответственно, если я сейчас выйду и зайду ещё раз, давайте опять вернёмся к этой сессии, то мы увидим сейчас вот здесь в MCP, нет, не здесь, в контексте мы увидим как раз-таки веса этих MCP. И вот у нас MCP занимают 5,7.000 токенов, то есть по сути 0,6%. Не знаю, почему тогда он это делает on demon, то есть по запросу. Как будто бы это не так много всё-таки, да, но опять же, даже 1% от вашего контекста всего лишь на один MCP улетает всегда. То есть вот это на самом деле может быть достаточно огромное количество скилов, вот о которых мы дальше поговорим. А здесь всего лишь MCP занимает вот такое количество контекста. Но сейчас это, конечно, не проблема. И Chrome Death Tool сделал нормально, то есть не так уж много жирёт контекста. Есть, конечно же, намного хуже сделанные MCP, поэтому это может превратиться в проблему, когда вы как раз-таки очень много MCP ставите.

И вот теперь мы можем его попросить открыть ту страницу. Давай ты сам откроешь страницу, и у него теперь есть возможность открывать эти страницы. То есть среди вот этих всех тулов, которые здесь описаны. Вот он вызывает нам Chrome de Tools. Ну и, соответственно, вот, пожалуйста, у нас появилась та страничка. Понятно, что она выглядит так, как он решил, что она будет выглядеть, потому что всё, что я дал, вы сами видели, что я дал. Но тем не менее, вот у нас эта страница появилась. Все кнопки есть. Вот это вот будет скоро. Он даже понял это из контекста, соответственно. Ну и, пожалуйста, у нас есть страница.

Мы также можем попросить его сделать скриншот, например, сделай скриншот и положи его в корень. Он вызвал инструмент тек скриншот. Соответственно, если я перейду в антигравити, то вот у нас будет скрин этой страницы. И это, конечно же, ему позволяет делать некоторые вещи, которые могут помочь во время того, когда он будет проходить какой-то цикл исправлений. То есть он может делать сам скриншоты, сам открывать страницы, точнее, в обратном порядке. И если что-то не соответствует референсу, он может это начать исправлять.

О'кей, здесь мы поняли, зачем нужны MCP. Мы ещё будем использовать MCP в будущем, и я покажу ещё несколько MCP, но думаю, что смысл, зачем это нужно, вы поняли.

Итого, проблема MCP заключается в том, что все ручки от MCP, по крайней мере, ранее, вот сейчас вклад-коде это работает не так, хотя в документации написано, что всё-таки если больше 10%. Я не знаю, честно говоря, мм, будет ли это работать так же хорошо, как изначально это загружается в контекст, как это работало раньше. То есть будет ли он знать об этих ручках. Кстати, мы можем в целом это мм исправить. Давай вернём опцию, когда MCP загружаются по запросу. Я снова выхожу, снова запускаю. Да, кстати, мы можем вот эту просто, на самом деле, команду скопировать. И если мы сейчас вызовем контекст, давайте убедимся, что всё-таки мы находимся не в нуле. То есть, да, у нас уже 75.000 контекста занято. Кстати, в опусе, как много, я говорю, кстати, в опусе есть сейчас миллион контекста, а до этого это было всего лишь 200.000. И вот мы простыми вот этими операциями уже половину контекста истратили, если бы раньше это было 200.000.

Итак, соответственно, теперь MCP, они всё равно загрузились. Они загрузились, потому что это было внутри сессии. Давайте я попробую заново запустить не эту сессию. Вот теперь этого нет. Открой наш лендинг в браузере. Ну хотя ладно, это слишком простой промпт. Наверное, он всё-таки поймёт, что нужно пойти и поискать инструменты, которые у него есть. И я думаю, что он найдёт нужный MCP и загрузит его. Короче, это эмуляция скилов, на самом деле. То есть вот он всё-таки это смог сделать. Соответственно, сейчас, если я вызову контекст, то я увижу, что эти MCP загружены. Да, вот он нашёл нужную ручку и её загрузил.

О'кей. В целом получается так, что с точки зрения контекста в колод-коде на данный момент проблемы особой всё-таки нет, потому что они эту проблему исправили. Но я всё равно считаю, что это хорошая история про то, чтобы показать, что может случиться, потому что, ну, на данный момент это вот так работает. В следующий раз, может быть, они вернут эту опцию и MCP снова начнёт загружаться по запросу, потому что в доке написано, что если больше 10% контекста заполнено, мы сейчас это ещё раз проверим на всякий случай, но тем не менее вы это теперь знаете.

Так вот, проблема MCP на самом деле не только в контексте. Проблема MCP есть ещё глубже, потому что MCP - это сценарии, которые заранее написаны. Получается, что MCP, помимо того, что впадают в контекст, они ещё написаны по определённому сценарию. То есть, если мы, допустим, первую проблему обозначим как контекст, всегда попадают в контекст. О'кей. В клодкоде больше они не попадают в контекст, честно говоря. Я думал, что всё-таки больше 10, когда процентов то попадает. Вот хорошо тоже узнал что-то новое, пока я вам что-то рассказывал. О'кей. Всегда попадаю в контекст. И у них определён сценарий заранее.

Пока это нам особо ни о чём не говорит, но я думаю, кто уже давно работает с колод-кодом или в целом является разработчиком, я здесь имею в виду то, что некоторые MCP для того, чтобы сделать какое-то действие, идут всё равно по определённому сценарию. Ну, давайте представим, что у вас есть какой-нибудь таск-трекер и вы хотите получить одну задачу. Но MCP может не предусматривать получение одной задачи, он может предусматривать получение всех задач. И потом клод с помощью своих уже ресурсов каких-то, да, после того, как получит огромное количество задач и потратит огромное количество контекста, уже будет искать среди этих задач ту единственную, которая вам нужна. Поэтому в этом плане MCP ограничены, и мы плавно переходим к тому, что нам нужны скилы.

Но прежде чем мы перейдём к скилам, я думаю, что мы должны с вами перейти вот сюда. Это дока по менеджменту cost efficiency, то есть каким образом сделать использование кда менее прожорливым с точки зрения контекста. И здесь как раз-таки рассказывают нам про MCP. И вот здесь вот нам говорят, что если MCP, описание MCP достигнут больше 10% от контекст Window, то, соответственно, клод автоматически их унесёт в Onemond. И вот это странно, на самом деле, потому что это не соответствует действительности. То есть мы сами видели, что было меньше 1% контекстного окна, но тем не менее у нас сразу это всё загружалось по запросу. Ну хорошо, значит, они ещё дальше пошли, ещё это всё докрутили. Ну в целом, ладно, ничего страшного.

Если вы работаете с другими инструментами, можете обратить внимание на то, что если у вас очень большое количество MCP, скорее всего, вам нужно перейти на скилы и CLI. И вот здесь нам тоже это рекомендую делать. То есть предпочтение отдавайте CLI тулам. То есть, если до этого кто-то работал с код-кодом или любым другим, на самом деле, инструментом, которые реализует MCP, а это все инструменты реализуют MCP, потому что это уже древняя технология, то вы, вероятно, знаете и про Context 7, и про Play Ride, который был ещё для Chrome Death Tools, и про Chrome Death Tools, соответственно, и про другие какие-то MCP, которые популярные просто. И вот сейчас, например, у Конк 7 есть свой сила и скилы, у Playbite есть свой сила и скилы, поэтому все движутся в сторону перехода с MCP на CLI и скилы, потому что, если вы берёте CL, вы очень становитесь гибкими. Вы можете делать какие-то действия, которые не предусмотрены в MCP, но при этом у вас будет предустановленный скилл, о которых мы сейчас будем говорить, который вам позволит сделать то же самое, что я делал до этого MCP. В общем, вы получаете одни плюсы и не получаете минусов.

Но много всё-таки инструментов сделано с помощью MCP. И есть хорошие инструменты, которые сделаны с помощью MCP. И они не жрут большое количество токенов даже по умолчанию. Например, я для поиска использую Экса. Не то чтобы я считаю, что это самый лучший поиск, но он работает достаточно хорошо. Я его использую в основном вместо встроенных феч webarch. То есть я всегда прошу просто вызывать вместо этого ЭкО. И ExA - это MCP для поиска. Мы можем в целом перейти на Экса, посмотреть вот сюда. И он нам говорит, что это лучший API для поиска, для искусственного интеллекта. Я в целом могу с этим согласиться, потому что мне действительно нравится с этим работать. Сейчас честно не буду вам врать, то есть не буду сравнивать результат поиска клод-кода и результат поиска Экса. Тогда, когда я это ставил, результат был намного лучше у Экса, но тем не менее это всё докручивается. Соответственно, сейчас может быть у клод-кода и так хороший поиск.

Если мы зайдём вот сюда в прайсинг, то здесь 1.000 бесплатных реквестов каждый месяц у нас есть. То есть, если вы не будете дёргать очень часто реквесты, то, соответственно, вам будет хватать 1.000 реквестов в месяц. Ну и, соответственно, у этой эксы тоже есть способ взаимодействия через MCP. Мы просто переходим вот сюда, нажимаем MCP. Здесь есть пример, как это установить. Как обычно, я просто ищу-код. Вот он есть здесь. Соответственно, здесь есть опять-таки команда, которая нам говорит, как это всё установить. И стандартно здесь используется только три доступные тулы. Это веб-поиск, это getcд context. То есть мы можем посмотреть мм как раз-таки документацию на гигибе, на Stea Overflow, в общем, найти какой-то пример документации по коду и можем сделать resarch каких-то компаний для получения бизнесой информации, новостей и инсайтов. Но на самом деле я ещё использую кролин экса. То есть вы можете взять какую-то конкретную страницу по урлу, даже есть people search экса, это вы можете какого-то конкретного человека найти. Ну то есть информацию по какому-то конкретному человеку. То есть мы вот это просто забираем точно таким же образом. Вставляем это сюда. Я вернусь вот сюда и заберу вот эту вот ссылку. И здесь её вставлю. Здесь нам нужно поменять наш апиключик. Я его сейчас тоже заберу. А как это сделать? Нам нужно залогиниться, перейти в апи ключи. И вот здесь вот у нас есть апи ключ. Я его вам не буду показывать. Вам просто нужно его вставить в то место, где был AP. Опять же, если вы возьмёте меньше тулов, то, соответственно, вот здесь у вас просто будет меньше тулов. Но так как кд-код уже решает эту проблему и вроде как решает её достаточно эффективно, надо, конечно, смотреть, потому что, может быть, я просто не обращал внимания. То есть я думал, что у меня как раз-таки не занимает 10% контекста. И либо это вообще до недавних пор так и работало, я не знаю. Это очень быстро всё развивается. Соответственно, может быть, я увижу, что всё-таки придётся включить опцию, что MCP загружена по умолчанию, потому что всё-таки некоторые MCP, как ЭксаA, я продолжаю использовать.

Итак, мы выйдем, снова зайдём и посмотрим, что у нас стал доступен MCP эксы, и он почему-то не стал доступен, на самом деле. Так, друзья, поправочка. Когда мы вот это вот вставляем, то есть у нас есть вот эта вот часть, где устанавливать это всё для клод-кода. Мы вот эту часть забираем. Когда мы вставляем этот урол, нам нужно его просто обернуть, соответственно, в кавычки. То есть тот урол, который был, я сейчас ещё раз вставлю с моим ключом и оберну это всё в кавычки. Теперь ещё раз запущу клод-код. И вот теперь у меня в MCP должна появиться эксаа. И она уже законнекчена, потому что я сразу указал ключик, соответственно, она есть.

О'кей. Что мы можем делать с помощью XMCP? Например, мы можем дёрнуть мою страницу с помощью XMCP. Посмотри, что есть на странице httpsesznait.com. Понятно, что есть проблемки опять-таки с виспем. MCPA. Нет, конечно, это не та страница, которая нужна. Что-то я не поправил это сразу. Он запустил как раз-таки тулу, которая не было по умолчанию. Это Кроулин Ex. И он сейчас заберёт, соответственно, страницу. И здесь вот как минимум есть опция, сколько символов получить. То есть он не будет всю страницу получать, да? Он получит вот конкретно это количество символов. Можно в качестве эксперимента попробовать, например, дёрнуть с помощью кролин экса мм страницу и сложить её в доку какую-нибудь. А потом с помощью феч тоже дёрнуть страницу и сложить её в доку какую-нибудь. Я уверен, что с помощью Экса получится это сделать эффективнее. И вот он мне дал какую-то базовую информацию по поводу страницы, потому что, вероятнее всего, либо 5.000 символов, вообще много чего туда поместилось, либо туда поместилась как раз-таки та часть, которая обычно находится в шапке, и это самая главная страница. И вот он нам дал информацию по поводу моей страницы с помощью XMCP.

Итого в глобальных настройках я могу опять-таки попросить код использовать XMCP всегда вместо websitarch и феch. Добавь в глобальный конфиг, что нужно использовать Exa MCP вместо стандартных Websearch и вот сейчас хорошо Виспер определил, что я хочу сказать. Только не добавив, а добавь, но ничего страшного. Здесь когнитивных способностей хватает у клода для того, чтобы это всё разобрать. О'кей, давайте очистим контекст и попробуем спросить: "Найди информацию по несерьёзному айтишнику". Он, конечно, дёргает не тул, который поиск человека, а тул, который просто поиск в вебе, но в целом ничего страшного, это так тоже сработает. Вот он нашёл мой YouTube канал, соответственно, Telegram-канал нашёл Telegramбот нашёл, ну и так далее. Рассказывает про примеры видео на Ютубе. В общем, да, это работает. Сейчас я попросил что-то найти. Если бы ране он пошёл это искать через webсarch, то сейчас он это пошёл делать через Экса. У меня Ex, как я уже сказал, стоит по умолчанию, поэтому вам советую тоже поставить. Я думаю, что бесплатных лимитов вам тоже будет хватать.

Итак, давайте, наверное, откроем мой чек-лист, потому что я 100% опять забыл что-то сказать. Про проблемы, что у Клода не хватает каких-то инструментов внешних, я рассказал, соответственно, что такое MCP. Рассказал полезное MCP. Playgite - это то же самое, что Chrome def Tools в широком смысле будет работать примерно так же. Play с точки зрения как будто бы опыта пользователя. То есть как будто бы чаще были какие-то более логические действия. Вот, например, там браузер закрывался после того, как он сделал какие-то действия. Но опять же, если вы будете использовать Chrome de Tools, я думаю, что для общих задач вы не увидите никакой разницы. И кажется, что с точки зрения прожорливости Chrome Death Tools был даже менее прожорлив. Но у Плейрайта есть скилы и CLI. Я вам сейчас тоже про это расскажу. Контекст 7 - это MCP, у которого также есть скилы CLI. Мы их сейчас тоже будем устанавливать и про это тоже расскажу. Ex рассказал Superbase. Ну, расскажу, когда будем делать что-нибудь с бэкэндом. Ну и, соответственно, в контексте я показал, каким образом выглядит MCP. Вы теперь это тоже знаете. И если вы использовали, например, не клод-код, а что-нибудь другое, вот прямо сегодня пойдите и посмотрите, что там находится.

О'кей, я предлагаю переходить к скилам. Это как раз-таки то, что появилось позже. MCP, опочки, другая футболка и вообще другой день. Аж 3 дня спустя я записываю продолжение, потому что я начал записывать про скилы. В конечном итоге не успел, и мне нужно было улететь в другой город, делать взрослые делишки. К сожалению, не всё можно делегировать и агентам. Зачем я вам это всё рассказываю? Затем, что если вдруг я, конечно же, делал все эти 3 дня в фоне какие-то задачи, поэтому мне пришлось восстановить некоторые конфигурации клодкода. В общем, если я что-то вдруг буду использовать, о чём не рассказал, напишите, пожалуйста, об этом в комментариях. Если вдруг я не откатился до той версии, на чём мы остановились, то я просто потом в Телеграме соберу все эти комментарии и отвечу на эти вопросы. и мы окажемся всё равно в одной точке. А ещё в экстншене я починил, чтобы запоминалось положение спойлера, потому что это раздражало. То есть каждый раз мне приходилось от сворачивать. Ну вот и все водные. Поэтому небольшому техническому моментику я думаю, что можем продолжать.

Как обычно, у меня есть дока про скилы. Будем к ней возвращаться. Давайте вот это вот запиним. Будем к ней возвращаться, когда нам нужно будет какие-то вопросики доуточнить, если я вдруг что-то забуду. Но для начала давайте я расскажу всё своими словами, а в конечном итоге, если что-то забуду или нужно на что-то сослаться, то мы перейдём в эту документацию. Помните, я рассказывал, что есть, например, готовые код MD файлики, которыми делятся для того, чтобы делать, ну, какие-то вещи. Ну, например, лендинги. Вот если бы я хотел, чтобы у меня была готовая инструкция, как делать такие лендинги, которые мы сделали на предыдущем шаге. Кому она нужна, такая инструкция, конечно, но если бы она кому-то была нужна, то в целом я бы мог, конечно, это всё записать код MD, но мы уже обсудили, почему это не очень хорошее решение. Так вот, если бы я хотел это переиспользовать или поделиться этим, то идеальное место для этого - это скилы. Это как раз-таки ещё один gameчеджер от антропиков. Это позволяет вам в удобном формате сохранять инструкции и все нужные для инструкции документов. То есть это способ организации промпта, инструментов, которые нужны для того, чтобы в этом промпте выполнить какие-то инструкции. Давайте мы это сейчас всё нарисуем для того, чтобы было понятнее. Я как раз-таки говорил, что MCP переходит в скилы. Понятно, что не MCP просто берёт и переходит скилы. Для этого вам нужны определённые инструменты. То есть как раз-таки в скилах вы можете хранить, например, скрипты либо использовать CLI и вызывать команды просто из инструкции в этом промте. Погнали опять рисовать. Я думаю, что будет понятнее.

Итак, давайте создадим новый раздел. Я, кстати, здесь немножко поправил, как будто бы отступы какие-то были кривые. Я уж не помню, что я на самом деле сделал. В общем, давайте скопируем эту часть и заведём Skills. И Skill - это тоже способ организации промпта. То есть у вас всё также в какой-то папочке. У вас всё также в папочке clд. Здесь мы говорим про локальное хранение скилов, есть skills. И, соответственно, в этих skills могут лежать какие-то скилы, и нужные для выполнения инструкции файлики. Ну, допустим, у нас будет create лдинг. Пусть это будет так называться. И здесь может быть вот такая вот структура. То есть это определённый файлик, пусть вот так это выглядит, в котором есть шапка и там находится некоторая служебная информация. То есть это имя

этого скила и дескрипшн. По дескрипшену клод понимает, что нужно вызвать этот скилл. То есть изначально он в контекст не загружен. В контекст загружена только вот эта часть. Я, кстати говоря, забыл, по-моему, здесь это удалить. Соответственно, оно здесь уже написано. То есть скилы в контекст попадает только шапка. Триггерится это всё по описанию. То есть у нас вот здесь вот есть описание этого скила. То есть когда клод поймёт, что нужно вызвать этот скилл, соответственно, он загрузит в контекст всё необходимое.

Это инструкции. В инструкциях находится, соответственно, какой-то огромный промт о том, что должно находиться в этом скиле, как он должен выполнить определённую работу. Также, если нам необходимо, мы можем здесь, в этой же папке, сложить референсы, то есть какие-то документы, которые нужно будет вызвать по запросу. Можем сюда скрипты какие-то сложить, то есть куски кода, которые будут выполняться где-то здесь в инструкции. Ну вот примерно так это и выглядит. Ну и вот здесь вот надо поправить не нгин, а лендинг.

Скилы очень хорошо зашли сообществу. И, соответственно, вы можете на самом деле найти огромную базу скилов. Сейчас вам покажу, где это можно сделать. Например, на Skills SH - это сервис от Vercal. Вы можете здесь находить необходимые вам скилы по количеству установок. Вы можете их, например, фильтровать. То есть, если большое количество людей в сообществе используют этот скилл, соответственно, на него точно стоит обратить внимание, особенно если он подходит вам под какую-то тематику. То есть вы в поиске можете написать, например, пусть это будет дизайн и найти все скилы, которые связаны с дизайном. И вот здесь вот есть фронтенд дизайн, официальный скил тантропиков, который помогает агентам делать веб-дизайны лучше, менее агентский, что ли, дизайн, не знаю, как это правильно назвать. В общем, если вы, допустим, хотите что-то найти про маркетинг, то, соответственно, можете найти про маркетинг. Если у вас есть какие-то вопросы, связанные с докером, пошли и нашли скилл на докеer и посмотрели, что есть в этом скиле. Допустим, Doке эксперт. Читать вам это всё необязательно. Вы можете, соответственно, с агентом обсудить, что делает этот скилл, быстренько его протестировать и, соответственно, если что-то вам в этом скиле не нравится, то создать на базе этого скила свой скилл. Ну и, соответственно, докрутить этот процесс.

Вот примерно так это работает в моей жизни. То есть я нахожу какие-то скилы, быстренько тестирую. Если они меня устраивают, то, соответственно, оставляю это так, как есть, либо докручиваю этот скилл до той версии, которая мне нужна. Но сам изначально с нуля. Ну, бывает такое, конечно, что я создаю сам изначально скилы с нуля, потому что есть задачи, которые очень индивидуальные, да. То есть, конечно же, в таком случае я создаю свои скилы. И для этого тоже есть метаскил. Называется он skill creator. Здесь он тоже, кстати говоря, кажется, есть Skill creator. Вот он от антропиков. Тоже довольно-таки популярный скил. 97.000 установок. Это, по-моему, установки в неделю.

Ну и давайте сразу поговорим про Skill SSсаж, раз уж разговариваем. Здесь есть способ установки. Очень удобно всё это организовано. Вы можете просто это скопировать, соответственно, вставить терминал и установить это всё. Мы это обязательно тоже сейчас сделаем. У вас есть метрика, сколько это раз устанавливали в неделю, как я уже сказал, поэтому можно понять, что скил заслуживает внимания. Здесь также есть некоторые secкюрити аудиты. То есть, если здесь какой-то аудит не прошёл, вам как минимум стоит с агентом пообщаться на тему того, почему не прошёл этот аудит, и задать какие-то вопросы, каким образом это может повлиять на использование этого скила. Может быть, там будут какие-то дыры в безопасности. Я вам, конечно, не советую брать какие-то ноу-неame скилы. То есть, если вы не знаете, что это за человек, не знаете, кто разработчик этих скилов, и при этом секюрити аудита не прошли, то в любом случае вам нужно тщательно поговорить с агентом на тему того, что там может находиться. Потому что, когда вы ставите скилл, вы даёте внутри скила определённые разрешения, и, соответственно, может произойти какие-то вещи, которые вам не хотелось бы, чтобы произошли. Поэтому обращайте на это внимание.

Вы также здесь можете по хлебным крошкам перейти, например, в антропики и посмотреть, что у них ещё есть. Вот, допустим, у них есть скилы, и здесь есть много скилов. Если вы, допустим, хотите поработать с дизайном, фронтенд дизайн, если у вас там есть какие-то ещё вопросики, ну, допустим, работа с PDF, вы можете перейти вот сюда и посмотреть, что здесь содержится, и быстренько это всё потестировать. Нам нужен, как раз-таки сейчас будет Skill Creator, но я его сейчас установлю другим способом для того, чтобы показать, какие ещё есть способы установки. Но конкретно этот сервис мне очень нравится, поэтому советую вам тоже этим пользоваться, быстренько находить какие-то готовые решения.

Итак, давайте я быстренько здесь отмечу галочками, что я рассказал, что такое скилы. Правда же, рассказал, рассказал про скив сасаж. И сейчас будем говорить про плагины и маркетплейсы. Там тоже можно это всё, соответственно, найти. Поэтому я перехожу сюда. У меня здесь чистый контекст. Я вызываю plugins, точнее, просто плагин. И здесь есть тоже готовые решения. Плагины - это набор, который включает в себя не только скилы, то есть там могут быть скилы, могут быть субагенты, могут быть хуки, в общем, то есть какой-то пакет, который решает задачу, комплексно решает задачу. Иногда это может быть просто скил, иногда это может быть больше количество файлов. Ну и, соответственно, вы можете вот здесь вот в поиске находить тот же skill creator. Вот он у нас здесь есть. А можете вы это делать, потому что у вас стоит markeetпйс официальный. Здесь 116 аж плагинов, и это пополняется, очень часто пополняется. Здесь всё больше и больше их становится.

Если я перейду на вкладочку маркетплейса, здесь можно нажать Escape и перейти в вкладочку маркетплейсы. И здесь есть код plugins official. То есть, соответственно, плагины, которые уже изначально у вас будут доступны, они уже установлены в клодкод по умолчанию. Я надеюсь, что они действительно были установлены по умолчанию. Я не ставил clд plugin official. Но если я его ставил, то, соответственно, просто погуглите в эту сторону, вы быстро найдёте, как установить такой маркетплейс. У вас тоже станут доступны все плагины, которые здесь есть. Ну, то есть я не думаю, что там будут какие-то сложности. И, соответственно, здесь я могу найти все те плагины, которые у меня есть в моём маркетплейсе или в нескольких маркетплейсах. Один из этих плагинов - это Skill Creator. Нас антропики тоже предупреждают, что не надо всё подред ставить. То есть не всем плагинам нужно доверять, хотя странно, что они находятся в официальном маркетплейсе, но в любом случае с себя ответственность, конечно, нужно снимать.

Опять же, если мы говорим про то, что этот плагин, то есть набор вот этих решений нужен только для вашего проекта, то, соответственно, ставьте его в Project Scope. Если же он нужен вообще глобально для вас, то есть, например, Skill Creator как будто бы везде может быть нужен, да, то есть это странно ставить в какой-то конкретный проект, потому что вы будете потом создавать скилы, но в других проектах. Поэтому я ставлю это всё для меня. Кстати говоря, есть разница между Local Scope и Project Scope. Если вы поставите в Project Scope, то, соответственно, его можно будет запушить в репозитории. Мы об этом позже поговорим. А если мы говорим про local scope, то это останется только у вас. То есть вы этим не поделитесь, когда будете использовать репозитории, про которые мы опять-таки поговорим позже. Я устанавливаю это всё для userscope, то есть глобально я везде смогу вызывать этот скилл и просто нажимаю сюда. Соответственно, для того, чтобы это всё активировать, нужно либо выйти, либо ввести вот эту команду. Я вам советую просто не заморачиваться и всегда выходить. То есть, если вы нажмёте, например, Ctrl C два раза, то вы выйдете. Либо, если вы exit напишите, как я уже говорил ранее.

Соответственно, у нас, как обычно, есть вот это вот история. Мы можем войти в предыдущую сессию либо через резюме найти все эти сессии. А ещё я поменял CC на clд, потому что я привык использовать clД. И здесь у меня точно такой же аляс, который был CC. Он он подменяет клод на клод с ByYPass Permission. Соответственно, я перешёл на это, потому что мне так удобнее.

Итак, мы теперь заходим в Skills и видим, что у нас установлены скилы. Я на самом деле ещё ставил здесь скил от Котек 7. Про это тоже расскажу. Ладно, не буду уже это удалять. Ну и, соответственно, у нас появился здесь скилл из плагина. Называется он skill creator. Сейчас мы будем создавать наш скилл. Во-первых, как я уже говорил, скилы, в том числе этот скилл, будет тригериться по описанию того, что я хочу сделать. Мы сейчас это проверим. Я буду просить создать скилл. И, соответственно, так как он уже есть, шапка этого скила попала в контекст. КД уже знает про то, что существует этот скилл. Соответственно, он должен его запустить. Я хочу создать скилл на создание подобных лендингов, как у нас есть вот в этой папке. Ну и давайте вот это добавлю. У нас здесь есть Skill creator. Соответственно, если у вас skкил не триггерится, то, вероятно, нужно пойти в описание дописать разные триггерные слова. Мы сейчас увидим, каким образом это всё описывается, когда у нас появится вот этот вот файлик. Ну а пока я предлагаю вернуться сюда и посмотреть, что я ещё могу вам рассказать, пока это всё происходит. Из MCP в Skill на примере Экса. Может быть, расскажу, не знаю, уже не уверен. Контекстворка агент, да, про это тоже расскажу в целом. В целом, как будто бы ждём.

Ладно, пока мы ждём, всё-таки хочу вам кое-что ещё показать. Давайте это я пока закрою. Далее мы будем использовать frontend дизайн skки. Давайте я его возьму. Вот здесь он нам понадобится как раз-таки для темы с субагентами. Покажу, как это работает там. Этот скилл помогает, как я уже сказал, делать более качественный дизайн. Мы нажимаем вот сюда, скопировать, возвращаемся сюда. Давайте я сплитну экран и здесь запущу эту команду. NPX - это способ запустить пакет, не устанавливая этот пакет. То есть вы всегда будете получать актуальную версию. Я нажимаю Enter. И сейчас у нас будет интерфейс для того, чтобы это всё, соответственно, настроить. У меня здесь уже был выбран код, но, соответственно, выбираете просто те места, в которые нужно дополнительно это всё установить. По умолчанию уже в папку Agenс это всё устанавливается. То есть есть здесь часть, которая поддерживается инструментами как какой-то стандарт. Ну вот некоторые ребята пошли в свою сторону, например, clД хранит это всё в папочке, а при этом не работает с папочкой ag. Я, конечно, за то, чтобы это всё конечном итоге шло к стандартам, потому что это захломляет количество папок, которые у вас есть в конфигурации дляагентов. Надеюсь, к этому мы тоже прийдём.

Соответственно, мы нажимаем Enter. И здесь нам опять же дают выбрать, куда это всё устанавливать. Что мы устанавливаем? Мы устанавливаем скилл на фронтеend дизайн. Нужно ли нам везде иметь скилл на фронтендendдизайн? Наверное, нет. Это нам нужно иметь в каких-то проектах, где у нас будет вообще фронт-тенд. У меня не во всех проектах есть фнд, есть вообще какие-то у меня проекты, которые на самом деле содержат просто скилы для того, чтобы оптимизировать мою работу. Например, я планируюсь с ноушеном, создаю спринты, делаю какие-то ретроспективы и так далее. Там, конечно же, никакой frontendнди дизайн скилл вообще не нужен, поэтому я буду его ставить в проект. Мы выбираем здесь способ установки и просто выбираете симлинки. По сути, это просто делает симлинки на папочку against, при этом не создавая настоящие файлы в папочке код. В общем, никакой разницы на самом деле нет. Просто нажимаете Enter. Ну и в конечном итоге подтверждаем это всё, и у нас устанавливается скил.

Здесь у нас код уже создал скилл. Соответственно, мы можем попробовать его тоже запустить. Этот скилл мы тоже установили. Соответственно, посмотрели, каким образом вообще происходит установка. Здесь я, на самом деле, хреново описал, что я хочу получить, потому что я-то хотел получить, мм, я хотел получить именно те лендинги, про которые я говорил. То есть я не хотел сделать скилл на создание лендинга в целом. Давайте, наверное, переиграем. Я жму двойной Escape, перехожу вот сюда. Здесь написано 335 строк кода. Я нажимаю сюда и нажимаю откатить и код, и conversation. То есть, если я вдруг этого ещё не показывал, то вот показал. И, соответственно, это откатывает нас в то состояние, когда у нас этого всего не было, потому что херовый. Я промто писал. Давайте сделаю это заново.

Я хочу создать скилл на создание подобных лендингов, как у нас есть в этой папке. Этот скилл будет помогать создавать именно разводящие страницы для приложений. То есть точно такой же лендинг, который у нас сейчас есть. Я положу в папку, создай мне эту папку заранее. Я положу туда референс, на который нужно будет ориентироваться для того, чтобы создавать подобные лендинги. Скил будет принимать картинку, то есть пользователь должен ссылаться на картинку, когда использует этот скилл. А если картинка не была передана, то, соответственно, это будет просто белый прямоугольник, например. Также скил должен принимать ссылки на App Store, Google Play и Chrome Extension. Если какая-то из ссылок не передана, то, соответственно, просто эти кнопки не нужно отрисовывать. Ну вот теперь как будто бы более понятное описание, потому что я не хотел именно генератор лендингов сделать, я хотел сделать генератор конкретного типа лендингов. Ну и так как здесь я упомянул пример какого-то лендинга, предлагаю пойти, например, на dribble. И здесь я уже искал вчера, на самом деле, Lending Mobile App. То есть посмотреть какие-то примеры лендингов, которые могут нам помочь создать какой-то понятный дизайн. В общем, не будем сильно здесь увлекаться с тем, как это будет работать. Пусть это будет вот эта часть. Давайте это я всё заскриню. Я думаю, что для наших задач это будет достаточно. Вы, конечно, можете найти пример какого-то лендинга и сделать там, допустим, full сайз скриншот и, соответственно, отдать это как референс. Показываю референс просто для того, чтобы продемонстрировать вам, каким образом это всё можно организовывать.

Давайте дождусь, когда он создаст мне какой-то скилл и, соответственно, пойду и положу в папку с этим скилом эту картинку и ещё раз попрошу его дописать некоторые вещи. Итак, у нас создался скилл. Как я уже сказал, у него есть имя, есть декрипшн. по этому дескрипшну. Вот у нас здесь есть триггерные слова, например, создай landing page. Создай app landing, build product page. Если вдруг у вас не триггерится skill, то есть вы, например, увидели, что скил не стриггерился, это видно вот здесь вот в истории, вы просто просите клод добавить больше триггерных фраз для того, чтобы в следующий раз это всё стриггерилось. К сожалению, из-за того, что я упомянул лендинг, а в том лендинге, пока я в тот раз сдавал скилы, я уже делал одну из версий, и она была в Киберпанк и в терминал стиль, соответственно. А он сейчас просто пошёл и создал инструкцию для того, чтобы был подобный стиль. А я имел в виду именно инструкцию для того, чтобы это всё ориентировалось на референс. То есть тот референс, который лежит в этом скиле. В референс я положил эту картинку, то есть на неё и надо будет ориентироваться. Я просто вот ту картинку сдрибл, забрал. И единственное, что надо уточнить, что не нужно так же криво это всё верстать, как я заскринил. Понятно, что стоит заморочиться, найти пример и сделать полноценный скриншот экрана, именно чтобы не было там никаких артефактов, как у меня. Но так тоже пока пойдёт.

Давайте я всё-таки дам больше инструкции по поводу стиля. Не нужно было копировать стиль того лендинга, который я дал как референс. То есть мне нужно было, чтобы ты просто взял структуру этого лендинга, посмотрел, то есть какие там кнопки есть и так далее. В общем, нужно удалить всю информацию про стиль лендинга. Ориентироваться нужно как раз-таки на референс, который я положил внутрь. То есть, если я обновлю вдруг референс, соответственно, нужно будет на него ориентироваться. В общем, да, удалили мы всю информацию про то, как это должно выглядеть. То есть теперь здесь есть просто структура. В общем, о'кей. И теперь это как будто бы то, что я хотел получить.

Мы можем очистить сессию, как я уже сказал. Можно выйти из кода, запустить его заново. Здесь нам не нужна никакая информация, которая была до. Давайте ещё параллельно, кстати говоря, запустим ещё одну сессию. И здесь запустим frontend дизайн skill. Посмотрим, как получится у фронтеendдий скила сделать такую же версию, которую мы получим вот здесь, без фронтендend дизайн скила. Давай удалим папку лендинг. Это старая версия лендинга. Она нам больше не нужна. И нужно будет использовать skкил на create landing для того, чтобы создать новую версию. Сейчас дождёмся, что он будет делать с этим. А здесь попросим сделать ещё одну версию, только используя ещё и скилл на фронтendди. Папку Длина он вызывает скилл на landing page. Соответственно, сейчас он будет давать мне какие-то вопросы, скорее всего, потому что там есть как минимум просьба положить картинку и просьба положить ссылки. Кстати говоря, клод сам себе создаёт таск-листы, и вы можете видеть, какие шаги он собирается проходить. Поэтому, если вас вдруг что-то не устраивает, вы также можете нажать кнопочку Escape и поправить его до того, как он будет что-то делать. В целом мы этот референс тоже могли попросить описать именно в промпте, и не нужно было бы ему каждый раз загружать эту картинку, но это я делаю просто для того, чтобы показать вам пример.

Скриншота для Макапа нет, буду использовать заглушку. Вот здесь мы тоже можем понять, что есть там, допустим, нюансы в процессе, и мы хотим, чтобы он нас спрашивал всегда эту картинку. И только когда мы говорим, что я нет, уже делал какой-то макап. То есть вы тоже можете это пойти и исправить просто на естественном языке. Ну а здесь давайте попробуем скомбинировать наш скилл на создание лендингов, потому что там одна информация, которая опирается на референс. Ну и попробуем сюда добавить скил на фнEN дизайн. В целом будет немножко, наверное, конфликт с точки зрения вот, кстати говоря, у нас уже открылась версия V1.5 Chrome Extension. Почему-то единственное он нас не попросил ссылочки вот на это всё. Проверяет разные адаптивы. В общем, это как раз-таки вот то, зачем нужен нам MCP. Лендинг он нам создал. Мы возвращаемся вот сюда. И давайте попросим сделать это клод. И попросим не ориентироваться, наверное, на референс. Тогда посмотрим, какая версия будет сделана без референса. Не очень хороший пример, наверное, комбинации скилов, потому что будет противоречия некоторые в инструкциях. Но ничего страшного, давайте попробуем. Нам нужно создать лендинг V2, то есть отдельную папку, отличную от папки лендинing. Нужно использовать skillл на Landing Create и нужно использовать skill frontend design. Соответственно, если будут какие-то противоречия в описании скилов, нужно использовать скилл на фронтеendн дизайн. Вот он загружает landing page skill, frontend design skill. Ну и, соответственно, если будут какие-то противоречия, я ему дал инструкцию, каким образом их закрывать.

Давайте я пока вернусь вот сюда и посмотрим, что у нас ещё за вопросики остались открытыми. Про всё рассказал, как будто бы скилсаж, готовые скилы, плагины и маркетплейсы рассказал. Вы можете найти какой-нибудь ещё другой маркетплейс. В основном будете с этим сталкиваться, когда вы будете искать, ну, определённый скилл и в конечном итоге натыкаться на определённые маркетплейсы, в которых эти скилы доступны. В общем, это всегда будет просто в доке понятно, что нужно установить какой-то маркетплейс для этого. Как создать свои скилы, рассказал. Ещё сейчас расскажу, как можно было бы, например, создать скилл для того, чтобы не ставить MCP эксаа. Но мы этого делать не будем, просто чтобы не тратить время. Я думаю, что если вы захотите попробовать это сделать, то вы пойдёте и попробуете это сделать. Ну и, соответственно, про котекф и агент я расскажу, когда будем говорить про субагентов, поэтому не буду отмечать эту галочку. Тогда пока предлагаю поговорить про вот эту часть.

Давайте я открою Эксаа и как раз-таки об этом поговорим. Переходим в то. И здесь есть, допустим, раздел для вашего кодинг-агента. Здесь есть примеры, как с помощью курла дёрнуть определённые ручки. Курл - это инструмент для того, чтобы сделать запросы. И здесь мы видим то же самое. На самом деле это инструмент, который будет использоваться. Это ваш IPY, который вы будете хранить, например, в ENV. Здесь есть quy запрос сам, то есть то, что вы ищете. Ну и определённые параметры, например, количество символов. То есть всё то же самое, что мы видели. Ну и, соответственно, даже если бы у Экса не существовало вообще никаких MCP, я бы просто скормил вот эту вот ссылочку к сказал, что мне нужно сделать скилл, который будет вызываться каждый раз, когда я что-то ищу. И там классификация какая-то была бы, да? То есть, если я ищу просто какой-то общий запрос, соответственно, вызывай search. Если я ищу что-то конкретно про человека, то, соответственно, вызывай другую ручку. Если я делаю запрос определённой страницы, вызывай там кролин экса и так далее. Вы это просто скармливаете в клод и говорите: "Создай скилл на основе вот этой доки. Мне нужно вот это и вот это". Ну и, соответственно, у вас создаётся скилл, который и в контексте не загружается, но, как мы уже выяснили, что вклад они теперь вообще почему-то не загружаются изначально, даже если их не так много. И более того, у вас появляется возможность это комбинировать, делать так, как вам нужно. В этом и есть, собственно, прелесть скилов, которые дёргают ручки напрямую либо дёргают силай.

Итого получается, что если у инструмента есть уже какой-то силай и готовые скилы, то вы просто можете переехать на скилы, и это будет работать лучше. Плюс у вас появится возможность самостоятельно дописать скилл. То есть, если вам что-то не нравится. В MCP у вас нет возможности самостоятельно что-то дописать, потому что вы используете готовое уже решение. Итого, если вы будете ставить, например, Коx 7, ставьте Skill и CLI. Если вы будете ставить Playght, ставьте скил на playr и CLI.

А у нас тем временем уже лендинг сделался новый, который ориентировался на структуру старого лендинга, но при этом внёс свои стилистические доработки. Опять-таки у нас тестируется адаптив, то есть клод сам это всё делает. Я уверен, что он там делает скриншоты, да? Вот он делает скриншоты, делает ресайзы, в общем, автоматизирует тестирование готового результата за вас. Ну и в целом всё. Нам даже не важно, на самом деле, результат. Мне важно было показать именно процесс. Здесь, конечно, немножко промкты были так себе от меня. Вот. То есть я думаю, что вы смысл поняли. Даже несмотря на то, что здесь я два раза его переделывал. Думаю, что даже этот кейс, где я что-то переделываю, он тоже полезен, потому что вы тоже, может, с первого раза не опишете скилл так, как вы хотели бы, чтобы он был описан. То есть вам никто не запрещает это делать через несколько итераций. Ничего страшного в этом нет. Ну и, соответственно, здесь мы скомбинировали два скила, получился другой результат. Здесь у нас есть уже какие-то инструкции от фронтенд дизайн скила. Вы так можете комбинировать и большее количество скилов, потому что всё, что делает скилл - это не какая-то магия, это такая же инструкция, которая попадает вот сюда. Вы и раньше могли сделать что-то подобное со скилами, если бы положили это всё в clд MD и делали ссылки на определённые файлы и описывали бы клоду, как их вызывать. Просто этот инструмент стал удобнее, этим стало удобнее делиться. Это определённая оптимизация со стороны самого инструмента, то есть клод-кода, например. В общем, просто это всё стандартизировали, и теперь каждый может сделать скил, а не делать что-то, что он сам себе там выдумал. То есть это просто определённый стандарт. Точно так же, как и без MCP, могли существовать подобия MCP, которые люди реализовывали, соответственно, как-то самостоятельно. Вот примерно так. Это и есть скилы.

Вроде бы всё рассказал. Давайте ещё разочек проверим. Да, всё рассказал. Эту часть расскажу, когда будем говорить про субагентов. А, ну и, конечно же, дока, до которого мы так и не добрались, потому что я всё и так как будто бы словами рассказал. Но тем не менее, если хотите глубже познакомиться с тем, что такое скилы, вы можете перейти в эту доку и почитать, что там есть. Например, вы можете ограничивать инструменты, которые может использовать скил. На самом деле, если вы примените все возможности, которые там есть, вы можете сделать так, что скилл будет работать как субагент. Также есть встроены скилы. Я уверен, они будут и появляться, и удаляться, и обновляться, и так далее.

Поэтому об этом рассказывать как будто бы нет никакого смысла. Думаю, что основную часть я всё-таки рассказал.

Кстати говоря, я знаю, что мы полезно из этого всего возьмём вот эту вот часть или даже вот эту вот часть. Да, вот эта вот часть более интересная. То есть раз. Давайте это ставим сюда. Ну, может быть, и вот это нам полезно. То есть где хранятся скилы? Ну, давайте тоже это заберём, потому что ещё раз зафиксируем, где это может быть. Ну и, соответственно, это всё окажется в Телеграме под этим постом, как я уже говорил ранее.

Ну а мы переходим к следующей части. Давайте просто опять-таки создадим новый раздел Subs и будем обсуждать, что это вообще такое. На самом деле, субагенты - это очередной gamechanger, потому что они занимают действительно важную роль в Claude-code и не только в Claude-code, потому что позволяют делать действительно очень классные вещи. Опять же, давайте откроем документацию по субагентам, перейдём вот сюда и будем к ней возвращаться, если я вдруг что-то забуду или захочу уточнить. Это я пока закрою и открою, когда расскажу вам поверхностно о том, что это вообще такое.

Давайте я скопирую вот эту часть. Мы это будем представлять как основная сессия Claude. Пусть это будет основная сессия Claude, так и назовём её. Ну и, как мы уже говорили ранее, допустим, она состоит из 200.000 токенов. То есть у нас контекстное окно - это 200.000 токенов. Понятно, что в Opus 1 млн контекста, я об этом помню, но тем не менее это просто нам раздвинуло рамки. Смысл не поменялся, поэтому в любом случае стоит об этом знать.

И на самом деле у нас есть две проблемы. Первая проблема то, что мы не можем делать работу параллельно. А вторая проблема то, что мы не можем делать какие-то длительные задачи. То есть у нас есть ограниченное количество контекста. Если мы перейдём эту планку, то, соответственно, у нас просто начнёт теряться контекст, а нам это не нужно. Поэтому субагенты вот как раз-таки помогают решать эти проблемы.

Давайте представим, что нам нужно опять-таки создать несколько версий лендинга. Если бы мы делали несколько версий последовательно, то есть у нас есть создание лендинга, потом мы снова создаём лендинг и потом мы снова создаём лендинг. Пусть это будет лендинг 2, ну а здесь лендинг 3. Ну и давайте тоже выделим оранжевым, потому что это всё ещё основная сессия Claude. Например, каждая итерация этого всего занимает, ну пусть это будет 5 минут и 100.000 контекста. То есть каждая такая операция занимает 5 минут и 100.000 контекста. Итого, получается, где-то здесь мы потратим как минимум 15 минут и 300.000 контекста. Контекстное окно нам вообще не позволяет сделать так, чтобы у нас здесь было 300.000 контекста. То есть в любом случае произойдёт автокомпакт, о котором мы тоже поговорим позже, и возможно потеряется часть контекста. Ну и давайте где-нибудь вот здесь пометим, что было 200 - 100. То есть вот эта вот операция заняла 100.000 токенов. Ну и здесь, соответственно, 100 - 100 и у нас осталось ноль. То есть, если бы не было вообще сжатия контекста, то, соответственно, все данные, которые были выше, они бы просто потерялись. Конечно же, у нас есть способ сжать контекст, то есть сделать компакт, но тем не менее это не то, что мы хотели бы получить.

Итого у нас появляются две проблемы. Первое - это долго, то есть нельзя делать задачу параллельно. Нет возможности делать параллельно. На самом деле такая возможность есть. То есть, если вы запустите, допустим, несколько инстансов Claude, как я уже говорил ранее, например, сделайте сплит экрана и запустите три сессии Claude. Ну, во-первых, это будет с точки зрения контекста дороже, потому что вы собираетесь запустить полноценные сессии Claude, там, где вы можете взаимодействовать с этим Claude, там, где у него загружаются в контексте необходимые инструменты. А вот в субагентах такого происходить не будет. Поэтому субагенты с точки зрения эффективности использования контекста лучше вот для такой задачи.

И вот здесь мы привели пример, что нужно просто создавать несколько версий лендинга. Но на самом деле задача может быть и более житейская. Например, если мы собираемся создать какой-то проект, то он может делиться на несколько стадий. То есть, например, сначала мы что-то ресерчим, потом мы пишем план и так далее. То есть здесь процесс, это не какой-то процесс, натянутый за уши. То есть вот это мы действительно можем сделать, ну, допустим, в каждой новой сессии отдельно. А вот здесь нам весь контекст предыдущих шагов нужен для того, чтобы двигаться дальше, то есть решать одну общую задачу.

На самом деле, во время этого ресерча вам нужен ответ на какой-то вопрос, то есть нужно какое-то малое количество информации. То есть, допустим, вы даёте задание Claude пойти и поискать информацию с разных сторон про какую-то технологию. В конечном итоге он загружает огромное количество веб-ресурсов и ищет в них эту информацию. Допустим, он потратил на это всё 250.000 токенов, как я уже написал, но по факту ответ, который нужен действительно для основной сессии Claude, для того чтобы написать в конечном итоге план и контролировать весь этот процесс, ему нужно сарри этой информации. И вот как раз-таки для этого можно запустить субагента. Он соберёт всю эту необходимую информацию, потратит свой контекст, у него изолированный контекст, и в конечном итоге отдаст это всё сюда, и вы сможете продолжить работу над одной вот этой задачей.

Давайте здесь тоже выделим это всё оранжевым, потому что это всё ещё одна сессия Claude. Ну и давайте сюда куда-нибудь вставим. Здесь уже будут проблемы с написанием плана. Ну и выделим это красным. Ну и, соответственно, здесь говорить о выполнении плана уже не приходится, потому что у вас просто вся информация потеряется вот здесь вот где-то. Вот здесь вы не получите какой-то адекватный артефакт, а у вас и вообще может контекст здесь ещё закончиться. То есть даже research может полноценно не пройти, потому что вы будете много информации искать, не говоря уже о том, что план какой-то писать. Но если вы план какой-то адекватно не напишите, то все дальнейшие шаги вообще не имеют смысла, потому что это будет работать плохо.

Ну и какое же есть решение? Давайте продолжим сначала с созданием менеджинга. Для того, чтобы как-то продолжить эту мысль, мы можем запустить, на самом деле, три субагента вот таким вот образом. И здесь схема немножко нечестная, потому что вот так вот это должно работать. Они возвращают результат своей работы в основную сессию. Ну и каждый из этих субагентов, соответственно, работает по 5 минут и тратит по 100.000 токенов. Но общее время, которое мы затратили, оно всё равно будет 5 минут, потому что это всё происходит параллельно.

Итого, как это работает? Вы даёте этому агенту задание, то есть вы, как пользователь, давайте, допустим, вот так это выделим, создавая три версии лендинга с разным дизайном. Если ранее это происходило бы последовательно и у вас потратился бы контекст и вы потратили бы 15 минут, то сейчас этот агент заспавнит три агента, им передаст нужный контекст. То есть у каждого агента будет почти одинаковый контекст. Плюс у них там будет меняться часть, которая связана с дизайном. То есть этот агент, можно его назвать агент-регистратор. Он сам ничего не делает, но просто раздаёт указания субагентам и субагенты перед ним отчитываются, что они сделали. Давайте это, наверное, как-то вот сюда переместим. То есть это будет как-то вот так работать.

И вот это всё позволяет основному агенту потратить, ну, допустим, 50.000 токенов. То есть на то, чтобы передать контекст нужным агентам, получить результат и отчитаться перед вами то, что было сделано. То есть такой процесс позволяет вам реализовывать большие планы или, например, делать какие-то большие речи. То есть субагенты, во-первых, позволяют нам делать быстрее, а, во-вторых, позволяют это делать в рамках одной сессии. То есть у агента-оркестратора есть понимание, что должно быть сделано, в идеале должен быть какой-то хорошо описанный план. Мы об этом ещё поговорим в процессах. Ну и, соответственно, каждый субагент выполняет определённую задачу в своей сессии с изолированным контекстом.

И вот эти субагенты - это не то же самое, что запустить отдельные сессии Claude, потому что у этих субагентов такой урезанный функционал. То есть, допустим, вы не можете с ними пообщаться. У них также нет доступа, например, к контексту, который был у основного агента, потому что он передаёт им только тот контекст, который им нужно передавать. Давайте, наверное, тоже всё зафиксируем. То есть у этого субагента, не конкретно у третьего, у любого субагента, ограниченный функционал, ограниченный контекст, то, что передал оркестратор, и вы не можете с ними пообщаться. То есть у вас нет возможности открыть интерфейс и написать что-то субагентом. Это то, о чём я вам говорил в самом начале. То есть у вас не обязательно должна быть задача общаться с субагентами. То есть, если у них и так понятные задачи и их оркестрирует ваш основной агент, то это с точки зрения контекста более эффективно.

Ну и не обязательно это должно быть именно параллельно, то есть это помогает вам создавать опять-таки какие-то задачи, которые будут выполняться долго. То есть вот эта нам часть не нужна. Давайте это тоже всё удалим. Ну и, допустим, у нас здесь вместо создания лендинга может быть создание какого-то проекта. Здесь вы ресерчите frontend, backend, ну и, допустим, SEO, да, то есть SEO оптимизацию хотите сделать. Ну и в конечном итоге, когда у вас окажется нужное количество контекста, вы сможете это всё зафиксировать в план. Пусть это будет написание плана. И опять-таки это может выполнять, соответственно, отдельный субагент. Ну и таких операций может происходить большое количество. То есть после того, как был создан план, можно всё передать опять основному агенту. Здесь у вас может быть выполнение этого плана, но этот план тоже может выполняться параллельно. Я думаю, что вы поняли принцип, как это работает.

Для того, чтобы создать таких агентов, вы можете точно также завести файлик, а можете запускать их на лету. То есть у нас получается, что будет два способа запуска. И один из способов запуска, соответственно, - это создание файлика. Второй способ запуска - это запустить их на лету. То есть попросить у Claude-code запустить этих агентов. То есть вы можете просто попросить у Claude запустить субагента. У Claude-code уже есть несколько субагентов. Они, по-моему, да, вот прямо здесь описаны. То есть, соответственно, он может уже самостоятельно вызывать субагентов, когда посчитает это нужным. Например, Explorer он может вызвать, чтобы изучить кодовую базу и так далее. И вы можете тоже просить некоторые задачи выполнить в субагенте. То есть, например, вы можете написать что-то типа: "Выполни параллельный research по нескольким темам, используя субагентов". Он, соответственно, также создаст субагентов и выполнит вашу задачу именно субагентами. Ну и, соответственно, субагенты ему вернут результат, и он не потратит большое количество контекста именно на этот research, то, что я вам как раз-таки и показывал в примере.

Но также субагентов вы можете описывать. Они будут лежать в папочке, и здесь будет просто название этого агента. Например, Landing Creator, то есть то же самое, что мы делали в скиле. И вот здесь у него есть ещё некоторые полезные поля. Давайте я вот эту часть уберу, эту сдвину сюда, и здесь продолжим. То есть у него есть ещё важные поля. Это поле model. То есть вы можете указать модель, которая будет выполнять ваш запрос. Соответственно, если у вас есть какая-то задача, связанная с составлением плана, какими-то выводами и так далее, вы можете на это использовать Opus. Если у вас уже есть какой-то хороший план, то вы можете делегировать написание кода Sonnet. А если вам нужно просто поискать что-то в документации, то есть найти ответ на ваш вопрос на уже существующем ресурсе, здесь Haiku может справиться. Соответственно, вы сами можете выбирать, какую модель использовать для того, чтобы делегировать это всё субагентам.

И мало кто вообще об этом говорит, но в целом мне нравится эта история, что у них есть поле skills. То есть вы можете предзагрузить определённый набор скилов. То есть таким образом вы можете создавать субагентов и скилов. Вот у вас есть скилл на frontend-дизайн и есть скилл на, допустим, просто frontend. Может быть, по определённому фреймворку. Это вам гарантирует, что скилл попадёт субагента. Они в целом и так могут туда попасть, если вы это будете упоминать. Но опять-таки это может не сработать. Вот в таком случае это точно сработает. Наверное, всё. Некоторые полезные поля там ещё точно есть. Мы можем, на самом деле, здесь это всё найти. Вот здесь есть раздел написание субагентов. И вот как раз-таки нам здесь рассказывают name, description, tools. Также вы можете, конечно же, ограничивать тулы. Точно так же, как и в скилах. Вы можете это делать, выбирать модель. Ну и здесь есть множество разных полей. И одно из полей - это skills. Правда, вот здесь вот есть уточнение, что субагенты не наследуют скилы от родителя. В общем, это интересная история. Но в любом случае я обычно задаю скилы субагента, которые мне нужно использовать. И я и так заранее знаю, что нужно именно эти скилы использовать. Мне не нужны какие-то ещё скилы. Поэтому в целом мне больше нравится определить их заранее. Я здесь опять, кстати, исправил слоу лендинг. Что-то у меня с настройками английского языка в голове произошло. не работают. Ну и вроде бы всё. Мы обсудили, что хотели обсудить.

Я предлагаю переходить посмотреть на деле, как это работает. Как я уже сказал, в основной сессии можем попросить Claude использовать субагентов для выполнения этой задачи. Ну и давайте попросим ещё сделать, допустим, две версии дизайна, используя субагентов. Мне нужно, чтобы ты создал двух субагентов. Они должны будут сделать ещё две версии дизайна. То есть лендинг V3 и лендинг V4 должны появиться в папке. Каждый из этих субагентов должен использовать скилл на frontend-дизайн. Сейчас, как обычно, он изучит, что я вообще прошу. То есть на основе того лендинга, который у нас есть, он посмотрит, что вообще должен быть за лендинг, определит, какой там стиль. Ну и, соответственно, напишет другой стиль для того, чтобы создать ещё две версии дизайна. Вот он вызвал двух субагентов. Каждый из них, мы видим, там, на самом деле, загружает скилл. То есть, если мы развернём это всё через Ctrl O, как я уже говорил ранее, мы видим, что и тот, и другой загрузил скилл вот сюда. И вот, честно говоря, не знаю, будет ли работать то же самое, если вы опишете skills, но мне никогда этого и не нужно было. То есть я заранее определяю, какие скилы мне нужны для моего субагента. Ну и, соответственно, мне скилы из основной сессии не нужны. Вот там как-то это размыто на самом деле написано. Может быть, стоит ещё мне немножко почитать. Нам здесь говорят, что скил инжектится, то есть он уже будет у субагента. При этом не то, чтобы он станет просто доступным для вызова, а именно сразу контент скила попадёт в субагента. Вероятнее всего, если мы задаём skills, да, то именно в таком случае он не наследует скилы от родителей. В общем, как-то не задавался этим вопросом. Вот будет тема для того, чтобы я поискал ответ на этот вопрос. Но опять-таки в общих чертах, как будто бы вам это и не нужно. То есть если у вас есть огромное количество скилов в основной сессии, вам не нужно наследовать это огромное количество скилов в субагентов. То есть вы и так как будто бы, когда описываете субагента, вы хотите, чтобы там была определённая база знаний. Соответственно, поэтому как будто бы даже если и так, и так работает, неважно.

Вот у нас создалась ещё одна версия дизайна. Сейчас создастся ещё вторая, потому что один агент завершил работу, второй агент не завершил работу. Вот он потратил 31.000 токенов, ну, 32 почти тысячи токенов, а второй агент потратил уже почти 50.000 токенов. Итого вместе сейчас он это всё завершит. Ну, может быть, потратится у нас там 90.000 токенов, да, основного контекста. Если бы у нас было всего 200.000 токенов, то если бы мы делали это всё в основной сессии, допустим, дальше мы вообще не могли бы что-то ещё делать. А при этом у основного агента, да, ну, сейчас он это завершит, и, соответственно, потом эта команда выполнится, потому что он сейчас не даст нам это сделать. Кстати, их можно запускать в фоне. Вот сейчас он это запустил не в фоне. По-моему, где-то здесь есть эта настройка. То есть, если мы запускаем в foreground, то у нас блокируется основной conversation, пока это всё не завершится. А если в background, то, соответственно, мы можем продолжать общаться с основным агентом. Здесь он решил, что нужно запустить их в foreground, потому что у меня заблокировалась, соответственно, история с общением.

Давайте ещё раз вызовем контекст. И вот здесь мы видим, что потратилось у основного агента 32.000 контекста, а при этом вот здесь всё вместе потратило около 80.000 контекста. Ну и у нас появились две версии лендинга. Не знаю, кстати говоря, появилась ли вторая, почему-то я её не вижу. Давайте попросим открыть. Открой обе версии лендинга. Вот он открыл вторую версию, соответственно, первая версия, вторая версия. В общем, обе версии реализованы.

Итого мы научились запускать их на лету. Я вам советую, когда вы работаете в основном контексте, просто вот эти задачи, которые связаны с основной, но они нужны только для того, чтобы ответить на вопрос для продолжения работы в основной сессии. Вы можете их запускать в субагентах. Иногда Claude-code сам будет запускать это в субагентах. Например, когда ему нужно изучить кодовую базу, он вызовет субагента. То есть уже на самом деле инструмент достаточно развит для того, чтобы помогать вам достигать вашей цели. И вы даже не думаете о том, что там происходит под капотом, а там как раз-таки субагенты и запускаются в том числе. Так вот, например, если вы что-то изучаете, вы можете попросить поискать ответ на этот вопрос не в основной сессии. Тогда у вас основная сессия останется более чистой с точки зрения контекста. И вся вот эта вот ненужная информация, которая нужна для ответа на этот вопрос, она останется в субагенте. Потом субагент просто уничтожится, и, соответственно, у вас появится ответ на этот вопрос, когда он отдаст это всё в основную сессию. Вот примерно так это и работает.

Мы также можем создавать заранее субагентов. То есть, как вы поняли, когда я даю задачу на лету субагента запустить, Claude описывает сам, да, что там будет в конечном итоге находиться. То есть, если я вот здесь вот посмотрю, у нас здесь есть, соответственно, промпт, то есть он описывает промпт субагенту, что он должен сделать. Вот здесь он описывает то, каким должен быть дизайн. Соответственно, тут происходит вызов разных инструментов, происходит вызов MCP внутри этого субагента. Ну и в конечном итоге response отправляется опять-таки основному агенту. Мы это можем свернуть. Ну и мы не контролируем то, что опишет основной агент субагенту. Если же мы хотим контролировать этот процесс, мы можем создать субагентов. То есть мы должны быть, допустим, уверены, что у нас тестировщик, допустим, описан таким образом, что он всегда тестирует одинаковое, а не как в этот раз ему передал контекст-код. Или если мы хотим, чтобы ревью, например, кода всегда делал одинаковые действия, и мы хотим сами это контролировать. То есть в этом случае мы это не контролируем, в другом случае, когда мы это всё описываем, мы это контролируем.

Ну и, соответственно, создавать субагентов можно через Agent, то есть не только самому можно описывать файлы, но ещё и можно создавать их с помощью агентства. Вот, честно говоря, этого не делаю. Не уверен, в каком сейчас состоянии находится команда Agent, но когда я это использовал, ну, как будто бы так себе получалось. Ну и, кстати говоря, вот здесь вот я вам обещал поговорить про контекст fork, кажется, да? Вот здесь вот контекст fork. Так вот, это обратная история контекст. То есть у нас в скиле, точнее, в субагенте описываются скилы. А когда мы используем context fork и используем там агента, то есть вот здесь вот мы можем задать контек и указать какого-то агента какого-то назначения, то есть либо вот general purpose, либо, например, Explore. Он будет использовать скилы как субагента. Я это тоже никогда не использую, потому что если вы будете это использовать, скорее всего, вы запутаетесь. Проще вам вот здесь вот таким образом в субагенте использовать скилы, чем делать наоборот. Но в целом, возможно, есть какие-то кейсы, когда вам это тоже может быть полезно. Вот знаете, что у вас есть контекст и указание агента, какого агента можно вызвать. Тогда у вас скилл запустится в изолированном контексте, а не в основной сессии. В общем, можете с этим разделом ознакомиться, если вам будет интересно. Я думаю, что для начала это не особо нужно. Вот это я могу теперь свернуть. Ну и, как я уже сказал, я на практике особо не использую agents, поэтому не хотелось бы мне вам, наверное, это рекомендовать. То есть я обычно делаю как вот, допустим, есть два ресурса, да, здесь есть субагенты, вы можете просто переходить, вот один из них - это AIson Cloud Code Subagents и есть, например, Agency Agents. То есть вы можете посмотреть, какие есть субагенты, и вдохновиться тем, что здесь, например, описано. То есть, допустим, у нас есть frontend developer agent. Вы можете посмотреть, что здесь описано, как это всё описано. Вот здесь name, description, то, о чём я вам говорил ранее. Здесь также, например, есть цвет, но это уже не такие важные поля. То есть вы просто будете видеть, каким цветом выделяется агент. Мы сейчас попробуем всё-таки создать агента через agents и посмотрим, что у нас получится. Ну и, соответственно, это тоже Markdown файлик, где просто описаны условия, каким образом должен работать этот агент, то есть какие знания у него есть, какие шаги он должен пройти для того, чтобы выполнить какую-то работу. В общем, такое же описание, как и в скилах, например. В общем, ресурсы я вам показал, вы можете их, соответственно, тоже находить.

Давайте я сразу здесь отмечу. Про субагентов рассказал, готовые субагенты от сообщества рассказал. Как создавать своих субагентов, частично рассказал. Сейчас расскажу ещё вам про команду AG, ну и, соответственно, про комбинацию субагента и скила тоже рассказал. Про IS 3 расскажу, когда будем говорить про Git. Ну и всё, давайте тогда переходить к созданию агентов.

Итак, я почищу вот эту сессию, вызову команду agents. И здесь у нас как раз-таки есть, вот, как я вам сказал, встроенные агенты. Например, Code Guide. Он работает на модели Haiku. Как раз-таки для того, чтобы найти какую-то информацию, вам не нужно использовать, например, Opus. А вот, например, у Status Line уже используется модель Sonnet, потому что, чтобы создать status line, нужно писать код. Ну, как я уже сказал, есть, например, Explore, Plan и так далее. Вот здесь вот у нас в Plan как раз-таки стоит inherit, то есть это значит, что у нас наследуется модель из основной сессии для того, чтобы спланироваться. Вот такие вот дела. Ну и Superpower - это мне просто пришлось как раз-таки установить хотя бы какую-то минимальную конфигурацию для того, чтобы продолжить выполнять мои задачи в те 3 дня, которые я отсутствовал.

Мы просто нажимаем создать нового агента, соответственно, выбираем, куда его создавать. Следуйте точно такой же логике, как я вам рассказывал про MCP, про скилы. Если это нужно только для проекта, создавайте в проекте. Если это персональный агент, который нужен вообще везде, то есть создаётся для юзера, то используйте personal. Мы выбираем проект. Здесь есть опции создания через код и создание конфигурации. Вот давайте попробуем создание через код. Может быть, оно теперь лучше работает. Ну и нам здесь говорят, что нужно описать, что должен делать субагент. Поэтому, ну, на самом деле, если вы собираетесь, конечно, использовать субагента долгое время, нужно уделять этому больше времени, именно описанию того, что он должен делать, и прочитывать то, что в конечном итоге получилось для того, чтобы точно получить то, что вы ожидали. Не так, как я делаю со скилами сейчас. То есть это мы просто на лету что-то придумываем для того, чтобы показать, какая это работает. Понятно, что в обычной жизни я могу уделить, допустим, созданию субагента или скила, может быть, 30 минут для того, чтобы в конечном итоге это же я буду использовать постоянно, и я их улучшаю итерациями. То есть за раз у меня никогда не получалось создать какого-то субагента или скил, который будет работать идеально так, как я хотел бы, потому что детали выясняются уже в процессе.

Мне нужно, чтобы ты создал субагента, который будет работать так же, как работает сейчас Landing Creator. Но мне нужно, чтобы в этом субагенте было два скила: это Landing Creator и это Design. Мне нужно, чтобы эти скилы загружались всегда в субагенты. То есть он не должен решать, вызвать их или не вызвать. Он должен всегда точно их использовать.

конечном итоге должен получаться на выходе лендинг. Ну, давайте попробуем это сделать вот так. Посмотрим, что у нас получится.

Опять-таки, если вы только начинаете, а, ну вот, да, ещё нужно будет выбирать тулы. Выбираю модельку. Соответственно, я буду здесь писать код, и у меня будет уже понятна инструкция. Поэтому я буду выбирать саet. Ну и здесь выберем, допустим, пусть будет жёлтый цвет. Нам рекомендует выбирать первый вариант. Ну, соответственно, агент будет что-то запоминать. Давайте это тоже сделаем так.

System prompt is very long. Вот видите, то есть как минимум у нас по умолчанию инструмент, который нам предоставляет clotкод именно agents, вот почему мне не нравится, да? У нас сразу есть ворнинг, что здесь слишком много символов, больше 10.000 символов. То есть они сами дали мне инструмент, которым я сейчас воспользовался, и я получил изначально предупреждение о том, что слишком много символов. На самом деле, я уверен, что там огромное количество символов занимает именно история с описанием мемоory, которая мне особо-то и не нравится. Могу ли я вернуться назад? Думаю, что если я нажму escape, то я вообще вернусь в самое начало. Ладно, давайте оставим это как есть и посмотрим, что у нас там в конечном итоге получилось.

Мы заходим в папочку ClД. Это нам не нужно. Кстати говоря, skills log - это что-то типа ладно, не буду рассказывать, пока не заморачивайтесь с этим вообще. У нас здесь появилась папочка Agent Memory, соответственно, появился наш агент Landing Creator. Сюда будет писаться память, о которой я и говорил, и появилась папочка агентов. И вот здесь вот много символов занимает именно описание memory. То есть он будет что-то запоминать. В общем, можно это всё почитать. Ну и в конечном итоге, что у нас получилось? Это имя, это desриption, это модель, это цвет и меory, которая пишется в проект.

Ты элитный веб-разработчик и дизайнер, специализируешься на создание лендинга. Ты объединяешь два обязательных навыка, которые применяешь всегда при каждом запросе без исключений. Два обязательных навыка - это Landдинing Creator и frontend дизайн. Ну вот как минимум, да, здесь опять-таки, ну и вот не понял он меня, то есть он не понял, что я имею в виду использовать скилы, хотя они вот здесь есть. И Fontend Design, и Landing Page. Landing page это называется, разве? Ну ладно, может быть, поэтому и не понял. Creator, да, это мы назвали так субагента, а называется Skill Blending Page. Ладно, не помню, как мы назвали уже этот скилл. В общем, в любом случае, мм, он сам описал, каким образом это будет всё работать. Ну, можно попробовать, на самом деле, вызвать. Может быть, тогда субагент по описанию поймёт, что всё-таки речь идёт про скилы. Не знаю, не знаю. А потом мы просто попросим удалить эту часть и вставить именно из доки skills вот эти два скила. И посмотрим, как это сработает. Ещё раз. Заодно и я себе на этот вопрос тоже отвечу.

Итак, сейчас у нас не указан скилл. Соответственно, я ожидаю, что он может вызвать скилы из основной сессии. По крайней мере, это так должно работать. Давайте попросим вызвать одного субагента. То есть нам не нужно сейчас делать несколько версий дизайна. Я думаю, что вы поняли, каким образом это работает. Давай вызовем агента Landing Creator и сделаем ещё одну версию дизайна. То есть нужно будет ещё одну папку создать. У нас уже есть, кажется, там V2, V3, V4. Видимо, нужна будет папка endндинing V5. Давайте здесь поправим это на вот так. Я думаю, так будет понятнее. Он создаёт, соответственно, нам ндин крейтора. Сейчас он должен вызваться. Мы увидим жёлтый цвет. Вот он есть. Соответственно, я также его могу развернуть через Ctrl и посмотреть, что туда попало. Сюда попал промт от основного агента. Соответственно, здесь он читает необходимые нам файлики. Я могу перевести это всё в бэкграунд. То есть они сейчас запущены в Фрграунде. Это то, о чём я говорил ранее, когда мы смотрели документацию. Я думаю, что вы помните. Ну и не запустился, да, там никакой скилл. То есть я не вижу здесь вызова вообще скила, поэтому он будет руководствоваться тем, что описано вот здесь, то есть вот этими двумя навыками.

Давайте попросим код-код изменить эту историю. То есть давайте я пока запущу здесь ещё одну сессию. Мне нужно, чтобы ты изменил лендингтора, потому что там описаны навыки, а я имел в виду, нужно использовать скилы из папки skills. И у нас там есть skill landing page и skкил frontend design. Мне нужно, чтобы landing creator использовал эти два скила. Мне нужно, чтобы ты изменил нди креатора, потому что там описаны навыки. Я имею в виду, ну, как будто бы, как будто бы, ладно, как будто бы понятно. Я писал сейчас он вот он вызывает как раз агента для изучения. Видели, да? Эксплор агентов он вызывает для того, чтобы изучить, что у нас есть в кодовой базе. Таким образом, это позволяет ему не тратить вот эту вот сумму токенов вот здесь, в основной сессии, как мы видим, да, там вызвано аж 15 инструментов. Здесь тоже 15 инструментов вызвано. Потрачено уже больше 50.000 контекста, но при этом в основной сессии у нас это не потрачено. Много раз уже это сказал, но это действительно важная часть именно субагентов параллельного выполнения. И это возможность оставлять контекст чистым в тех сессиях, где он должен быть чистым. Понял? Сейчас агент описывает навыки текстом, а нужно, чтобы он вызывал реальные скилы, landing page и frontend design через инструмент skill. Перепишу агента. О'кей, давайте ещё заодно ему дадим. Не туда перешёл. Вот это вот дадим. Хотя нет, давайте прямо будем ссылаться на нужный нам раздел skill. Давайте это всё я заберу и вставлю сюда. Кстати говоря, несмотря на то, что у вас будет bypass Permission, он всё равно, когда будет изменять файли. Кажется, он каждый раз будет вас это спрашивать. Честно говоря, не помню. Либо это можно отключить, не помню, честно.

Итак, он удалил вот эти все истории и описал, каким образом это всё вызвать. Ну вот опять, да, опять он не знает про то, что можно сюда это всё загрузить, поэтому, ну, как будто бы, как будто бы, да, он пытается это сделать. При этом это точно в порядке действий, то есть это точно должно быть загружено. Я уверен, что сейчас это отработает, но тем не менее, как будто бы с точки зрения документации это просто делать внутри параметра skки. Почему бы это не использовать? В целом это спросим. То есть я дам сюда эту документацию. А почему бы нам не использовать просто поле Skills в шапке агента? Здесь у нас создан лендинг, соответственно, можно его открыть. Можем его открыть. Вот ещё одна версия лендингов. У нас уже 1.000 версий лендингов. Вот именно. Точно. Почему бы это не заложить в документацию не делать так, как написано в документации? И вот на самом деле я вам хочу сказать, что если вам кто-то говорит, что он в чём-то уверен, что это должно так работать, вероятнее всего, он чуть-чуть перевирает, потому что вот реально, сколько я не работаю с код-кодом, в конечном итоге и документация меняется, и меняется описание того, зачем нужен инструмент, и появляются вот такие доки, которые я вам, помните, показывал сравнение похожих фичей. То есть, например, скилы и субагенты. Как будто бы разные фичи, но при этом они сравниваются, потому что они действительно могут работать вообще одинаково. То есть, допустим, как будто бы у нас скил - это инструкция, но субагенты - это тоже инструкция. То есть субагенты тоже делают какую-то задачу на основе определённой инструкции. И разница здесь технически в том, что вы можете это вызывать как субагента в своём контексте, а скил для того, чтобы вызвать субагента, вам придётся вот эти нужные поля вписывать. Это как будто бы становится ещё сложнее. Итого получается так, что если вы хотите использовать субагентов, вам либо нужно запустить скилл в субагенте словами, но тогда вы не контролируете то, что будет происходить в субагенте, то есть ему передаст всю инструкцию основной агент, либо же создать агента, который будет описан, и вы точно контролируете процесс, который будет происходить внутри, потому что вы гарантируете то, что попадёт в субагента. Вот примерно такая разница. На самом деле она довольно-таки размыта, эта граница. То есть и то, и то вы можете делать на самом деле со скилами.

О'кей, мы вносим эти изменения. На самом деле интересно сейчас будет посмотреть, потому что, ну, в обычной жизни не запускаю я Ctrl O, например, и не смотрю, какие там инструменты вызывались. То есть я получаю просто готовый результат и понимаю, работает это или не работает. Сейчас посмотрим, будет ли в логах то, что он вызывал эти два скила, что они предзагрузились. Хх, твой контекст перезагружено два скила. Ну ладно, о'кей, пусть это будет так. Если интересно, не упоминать, вот точно ли это будет работать. Но в любом случае неважно, да? То есть нам говорят, что если мы записываем скилы, он всё равно не сможет забрать скилы из основной сессии. Соответственно, в любом случае будет работать. Давайте попробуем запустить. Запусти агента Landing Creator для создания шестой версии лендинга. А пока это всё вызывается, соответственно, здесь что я ещё хотел вам рассказать? Как создавать агентов? Рассказал. Это расскажу позже, не буду это сворачивать тогда. Ну и вот это вот показал, как будто бы всё показал. Сюда мы вернёмся ещё, когда будем говорить про remote control. И на самом деле за эти 3 дня, а может и не за эти 3 дня, честно говоря не помню, появился ещё и channels. То есть мы можем теперь, ну мы можем теперь сделать что-то типа remремо корол, но не через приложение кода на телефоне, а прямо через Telegram, допустим.

Итак, у нас вызвался вот этот вот агент. Мы не видим здесь инструментов по вызову скилов, но надеюсь, что они всё-таки позагружаются. По крайней мере, в практике я наблюдал, что они загружаются. Если ничего не сломалось, они всё ещё будут загружаться. Давайте вот эту часть я всё-таки выделю не как какая-то обязательная часть, да? То есть это просто полезная история. Давайте выберем какой-нибудь цвет для неё. А так нельзя. О'кей, тогда верну белый. Вот это вот вырежем. Ну и куда-нибудь отдельно запишем. Пусть это будет вот так. Итак, у нас здесь так и не запускались никакие скилы. И что-то он не туда, на самом деле, записывает, как будто бы как будто бы он шестую версию делает в основной версии. То есть не папку новую создаёт. Ну ладно, ничего страшного. Но в целом результат-то не особо-то и нужен вообще, поэтому о'кей. Потом попросим его, может быть, в логах найти, как вызывался субагент, и убедимся, что там были эти скилы, потому что с точки зрения, конечно, обучающей какой-то цели, да, я хочу убедиться, что всё-таки это действительно так работает, а не просто мне так на моём опыте показалось. Поэтому оставим это здесь. Ну и как это всё завершится, будем переходить к Agent Teams. У нас здесь не так много пунктов, потому что я не особо-таки рекомендую именно тем, кто начинает, сильно увлекаться Agent Teams, потому что это создаёт ещё больше дыр в контексте. Вот. И вы ещё хуже контролируете процесс. Я бы рекомендовал сначала разобраться в каком-то понятном процессе пошагово. Например, в IT- гараже я вообще выбрал IT такой стратегии. IT гараж, если что, вступаете. Там есть обучение про вайп-кодинг, оно уже идёт. Я, например, в эти гараже вообще первый процесс прохожу без каких-либо инструментов, то есть просто на промтах. Это планирование, это реализация и это проверка. То есть, чтобы был понятен именно процесс, а потом уже на это всё натягиваем инструменты. Так что, кстати говоря, если хотите разобраться именно в процессе, как это всё работает, то есть не просто вы взяли какие-то инструменты и начали что-то с этим делать, и оно как-то работает. Вот если хотите действительно разобраться, залетайте в эти гараж. Думаю, что вам понравится.

Да, шестую версию он сделал прямо здесь. То есть у нас она вместо основного лендинга, который был. Ну, в общем, всё это похоже. Нам это не так важно, на самом деле. Как я могу проверить, что был вызван скилл на frontendди и на landing page? То есть я хочу убедиться, что это действительно попало в контекст. Как я это могу проверить? >> Но напрямую видеть системный промгента нельзя. Он не записывает транскрипт. Транскрипт содержит только хх. Ладно, давайте так. Мы сейчас очень много времени на это всё потратим. Я заберу этот вопрос себе на подумать, потому что как будто бы мы никак не можем понять, кроме как по косвенным признакам. Может быть, если копнуть глубже, то мы это поймём. В общем, это будет такой вопросик на засыпку. Я на своей практике видел, что скилы загружаются с помощью такого способа. И у меня получался результат точно такой же, когда я просто просил этот скилл загрузить субагента. Поэтому будем считать, что это всё-таки работает. Но если у вас есть ответ на этот вопрос, пожалуйста, поделитесь со мной в комментариях. Вот пока рассказывал вам, опять-таки уже, по-моему, вторую вещь узнал новую о том, как это может работать ещё. Вот такие вот дела. Делиться полезно, сам узнаёшь что-то новое. Ну а мы продолжаем дальше.

Давайте я открою наш списочек. Здесь я всё рассказал. И переходим к Agent Teams. На самом деле я не рекомендую, как я уже сказал, новичкам, использовать Agent Teams для того, чтобы реализовывать код, как минимум, потому что это создаёт вам ещё один уровень абстракции в управлении. То есть у вас был до этого оркестратор, который просто делегирует это всё команде агентов. И вот эта команда агентов, субагентов, в смысле, они ограничены, то есть они именно привязаны к сессии основной. То есть они имеют урезанный функционал, у них нет ничего общего, то есть они не знают, как общаться друг с другом. вы не можете с ними общаться. А вот эта фича, на самом деле, она очень мощная. Это точно стоит вашего внимания. Но просто на первых порах я бы как будто бы как будто бы расскажу кейсы, когда это можно использовать, но не использовать это для написания кода. Точно. Вот моё мнение. Опять-таки, вы можете с ним не соглашаться.

Так, давайте перейдём опять сюда и возьмём вот эту вот часть. Опять-таки скопируем её и напишем Agent Teams. И будем про это всё разговаривать. Я думаю, что я могу взять вот эту вот историю. Пусть это будет таким образом. вот сюда это всё скопировать. И на самом деле это всё похоже на то, что делают субагенты. Единственное, что они вот здесь не могут общаться. Давайте, на самом деле, возьмём вот эту вот схему. То есть она мне в целом нравится. Я думаю, что как сравнение она нам будет помогать. Соответственно, в целом-то можно вообще это удалить, потому что вот эта схема, она и так сама по себе хорошая. То есть, что мы здесь видим? Что у нас есть mainгент, который отдаёт это всё субагентам. они получают какой-то результат и делают репорт самому основному агенту. А вот здесь у нас история меняется. То есть у нас есть mainгент, которого можно назвать тим лидом. Он спавнит агентов и спамнит вот этот вот общий список задач. То есть это действительно существующий файлик, который позволяет этим агентам решать одну общую задачу. Помимо того, что эти агенты могут решать одну общую задачу, они ещё и могут общаться друг с другом. То есть получается такая действительно команда, как команда людей, как будто бы которые не сидят в отдельных комнатах, а сидят в одной комнате. Ну и, соответственно, что-то обсуждает. Это же, конечно, даёт определённый плюс, потому что у вас могут быть каждые субагенты со своим доменом знаний, и при этом они могут создавать противоречия. То есть, если у них есть какие-то конкурирующие друг с другом предложения, то они могут сами решить этот вопрос. Понятно, что здесь опять-таки есть доля магии. То есть вам очень нужно хорошо описывать этот процесс, чтобы его контролировать. И это очень сложно делать на первых порах. То есть вам нужно понимать процесс, а потом уже пытаться с этим процессом что-то создать. Понятно, что очень круто выглядит, что вы спавните 10 агентов. Ag Teams, они там что-то общаются, варят. Это всё миллионы долларов, это всё сейчас будет огромным проектом, который обязательно вам принесёт огромное количество денег. Потому что и маркетологи здесь, и фронтендеры, бэкэндеры, безопасники, архитекторы, всё сейчас они вместе сварят за один промпт. Конечно же, это не произойдёт. То есть в любом случае это очень классная технология. Понятно, что о ней можно в таком ключе говорить, что действительно много вещей там происходит под капотом. Каждая из этих сессий - это основная сессия клона, которая имеет очень много возможностей, в отличие от субагентов, которые урезаны. И вы можете пойти с каждым тиммейтом пообщаться или через мейна агента пообщаться или напрямую пойти пообщаться и сказать: "Дружище, давай хватит спорить, нам это не так важно". Допустим, если мы говорим про случай с SEO, да, если он будет доказывать фронтендеру, например, что не нужно таким образом оформлять хлебные крошки или какой-нибудь методнформацию, вы можете сказать: "Нам сейчас это не так важно. Давай, успокойся и согласись с фронтендером". И таким образом получается, что вы действительно управляете командой агентов. И это очень крутая технология. Просто если вы не понимаете процессы, то, ну, вы будете создавать просто команду из хаоса. Но тем не менее я про это рассказываю, потому что даже на первых порах можно их достаточно безобидно использовать. Во-первых, они кучу контекста жрут, да, потому что это новая сессия кода, полноценная, с которой вы можете общаться. Для того, чтобы вы общались с сессией кода, вам нужны инструменты. То есть это, опять-таки, не какая-то магия, это всё попадает в контекст. Если у вас нет инструментов, которые обеспечивают вам коммуникацию с агентом, соответственно, он меньше использует контекста, потому что потому что этот контекст не попадает в этот инструмент. Но я думаю, вы понимаете уже, мы много говорим про контекст. Я думаю, что вы понимаете, каким образом это работает. Мы ещё сейчас отдельно про это тоже поговорим в следующем уровне.

Так, много как будто бы наговорил. Давайте что-нибудь зафиксируем. Новичкам лучше, да и не только новичкам, на самом деле, лучше не использовать для написания кода, но можно использовать на этапе ресерча с разных сторон. Вот, наверное, так бы я это назвал. То есть из этого пункта как будто бы вот эта мысль очень полезная. Если вы новичок, лучше не используйте это для написания кода, потому что вы запутаетесь сами в процессе и вам будет сложно контролировать результат. Но вы можете это использовать на стадии resarch. Я сейчас как раз-таки на этом и буду показывать, как это может работать. О'кей, как будто бы всё сказал. Для того, чтобы вам это всё включить, вам нужно пойти и включить вот эту переменную. То есть мы можем её просто скопировать, на самом деле. И, по-моему, она где-то ещё здесь была. Вот здесь вот она была. Давайте это скопируем. Сессию я очищу. Давай включим эту опцию. То есть она всё ещё находится в экспериментальных. Давайте, кстати, вот здесь ещё сделаем какие-то выводы. Жрёт жрёт много контекста, потому что каждый тиммейт полноценная сессия клода. Вот так вот. Это оставим здесь. Может быть, я потом чуть-чуть причешу и как-то это будет поаккуратнее, как вот здесь. И здесь причешу. На самом деле здесь тоже не всё аккуратное. Вот. Наверное, наверное, всё, что я хотел здесь рассказать, мы их можем вызывать точно так же в контексте, то есть можем сказать: "Запусти команду суббагента для того, чтобычить то-то и то-то". Можем сказать: "Запусти команду субагентов, которые у вас заранее описаны, и у вас там, допустим, есть специалист по безопасности, специалист по SEO, специалист по фронт, запустить эту команду и начать обсуждать план, например, какой-то". Вы также можете и код писать. Соответственно, допустим, у вас есть фронтендер и бэкндер, и вы хотели бы, чтобы они общались. Мне это не особо нравится, потому что если у вас нет плана, где уже есть контракты между фронтэндом и бэкэндом, то, соответственно, опять-таки у вас появляется очень много дыр в процессе, и поэтому вы можете получить не то, что вы ожидали получить, либо вы вообще не поймёте, то ли это, что вы ожидали получить или не то. В общем, мы о самом процессе ещё поговорим. Что бы ещё я хотел здесь сказать? Что бы ещё я хотел сказать? Давайте посмотрим. Может быть, я это фиксировал. В отличие от субагентов, отдельные процессы, общий тасклист, общение между собой, стоимость. Да, я уже сказал, что они жрут много токенов. У них есть общий таск-лист. Это всё я рассказал. Когда нужные конкурируешься гипотезы, исследования с разных сторон. Тоже это сказал. И как включить это всё тоже сказал.

Давайте вернёмся вот сюда. Он нас спрашивает про Я вот не помню. По-моему, не всегда он это спрашивал, хотя у меня bypass Permission mode. Может быть, это можно отключить или это в обновлении каком-то заехало? Может быть, в 1,80 заехало или 81, что-то не помню. Я это всё вот снёс свои настройки. Вот теперь теперь сам не знаю, каким образом это работало. Давайте спросим, кстати, как это работало. Я вот здесь вот в отдельной сессии открою ещё один код, а здесь спрошу: "А как сделать так, чтобы когда ты изменял точка код, ты мне не задавал вопросы, нужно это менять или не нужно?" И здесь у нас есть Agent Teams. Давайте представим ситуацию. Ну, я не знаю, какую ситуацию можем представить. Можно пойти поставить скилы на маркетинг, например, я так уже делал. Или пойти поставить скилы как раз-таки, может быть, фронтендера и SEO. Но для того, чтобы показать, как это работает, я думаю, что будет достаточно прямо так голосом диктовать, что я хочу получить. Я хочу, чтобы ты запросил сайт несерьёзноit.com, то есть и мне нужно, чтобы ты запустил команду агентов. Это должна быть команда агентов, которая может общаться между собой. Соответственно, один агент будет скептик. Он должен будет искать аргументы, почему не нужно вступать в IT-гараж. А второй агент будет адвокат IT-гаража, и он будет рассказывать, почему нужно вступать в IT-гараж. Мне нужно, чтобы они общались, и в конечном итоге ты должен подвести итог, какие были слабые стороны, какие сильные стороны, что мне можно улучшить. Да, есть проблемы с несерьёзнаznit.com. Давайте я просто сам это напишу. Несерьёзная. Какой у меня сложный домен, господи. t.comгаж. Добавлю разрешение на редактирование файлов без подтверждения. Permission edit and wrт, по-моему, не та опция, которая нам нужна. Давайте, ладно, оставим это тоже на домашнее задание. Возможно, они это просто внесли в новых версиях. Кстати говоря, можно же это всё найти. Я думаю, что Давайте эту я доку сохраню. Bypass permissions. Permissions mods. Ага. Use bypass Permissions. Осторожно. Ага. Исключая кд-код команды, агенты и skills. Ну ладно, ничего страшного. В целом полезная фича, на самом деле, потому что если вы хотите что-то именно в конфигурации поменять, ну, как будто бы это действительно может быть полезно.

О'кей, команда агентов запущено. Мы видим, что здесь есть main, скептик, адвокат. Он сам создал эту команду агентов. Мы можем через Shift, кстати говоря, Shift и стрелочки вверх-вниз, они раньше в арпе у меня, соответственно, переключали, кажется, окна или переключали блоки, я не помню. В общем, можно было навигироваться каким-то образом через это всё. Давайте мы перейдём, допустим, в адвоката, посмотрим пока, как это выглядит, потому что вдруг они сейчас успеют всё это завершить. Вам нужно, чтобы это всё работало. Я про Shift и стрелочку вверх и вниз. Вам нужно зайти в warp, зайти в настройки и, соответственно, здесь есть, э, keyboard Shortcuts. Здесь ищем, пишем Shift. Ну и вот здесь у меня были какие-то истории с шифтом вверх-вниз. В общем, где-то было, где-то было, и это всё, по-моему, позволяло мне бегать по блокам. Вот поэтому тоже заходим сюда, нажимаем на нужный и нажимаем очистить. И у вас тогда этот бибиндинг не будет перехватываться, а, самим варпом, и вы сможете вот так делать, как это делаю я. О'кей, что я сделал? Смотрим, он у нас заспавнил несколько агентов. В каждого из агента я могу провалиться. Вот у меня инпут покрасился в зелёный цвет. Это значит, что я сейчас буду общаться с тиммейтом адвоката. Здесь мы видим историю, что он передал в адвоката. Вот здесь вот есть промт. Видим здесь какие-то сари того, что происходит. Как я уже сказал, через Shift и вверх-вниз мы можем бегать по нужным нам агентам. Допустим, вернуться в Тимлида. У Тимлида можем, допустим, спрашивать, что сейчас происходит, и он, соответственно, может понимать. Ну и, кстати говоря, после того, как я захожу в арповки мидинге и там что-то пытаюсь поменять, у меня потом отваливается возможность говорить в inp вот сюда. То есть я вот говорю что-нибудь, а он не понимает,

что это, соответственно, туда попадает. Понятно, что я могу это всё вставить, но мне такой процесс не нравится.

Давайте я сейчас закрою, открою заново и попробую запустить это всё ещё раз, просто скопировав эту часть. Итак, давайте снова запущу этот промпт. То есть сейчас заново всё это начнётся, и я вам начну рассказывать, потому что мы тут между окнами бегали, и в целом как будто бы хочется фокус вот здесь держать сейчас.

А, ну и да, я не справил же сайт, поэтому давайте я дам ему информацию, то здесь вообще какая-то дичь. Я выбрал такой кейс. Вот нам снова создаётся команда агентов. Можем опять-таки по ним навигироваться через Shift, соответственно, вверх-вниз. Могу проваливаться в какого-то конкретного агента, как я уже показывал ранее. Могу возвращаться в Тимлида. С Тимлидом я могу общаться о том, что происходит. Расскажи, что происходит прямо сейчас. Ну и он, соответственно, пошёл и посмотрел, что адвокат работает, скептик в режиме ожидания. В общем, вы можете таким образом узнавать, что происходит прямо в моменте.

Если вы хотите поправить какого-то конкретного агента, что он делает, ну, допустим, у вас есть адвокат, вы пошли посмотрели, что в промте содержится что-то, что вам хотелось бы, чтобы было исправлено. Вы можете через тиммейт это сделать, можете перейти сюда и сказать, что давай будем делать вот так. В общем, вот так примерно это работает. Уже ответил адвокату, жду раунд два. В общем, происходит какое-то количество раундов.

В целом, это такая же тейская задача. Вы можете об команду агентов думать ваши идеи. То есть у вас есть какой-то вопросик, вы можете зарядить скилы, например, или найти нужных субагентов разных профессий, может быть, если можно так назвать, и зарядить команду агентов на то, чтобы они исследовали этот вопрос с разных сторон. Почему это полезнее, чем, например, просто запустить субагентов параллельно? Ну, например, у вас есть конкурирующие предложения от каждого субагента. Если бы вы использовали именно субагентов, а не тиммейтов, не агент Teams, то, соответственно, каждый из них бы вернул результат основному агенту. И основной агент, основываясь на чём-то, может быть, вы это опишите, и тогда это тоже будет работать. Если вам нужно именно собрать параллельные мнения, а потом сварить их с помощью какого-то другого промта, то это тоже будет работать. Но тем не менее у вас уже есть самодостаточные члены, как будто бы команды. Я когда это говорю, мне даже как-то не по себе, потому что потому что это действительно работает как полноценные члены команды, потому что они описаны. Ну ладно, не будем это всё драматизировать.

В общем, у них есть полноценные знания в каком-то домене. Ну, если это можно назвать полноценными знаниями в каком-то домене. То есть у вас есть определённые промты, которые вы дали этим субагентам. Они исследуют проект со своей стороны. То есть у них есть определённый фокус, и они точно получают лучший результат, если бы всё вместе вы это сложили в одного, например, агента. В целом так делать не нужно. Но это даёт ещё возможность им самим друг с другом решать конкурирующие вопросы. То есть это вам даёт лучший результат, это вам даёт большее количество раундов, и в конечном итоге выясните большее количество деталей. Вам никто не запрещает потом поменять ваше мнение. То есть вы как минимум об них подумали и в конечном итоге поняли, а что нужно с этим делать. Ну и у нас получается какой-то результат.

Вот мне в целом тоже, да, это может быть полезно. То есть я отдал им контент своего лендинга. Это мы, кстати, создавали в предыдущем видео. Я там рассказывал про дизайн. И заодно я создал себя лендинг. То есть это не то, чтобы какой-то очень сильно продуманный лендинг. Хотя на самом деле я запускал команду маркетологов для того, чтобы они поработали над этим лендингом. То есть если бы это делал субагент без этих всех знаний, то было бы, конечно, ну вообще другой результат был бы. Слабые стороны, незрелость продукта, два из три направления запущены, а другие помечены скоро. Ну, действительно, так и есть. Поэтому ранний доступ, и там сейчас есть только вайбкодинг, когда там будет все три направления, это будет стоить дороже. Нет доказательной базы, нет отзывов. Ну вот да, мне тоже стоит над этим поработать. В зависимости от одного автора, да, если меня собьёт автобус, то, соответственно, сообщество закроется. Противоречие о позиционировании подходит не программистам, конфликтует с техническими темами. Git, MCP, деплой. Ну, а их нужно знать, как будто бы нормально. Цена растёт в апреле. Приём давления, а не сигнал ценности. Но цена действительно вырастет в апреле, поэтому поэтому так.

Что можно улучшить? Добавить отзывы, популиговать Roadmap, разделить треки по уровням, добавить пробный период или помещенную оплату. Помещенная оплата тоже будет, когда у меня появится такая база, которой я хочу уже делиться именно помещено. Привлечь приглашённых экспертов, убрать давление через цену. Ну вот, видите, даже сейчас это было, ну, как будто бы полезно. То есть, тем не менее, я уже работал над этим лендингом с точки зрения команды маркетологов. Сам я не сильно много туда внимания уделял, но они закрыли большую часть вопросов, поэтому здесь не так много пунктов. Но, например, я бы мог пойти дальше. Я бы мог собрать все комментарии, допустим, диванных безопасников. Здесь важное уточнение. Я не отношусь к этому негативно. Да, действительно, есть люди, которые относятся к этому скептично. Это нормально, потому что многие, например, айтишники, они находятся в рутине, и у них нет времени попробовать разные технологии для того, чтобы понять, что это действительно работает. У меня есть знакомые, которые после того, как попробовали, возвращались и говорили о том, что как мы без этого жили. Это профессиональные разработчики, то есть они работают в сфере давно. И даже они меняют своё мнение. То есть каждый, на самом деле, поменяет своё мнение, если разберётся в том, как это работает. Это уже сейчас работает, просто факт.

Так вот, я мог бы собрать портрет вот этих пользователей и создать несколько, соответственно, ролей в видеагентов и изучить мой лендинг с этих сторон. Это бы мне дало какое-то количество идей. Далее, я бы запустил команду, которая заворачивает это всё в план. Команду, имею в виду не агентов, а просто скил. И с помощью этого плана потом субагентами это всё реализовал. Вот примерно так бы это могло выглядеть. И вы даже как новички можете тоже использовать м именно на этапе обсуждения идеи, на этапе реча, на этапе вот сбора какой-то информации. Это очень хорошо работает. На этапе кода я бы не рекомендовал это использовать. Как будто бы это всё, что я хотел рассказать про команду агентов. Как обычно, вы можете про это всё прочитать здесь. Вот как-то так. Если знаете какие-то ещё вещи, про которые стоило бы рассказать здесь. Здесь ещё, на самом деле, можно сплитить. Вот мы посмотрели на inпроcess. То есть мы можем их через Shift вверх-вниз, соответственно, выбирать, а можно засплить. это всё. Но я думаю, что на нашем этапе это не особо интересно. В общем, если знаете что-то, что я не рассказал про Agen Teams, если знаете какие-то кейсы их использования хорошие, с хорошим процессом, не просто где вы в промте сказали: "Создай мне приложение на 1 млн, запусти 10 агентов для того, чтобы это всё реализовать". А если вы действительно знаете какой-то построенный процесс, может быть, публичный процесс типа Superpowers или Get Shit Done, поделитесь им, потому что я не всезнающий, могу что-то упустить. Но пока я думаю, что про Again Teams всё.

И переходим к следующему уровню. Это контекст. Я тут это всё, конечно же, завернул, немножко причесал. Вот сюда добавил, соответственно, часть про агентов, чтобы мы понимали, что в конечном итоге здесь находится. И мы завершили уровень три. Полноценно переходим к уровню четыре. Это уровень, когда мы начинаем разбираться в контексте. Понятно, что уровни субъективные. Мне просто захотелось создать эти уровни. И вот я их в таком порядке расположил. Как будто бы логичная какая-то последовательность. На самом деле вы можете тоже с этим не согласиться. Это ваше право.

Итак, самые внимательные на самом деле поняли, что всё это время, пока мы разговаривали, мы всегда говорили про контекст, в том числе. Но если вы этого не поняли, то вы вообще смотрели это видео или нет, потому что я точно об этом всегда говорил. Сейчас наша задача - это зафиксировать всё, что я сказал, и подытожить, потому что действительно важная история понимать, как работает контекст. Потому что те, кто не понимает, как работает контекст, они в конечном итоге всегда разочаровываются и в создании агентов своих собственных, и в работе с уже существующими агентами, в том числе с код-кодом. Вот сейчас мы это всё подытожим, и вы будете понимать это хотя бы на каком-то, я думаю, хорошем уровне, на самом деле.

Итак, я эту часть закрываю и давайте скопируем. Ну, наверное, что мы скопируем? Давайте скопируем вот эту часть. То есть нам будет достаточно, мне кажется, вот этого понимания, потому что тулы - это всё, что находится вот здесь. Я думаю, что мы и так разобрались с тем, как это работает здесь. Я это всё удалю. Вот эти тулы - это всё, что мы говорили. Tools, MCP, skills, агенты. Вот это тоже мы можем дропнуть. Давайте дропнем.

Итак, это и есть контекстное окно. Допустим, оно состоит из 200.000 токенов, как я уже говорил ранее. И давайте вот эту часть мы всю уберём, потому что нам это будет не нужно. Пусть это будет просто какая-то задача номер один, задача номер два и так далее. То есть задача один. Далее задача два и задачат три. И вот у этого контекстного окна есть, на самом деле, ну, назовём это эффективная часть. На моём опыте сейчас с миллионом токенов в опусе, потому что, ну, к сожалению, не прошло ещё достаточного количества времени, чтобы я мог вам что-то советовать и делать какие-то выводы. Но вот с контекстным окном размером 200.000 я работал достаточно давно, и примерно есть понимание, где заканчивается эффективная часть. И в моём опыте она заканчивается где-то на 50, может быть 70%. Ну, там есть, конечно же, какая-то субъективность, потому что не могу я назвать точно, что после птидесяти всё пойдёт плохо. Нет, поэтому я бы сказал так, что у вас есть зелёная зона этого контекста. Ну вот, допустим, она находится вот здесь. И назовём её 50% от контекста. Далее у вас есть, пусть это будет оранжевая зона. Давайте её выделим вот так. И это будет, ну, допустим, 70% от контекста. То есть, если вы дошли вот досюда, значит, вы уже находитесь в опасной близости. Далее, у вас есть красная зона. Ну и, допустим, она может закончиться где-то вот здесь. Давайте так это изобразим. Это будет красная зона. Вот здесь произойдёт автокомпакт. То есть код, когда достигает 85%, если ничего не поменяли, он сам сделает автокомпакт.

Итого, каким образом это работает? Допустим, в задаче один у вас на все этапы потратилось 50% от контекстного окна клода. То есть вот здесь уже закончилась эффективная его часть. На самом деле, помимо того, что в целом есть эффективная часть контекстного окна, там ещё есть и проблемы в самих промтах. То есть, допустим, есть даже термин, кажется, называется loss in middle. Может быть, ошибаюсь, как это называется. Ещё помидорами кидайтесь, я не эксперт в терминах. Но суть заключается в том, что в основном у моделей, ну, у разных моделей это может работать по-разному, но если подытожить, то у вас в приоритете то, что находится в начале, и у нас как раз туда попадают тулы, MCP, скилы, сувагенты. Поэтому кодкод достаточно хорошо, на самом деле, вызывает их даже в процессе вашего диалога. И то, что находится в конце, потому что вы это прямо сейчас обсуждаете. То есть здесь действительно находятся важные детали. А вот то, что в середине в целом может теряться в контексте, поэтому агент может забывать какие-то вещи, которые вы ему говорили. Поэтому, если вы что-то храните в код MD, кстати, я сюда не записал код MD файлик, то есть, если вы записываете что-то в основную инструкцию, во-первых, это даёт хороший старт, а во-вторых, это находится как раз-таки в начале этого контекстного окна.

Ну и, допустим, вы сделали задачу один, ваша задача один логически завершена, но вы почему-то решили, что нужно начинать задачу два прямо в этом же контекстном окне. Это ошибка, потому что логически не нужен контекст от задачи один для того, чтобы выполнить задачу два. Это просто даже с точки зрения идеи странно. То есть вы зачем-то храните контекст от предыдущей задачи для того, чтобы выполнить следующую задачу, хотя она, ну, вообще может быть с ней не связана. Это то же самое работает и в чатах. Если у вас есть один огромный диалог с чатом GPT, например, и вы пытаетесь всё там вообще спрашивать, ну, это просто неправильно. То есть вам нужно завести новый диалог и начать обсуждать там новую тему. Если вы хотите, чтобы он что-то помнил, сохраняйте это, соответственно, в память. того же GPT.

То есть сразу первый простой совет - это ешьте слона по частям, декомпозируйте задачи. То есть это не должна быть одна огромная задача, это должно быть несколько задач. Все задачи на самом деле можно декомпозировать, если у вас это не получается. Скорее всего, у вас просто не хватает опыта в декомпозиции. Но тем не менее вам это не нужно делать руками, вам это нужно делать с помощью кода. Опять же в процессах об этом поговорим. То есть, если у вас есть какой-то огромный проект, ну, выделите из него какую-то изначальную часть, то есть инициализацию этого проекта, потом какие-то основные фичи, а потом уже накручивайте на этот проект что-то ещё, ещё, ещё. Это полезно как с точки зрения в целом запуска, да? То есть вам не нужно реализовать вообще всё, что вы будете делать там пару лет, например. Ну, понятно, что с вапкодингом быстрее это сделаете и потом в конечном итоге рынок уже ушёл далеко и вам вообще это уже не нужно на этом рынке. Ну, так вот, первый вывод - это декомпозируйте задачи. Если вы декомпозировали задачи, то уже вот здесь, пусть это будет вот так, можете очистить контекст. Ну и, соответственно, начать новую сессию. Если же декомпозиции не будет, давайте тоже где-нибудь вот здесь просто разместим. Как раз-таки это будет хорошим примером. Пусть эти задачи будут удалены. У вас может произойти такое, что ваша задача в целом не может быть выполнена. И вот здесь у вас произойдёт автокомпакт. Возможно, потеряется контекст. Да и в целом, на самом деле, даже лучше не обсуждать, что, возможно, произойдёт такое, что clotд сможет это сделать хорошо. Если у вас даже одна задача не помещается в контекст, то вам я рекомендую точно менять процессы, потому что явно есть проблемы с декомпозицией.

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

Далее, какой совет можно дать? Вот эта часть у вас всегда попадает в контекст. Мы об этом всё это время говорили. Поэтому давайте мы наоборот на первым пункт поставим вот это, а вторым вот это. В первый пункт мы поставим не раздувайте инструменты. То есть, как я уже говорил ранее, не нужно делать огромный код MD. Он загружается в каждый проект, в каждую сессию. И это проблема. Также не нужно раздувать автомеory. Ну, следите за тем, чтобы клод там чего-то не наделал в мемоory огромного. Но я не замечал такого, что он делает что-то там огромное. Именно в меory там как раз-таки малое количество информации. А вот в clд MD вы можете раздуть clд MD до такого состояния, что там будет информация, которая там давно не нужна. Ну, к примеру, да, вы взяли сначала MD, как создавать лендинги, потом вы пошли ещё нашли какую-то информацию, как делать self-improvementмент, вообще не понимая, зачем это всё нужно, вставили это тоже в cд MD. Потом вам ещё кто-то что-то посоветовал, вы ещё вставили это вд MD. И в итоге у вас код MD состоит вообще из противоречий, из огромного количества информации. Всё это, естественно, теряется. Поэтому здесь проблема не только даже в эффективности контекста, здесь проблема в том, что у вас просто весь процесс развалится, если вы будете держать этот кд MD загрязнённым. И все файлы MCP скилы, субагенты будете держать тоже разные, которые противоречат друг другу и так далее. В общем, контролируйте этот процесс, контролируйте те инструменты, которые вы используете.

Далее, как я уже сказал, MCP скилы, агенты, ставьте их в проекты. То есть, если у вас не нужно на глобальном уровне использовать один и тот же MCP, то есть в случае секса нужно, потому что мне везде нужен этот поиск. или в случае со скилом, который создаёт скилы, метаскил, про который мы говорили, skill creator, как будто бы тоже нужно, и он занимает очень маленькое количество контекста. Но, допустим, если вы пойдёте и в skills SH возьмёте весь вообще возможный набор скилов и всё это поставите глобально, ещё и будет куча противоречий, соответственно, вы просто сосрёте контекст и потеряете возможность работать с этим всем эффективно.

Давайте посмотрим, что я ещё хотел рассказать в этой части, потому что как будто бы мы про это всё уже много раз говорили. Про контекст сшкотекст я уже рассказал. Что туда попадает, я уже рассказал. Сейчас поговорим про статусй. Вообще, каким образом вот за этими цифрами следить, да? То есть как понять, а сколько у вас процентов контекста заполнено? Давайте мы вот это всё очистим и вызовем контекст. То есть изначально вы можете, конечно же, это всё смотреть вот здесь. То есть вот здесь у вас в начале есть процент заполнения контекста. На старте мы уже потратили 20.000 токенов. У нас здесь системный промт, тулы, кастомные агенты, меory файлы, скилы, но это, конечно же, неудобно. То есть надо постоянно заходить сюда и за этим следить. Поэтому для этого есть статусла lйн, он уже есть по умолчанию здесь. Вы просто запускаете команду status l. Мы видели, на самом деле, что есть субагент на status lйн. Я думаю, что внутри как раз-таки здесь и будет вызываться. Соответственно, мы просто это вызываем. Статуслайна - это такая строка. Вот здесь она будет находиться. Мы сейчас это всё увидим. Вот он субагент вызвался на создание статуслайна. Он идёт, смотрит, какая у меня оболочка. В общем, знакомится с тем, что у меня вообще за операционная система, каким образом это всё можно сюда установить. Это всё там под капотом зашито. Соответственно, так как мы дальше будем работать с гитом, давайте я сразу сюда включу и гиit, и текущую директорию. Название модели, использование контекстного окна, время. Вот время мне не нужно, мне нужно просто использование контекстного окна. Давайте я Мне нужно всё, кроме последнего пункта. Время мне не нужно. Он сейчас сделает мне статуслай. Он с ходу будет разноцветный, мне, скорее всего, это всё не понравится, поэтому я буду просить его это всё переделать. Вот сейчас в бэкграунде как раз-таки запустился этот процесс. Помните, мы говорили, что есть форнд и бэкграунд у агентов. И вот этот агент запустился как раз-таки в бэкграунде. То есть как только он завершит, он вернётся сюда и отдаст этот результат. Вот такие вот делишки. Ну и, соответственно, в статуслайне вы можете следить за тем, на сколько процентов контекст у вас заполнен. Сейчас мы это увидим. Я вам покажу, он прямо с ходу появится. Его даже не нужно будет перезапускать. Вот он сюда добавляет status line Command SH. То есть, как я говорил, здесь используется в этом а субагенте модель Sнеet, потому что пишется как раз-таки код. То есть даже антропики используют санет для написания кода, хайку для поиска информации. Выглядит всё крайне херово. Почему-то с ходу всё сломано, как будто бы выглядит очень плохо. Ну, понятно, что папка у нас появилась. Вот папка выглядит как будто бы нормально. Проблема в том, что модель - это JON объект, а не строка. Нужно извлекать дисплей. Это тоже, конечно, странно, да? То есть я запускаю уже встроенные возможности статус лайна, и они мне не дают сразу качественный результат. Это, конечно, проблема. Ну и вот у нас появилась выбранная моделька, то есть опус с 1 млн контекста, но я почему-то не вижу процент заполнения контекста, хотя здесь он, по-моему, спрашивал использование контекстного окна. Давайте ещё раз это всё заскриним. Херово работает. А я не вижу процента заполнения контекстного окна, хотя оно точно уже заполнено. Работает плохо, друзья. Вот что агент мне не нравится, как работает, что Statusline мне не нравится, как работает. Нужно знать, как выглядит входной Jon. Добавлю времени. Ну как вот он не знает, как выглядит входной Jon, если вообще суть этого статуслайна, и он сам предложил это сделать. Эх, ладно, ладно, давайте сделаем так. Ну и в конечном итоге вот у нас status linee. Здесь есть папка, здесь есть модель, здесь есть процент заполнения контекста. И когда мы будем работать с гетом, здесь появится ещё и ветка. Ну давайте я не буду сейчас тратить время на то, что буду причасывать вот этот статуслайн. Я просто заберу статуслайн из IT гаража и, соответственно, вставлю его сюда. Вы можете просто попросить сделать это не цветным или сделать как-то иначе. Кто-то делает так, что у них там есть заполнение контекста, прямо прогресс. В общем, кому как нравится. Мне нравится минимализм. Я не люблю вот это всё цветное. Давай переделаем вот на такой stслай. Соответственно, здесь просто уже то, что я хочу получить. Ну и вот здесь он уже выглядит для меня приятнее. У меня здесь есть папка полный путь. У меня здесь есть выбранная модель. Ну и, соответственно, сколько процентов заполнен контекст, он заполнен на 5%. Давайте это проверим. Ну, здесь 6%, но я думаю, что там просто погрешности в округлении - это ничего страшного. Итого каждый раз, когда мы будем заполнять контекст, то есть я могу спросить что-нибудь ещё, это просто тестовая информация, и у нас поменялся процент заполнения контекста. Итого, когда мы будем работать над задачей, если ваш контекст перешёл в зелёную зону, это повод задуматься о том, чтобы уже каким-то образом завернуть этот процесс. А в следующий раз вообще его починить, чтобы вы не допускали опять-таки заходов в жёлтую зону. Ну, в жёлтую зону вы ещё можете зайти, ничего страшного. Ну, в жёлтую, в оранжевую, неважно. А вот если вы близитесь, допустим, к 80% контекста, когда у вас 85 уже будет произойдёт автокомпакт, вот тогда у вас точно есть какие-то проблемы. В общем, за этим нужно следить. Если хотите точно такой же statusслайн, вы можете либо попросить агента это сделать, либо вот просто взять вот этот код. То есть вот я вам экран показываю. Можете это всё просто заскринить, попросить, соответственно, сделать то же самое у клодкода. Ну и как я с этим работаю, я тоже рассказал, поэтому как будто бы этот пункт можно закрыть.

Также у клодко-кода есть дока по тому, как эффективно использовать контекст, то есть как уменьшить стоимость, то есть затрату токенов. Ну и, как я вам говорил уже ранее, допустим, нужно уменьшить использование MCP, хотя сейчас это всё уже не находится в контексте. В общем, эта информация как будто бы на самом деле устарела.

Итого, какой, наверное, совет ещё здесь? Не раздувайте инструменты и ешьте слона по частям, декомпозируйте задачи. Давайте ещё сделаем пункт. Устанавливайте инструменты в проект, если они не нужны глобально. Ну, наверное, эти три пункта и есть основная часть. То есть декомпозируйте задачи, не раздувайте инструменты, устанавливайте инструменты в проекты, если они не нужны глобально. Давайте здесь добавим и количество, и описание. То есть и количество инструментов, и описание. Если вам это не нужно, то, соответственно, отключайте там ненужный MCP, удаляйте ненужные скилы, ставьте скилы в проекты, они глобально. Ставьте глобально только то, что действительно нужно везде. Ну и тогда у вас будет результат гораздо лучше, и вы будете более довольны тем, как работают лэмки. Качистите знания, друзья. Проблемы не в AI, проблемы в нас самих. Вроде бы всё теперь рассказал, да? То есть статуслай есть, автокомпакт на 85% рассказал, короткие сессии эффективнее рассказал. То есть одна задача, одна сессия. Вы можете чистить контекст, если задача не связана. Про компакт, ну, сейчас ещё, наверное, расскажу именно, что существует. Команда компакт, как экономить клод MD, скилы, субагенты, выбор модели и effort. Да, кстати говоря, давайте ещё пункт-то запишем про выбор модели. Выбор модели, например, для субагента. То есть, что у нас здесь будет, если мы пишем код, если есть хороший план и пишем код, можно sonet. Если ищем что-то в документации существующей, пойдёт и хайку. Если

Делаем что-то сложное, сложное комплексное опус, то есть это этап планирования, это принятие каких-то решений на основе большого количества информации для того, чтобы качественно сварить, например, план. И вот этот план уже можно отдавать на реализацию субагентам на санете.

Ну и отдельно давайте по выбору модели ещё сделаю пометку, что если у вас нет проблем с контекстом и деньгами на подписку, то есть если вы, допустим, купите подписку 20x, оставайтесь просто всегда на опусе. То есть не думайте об этом. Берите самый высокий эfort. То есть у него там есть три уровня, это low medium и high. Я всегда сижу на хай, потому что в целом я не знаю, как мне разобраться с тем, какой мне effort, то есть low, medium или high. На самом деле по дефолту сейчас используется medium. Вы можете попробовать поиспользовать медиум и посидеть на нём. У меня нет проблем с тем, как я использую контекст, с тем, как я расходую токены, поэтому мне моих подписок на мои проекты хватает. Я всегда сижу на опусе и даже код пишу с опусом.

Если всё-таки у меня какой-то большой проект и я хочу сделать эффективное использование контекста, я, соответственно, делаю план на опусе, а потом перехожу на санет. То есть у меня субагенты на санете пишут код, а OPUS планируется. И Опуus оркестрирует этих агентов, конечно же, потому что этот план нужно правильно передавать субагентам. Вот такая вот история. То есть нет проблем, оставайтесь на опусе. Есть проблема, переходите вот на то, что я писал выше. Я бы вам советовал вначале всегда оставаться на опусе и потом уже, если у вас есть проблема с контекстом, начинать думать о том, о чём я здесь рассказал. Но, конечно же, вот этот совет, он не разрушает смысл о том, что я рассказывал. То есть, если вы выберете вот здесь опус и вот таким вот образом будете работать, точнее, вот таким вот образом будете работать, это не то, чтобы про цену токенов, да? Это про то, что у вас просто не будет эффективно работать контекст даже на опусе. То есть здесь другой смысл. Я думаю, что вы его уловили. То есть здесь я говорю про именно лимиты, а здесь я говорю про то, что вам нужно эффективно использовать контекст для того, чтобы эффективно закрывать задачи. Вот такие вот дела.

Ну и последнее, да, о чём я должен поговорить, это про компаct. Кстати, да, проfor вы можете нажать, по-моему, option P, и вот здесь у вас есть high effort. И вы можете стрелочками влево, вправо, соответственно, это делать. У них раньше лучше было. Вот сейчас какой-то кружочек у них, раньше это были отдельные пункты, и как будто бы это лучше выглядело. Но ладно, неважно. Это я уже так. Поэтому вы можете это делать и здесь, и здесь. На хайку, по-моему, не можете. У него нет никакого эрта, поэтому только здесь это можете сделать. Можете пока сидеть на медиуме. Это дефолтное состояние. Раньше дефолтное, по-моему, было хай, поэтому это всё тоже меняется. Соответственно, тестируйте, выбирайте, какой будет идеально соответствовать цене, качеству. Здесь рассказал.

И если вы делаете, соответственно, команду компакт, во-первых, у неё есть аргумент, вы можете объяснить модели, что вы хотите, чтобы она точно учла. То есть, допустим, вы долго общались, у вас заканчивается контекст, вы понимаете, что вы находитесь на 70%. Вы понимаете, о чём была речь всё это время. И вам хочется зафиксировать не всё вообще, что там было, да, потому что, вероятнее всего, вы на самом деле уже профокали всю эту сессию, то есть что-то пошло там не так, скорее всего. Но вам нужно сейчас сделать какой-то артефакт этой сессии, поэтому сюда вы можете это тоже надиктовать. Ну, и как я уже сказал, если вы дойдёте до 85%, то вы увидите, как клод сделал автокомпакт. Вот здесь будет предупреждение, на самом деле. По-моему, когда вы дойдёте до 80%, если они его не убрали, то, соответственно, здесь будет написано, что через сколько-то процентов произойдёт автокомпакт. Он в целом иногда может сработать нормально, а иногда может сработать ненормально. Поэтому я на чудо не надеюсь, и я всегда остаюсь в той зоне, которая эффективно работает. Вот такие вот дела. Поэтому про контекст мы как будто бы поговорили и можем переходить к следующей части.

А следующая часть у нас деплой. Итак, мы что-то разработали локально. Ну, например, у меня есть вот тот лендинг. И даже несколько версий этого лендинга есть. По-моему, уже пять штук набралось там. И вот видели, я думаю, в эти шутки, где viпкодер делится ссылочкой на local host. Local host - это то, что происходит у вас на компуктере. То есть вы не можете поделиться этой ссылочкой, никто не получит, естественно, туда доступ, потому что это всё происходит у вас локально. Так вот, каким образом это всё куда-то зарелизить, чтобы вы могли поделиться ссылкой. И это всё я расскажу поверхностно, то есть быстро, потому что если я этому модулю уделю действительно нужное количество времени, это вообще целое видео получится, потому что очень много нюансов, особенно если вы будете делать на свои собственные VPS что-то, вообще куча нюансов будет, если вы возьмёте какое-то готовое решение под капотом, хотя бы они реализуют разные вещи.

Я втом подумал: "А давайте поговорим про вот эти разные вещи, потому что это же полезная информация, да? Если вы берёте свою VPS, давайте просто вот здесь пока это начнём писать. Если своя VPS, ну и давайте я накидаю хотя бы то, что я поверхностно вспомню. То есть, естественно, я сейчас всё, наверное, не вспомню. Допустим, самая первая проблема - это автоматизация релизов". Что включает в себя автоматизация этих релизов? Это понимание, как работает CD, как ограничить права пользователя, то есть деплоера создать того же, да? И что вообще ему нужно ограничивать. Engн сертификаты, то есть как вам направлять, допустим, на ваше VPэски трафик, если у вас есть, ну, допустим, лендинг, есть какая-то база данных и так далее. Закрытие там ручек, которые не должны быть открыты, отслеживание ресурсов, эпотер, Прометеус, графана, Logги. Короче, понятно, что это всё очень сложные слова. Я хочу вам просто донести, что это не просто так. Отслеживание ресурсов, бэкапы, да, то есть, чтобы у вас не потерялись все данные, если вдруг что-то произойдёт с вашей VPэской. Ко всему этому ещё и добавляется соблюдение законов, то есть юридические риски. То есть не просто риски репутационные, это ещё и юридические риски, если вы это всё собираетесь, а, допустим, делать публичным или, не дай бог, продавать, то есть могут быть действительно большие риски. Как пример, вы купили VPS в еврозоне, потому что так будут работать пишки того же Open AI, и вы там же храните данные пользователей. Это нарушение закона. Вот просто как пример. Понятно, что и в случае с сервисами, где под капотом вот это всё, допустим, реализовано, здесь вы тоже можете это нарушать.

В общем, это такая история. Давайте так подытожим, что если вы это делаете для своих собственных целей, делайте какой-то сервис, который вы сами будете использовать или будете использовать внутри компании. В таком случае о'кей? То есть вы можете и свою песку взять, и взять какие-то сервисы, и неважно, где будут располагаться сервера, всё будет ок. Но опять же, вы принимаете все эти риски, потому что вы это делаете для себя. Если же вы делаете какой-то сервис, который вы собираетесь в конечном итоге публично предоставлять, то, соответственно, вам нужно точно подумать в эту сторону. Я не говорю, что это нельзя сделать с помощью вайбкодинга, просто вам нужно этому уделить внимание. А лучше, если вы действительно собираетесь этим серьёзно заниматься и именно поддерживать этот сервис, продавать его и так далее, после того, как вы гипотезу проверили на малом количестве пользователей и у вас это всё масштабируется, нужно, конечно, отдать это всё на валидацию, допустим, какому-то человеку, который понимает, как это работает. Ну, допустим, девопса какого-нибудь найти, чтобы он проверил, что у вас хотя бы всё это соблюдается. То есть у вас есть бэкапы, у вас закрыты ручки ненужные, у вас есть там ещё какие-то вещи. Если это всё комплексно описывать, то в больших компаниях есть, например, целые отделы, допустим, девопсы, которые занимаются инфраструктурой. И даже эти отделы покупают внешние услуги. То есть, допустим, чтобы защитить вас от DoСатак, есть разные компании, например, куратор. Нужны алгоритмы понимания того, что это вообще досатака, а не просто к вам огромное количество трафика пришло и так далее. То есть не нужно от этой части ожидать, что я вам сейчас расскажу все нюансы. Я и сам, вероятно, не знаю всех нюансов. То есть у меня поверхностная картина какая-то есть, просто потому что есть опыт работы с командами. Но именно всех нюансов я тоже могу не знать, потому что именно самостоятельно огромные проекты я не запускал. Но если я буду запускать и у меня есть ресурсы, конечно же, я найду хорошего девоopпса для того, чтобы это точно работало эффективно, потому что в ином случае я потеряю ещё большее количество денег. Либо же я разберусь в вопросе лучше. Понятно, что вы это всё можете реализовать с помощью вайп-кодинга, в том числе, но вам нужно вообще хотя бы направление понимания, в какую сторону думать. Опять же, я не хочу, чтобы вы здесь фрустрировали эту ситуацию. То есть это не обнуляет вайбко-кодинг. Вы всё ещё можете запуститься, тестить гипотезы, но если вы собираетесь масштабироваться, лучше, конечно, находиться в месте, где есть человек, который понимает, что делать дальше. Хотя бы направление понимает и подскажет вам, куда двигаться. То есть, если вам какой-то человек рассказывает про то, что можно запустить в одного склад-кодом проект на миллион пользователей, запустить-то может и можно, но в конечном итоге вам нужно это точно очень в быстром порядке докручивать для того, чтобы это всё работало безопасно и безотказно. Потому что, если вы не ограничите, например, права деплоера или не будете делать бэкапы, ну вот представим, что случайно каким-то образом в диалоге запутали клод-код, и он понял, что нужно, допустим, снести вашу базу данных, а эта база данных содержит там, я не знаю, всех пользователей, которые у вас есть. И если у вас нет бэкапов, то всё, всё плохо. Или если у вас есть бэкапы, они хранятся на той же Вэске, а у вас с VPэской что-то произойдёт, тоже будет всё плохо. Если вы не будете отслеживать ресурсы или выберете VPску, где нельзя масштабировать эти ресурсы. То есть у вас вот есть ограниченное количество ресурсов, и всё, на этом всё закончилось.

О'кей, я думаю, что я объяснил, что часть именно с деплоем и своей VPэской это довольно-таки такой сложный процесс, и это заслуживает вообще отдельной истории. Ещё раз, что я вам хочу посоветовать. Если вы собираетесь это делать публичным и не дай бог принимать за эти деньги, хотя бы просто пообщайтесь с код-кодом на эту тему для того, чтобы у вас появилось какое-то понимание вообще, какие могут быть риски и какие могут быть последствия. Но в этой части я вам покажу просто один из способов, как сделать деплой в один клик, чтобы вот наш, например, лендинг попал в конечном итоге на какой-то хостинг. Мы могли получить туда доступ публично. И один из таких сервисов - это Vertel. Verл подходит для деплоя фн приложения в основном. То есть там в целом может быть в каком-то виде, но не будем сейчас углубляться в детали. Полноценного бэкэнда там быть не может. То есть, например, если бы у меня на том лендинге была форма регистрации, я бы мог взять Veral и взять, ну, может быть, Suпаab Base, например. И то, и то я могу пойти поизучать, поизучать тарифы, какие у меня есть возможности. Это всё можно на естественном языке обсудить с тем же клодкодом. Ну, и в конечном итоге у вас будет деплой просто в два сервиса. Кэнд у вас будет на Superbase, а frontend часть на Verл.

Давайте я сейчас не буду проваливаться никакие документы, не буду показывать какие-то конкретные ссылочки, покажу вам, как это всё можно изучать. Мы переходим в код-код, вставляем сюда ссылку и спрашиваем, каким образом я могу задеплоить свой лендинг, используя вот этот сервис. Правда, он пошёл искать доки в котек 7, потому что я его уже установил. Так как я говорил, что мне нужно было делать некоторые задачи, я минимальную конфигурацию собрал, поэтому он туда пошёл, а не дёрнул просто ресурс. Ладно, давайте это сделаем ещё раз и сделаем чуть-чуть более честно. Посмотрю, что у меня ещё там есть за скилы. Один из скилов - это find do, find skills. Я вам, кстати, не рассказал про Find Skills. Это skill от Skills SH. И он помогает вам находить другие скилы. То есть вы можете не обязательно это всё на сайте делать. Вот заодно и рассказал тем, кто смотрит видео полностью, и ещё какая-то полезная информация про скилы прилетела. Кстати говоря, я могу вот так, переходя просто вверх, переходить к тем сообщениям, которые я писал до. Вот это сообщение. Давайте я не буду удалять скил, а просто прошу его не использовать этот скилл, потому что всё равно мы скоро его будем устанавливать. Я не буду удалять тот skкил от коeк 7, просто попрошу его не использовать. Мы всё равно будем его скоро ставить, когда будем говорить о процессе. Не нужно использовать skки find docs. Нужно запросить этот ресурс и найти ответ на этот вопрос. Мне интересно, есть ли, может быть, MCP, может быть CLI, может быть какой-то плагин для клод-кода. Итак, у нас есть, соответственно, CLI, у нас есть MCP, нет плагина. Но, по сути, если бы был плагин, то в него просто, скорее всего, входил MCP, раз он есть. Итого, для моего лендинга самый быстрый путь - это NPX Vereling. Ну вот это и будем использовать. Ну и таким же образом вы можете узнавать и про другие сервисы. То есть вам не обязательно что-то идти изучать. И здесь же, в этом диалоге, вы можете продолжить, ну, и соответственно, попробовать это использовать. В общем, очень быстрый тест для того, чтобы проверить вообще, работает это или не работает. А потом вы можете пойти просто изучать уже какие-то условия, сравнивать сервисы и так далее. То есть я ничего не знаю об этом сервисе. Вот просто задал вопрос и получил ответ, как я могу это использовать.

Мы сейчас пойдём дальше, соответственно, это всё задеплоим. Вы также можете узнавать информацию и про другие сервисы. Не помню, я упоминал Railway или нет, но, допустим, на Vercal вы не можете полноценный бэкэнд захостить. А может быть, уже и можете, не буду врать, но, по крайней мере, до этого не могли вы это сделать. А вот в Railway можете, и при этом всё так же просто это будет выглядеть. Ну, или например, если вы хотите свой бэкэнд в суб держать, то же самое. Просто задаёте вопрос, каким образом я могу это всё делать через код-код. И у них там тоже есть MCP. Вы также это всё поставите. Соответственно, вместо того, чтобы ручками создавать там какие-то таблицы, вы будете это делать с помощью код-кода. Опять-таки, говоря про безопасность, я вам советую давать доступ агентам только к тестовым стендам и уже в процессах автоматизации, вот мы будем позже про Git говорить, держать токены от боевых сервисов, то есть от продакшена. То есть вы что-то локально разрабатываете. Допустим, у вас есть токен от Open AI, вы разрабатываете и агента. Соответственно, этот токен должен быть очень ограничен. То есть, если он каким-то образом случайно утечёт, вы не должны потерять много. А боевой токен, то есть APки, я имею в виду, вы уже держите, например, в гитхабе и во время автоматизации, соответственно, он подсовывается, и всё это улетает на ваш сервер. Таким образом, даже если случайно как-то вы сольёте свои данные, ну, например, публичные репозитории опубликуете, опять-таки будем говорить про репозитории дальше, вы не потеряете этот токен, на котором там большое количество средств, например, он никак не ограничен. Ну, кстати, даже боевые токены лучше как-то ограничивать, потому что всё может случиться.

Итак, нам подходит первый вариант. Давайте попросим его реализовать первый вариант. Мы не хотим ничего делать руками. Хорошо, давай будем использовать первый вариант. Ты будешь использовать первый вариант без Гитхаба. Мы пока ничего не знаем про GitHub. Проверь, установлен ли Veral C, что в папке Landing. Сейчас он поймёт, что у меня Verlal C не установлен. Предлагает мне его установить. Кстати говоря, его, по-моему, не обязательно устанавливать. Мы можем это сделать через NPX, например. Верси не установлен. Для деплоя нужно установить его глобально через npm. Разрешаешь выполнить npm, он installл verл. А он нам точно нужен глобально? Я его не собираюсь везде использовать. Может быть, мы можем использовать npx. NPX, как я уже сказал, позволяет вам, не устанавливая локально пакеты, выполнять какие-то скрипты из этих пакетов. То есть, соответственно, если я использую NPX VerAL, я получаю пакет VerAL и исполняю его, не устанавливая локально. И плюсом ко всему я получаю постоянно актуальную версию. К сожалению, у меня были уже сохранены какие-то конфиги от тестового аккаунта. Я думаю, то есть давайте залогинимся. Я думаю, что это второй мой аккаунт, не основной. В общем, да, здесь появился лендинг, но вам клод-код предложит залогиниться. Там тоже нет ничего сложного. Вы пройдёте регистрацию на Vercal, там тоже нет никаких сложных пунктов, просто проходите регистрацию, отвечаете там некоторое количество вопросов, всё просто. В конечном итоге код попросит вас авторизоваться, вы авторизуетесь и всё точно так же заработает. В общем, там нет никаких подводных камней, нет никаких дополнительных инструкций от меня. Ну, и соответственно, вот у меня появился проект, я ничего не делал. Здесь как раз-таки мы можем видеть квоты, какие мы можем использовать. То есть можете потом пойти познакомиться с разделом прайсинг. И если вас всё это устраивает, возможно, вам будет выгоднее покупать, например, у Vertel услуги, а не покупать свои собственный VPS. Ну, и соответственно, делать там какие-то вещи, про которые я говорил ранее. То есть я ничего не делал. Клод сделал всё самостоятельно и дал мне ссылочку на мой сайт. И вот этот сайт, который мы последним разработали. Здесь, конечно, картиночки побились, но опять же я могу вернуться в колод и сказать: "У меня битые картинки". И он тоже исправит эту ситуацию. Точно так же произойдёт и со всеми другими сервисами, популярными, по крайней мере, сервисами, у которых есть нормальная документация, и клод про них что-то может узнать. Вот такие вот дела. Вот так просто это всё можно задеплоить. Вы также сюда можете подключить свой домен. То есть здесь есть домены. Вы можете купить у них домен, можете существующий домен сюда привязать. В общем, это возможно сделать. Также можете пойти познакомиться с Railwayй сервисом. В общем, как будто бы поверхностно я вам всё рассказал. Давайте проверим, что у нас здесь есть. Я, кстати, вот эту часть причесал, потому что я всё напихал в автоматизацию релизов, но разложил здесь немножко по пунктам. Итак, про work 3 это мы ещё поговорим. Своё VPS рассказал, Vл рассказал, демку показал. Ну, как будто бы про деплой мы поговорили. Кстати говоря, ещё я уверен, что даже для деплоя у нас есть какой-нибудь скилл. Вот он, первый скил. Дело to verвеal. Вы можете забрать просто этот скилл, и, соответственно, код будет знать, что делать. Уверен, что вы что-то найдёте и для того же Railway, и для какого-либо другого популярного сервиса. И при этом вот здесь мы видим, что это ещё официально отвер Laps. Вот так вот просто это всё делается. Единственное, что хочу сказать, если вы собираете какие-то персональные данные, то есть собрались это всё делать публичным, с регистрацией и так далее, то, пожалуйста, обратите внимание на то, что я вам озвучивал в самом начале. Я всё также причесал и оставил здесь примеры сервисов, про которые мы говорили. Это Verсул, который хорошо подходит для фронтэнда, но при этом там нельзя развернуть полноценный ээкэнд. В каком-то виде можно развернуть, но опять не будем в это углубляться на данный момент. Railway, где вы можете и ээнд, в том числе держать. Ну, и соответственно, если вам нужны именно отдельные бэкэнды, вам подходит и Subabase, и Directus, и у них есть selfhost от решения, которое вы можете на своих серверах развернуть. В общем, эти решения я хотя бы раз пробовал, некоторые из них использую постоянно, поэтому могу рекомендовать. Вы также можете поизучать, что вообще есть на рынке, и, соответственно, это использовать.

Ну и мы переходим к гиту. Git, если коротко, вам нужен для того, чтобы сохраняться. То есть вы можете откатываться на предыдущие чекпоинты. Вот так это можно описать, наверное, коротко. Это древняя как динозаврхнология, поэтому у моделек есть куча сна про гит. Вы можете задать любой вопрос и точно получите ответ. Точно так же, как и можете автоматизировать работу через тот же кд-код с гитом. Я предлагаю опять пойти рисовать, и нам будет понятнее, что это вообще такое.

Итак, представим, что это ваш проект. Ну, здесь есть какие-то папки. В нашем случае там есть папка clк clд, например, есть папка лендинг и так далее. То есть это просто ваш проект в файловой системе. Как только мы туда добавляем папочку Git, это делается с помощью команды Git и на это всё ещё посмотрим. И у вас здесь появляется среди всех папок ещё и папка Git. С этого момента ваш проект становится репозиторием. Репозиторий - это как раз-таки проект, который находится под контролем гита. Как это работает? Допустим, у вас есть ваш проект, то есть вы с ним что-то сделали, у вас появилась первая рабочая версия. Далее вы собираетесь что-то изменить, то есть какие-то внести изменения, которые, ну, например, лендинг поменяют, да, там дизайн поменяют контент поменяют и так далее. Пусть это будет так. Давайте это выделим каким-нибудь цветом. То есть вы изменили лендинг. Ну, и соответственно, вот эти версии лендингов называются комитами. То есть вот это можно назвать, допустим, комит 1. Понятно, что там используются не цифры, а хэши, но я думаю, что для простоты понимания это рабочий вариант. Ну, и например, вы что-то меняли, меняли, меняли и в конечном итоге сломали ваш лендинг или вам не понравился конечный результат. А в апкодинге это в целом может произойти часто, особенно если вы запутались в процессе. То есть у вас была предыдущая версия, и вы хотите вот без всяких там заморочек просто вернуться на эту версию, потому что здесь вы всё сломали. То есть вот эта версия является невалидной. Вы просто можете взять и вернуться к предыдущей версии. Ну пусть это так выглядит, потом я это всё поправлю. То есть вы можете откатиться на какой-то комит. Понятно, что у вас есть в том же клодко-коде возможность два раза нажать Escape, как я уже показывал ранее, и откатите conversation и откатить код. Ну, во-первых, это не так удобно, потому что это внутри сессии управляет каким-то процессом, а мы можем, например, откатиться, захотеть через там несколько сессий или посмотреть, какая версия у нас была там 2 месяца назад. Вот вы таким образом это можете сделать. То есть здесь может быть, ну, очень длинная история комитов. Вот в общих чертах для этого и нужен гиit.

Вот эта часть у вас хранится локально, то есть у вас есть локальная версия вашего репозитория. То есть если у вас что-то случится с вашим устройством, вы можете потерять весь ваш код. Конечно же, вас это не устраивает. И есть решение, есть облачные версии гита. Для этого есть несколько сервисов. Один из самых популярных сервисов - это GitHub. Понятно, что это не совсем просто облачная версия вашего репозитория. Там есть куча разных фич, построенных на базе гита и не только на базе гита, просто вокруг гита. Соответственно, вот эту часть мы можем назвать локальной репозиторий, то есть тот, который хранится у вас, и его нет на данный момент в облаке. Вы всё это можете доставить в облако. Как я уже сказал, для этого есть GitHub. То есть вы можете организовать синхронизацию с Гитхабом. Это даёт вам возможность как минимум безопасно хранить ваш код. То есть, если у вас что-то случится с вашей локальной машинкой, вы это можете всё склонировать на другую машинку или поделиться вашим проектом, например, с другим разработчиком и так далее. То есть это такой процесс шаринга вашего репозитория среди других людей и среди ваших устройств. Ну, и плюс безопасное хранение, как я уже сказал. Давайте зафиксируем вот эти базовые плюсы. Понятно, что их больше, но базовые зафиксируем. Первое, хранение проекта в облаке. То есть это обеспечивает вам безопасное хранение вашего кода, вы его не потеряете. То есть это такие бэкапы вашего локального проекта. И второе - это возможность склалонировать проект на другие устройства. Как я уже сказал, это либо на свои устройства, либо на устройства других разработчиков. То есть вы можете вместе работать над каким-нибудь проектом, например. Вот эта базовая история.

Зачем вообще нужен Git? И в этом гите, это даже не про GitHub речь, а в целом про Git, есть несколько полезных функций.

Первая из функций - это ветки. Как работают эти ветки? Ну, допустим, у нас есть вот та же часть. То есть мы что-то собираемся сделать с нашим проектом. Это комит один. Давайте его так же вот оставим, как он и был. И вот эта ветка основная, она называется обычно main. Ну, раньше называлась master, теперь называется main. Такое общепринятое название. Это ветка main. Давайте вот так это сделаем. И, соответственно, в этой ветке main хранится история. И вот эта как раз-таки ветка main попадает обычно на продакшн. То есть это ветка, которая попадает на продакшн. Давайте её назовём ветка продакшна.

То есть, если вы будете в основную ветку вносить изменения, допустим, вот здесь мы это уже закамитили, соответственно, история изменений в основной ветке изменилась, да? Если вдруг нам нужно каким-то образом именно вот эту версию взять и начать с ней что-то делать, допустим, пофиксить какой-то баг, который вы нашли, то вам придётся лезть в историю. Это будет для вас сложно. То есть в конечном итоге вы сломаете вот эту историю. Этот комит нужно будет или удалять, или как-то его перемещать. В общем, что-то нужно будет с ним сделать для того, чтобы у вас потом в конечном итоге чистая история осталась. Понимаю, что если вы ни разу не работали с гитом, это может звучать сложно, но попробую это продемонстрировать.

И у нас есть другой вариант работы с этим - это создать ещё одну ветку, ответвиться от основной ветки и начать работать с этим проектом в другой ветке. Пусть эта ветка будет называться, ну, допустим, фича. То есть вы делаете какую-то фичу. Давайте это как-нибудь выше поднимем. Вот так. И в эту ветку вы, соответственно, тоже можете вносить изменения. То есть у вас появится ответвлённая история комитов от основной ветки. То есть получается, у вас может быть одновременно от актуального кода несколько веток, и вы в этих ветках можете делать какие-то вещи. Допустим, не доделали одну вещь, переключились на другую вещь, да? То есть, допустим, это потеряло актуальность. На данный момент вы хотите к ней вернуться позже.

То есть, допустим, вы начали делать какую-то фичу, делать новую версию дизайна нашего лендинга, и вдруг прилетает баг с продакшна, что у вас на основной версии есть баг, то есть там, допустим, не работает регистрация, вы вот эти изменения не хотите потерять, то есть вы хотите к ним вернуться потом и сделать с ними что-то дальше для того, чтобы завершить эту задачу. Если бы мы делали это всё в основной ветке вот здесь, то, соответственно, произошла бы такая история, что нам нужно куда-то эти изменения сохранить либо доделать эту задачу быстрее для того, чтобы её можно было тоже в продакшн доставить. Здесь же у нас такой проблемы нет, потому что это всё находится в отдельной ветке. Вот эта версия - это та версия актуальная, в которой нашли баг. Поэтому вы можете тоже создать определённую ветку, пусть это будет баг. И в этой ветке поправить этот баг. Давайте это я как-то немножко тоже поправлю, чтобы у нас появилась возможность сделать вот эту вот часть.

В конечном итоге, когда вы поправите этот баг, вы можете это всё снова залить в основную ветку. То есть у вас появится ещё один комит. Пусть это будет комит 2. То есть комит в основной ветке, то есть ещё одна версия вашего проекта. Ну не буду здесь уже рисовать, что это проект. Соответственно, вам не помешали вот эти изменения, они никуда не потерялись. Вы можете снова вернуться в эту ветку и продолжить эти изменения и в конечном итоге их тоже слить. Вот примерно для этого существуют ветки. Надеюсь, что я донёс суть, зачем это нужно.

То есть представим, что мы дальше работаем, работаем с этим проектом и в конечном итоге собираемся его тоже залить вот сюда. И у нас появляется комит 3. Если вы вдруг делали изменения в файлах и здесь, и здесь, в одном и том же файле, я имею в виду, то у вас вот здесь на этапе слияния может быть конфликт. То есть вам нужно будет решать эти конфликты. В любом случае с код-кодом вы тоже можете это всё сделать. Не будем сейчас углубляться. Я думаю, что основной смысл я передал. Я предлагаю в этом же ключе сразу поговорить про worktree, то есть закончим с теорией, а потом пойдём это всё посмотрим, как работает на практике.

Соответственно, у этого всего есть проблема. Вы не можете работать параллельно в нескольких ветках. То есть получается, что ветка переключает локальное состояние вашей файловой системы. То есть у вас получается, что проект на данный момент в этой ветке имеет такое-то состояние. И вы не можете параллельно в двух сессиях кода делать разные вещи в разных ветках, потому что у вас есть одно состояние файловой системы. То есть они будут друг другу просто мешать. То есть вам нужно иметь копию прямо вашего проекта, прямо отдельную папку, в которой может агент что-то делать.

Есть решение. То есть помимо Git Branch есть ещё и Git Worktree. И это как раз-таки решает проблему. Это не просто создание ветки, это создание копии вашего проекта в отдельную папку, в которой может работать тот же код-код. Честно говоря, не знаю, как это вот здесь отобразить. То есть здесь как будто бы и так это выглядит, как копия. Ну, в общем, я думаю, что в разговоре вы поняли. То есть у вас появляются не просто ветка, у вас прямо появляются копии этой папки. Давайте мы назовём это копия проекта один и копия проекта два. Допустим, по факту это всё тоже ветки, то есть у них тоже есть название. Давайте мы всё также это всё зафиксируем. Ну, допустим, это будет feature 1, а здесь будет feature 2. И это вам уже позволяет, соответственно, работать одновременно в каждом проекте. То есть вы можете взять, давайте вот код возьмём отсюда и посадить в каждую эту сессию. Это может происходить одновременно. То есть одновременно два кода могут работать в разных версиях вашего проекта. И в конечном итоге, когда они завершат эту работу, вы всё также можете это всё слить в основную ветку. Смысл не поменяется. Это может произойти в разное время. То есть всё так же у вас будет commit 2 и commit 3. Суть в этом не меняется, то есть смысл остаётся таким же. Я надеюсь, что получилось донести суть. Зачем это нужно? Я в конечном итоге это всё причешу. Может быть, здесь стоило отобразить это просто как кружочки какие-нибудь, да, а не прямо копии папок. Но я думаю, что вы смысл всё-таки уловили.

Теперь давайте попробуем это сделать на деле. Заходим на GitHub, регистрируемся. Там супер простой процесс регистрации. Потом у вас вот здесь вот есть иконочка плюсика. Нажимаем сюда, нажимаем создать репозиторий. Здесь мы называем как-то наш репозиторий. Я назову его Mark to do. До этого я хотел назвать, по-моему, todolist, но это не todolist. Это именно то, что мне не нужно забыть рассказать. Пусть это будет checklist. Вы можете дать какой-то description этому всему. Выбираете обычный приватный репозиторий. Всем новичкам рекомендую выбирать только приватные репозитории, чтобы вы случайно не слили ваши токены туда. Например, если вы в гитхабе прямо поищете Open AI key, то найдёте кучу слитых репозиториев, потому что никто не понимает, как это работает. Соответственно, заливают все свои секреты в публичный доступ. Поэтому как минимум лучше приватные репозитории сразу создавайте. Вам здесь больше ничего не нужно нажимать. То есть вы таким образом создаёте облачный репозиторий. Вот у нас облачный репозиторий. Нам ничего здесь понимать не нужно. Мы просто берём эту ссылочку, возвращаемся в code-code и просим его инициализировать Git и даём ссылку на удалённый репозиторий. Мне нужно инициализировать Git. И вот ссылка на мой удалённый репозиторий. На самом деле он смог это сделать просто потому, что у меня есть уже конфигурация гита, то есть у меня есть ключи все необходимые. Я их не хочу сносить, потому что там очень сложно. Там у меня не один SSH ключ, у меня разные SSH-ключи от разных, соответственно, платформ. Поэтому не хочу я туда лезть. Давайте я просто в рамках этого всего расскажу, как вы могли бы это делать. А давай не будем на данный момент использовать мои SSH-ключи, а будем использовать GitHub CLI. И GitHub CLI позволяет вам делать все манипуляции с Гитхабом, при этом не переходя в интерфейс Гитхаба. Code просит авторизоваться. Давайте авторизуемся. Только я не то сделал. Давайте вот так сделаем. Нажимаем вот сюда. Здесь жмём Continue. Смотрим, что у нас там за код. D 253. О'кей. Он нас спрашивает, соответственно, разрешение. Это мы всё разрешаем. Ну и мы успешно авторизовали все Cite. Можем закрывать. Я авторизовался. Вы тоже так сделаете, и у вас появится возможность работать с гитхабом, при этом не имея SSH-ключей. Это всё-таки отдельная история. Не хотелось бы этот раздел опять-таки раздувать.

О'кей, давай текущую версию моей кодовой базы запушим в GitHub. Push - это отправка в удалённый репозиторий. Pull - это получение из удалённого репозитория. Но вы можете просто говорить: "Отправь, получи". Там на самом деле есть не только git pull, есть и git fetch, например. Короче, это тоже отдельная история. Мы пока поговорим про базовые именно вещи. То есть мы что-то отправляем, что-то получаем, а когда вы будете сталкиваться с какими-то проблемами, в любом случае вы это всё сможете на опыте понять, что вам ещё нужно.

Репозиторий на GitHub пустой, нужно добавить Gitignore. Gitignore - это то, что он не будет отправлять в Git. То есть он вот выбрал, что не будет код отправлять агенты VS-code. Ну, кстати, код нужно отправить. На самом деле агентов тоже нужно отправить, потому что это файлики, которые могут быть нужны вам в дальнейшем, соответственно. А вот настройки вашего VS-code, DS_Store, это всё системные файлы, они вам, конечно, не нужны там.

Итак, у нас всё запушено. Соответственно, тот репозиторий, который мы только что видели, был пустой, он теперь полный. И здесь мы видим как раз-таки некоторые вещи. То есть, допустим, issues вам могут заводить проблемы с вашим репозиторием, если он у вас публичный. В pull requests вам могут предлагать изменения в вашем репозитории. Вы можете это принимать или не принимать и так далее. Мы также здесь видим, соответственно, историю комитов. Вот у нас комиты, которые он сделал. Можем посмотреть, сколько коммитов вообще было вот здесь вот слева вверху. Можем переключаться между ветками, которые у нас есть, про которые я вам и рассказывал. И теперь, когда мы даже удалим репозиторий локально, у нас всё равно есть облачная версия этого всего.

Кстати говоря, если вы не хотите, чтобы у вас в контрибьюторах это соучастник ваших изменений, не было клода, то есть он вот здесь вот ставит себя как соавтора. Если вы не хотите, чтобы это было видно, соответственно, вы можете попросить клод внести изменения в конфиг. Я не хочу, чтобы в соавторах был клод. Давай внесём изменения в конфиг. Был код, но я думаю, что он поймёт. Вызывает опять-таки скилл на update config. Ну и сейчас там появится несколько полей. Attribution commit такой-то. На самом деле, по-моему, ещё что-то нужно вынести, если я не ошибаюсь. По-моему, есть ещё ещё одно поле, связанное с pull requests. Pull request - это запрос на слияние с вашей основной веткой. То есть, если вы или кто-то хочет, чтобы вашу основную main ветку что-то попало, он создаёт pull request из какой-то другой ветки. Вы это можете делать локально, соответственно, merge вашу основную ветку изменения, а можете это делать удалённо. И вот этот процесс, он такой выстроенный. То есть, если у вас есть какие-то контрибьюторы, вы, как владелец этого проекта, можете принимать, не принимать pull requests, там общаться в этом pull request. В общем, это тоже такая отдельная история, поэтому, ну, в базовом виде я вам об этом рассказал. Мы выключаем вот эти все атрибуты, и в следующий раз, когда мы что-то запушим, клод уже не будет участвовать в описаниях. То есть ни в pull requests, ни в самих комитах его не будет. Поэтому, если вам это нужно, то, соответственно, попросите код это выключить.

Хорошо, давайте представим, что мы сейчас собираемся сделать какие-то изменения с нашим лендингом. То есть, допустим, изменить версию дизайна. Я бы хотел, чтобы это происходило не в основной ветке, потому что если вот что-то случится в продакшене, например, и мне нужно будет перейти в основную ветку и быстро внести эти изменения, мне бы хотелось, чтобы эта ветка была чистая. Давай создадим ветку feature/landing_v2. Ну, пусть будет так. Я думаю, что он всё равно догадается, что я имею в виду. Не на русском он назовёт эту версию. Вот он создаёт, вот он создал нам ветку. Это команда Git Checkout. И, соответственно, сразу перешёл в эту ветку. И вот она называется V2. У меня здесь сразу появилась та же ветка.

Итак, мы видим, что у нас здесь есть некоторый набор папок. Вот, допустим, V2, V3, V4, V5. Давайте представим, что я хочу снести все версии, кроме первой. Давай удалим все версии, кроме landing, то есть V2, V3, V4, V5. Удаляем. Он удаляет, соответственно, все эти лендинги. Давай закоммитим. Пусть комит будет "удалили ненужной версии лендингов". Комит - это фиксация изменений. То есть, если, допустим, я дальше сейчас что-то буду делать, то я могу вернуться на предыдущую версию, где у меня эти лендинги удалены. Давайте это сделаем. Создавая папку, например, V2, landing V2. Что у нас здесь есть? У нас здесь есть только одна версия лендинга. Мы можем теперь создать ещё одну версию лендинга. О'кей, давай это закоммитим. Пусть это будет комит: "Создана ещё одна версия лендинга". О'кей, давай в неё добавим какой-нибудь файл, просто заглушку и, соответственно, закоммитим. Как он там называется? Git keep. Итак, теперь у нас есть версия V2 этого лендинга. На самом деле, мы можем вот здесь эти комиты увидеть. То есть, если нажмём вот сюда, мне очень не нравится, как реализована история работы с гитом в VS-code. И даже если поставить все расширения, которые там все ставят, мне всё равно она не нравится. Мне нравится, как это реализовано, например, в WebStorm. То есть, если я именно сам работаю с историей гита, если я хочу слить какие-то ветки в одну ветку, а как-то переключаться между этим всем, посмотреть историю, я это делаю в WebStorm. Но ставить вам WebStorm или любые другие продукты от JetBrains, ну, это overhead, конечно же, будет. Поэтому не буду вам это советовать делать. Они у меня стоят просто потому, что они мне до сих пор нужны. Но тем не менее, вот здесь мы видим историю веток. То есть каждой ветки я вижу, что, соответственно, было, что поменялось и так далее. Но даже если мы не работаем с этим всем в интерфейсе, то мы можем просто попросить у кода, какие у нас есть комиты в этой ветке. Вот у нас все три эти комиты. У комитов есть хэши, соответственно, мы можем переходить на другие версии комитов. Давай перейдём на вторую версию, то есть там, где мы удалили ненужные версии лендингов. Сейчас, соответственно, у нас вот здесь пропадёт эта папочка landing_v2. Вот она пропала. Ну и так далее. Вы можете таким образом перейти хоть в первое состояние. Можете удалить эти комиты как ненужные.

Хорошо, давай удалим третий комит, он нам не нужен. И в конечном итоге сольём это всё в основную ветку. Он под капотом делает все эти операции. Здесь вот тоже есть риски, на самом деле, потому что если вы не понимаете, как работает Git, вы можете запутать code-code и, допустим, сделать какие-то вещи, которые вы не хотели бы сделать. Я вам сейчас расскажу, каким образом это всё защищать. Переходим, соответственно, сюда. У нас здесь основная ветка main, то есть мы сейчас находимся не в ветке feature/landing_v2, а в основной ветке. У нас здесь также это всё есть. То есть вот она, ветка main. Если мы перейдём сюда, у нас здесь есть landing и нет, соответственно, других версий лендингов, потому что мы их удалили и потом всё слили, соответственно, в основную ветку. Вот. Я думаю, что на практике мы посмотрели, как это работает. Давай теперь это всё запушим. И сейчас у нас в удалённом репозитории окажутся те же изменения, которые я сейчас сделал. Обновляем здесь. Ну и у нас, соответственно, больше нет тех папок. И тот комит, который я сделал, вот он последний. Здесь уже нет как раз-таки упоминаний клода. То есть здесь только я. Ну и, соответственно, сообщение моего комита. Вот такие вот дела. Мы можем таким образом работать с ветками. Здесь всё в удалённом репозитории сохраняется. И в любой момент, на любом устройстве можете стянуть эти изменения.

Кофечик подъехал. Сейчас буду тараторить ещё быстрее. Мм, кофе - это жизнь, конечно. Просыпаюсь чисто, чтобы пить кофе и рассказывать вам про разработку сайтов. А вы не подписываетесь почему-то, не пишете комментарии. Конечно, видимо, моя жизнь останется только кофе. Шутка. Обязательно продолжаем. Только газ.

Итак, как я уже сказал, вы можете запутать code-code, ну, и сами можете не понимать, как работает Git до конца. То есть для этого нужен какой-то всё равно опыт. И сделай так, что всё-таки вы сломаете что-то в удалённом репозитории. То есть ваша цель номер один - это не сломать именно удалённый репозиторий, потому что вам гарантируют, что с вашим проектом всё будет в порядке. То есть вам нужно защитить удалённый репозиторий. Как это сделать, если вы вот таким вот простым способом можете что угодно пушить ветку main, да, допустим, то есть самое главное именно ветку main защищать. Мы переходим вот сюда в настройки. Здесь есть branches. Здесь мы нажимаем add branch rule set. >> Извини, но нет. >> И понимаем, что я не смогу вам про это рассказать, потому что на гитхабе в бесплатной версии приватной репозитории нельзя защищать правилами. То есть я имею в виду ветки нельзя защищать правилами. Что я хотел сделать? Я хотел сделать так, чтобы мы не могли пушить что-то в main. То есть напрямую что-то пушить в main мы не могли. Я пользуюсь GitLab на постоянной основе. Там это сделать можно даже на бесплатном облачном. Поэтому вот такие вот делишки, к сожалению. Если хотите платить 4 доллара, то, соответственно, можете этим воспользоваться. Но тем не менее, вы бы перешли вот сюда, нажали бы здесь, соответственно, добавить дефолтные ветки. Дефолтная ветка - это та ветка, которая по умолчанию она у нас, соответственно, main. И вот здесь в правилах, допустим, мы можем запретить Force push. Force push - это когда вы изменили историю ветки main, то есть вы можете менять историю, и она отличается от удалённой. То есть если вы, допустим, там вместе комит объединили и так далее, то есть это не даст запушить это всё. Также вы здесь можете выключить, чтобы в целом нельзя было пушить и так далее. Вот это я именно и хотел сделать. То есть это бы ограничило и вас, и, соответственно, код не делать этих вещей. Ну тогда хотя бы уж можно попросить в глобальные правила добавить, чтобы он никогда не пушил ветку main ни в каком случае. То есть как-нибудь усилить это правило, чтобы он хотя бы задумывался о том, что он это собирается сделать. Ну ладно, бывает. Как я уже сказал, я в этом плане продеформирован, и я пользуюсь GitLab, потому что всё время в коммерческой разработке я пользовался GitLab, потому что там можно было тоже self-hosted решение развернуть. Раньше у Гитхаба вообще нельзя было даже приватные репозитории бесплатно создавать. Но если вдруг кто знает, как защитить ветку, кроме того, что я собирался сделать, расскажите об этом тоже в комментариях. Я, может быть, тоже узнаю что-то новое, потому что GitLab пользуюсь именно в публичных репозиториях, потому что это более популярное решение именно для open sourceных решений. Ну, такой must have, в общем-то, сервис. О'кей, ладно, тогда будем считать, что я просто вам об этом рассказал.

Итак, давайте вернёмся в эту историю. Что у нас здесь есть? Пусть это тогда будет на их совести. Давайте посмотрим, что я хотел рассказать в гите. А, про репозиторий рассказал, про ветки рассказал, защиту main рассказал, но не показал, к сожалению. Attribution, то есть убираем соавтора, показал. Про worktree сейчас ещё поговорим. Про GitHub actions тоже будем сейчас разговаривать. О'кей, идём по плану. Вроде бы ничего не забыл.

Как мы уже видели, когда я переключался между ветками, у меня и состояние проекта переключалось, то есть менялась моя файловая система. То есть у меня одна папка моего проекта, и здесь не могут работать параллельно агенты. Давайте попросим его создать именно worktree и посмотреть, как работает в этом случае. Мне нужно, чтобы ты создал отдельный worktree для landing_v2. То есть будем там делать вторую версию лендинга. Эх, у меня вызываются эти скилы на Worktree. Давайте, наверное, я отключу пока Superpowers вообще. Пусть это будет disable plugin. Давайте я, наверное, выйду, запущу ещё раз code и просто скопирую вот эту часть. Ветка V2 уже существует. Создаю Worktree на её основе. Вот он выполняет команду Git worktree add. И вот у нас появляется отдельный путь. То есть ветка та же, смысл тот же, но при этом у нас есть вот такая вот возможность перейти сюда. И у нас здесь будет ещё одна копия моего проекта. Давай создадим папку landing_v2 и просто сделаем Git keep опять же и закоммитим. Если я перейду вот сюда, здесь нет landing_v2, потому что эта директория она осталась чистой. То есть локальное состояние основной моей ветки не переключается. То есть здесь я могу продолжать что-то делать, могу перейти в другой worktree и продолжать там что-то делать. Это позволяет как раз-таки делать параллельно несколько изменений. То есть, допустим, если я открою ещё одну сессию кода, вот здесь, давай создадим Git worktree для landing_v3. Давай создадим папку landing_v3 и оставим там Git. Закоммитим это всё. Готова. Папка лендинга 2 есть. Git создана и закомичена в ветке feature/landing_v2. Ну и, соответственно, здесь тоже что-то происходит. У нас появляется landing_v3. Ну и, соответственно, здесь у нас нет никаких папок. Но если мы посмотрим сюда, у нас есть вот эти вот папочки, то есть landing_v2, landing_v3. Это как раз-таки копии вот этого проекта. Ну и здесь просто они в ветках находятся. То есть вот такая вот организация. Ну и, допустим, здесь можно спросить, какие у нас worktrees существуют. Вот у нас эти worktrees. Давай merge лендинг_v2 в основную ветку. И вот теперь, если я перейду сюда, то я вижу здесь уже landing_v2. И, соответственно, это мне позволяет параллельно работать над несколькими задачами, которые даже могут трогать одни и те же файлы, и при этом агенты не будут мешать друг другу. Думаю, что с Worktree мы разобрались, когда будем говорить про процесс. Я думаю, ещё раз с этим поработаем. И опять-таки, вы можете зайти на Skills SH, например, здесь написать commit и взять, например, git commit. Это позволит вам ввести там в стиле conventional commits ваши сообщения. Ну, то есть, чтобы комиты были более осмысленные. Там у меня был какой-то непонятный текст. Если вы возьмёте, например, вот этот скилл, то, соответственно, текст станет более осмысленный. То есть у вас появятся там типы комитов, это там feature, это fix, это изменение документации и так далее. И к этому всему вы можете, например, если разрабатываете приложение, прикрутить авто изменение версий вашего приложения. То есть, если вы делали feature, поднимется минорная версия. Если вы сделали какие-то там просто фиксы багов, то есть использовали тип fix, то у вас поднимется там fix версия и так далее. То есть здесь тоже есть возможность найти все эти скилы. Если мы найдём что-то про worktree, соответственно, вот у нас есть using git worktree, и здесь есть правило, как с этим всем работать, даже если вы не знаете этого всего. Поэтому вот можете это всё устанавливать. Это, кстати, такие Superpowers. Мы будем с этим работать. У них уже под капотом это тоже реализовано. Вот такие вот дела.

И последнее, о чём я хотел рассказать - это про то, где хранить секреты. Это тоже потому, что относится к GitHub actions. Давайте представим, что я вот это сейчас всё закрою. Clear. Я бы хотел, чтобы у нас в GitHub actions появился deploy Vercel. То есть не локально я буду деплоить это всё, а именно в GitHub actions. Что такое GitHub actions? GitHub actions - это возможность в удалённом репозитории запускать какие-то автоматизации. То есть, например, запустить тесты. То есть, если у вас кто-то создал, например, pull request и не запустил тесты локально, к примеру, да, вы можете запускать тесты там.

удалённо. То есть правила у вас такие будут, что каждый, кто создаёт преквест, он проходит вот эти вот все автоматизации. То есть, если тесты упадут, соответственно, ему сразу развернут полуреквест обратно, и он должен будет нести исправление.

То есть ваш процесс должен быть построен так, что вы локально вносите какие-то изменения, всё это в конечном итоге проверяете, пушите это всё в репозитории. В репозитории запускаются автоматизации. Как только вы, как о коунер, нажимаете кнопочку смёржить, по-моему, в Гитхабе тоже называется смёржить, как я уже сказал, я чаще работаю в Гитлабе, принять преквест. Короче говоря, в Гитхабе и в Гитлабе разница в названиях есть. Это пулреквесты и мэрch-реквесты. Но по факту это одно и то же, это слияние именно в основную ветку. В общем, поназывали, а нам потом запоминать.

После того, как вы смёрзжили, у вас могут быть там правила. Сейчас я покажу, на самом деле, даже эти правила. То есть давайте вернёмся вот сюда. У нас здесь появился GitHub, появился deploy y amam, то есть это всё в виде yam файликов делается. И у нас здесь есть события, то есть, допустим, push ветку main. Ну и, соответственно, вот это всё происходит.

И у нас есть секретики. И вот эти секретики. Здесь может быть Open AI ключик, может быть ещё какой-то ключик, может быть, э-э пароль от вашей базы данных и так далее. Вот их даже в приватном репозитории держать не нужно. И локально тоже держать их не нужно. То есть у меня нет ключей продовских локально. То есть у меня вот здесь иные файлики - это по сути переменный, который ваш код инжектится. То есть когда вы начинаете что-то собирать, у вас вот эти стройки заменяются на реальные значения.

Так вот, их не надо держать не локально у себя, продовские, ну, лично я так считаю, потому что, ну, что-то может произойти, либо вы сами по глупости это куда-то сольёте, либо что-то вы поставите, какой-то скилл, где там будет инъекция какая-то, промта, и это всё отправится кому-нибудь там третьему лицу и так далее. В общем, очень много здесь рисков. Я предпочитаю просто не держать продовжские ключи в таком виде, ни в приватно, соответственно, они должны как-то здесь попасть. И для этого есть решение. Это GitHub Variables. И на самом деле у нас код ведёт сразу по этому пути. И это очень классно.

То есть он говорит: "Нам нужно зайти в settings secraribles, взять экшены и создать, соответственно, три токена". Токен нужно создать на самом Ver, то есть я перехожу вот сюда в Verel, ну, допустим, назовём это GitHub. Выбираем здесь проекты. Ну, выберем мой дефолтный проект и выбираем, что это истекает там, ну, допустим, через 180 дней. То есть на всякий случай когда-то этот токен истечёт. Нажимаем создать. Я его, если что, удалю, поэтому вы на него можете смотреть. Ничего страшного нет. Вы свои токены не показываете никому, особенно если вы собираете их дальше использовать. А если показали кому-то, потом их обновляете, то есть меняете токены.

И здесь мы заходим в настройки, переходим вот сюда secреты и variables, нажимаем экшены. И в экшенах у вас здесь есть раздел variables. Это публичные переменные. То есть вы можете, допустим, не в коде держать переменные, да, а вот здесь, если вы хотите их часто менять. Ну, например, выбор модели Open AI, к примеру, да? То есть, если у вас есть какой-то E-агент и вы хотите вот поменять модельку, вы просто вот здесь это меняете, переходите в экшены, запускаете на ветки main экшн. Ну, сейчас у меня нет экшенов. Запускаете на ветке main action, и у вас происходит релиз. Вы даже в коде ничего не меняли.

Вот, соответственно, здесь мы заходим вот сюда и добавляем секреты. New repository secret. Берём, соответственно, мой секрет. Вот он. Беру вот эту часть, где она там была. Virtual token. Вставляем это сюда. Нажимаем добавить secрет. Что у нас здесь ещё есть? Project ID и организация ID. Ну, это не секреты, то есть здесь нет секретов. Давайте это прямо в этот раз в коде расположим. То есть это мне не нужно. А давай мы прямо в deploy yam расположим veral организации id и veral project id.

Кстати говоря, пока мы это делаем, мы можем вот, допустим, в Bitwin спросить, какой у меня урол лендинга. Урал, уровень лендинга. Ладно, короче говоря, вот в Bтвин мы можем между делом вот это всё спрашивать. Соответственно, здесь у нас появится ответ. Судьба контексту проекта у тебя сейчас ленко статический. Ну, в общем, понятно, этот вопрос неправильный. Вот он нашёл мои организацию ID, прот ID, соответственно, это не секреты. Дай мне лендинга. А вот здесь правильно понял. Ну, в общем, от произношения моего зависит. Понял меня или не понял. У меня здесь почему-то появилась новая версия лендинга. То есть старая-то она вот здесь находится, а здесь ничего нет, но он почему-то её создал. Давайте спросим, почему он так сделал. То есть мне нужна вот та версия. А мне нужна вот та предыдущая версия лендинга. Мне не нужно было создавать новый проект лайнера. В общем, иногда, да, за Виспем нужно тоже исправлять, следите за этим.

Но пока давайте откроем. Вот он уже удалил, кстати говоря, предыдущую версию лендинга. Мы сейчас не будем делать релиз локальный и попросим поменять вот эту надпись Master of ClД код на что-то другое. Давай заменим эту надпись на ITгараж. Она находится в шапке на первом экране. Не знаю, почему он создал новый проект. У нас просто была новая сессия, не было контекста того, про что мы говорили выше. Это просто миммуникация. То есть не обращайте на это внимания. Вы также можете это всё, даже если такая же ситуация произойдёт, просто сказать, что не не туда-то это всё сделал, давай вот сюда. Ну, поменять Project ID, соответственно. В общем, мы сейчас поменяем эту часть на IT гараж. Вот он её уже поменял.

Не будем запускать деплой, как мы это делали локально, да? То есть не будем запускать VAL. Давай это всё закоммитим и запушим, и уже в Гитхабе произойдёт деплой, потому что у нас теперь есть GitHub экшены. Пуш не прошёл, а у токе не имеет спflow, который нужно для пушафайлов GitHub Workflow. Два варианта решения. Используется вместо https. Если настроен сш ключ, обновить токен. Ну, давай обновим токен. В общем, опять-таки, из-за того, что я работаю через SSH, у меня уже были права пушать и workflow, в том числе. А вот здесь в случае, когда мы авторизуемся через Gitlab CLI, и он подсовывает нам вот эти авторизационные токены, уже, соответственно, нужно запрашивать отдельно доступы вот сюда тоже запушилось. Оба коммента запустит автоматически при следующем изменении в лендинг.

О'кей, давай что-нибудь ещё изменим тогда в лендинг. Добавь что-нибудь, да? Да, то есть при первом пуше из-за того, что там у нас именно в путях были триггерные пути, то есть когда что-то конкретно в пути меняется. Из-за того, что до этого ворклоба не было, он сейчас не сработал. То есть сейчас нужно будет ещё что-то поменять. И для того, чтобы произошли изменения и уже workflow этот экшн подхватил, соответственно, наши изменения истриггерился. Вот он добавил какую-то секцию. Как это работает? Ну, пусть будет так. Нам главное сейчас увидеть, что первый экран поменялся, а мы отсюда ничего не релизили. Давай это запушим. Запушил. Workflow должен запуститься автоматически.

О'кей, давайте посмотрим, что у нас здесь что-то произошло. Вот он запустился. Workflow в статусе пендинing. Мы можем перейти в экшены. И вот наш экшн, кстати, два раза уже запустился. Вот он деплой происходит. Соответственно, если мы всё сделали правильно, то деплой пройдёт успешно. Вот у нас что-то загружается. Значит, токен из GitHub Variable Secret подтянулся, но всё-таки что-то пошло не так. Я понял, почему мы это не можем сделать. Потому что вот от этого имени, который не состоит в этой команде, а в команду я не могу добавить, потому что у меня бесплатная версия, я не могу сделать вот эту автоматизацию. Кажется, можно как-то создать здесь персональные проекты, но как будто бы не даст мне это всё сделать на хобби.

Давайте я сделаю реальный себе доступ. Вот здесь я получил этот доступ. Давайте просто перейдём опять вот сюда в экшн. Мы в целом можем просто заретраить, а можем просто нажать вот сюда to vertal и, соответственно, нажать ещё один workfall на ветке main. Вот теперь у нас всё ок. И здесь, если мы сейчас обновим страницу, у нас поменялась вот эта надпись. То есть каждый раз теперь, когда я буду пушать в ветку main, у меня будет запускаться этот workflow. Ну и, соответственно, доставляться код Veral. То же самое вы можете сделать из своей VPской. У меня в основном как раз-таки на VPску всё и деплоится, поэтому некоторые нюансы забываются, что с Гитхабом нельзя запротектить ветку, да, что сверцелом на бесплатном тарифе нельзя, к сожалению, вот так вот это всё автоматизировать. Может быть, и можно персональный проект создать здесь, честно говоря, не знаю. Но как только я вот это всё оплатил, у меня, соответственно, получилось это сделать. Вот такие вот дела.

Как будто бы про всё рассказал. И вот здесь как раз-таки про субагентов. Мы не поговорили про Isolation Work 3. По сути, мы можем просто, мы уже знаем, что такое work 3. Здесь есть опция. То есть мы можем сделать так, чтобы субагент работал как раз-таки в копии. То есть вот мы до этого создавали три версии лендинга. Мы могли сделать так, чтобы каждый субагент в своём workт 3 делал эти копии лендинга. Вот об этом тоже поговорили. Соответственно, здесь поговорили про экшены, где хранятся секреты и variables, и про автопploлоloy тоже поговорили с шероховатостью, но поговорили. Вот такие вот дела. Наверное, я здесь ещё зафиксирую историю про хранение в GitHub переменных секретов. Ну и всё, мы можем завершать этот пункт и переходить к предпоследнему уровню - это создание процесса. Как обычно, я это всё причесал. Когда вы это будете забирать в Телеграме, у вас будет уже в каком-то более приятном виде напоминаний, чем это было во время того, когда я это всё создавал.

О'кей, едем дальше. И мы приступаем к предпоследнему уровню - это создание всего вот этого многообразия процесса, потому что, да, вы можете знать инструменты, да, у вас будет доступ ко всем тем же инструментам, но у вас может быть совершенно другой результат, потому что, как и в других сферах, не только в вайбкодинге, вам нужны какие-то понятные системные действия. То есть это не должен быть какой-то хаос. И если вы не верите мне, можете поверить отчёту. Дора 2025. Это исследование команд разработки. И здесь вот есть ключевой вывод, который говорит о том, что сильные команды Сяй становятся ещё сильнее, а слабые команды только обнаруживают ещё больше проблем своих процессов. То есть у них масштабируется хаос. И ещё вот здесь вот говорится, что наибольшая отдача достигается не то, чтобы за счёт инструментов AI, а именно из-за качества процессов, внутренних процессов. То есть, если у вас есть какой-то понятный процесс, вы можете его автоматизировать, вы можете ускорять. Если у вас какой-то хаос, о'кей, вы будете автоматизировать, ускорять хаос. Это точно не то, чего вы хотите получить от вайп-кодинга.

Я не буду здесь очень много про это говорить, есть целое отдельное видео на эту тему, то есть именно про создание процесса. Ну так вот, я не буду рассказывать весь этот процесс, потому что для этого есть целое видео. Как я уже сказал, мы просто быстренько пройдёмся по тому, какие этапы вы точно должны проходить. Всё начинается с планирования. То есть, если вы не запланировались, то результат будет плохой, потому что вы сами не понимаете, что собираетесь делать.

Далее у вас наступает этап декомпозиции. Как я уже говорил, не нужно делать огромную задачу. У слона нужно есть по частям. Соответственно, если задача большая и это не какая-то одна задача, которая будет выполнена одним субагентом в рамках его контекста, соответственно, вы должны это декомпозировать. То есть большая задача разбивается на план с маленькими задачами для того, чтобы каждую маленькую задачу мог выполнить отдельный субагент. И не нужно пихать в одного субагента две разные задачи, например, даже если его контекст позволяет это сделать.

После декомпозиции у вас наступает этап реализации, то есть это написание кода. И каждая задача выполняется субагентом. И более того, она не только выполняется субагентом, она ещё и проверяется субагентом. Это называется ревью кода. Оно производится относительно качества кода, но и также на соответствие тому, что у вас в плане. И сам план, на самом деле, тоже должен проходить проверку. То есть давайте вот здесь вот тоже этот пункт добавим. То есть здесь будет тоже, только ревью плана, да? А там у нас будет ревью кода планирования. Вот если коротко, вот такие этапы вы должны проходить, когда вы занимаетесь лайп-кодингом. То есть вы сначала планируетесь, проверяете план, декомпозируете план, делаете реализацию и проверяете реализацию. То есть выходит, что самый плохой случай, если вы что-то прямо сразу начинаете делать.

Как минимум, даже если вы не будете брать какое-то готовое решение, вот я буду сегодня рассказывать про Super Powers, потому что мне кажется, этот процесс понять достаточно просто, то вам обязательно нужно переключаться в Plan Mode и обсуждать все детали. Как только у вас появится план, вот в пнмоде вы его обсуждаете, вы уже после этого можете приступать к реализации. Соответственно, также нужно наблюдать, чтобы у вас план реализовывался субагентами. Значит, план должен состоять из какого-то количества задач. Я не буду показывать именно, как происходит пн mode, потому что я вам буду показывать сразу готовый процесс. Получается, что в вайпкодинге каждый ваш этап должен начинаться с плана. Вот просто это запомните. Если вы начинаете это не с плана, ну, значит, иногда у вас сработает, иногда не сработает. Это точно нельзя назвать предсказуемым процессом. То есть каждый раз оно будет работать по-разному.

Как я уже говорил, одно из очень популярных решений - это Superpowers. У них вот здесь 109 звёздочек, много форков, много, соответственно, ишью, много плреквестов. То есть этим процессом пользуется огромное количество человек. Этот процесс улучшает огромное количество человек. Кстати говоря, в этом и есть плюс, да? То есть, если вы будете создавать какой-то свой процесс, то вам нужно будет искать в нём дыры одному. А если вы выбираете какой-то популярный процесс в сообществе, ну, например, GETD или Superpers, то есть вы постоянно получаете обновление, которое этот процесс улучшает. То есть развиваются модельки, соответственно, нужно вносить изменения какие-то в процесс. Понятно, что этот процесс может быть универсальный, вы можете его докручивать там под определённый, например, инструмент. Но в общих чертах всё-таки большинству подойдёт именно общий процесс. И если вы находите в нём минусы, вы можете уже поверх его докручивать либо переходить на какой-то собственный процесс. Я новичкам, конечно же, советую использовать какие-то готовые решения, популярные готовые решения в сообществе.

На самом деле, всё, о чём я говорил, оно здесь уже есть. В этот процесс также заложены хорошие принципы программирования, но мы не будем сейчас на этом особо останавливаться, потому что нам интересно другое. Этот плагин уже есть в официальном маркетплейсе от ClДCД. Я показывал вам его, поэтому нам не нужно ставить какой-то ещё один маркетплейс. Раньше это было доступно только в их маркетплейсе. То есть вот пример, как добавить ещё один маркетплейс. Но так как у нас уже есть официальный markeetй от clДCД, мы просто забираем вот эту команду, возвращаемся сюда, вставляем сюда. Он мне говорит, что это уже установлено, но я вам показывал, да, что это уже было установлено. У вас он просто установится. Соответственно, когда вы перейдёте в плагины, вот я его выключал, вот он super Powers, я захожу обратно и включаю его. То есть у вас он будет включён по умолчанию.

Давайте мы вернёмся вот сюда. И здесь нам описывают, каким образом этот процесс выглядит. То есть basic workflow. Всё начинается с брейншторма. Это и есть как раз-таки обсуждение вашего плана. То есть вы обсуждаете разные детали для того, чтобы в конечном итоге получился план. Перед тем, как написать план, они создают work 3. То есть у вас вся работа производится как раз-таки work 3. Это копия вашего проекта, как мы уже говорили ранее. Вы пишете план, и в конечном итоге этот план можно реализовать с помощью субагентов либо с помощью основного агента. Я в основном это всегда делаю с помощью субагентов. Вам это всё тоже будет предлагаться в этом процессе. Соответственно, здесь также есть ещё, например, теest Driven Development. Он вызывается в процессе имплементации, то есть они сначала пишут тесты, а потом уже пишут код. В общем, на этом этапе предлагаю не уникать, просто это улучшает качество результата на выходе. Соответственно, мы также здесь видим вызов код review, то есть когда агент закончил задачу, между этими задачами вызывается revw. И если там что-то нашлось, ну, в смысле, какая-то проблема нашлась, то это возвращается опять на доработку. Ну и в конечном итоге завершаете вы работу в этой ветке Work 3. Ну и мёржите это всё в основною ветку либо создаёте request. Pullреquст, как я уже сказал, это когда вы отправляете ветку в удалённый репозиторий и уже там создаёте запрос на слияние. То есть вы можете либо смёрджить это локально в ветку, либо же смёрджить это уже в репозитории. Вот примерно так выглядит этот процесс.

Давайте попробуем его пройти. Первым делом мы начинаем обсуждение. То есть мы хотим собрать идеи, как нам что-то делать. Давайте докрутим моё решение. То есть я хочу сделать расширение, в которое я могу загрузить Markdownфайл, как я и хотел это сделать. Нендинг мы для этого же делали. Ну и в конечном итоге получить вот этот чек-лист в таком же виде, как он сейчас. Может быть, немножко изменить дизайн и добавить возможность хранить несколько версий. Мы это будем хранить не на бэкэнде, будем хранить прямо в браузере. То есть там есть база данных браузерная. Вот мы в ней будем это всё хранить. Поэтому давайте это всё надиктую и посмотрим, как выглядит этот процесс.

Я хочу, чтобы мы extension, который есть в текущем виде, докрутили до того состояния, когда мы можем туда заливать Markdown файл, и он это будет всё превращать в чеклист. Это первое. Также я хочу изменить дизайн. Для этого будем использовать скил на фн-дизайн. То есть я бы хотел, чтобы это было не фиолетовое, может быть чтобы это выглядело так, как выглядит, то есть взять цвета плюс-минус, похожие на Otion. Далее. Мне бы хотелось, чтобы у нас была возможность хранить разные чек-листы. То есть должен быть какой-то способ переключиться на разные чек-листы. Ну и, соответственно, я могу загружать Markдаун файлы для того, чтобы они превращались в эти чек-листы. Также я хотел, чтобы у меня была возможность менять тему. То есть должна быть светлая и тёмная тема. Ну вот как-то так. Давайте попробуем запустить, посмотреть, что будет происходить.

На самом деле вы можете провалиться в скилы. Здесь есть эти скилы. Вот он брейшторминг. Вы можете посмотреть, что находится в SkillMD. Здесь есть как раз-таки вспомогательные файлы, даже есть скрипты. Ну и, соответственно, переходим вот сюда и читаем, что здесь происходит. Здесь есть понятные планы выполнения этой задачи. То есть изначально он, например, изучает контекст проекта. Вот как раз-таки это там сейчас у нас и происходило. Изучить текущий контекст проекта. Вот эти все шаги по сути здесь и описаны. Вот они все девять. И здесь тоже их должно быть по сути девять. Потом он начнёт вам задавать вопрос. Вот он мне уже начинает предлагать какие-то вещи. Сейчас я это прочитаю. И многие вопросы действительно хорошие, потому что вы о них могли даже не думать.

Вот у них не так давно появилась возможность это всё визуализировать. Я изучил текущий состояние проектор. Сейчас расширение трекер прогресса с курсоса. Хорошо же да фиолетовый темы и тёмный банист. Ты хочешь приводить это универсальный макдалист менеджер с наушем подобного на дизайн? Всё темы масштабная переработка. Всё правильно. Часть наших вопросов будет связана с визуальным дизайном. Макапы, макеты, сравнение связаны схем. Мне будет проще показать тебе варианты прямо в браузере, чем описывать текстом. Я могу собирать интерактивно. Да. О'кей, давай сделаем так. Они не так давно завезли вот именно возможность визуализировать это всё. Он предлагает разные версии дизайна. Для этого у них там есть решение под капотом, как это сделать. И вы увидите разные варианты оформления этого приложения, получается.

Итак, давайте откроем, что у нас здесь происходит. Это визуальный наш компаньон. Как я сказал, это внутреннее решение. Теперь первый вопрос. Кто упомянул, что хочешь загружать макдау файлы и превращать их в чек-листы? Какую структуру макдау ты планируешь использовать? Варианты: стандартный, любой, свободный. Пока неважно. Давай, это будет вариант А. Следующий вопрос. Как расширение должно относиться к текущему контенту курса мастеров CLД-ДОД? Варианты. Курс остаётся встроенным чек-листом по умолчанию. Расширение становится полностью универсальным. Курс загружается как обычный программом файл. Включён расширение как курс MD. Технически ничем не отличается польских чакстов. Давай. Это будет полностью универсальное решение. То есть мы просто загрузим туда этот курс MD. А курс MD нужно будет собрать отдельно. Следующий вопрос. Как пользователь должен загружать MCD файлы? Drag Androp. Перетаскиванието. Оба варианта. Давайте будет. Боковая панель, выпадающий список, табы. Хх. Боковая панель слева список всех чек-листов. Клик переключается. Основной контент справа, выпадающий список в шапке. Давай, это будет выпадающий список. Ну то есть вы можете либо вот так надиктовывать. Понятно, что я чуть-чуть ленюсь. Можно было просто написать букву Б, выбрать. Что должно происходить при удалении чек-листа? Удаление с подтверждением. Диалог уверенный, мягкое удаление. Давай, будет диалог с подтверждением. Пусть будет поддержка в ложности. Ложности. следовать системной теме. Автоматически подходит тему S. Да, пусть это будет А. А нет, стоп, оба варианта. Как я уже сказал, если вы что-то перепутали, вы можете нажать Escape и, соответственно, остановить выполнение процесса. Ну и просто дать уточняющие какие-то вещи.

Сейчас он мне покажет, как это может выглядеть визуально. Я выберу нужный мне вариант. И, соответственно, мы поедем с этим дальше. Раньше такого не было. Теперь это есть, потому что, как я уже сказал, сообщество улучшает этот процесс. Именно поэтому пользоваться процессами сообщества лучше, чем делать какие-то свои решения, потому что вам придётся их в одиночку потом поддерживать. Итак, я перехожу сюда ещё раз. Выбери подход к дизайну. Вот он мне предлагает какие варианты темы. Давайте вот это выберем. Я выбрал вариант А первый. Он нам снова предлагает посмотреть, что получилось. У нас вот есть вариант, как это будет выглядеть. Не буду сейчас докапываться, соответственно, мне нравится. Мне всё нравится. Давай двигаться дальше.

Сейчас мы обсудили все детали, и он мне будет предоставлять по секциям дизайн. Этот процесс может длиться и дольше. Как я уже сказал, вы можете, например, сюда запустить команду агентов для того, чтобы обсудить какой-то пункт с разных сторон. То есть даже если это не заложено в процесс, вы можете сделать более глубокое исследование. То есть сам процесс - это всего лишь промпты. Это не значит, что вы не можете вмешиваться сюда. То есть вы, например, можете вообще изначально сами начать что-то обсуждать прямо в bypass Permission моде. То есть, например, идею какую-то разгонять и так далее, собирать какой-то контекст, а потом вызвать брейнстошторм, который подхватит весь контекст, который был выше, потому что брейнсторм - это всего лишь промт, который попадает для того, чтобы выполнять какие-то инструкции. То есть, например, вот у нас этап архитектуры. Вы посмотрели на это всё и, допустим, вы хотите, чтобы он всё-таки пошёл, изучил лучшие практики с точки зрения реализации экстеншнов. Давай попробуем поискать лучшие практики реализации экстеншенов, хром экстеншенов в 2026. То есть никто вам не мешает опять же запустить команду агентов, чтобы они поспорили и сделали какой-то вывод. Это всё будет попадать в план. То есть пока вы планируетесь, у вас контекст предназначен для того, чтобы планироваться. Выясните все детали, которые вам нужны, чтобы вы были уверены, что следующий этап будет сделан качественно.

Вот он, допустим, запустил три поиска. Сейчас он что-то найдёт, расскажет мне о том, какие варианты у нас есть организации. С учётом этого, вот видите, он обновляет архитектуру. Опять же, если бы, допустим, у меня стояли какие-то определённые скилы на extension, Chrome extension, да, я бы мог их вызвать тоже, и, соответственно, они бы помогли составить эту архитектуру. Если бы у меня были какие-то скилы, вот как я уже сказал, контекст 7, я их, наверное, в конце перечислю, чтобы рассказать, как можно этот процесс улучшить, то, например, на этапе написания плана, именно реализации плана, там он уже пишет определённые куски кода, как это всё делать, вы могли бы изменить ход событий, потому что у вас есть актуальная документация. Я сейчас пройду все вот эти секции, потому что я не думаю, что вам это супер интересно. Вы тоже можете их пройти на своём проекте и

увидите, как это работает. И в конечном итоге у нас будет ревью спецификации. Я ещё раз запущу видео и покажу, как это происходит. Ну и пока это там всё происходит, давайте я зафиксирую инструменты, да, которые могут вам помочь в этом процессе. Минимальный арсенал начинающего вайбкодера. Давайте вспоминать, о чём я вообще говорил. Exo для поиска Ex MCP. На самом деле не только Ex существует. Можете потестить ещё разные варианты. Мне просто, честно говоря, лень тестить другие варианты. На самом деле есть ещё полезные MCP, например, есть Revp.

Ну и, соответственно, здесь у нас это всё сейчас где-то это было прямо очень классное, на самом деле, пояснение здесь было, что вы можете выбрать, например, код Snippты контек 7, Websearch ЭA, кстати, и здесь даже рекомендуют ЭA, Websrapping Firec. Хорошая, кстати, подсказка, на самом деле, если не хотите пользоваться, потому что он платный, вот можете взять вот эти инструменты, можете взять Реф, но здесь было написано в планах, что у них вообще нет даже бесплатных каких-то лимитов. То есть 200 кредитов, и это не в месяц 200 кредитов. То есть у вас есть просто 200 кредитов. For free, every account starts with 200 credits not refresh or expire. То есть, видите, они не рефрешатся и не expireтся. 200 кредитов потратите, если захотите, то есть вам очень понравится, можете оставаться на этой истории. Мне вот под мои задачи хватает, соответственно, Котек 7 и Excel. Мы, соответственно, точно так же и поступим. То есть заберём ещё сюда Контекст 7. Это поиск в вебе, просто поиск. Запрос по урлу. работает лучше встроенных инструментов. Если у вас есть другое мнение, обязательно о нём тоже напишите, потому что, ну, возможно, мне кажется, что работает лучше. Опять-таки, спустя какое-то количество времени я это не сравнивал ещё раз.

Далее, Контекст 7. Как я уже сказал, это вам нужно, вот здесь есть пример, на самом деле, для чего это нужно. То есть контекст 7 у вас всегда будет свежая документация по коду. То есть агент будет брать свежие примеры кода из документации, а не ориентироваться на свои знания. И вот здесь есть два способа. это всё установить. Как я уже сказал, раньше был только MCP, теперь появился C и скилы. То есть в скилах вот Find Dogs, который у меня был, э, Find Dogs - это, соответственно, скил от Котек 7, который, используя C, может находить что-то, что мог раньше делать только через MCP, поэтому тоже себе его установите. Это будет вам помогать находить актуальные версии библиотеки. И у них, по-моему, здесь была история с add rol. То есть в cд-код нам нужно добавить правило. Если вы, например, находитесь в антегравите или в курсоре, то в ruls добавляете это правило. То есть всегда используй конк 7, когда ты работаешь с библиотеками или апи, документации, Code Generation и так далее. То есть вот это вот всё мы можем просто скопировать и, соответственно, попросить добавить в глобальные правила, потому что в целом это заслуживает глобальных правил. Давай вот это вот добавим в глобальные правила. У меня для этого есть как раз-таки skки find docs. А find docs я ставил глобально, по-моему, глобально ставил. Давайте вот так это сделаем. Про Экса я уже рассказывал, как установить. То есть здесь давайте напишем актуальный код из библиотек, то есть обновлённая документация. Ну и, соответственно, Chrome def Tools или Play WR skill + MCP. Автоматизация тестирование в браузере. То есть вам не нужно будет самостоятельно что-то открывать. у вас есть возможность, соответственно, открыть вкладку, запустить там код, сделать скриншот, провалидировать это всё. В общем, вы это можете в своём процессе мм использовать.

Вот есть, на самом деле, ещё несколько, наверное, полезных MCP, но они, допустим, под какой-то контекст больше подходят. Ну, например, если мы работаем с бэкэндом, да, SUPA PASE MCP есть directus MCP для автоматизации работы с таблицами. Ну, не только с таблицами, на самом деле. То есть там может быть какая-то, например, кастомизация директуса, да, у них там есть возможность сделать темы. Вот вы тоже можете через MCP, соответственно, настроить это всё. А если не можете через MCP настроить, соответственно, можете найти скилл, который напрямую с этими мм сервисами тоже работает, и тогда вы создадите свой там собственный MCP. Как я уже сказал, все переходят на скилы и CLI. Ну, конечно, неправильно, наверное, говорит, все переходят. Некоторые MCP и так хорошие сами по себе, поэтому им и переходить-то не нужно. Ну, в общем, я думаю, вы поняли, да, что у вас может быть ограничение в MCP, но при этом у вас есть доступные API ручки для того, чтобы это делать и без MCP. Поэтому вы можете это всё изучить и сделать какой-то скилл, который поможет вам делать, например, кастомизацию директуса сразу каким-то таким образом, который вы делаете. То есть каждый раз вы, например, запускаете какой-то скилл, который делает определённую тему в директусе, да? Ну, как будто бы для минимального арсенала достаточно. Ну и, соответственно, здесь ещё можно написать поиск скилов на skills SH или Find Skills. То есть, если у вас есть какая-то задача и вы не разбираетесь в этом домине, хотя бы найдите про это skill. Как я вам уже показывал, здесь есть всё. Не знаете, как работать с докером, пожалуйста. Докер эксперт есть для этого. Не знаете, как работать с Флатером, пожалуйста. Здесь есть где-то здесь был Flтеter эксперт, по-моему, назывался он. Эксперт, да? Вот есть Flтеter. Не знаете, как работать с Super Base? Пожалуйста, у нас есть лучшие практики по работе с Superbase. Не знаете, как работать с директусом? Не повезло. Нет популярных скилов на dirректус. Но тем не менее я думаю, что если постараться, то тоже найдёте что-то полезное. Вот такие вот дела. Изучайте, изучайте скилы, изучайте чужие решения, изучайте субагентов. Вот я вам показывал, да, где найти готовых субагентов. Ну и, соответственно, это будет позволять вам расширять ваш горизонт знаний. и создавать какие-то решения под себя, если вдруг захотите создавать решения под себя.

У нас уже тем временем там подошли мы к пятой таске. Вот сюда мы добавили глобальное правило, чтобы он использовал find dogs. Давайте это оставим. Я потом это перечитаю на всякий случай, потому что это со мной останется навсегда. На самом деле, вот мы сейчас опять что-то попросили сделать. То есть добавь это всё в глобальные правила. Оно и так как бы просто просится, но давайте представим, что мы хотим, чтобы он сам паттерны выявлял. Мы можем сделать скилл какой-то на глобальные правила. И когда я каким-то образом упоминаю то, что это могло бы быть в глобальных правилах, соответственно, это всё бы туда записывалось и был бы какой-нибудь, например, процесс: прочитай. Если я предлагаю сделать то, что уже и так есть, соответственно, говори мне, что это и так есть. Давай, может быть, это как-то изменим. В конечном итоге показывай мне, что находится в CLD MD. Вот какой-то маленький процесс. Это всё можно завернуть скилл, положить в глобальные скилы. Каждый раз, когда вы будете говорить про глобальные правила, он будет вызывать этот скилл и что-то с этим делать. На самом деле, мы много уже таких возможностей обсудили. Это на самом деле можно делать и в субагенте, да? То есть вы такие между делом что-то сказали и чтобы не тратить контекст, ну, в этом случае просто контекст не особо тратится, да, это очень маленький промот был бы. Вы это всё делаете в субагенте, он обновляет, соответственно, код MD, и у вас там в фоне это всё обновилось, и вы при этом не потратили контекст, не засрали контекст основной сессии. Просто иногда это всё уже притянуто за уши, если вы на всё уж будете создавать субагента, ну, как будто бы странно. Это уже как будто бы использование технологий ради использования технологий. Никакого там выигрыша в этом нет. Такие вот делишки. Это я тоже оставлю, соответственно. Давайте это мы всё закроем. Это нам как будто бы больше не нужно.

Про процесс мы на самом деле поговорили. Здесь в целом мне больше нечего рассказать. Там пункты неправильные, на самом деле, потому что я к концу уже устал, видимо, записывать именно это всё в пункты. И здесь уже наговорил от себя. Вот. Ну, вроде бы неплохо наговорил. Полезно. Решил включить, потому что на секции шесть у нас здесь есть граничные случаи, и как раз-таки о них вы могли вообще не подумать. То есть, если у нас, например, невалидный marкдаун, то, соответственно, он здесь это предусматривает. Если дубликаты есть, если какие-то лимиты есть и так далее. То есть мы здесь уже думаем о том, о чём могли не подумать, когда это всё в голове планировали, особенно если у вас нет опыта в этом всём. Я, на самом деле, здесь в основном просто пишу ок, потому что мне сейчас не особо интересно именно получить на выходе суперкачественное решение, которое я хотел бы получить, потому что у меня нет в целом воглове представления, что бы я хотел получить. То есть я просто это придумал на ходу, пока вам это всё рассказывал. Кстати говоря, если хотите, я это выложу в Chrome Extension, если вы хотите таким пользоваться. Просто я-то могу этим пользоваться и не выкладывая это в Chrome Extension, но если вам это нужно, просто напишите, я выложу, и вы тоже сможете этим пользоваться. Может быть, сделаем это всё open sourceным, открою GitHub репозиторий, и вы сможете, допустим, что-то докрутить и отправлять полреквесты. Почему нет? Кстати говоря, тогда и ветку main можно будет запротектить, то, что у нас не получилось сделать на приватном репозитории. В общем, пишите, если надо, давайте открою, сделаю. Может быть, как раз в следующих видео будет мне это помогать, соответственно, не забывать что-то рассказать.

Вот у нас сейчас пишется спецификация. То есть это артефакт, понимаете, да? Это артефакт, который уже никуда не исчезнет. То есть, если у нас сейчас закончится контекст, а у нас написан артефакт, я могу сбросить сессию, соответственно, и начать писать план заново. То есть, у меня здесь есть, например, написание плана Superpowers. Я могу сюда передать дизайн, который вот здесь вот был. То есть, если бы у меня контекст закончился, мы бы долго это всё обсуждали. Я понял, что я вышел за пределы эффективной части контекстного окна. то я бы мог вызвать вот этот скилл и передать ссылку на дизайн, и уже мы бы дальше в новой сессии это всё обсуждали. Если же вам хватает контекста, вы можете это делать в этой сессии. Почему нет? У вас уже есть весь контекст необходимый. Вот. Но вы можете сбрасывать сессию, это тоже ок. Я бы сказал, это даже лучше, потому что вы начнёте всё с чистого листа и будете точно оставаться в эффективной части контекста. Я сейчас прямо сброшу, наверное, эту сессию и покажу, каким образом это можно сделать. Вот, кстати говоря, вызвался агент. он проверяет ещё раз спецификацию, что она действительно написана именно спецификации соответствует тому, что мы здесь обсуждали. И вот здесь мы видим, что это просто промт ещё один, да? То есть это не какой-то заранее сделанный субагент, это именно промт. И он говорит, что нужно вызвать вот этот млейт, когда будешь вызывать субагента для rev. Ну и вот здесь вот описано, что нужно делать. То есть это даже не какой-то агент отдельный. Это вот именно просто промт, который вызывает субагента на лету, но хорошо описывает, что нужно здесь делать. То есть здесь вот как раз один из субагентов, который есть в клодкоде по умолчанию. Помните, мы говорили, что есть Explore, есть Plan. И вот один из субагентов General Purpose - это когда вы можете общего назначения агента вызвать и передать ему какой-то определённый контекст. Вот здесь он описан. То есть они не надеятся на то, что клодкод сам каким-то образом сварит правильный промт. Они ему как раз-таки и передают этот промт. Мне предоставляют в конечном итоге ссылку. Я перехожу вот сюда. У нас здесь появилась папочка Docs. Я перехожу в docs. И вот мой план. То есть я его, по-хорошему, должен прочитать. Это такой содержательный план того, о чём мы говорили. Здесь есть, соответственно, секции все, которые я только что подтверждал, как будут данные храниться и так далее. В общем, датафу здесь есть. В общем, очень качественная достаточно спецификация. Понятно, что всегда есть куда лучше, но это уже намного лучше, чем вы бы делали что-то самостоятельное вообще без плана. Вот. Поэтому обязательно проходите этот этап. Я пишу, что спека ок. Он, соответственно, сейчас перейдёт к планированию. Вообще я хотел сбросить сессию, да, но ладно. В целом, я думаю, вы поняли смысл. То есть, смотрите, ещё раз, спека есть. Даже если я сейчас куда-то уйду, у меня выключится компуктер и так далее и тому подобное, что-то произойдёт, у меня всё равно осталась эта спека. То есть в следующей сессии, вот видите, здесь вызывается skкил superers, да, на написание планов. И всё, что он делает, на самом деле, это считает план. И там есть ещё один промт, который помогает на основе Давайте нажмём вот так. То есть здесь вот видно, что он пошёл читать именно вот этот план, потому что в контексте уже было понятно, какой план читать. Если бы этого не было в контексте, он бы либо спросил у вас, какой план читать, либо сам пошёл в докс и нашёл этот план, и оказался бы там этот план единственным. Поэтому вот он бы это всё, соответственно, прочитал. Ну и пошёл писать уже свой план. То есть он создал папку PLS, и по факту у нас сейчас появится уже готовая декомпозиция на задаче. Я вам сейчас тоже это покажу. Далее мы начнём этот планы выполнять. И я опять-таки выключу, наверное, видео, потому что что-то мне кажется, что там уже и так часа на четыре набралось всё. Воткните обязательно лайк, воткните обязательно подписочку и напишите какой-нибудь комментарий, если где-то не согласны. Давайте это обсуждать. Если согласны, вам это помогло, просто напишите спасибо, Ваня, что рассказал об этом всём и потратил кучу своего времени. Мне это будет очень приятно, и это будет мотивировать двигаться дальше и давать полезный контент. У людей вообще не особо принято благодарить, но принято много требовать, особенно если продукт бесплатный. Поэтому, друзья, не обязательно я говорю только про себя, да, кого-то смотрите, всегда просто спуститесь и воткните лайк, напишите какой-нибудь ему комментарий. Это же суперпросто, и денег за это тоже не берут. Поэтому я считаю, что это вообще обязательные действие. Как только вы начнёте делать что-то сами или создавать продукт сами, поверьте, вы захотите какую-то обратную связь, хотя бы вот такую минимальную. Поэтому, пока у нас это всё здесь варилось, немножко философии.

Итак, у нас есть план. Нам предлагают, как его запустить. Как я уже сказал, если контекста нам не хватило, ну вот, допустим, у нас контекста не хватило, я могу это всё очистить. Вот всё, больше ничего нет, но у меня есть план, поэтому я могу вызвать suba driven development и вставить туда мой план. То есть я ничего не потерял на предыдущем шаге, почистил контекст и продолжаю с этим работать. Вы это можете делать не только через subagн Driven Development, вы можете это делать через, забыл, как это называется, но в общем, implementation plan. И это будет в основной сессии происходить по шагам. Там он, по-моему, делает по три таски и потом перед вами отсчитывается, что всё сделано хорошо или нехорошо, и вы смотрите, соответственно, и если всё хорошо, то вы двигаетесь дальше. Ну, мне это не особо нужно, если они ничего не переделали, потому что я всегда делаю через subag Driv Development. Как я уже сказал, субагенты делают задачи, это позволяет большее количество задач переводить. Ладно, пока это всё происходит, давайте посмотрим, что у нас там получилось в плане. Вот он план, вот эта спека, да, то есть два разных документа. И вот здесь у нас очень хорошо описанный план. И вот она у нас таска номер один, например. Да, здесь понятно, какие файлы создавать, какие шаги делать. Даже код есть, поэтому вы можете спокойно выбирать Sonet, например, и не делать это на опусе. Также мы идём дальше. Здесь у нас есть Степ-д и так далее и тому подобное. В общем, большое большое большое количество информации. И это всё поделено на таски. Соответственно, на каждую таску будет вызываться субагент. Это всё тоже есть в инструкциях. Не будем сейчас на всём останавливаться. Я думаю, что кому захочется, они познакомятся с этим ещё ближе. Как мы видим, да, нет существующей директории под work 3. Создам Worce. И, соответственно, сейчас Workce. Вот до этого Worce создавались а снаружи где-то, да? А здесь у них подход, что это всё в проекте хранится. И в целом это разумный подход. Соответственно, создалась папка Wordthes и туда будут создаваться эти workт 3. Теперь у нас создаются задачи. Вот это все девять задач, которые мы как раз-таки видели только что в доке. На каждую задачу будет вызываться субагент. Сейчас мы это увидим. И в конечном итоге, после того, как он что-то сделает, будет вызываться ещё один субагент. который будет делать ревью того, что сделал предыдущий субагент. Ну и в конечном итоге такой цикл пока не будет исправлена большая часть изменений. Там иногда минорные какие-то проблемы остаются, но в остальном всё фиксится. Мы видим, что запустился агент. Это тоже не какой-то заранее описанный субагент. Видим, что на модели Sonet 4.6, как я уже сказал, здесь можно вызывать Sonet, потому что это эффективнее, да? Если вы хотите, вы можете прямо здесь попросить, чтобы он вызывал это всё на модели Ops 4.6, но там настолько хорошо описан план, что SN 4.6 тоже отлично справится с этой задачей. Ну и, соответственно, если мы здесь перейдём в Subagen Driven Development, вот оно, то у вас здесь как раз-таки все эти промты и есть. Например, implementor, да, - это то же самое, вызвать Task Tool, General Purpose. И здесь описано, какую задачу взять. Ну и описана инструкция, да. То же самое здесь есть и про код qualityреwer. Здесь есть specрев, то есть он валидирует результат на соответствие спецификации. Вот такие дела. Вы тоже можете всё это прочитать. Более того, вы можете склонировать этот репозиторий и с кодом обсудить, как устроен процесс. Можете задавать вопросы, можете, соответственно, сделать форк и докрутить этот процесс под себя. В общем, я вам здесь хочу донести, что вам нужно понимать, что происходит под капотом. Если вы не понимаете, что происходит под капотом, то вы являетесь базовым пользователем. Это тоже неплохо. Но если вы хотите идти дальше всё-таки, то вам нужно, конечно же, понимать процесс, потому что если вы не знаете, как происходит процесс, то вы не можете его исправлять, вы не можете его докручивать, у вас нет таких возможностей. Соответственно, я вам рекомендую знакомиться с теми инструментами, которыми вы пользуетесь. То есть хотя бы на каком-то поверхностном уровне. Я думаю, что интерес должен быть, потому что когда вы возьмёте, например, вот этот процесс и захотите завернуть его в свой, у вас уже будет представление, как это делают в сообществе, да, как это популярно делать. Соответственно, вы тоже это можете всё изучить и взять какие-то лучшие практики для того, чтобы создавать свои собственные решения. Может быть, их тоже осорсить, может быть, тоже находить людей, которые будут поддерживать ваш проект, в том числе. Соответственно, чем больше сообщества, тем больше мнений, тем больше разных хороших идей поступает в ваш проект.

Вот такие вот дела. Здесь мы видим, что вызывался кодревр. Кодревьюр сказал, что всё ок, нет критических проблем, одно важное наблюдение, все незначительные для текущего этапа. Tasк один завершён. То есть в конечном итоге вы, конечно, может остановить и сказать: "Нет, давайте тоже будем исправлять". В конце вам тоже это будет вроде как в виде сари дано. Не помню уже, как это выглядит на самом деле. Они могли это и поменять. Даже за 3 дня они могли это поменять, на самом деле. Сейчас я пройду все эти этапы. Я же хочу вам всё-таки результат показать, но это может длиться достаточно долго. Вот поэтому давайте смотреть. Сейчас это всё будет выполняться, ну и в конечном итоге мы получим какой-то результат. Я забыл начать э запись видео. Короче, что здесь произошло? У нас завершились все таски, написаны тесты на эти таски. То есть, если в следующий раз код-код что-то сломает, то, соответственно, ему придётся исправлять это либо исправлять тесты. Далее мне предложили, что с этим сделать. Смёржить в main локально. То есть это то, что мы как раз-таки и делали до запушить и создать полреквест. Вот я выбрал этот вариант, то есть выбрал второй вариант, потому что мы его ещё не тестировали. Я вам хочу показать, как это может выглядеть. Как раз-таки, если бы мы запротектили, то есть защитили ветку Main, то мы могли бы всё, что мы могли бы делать - это создание пудреквестов. И это правильный сценарий, но, к сожалению, в бесплатной версии Гитхаба это не работает именно с приватным репозиторием. Вот он опять-таки вызвал GTHub CLI для того, чтобы создать пореквест. Дал мне сразу ссылочку на этот полурекст. Я перехожу и вот у меня этот пореквест. Как я уже сказал, work 3 - это всего лишь уровень абстракции, то есть это копия вашего репозитория для того, чтобы можно было работать локально. По факту это тоже ветка. То есть в конечном итоге вы ветку отправляете на пулреквест. Вот он пулреквест. Также любой другой человек, если бы у вас был он sourceный репозиторий, его поддерживает много людей, вот давайте, если что, можем сделать этот репозиторий онрourсным. Как я уже сказал, если хотите, чтобы это было публично, доступно, давайте мы это сделаем, зарелизим это всё в Chrome extension, и вы даже сможете с помощью вайп-кодинга отправлять мне пулреквесты и в конечном итоге докручивать этот extension. Вот будет классно, если кому-то это будет нужно, на самом деле. Ну и, соответственно, когда я нажму здесь Merch Request, это окажется в моей рабочей версии. Если мы автоматизируем релизы в Chrome Extension, значит, оно автоматически улетит в Chrome Extension. Спойлер, это, конечно же, можно сделать. Релизы Web App Store, Google Play, релизы, как мы уже видели, просто лендинга, но это самое простое. Всё можно автоматизировать, всё можно покрыть тестами. И на самом деле здесь даже можно, например, клод тегать, да, если бы это мы всё интегрировали с клодом, и клод бы отвечал на какие-то вопросы или проводил ревю или делал ещё какие-то вещи. Или если бы вы заводили, например, мне ишью какие-то проблемы, да, то я бы мог тоже здесь это всё отдавать Клоду, и Клод бы решал эти проблемы и создавал нам пулреквесты, а я бы эти пулреквесты или не только я, одобрял бы их. Соответственно, у нас бы всё опять-таки улетало в сторы. Вот так.

Соответственно, всё, мы здесь это всё увидели. Давайте попробуем это всё потестить. Я хочу это всё протестировать перед тем, как это я всё смёржу в основную ветку. Work 3 у нас сохранён, кстати говоря. Вот здесь work 3 добавляется в Gitignore. Сейчас объясню, кстати, для чего. Потому что это может кого-то смутить. Вот эти папки нам вообще надо бы убрать из Gitгнора, чтобы все могли пользоваться именно скилами. То есть, как я вам сказал, это копии вашего репозитория. То есть если бы мы добавили внутрь репозитория копию репозитория и не добавили бы это всё в Gitignore, получилось бы, что у нас рекурсия какая-то. То есть у нас репозиторий в репозитории, и это один и тот же репозиторий с одними и теми же папками, соответственно, получилась бы проблема. Вот. Поэтому, а, work 3 - это для локальной работы, а в конечном итоге это просто ветка. То есть, если бы вы стянули мои изменения, у вас бы тоже ветка, вы могли бы создать workт для того, чтобы продолжить именно в копии работать. Ладно, давай это всё смржим локально, потому что это всё нужно было ради тестов. Давайте мы это всё смрджим. То есть нам интересно именно не внутри всё-таки этой папки теперь находиться. Сейчас он это всё смржит, перейдёт в основную, соответственно, папку. Ну и у меня уже будет вот эта версия кода. Я смогу сюда вернуться и, соответственно, что-то с этим сделать. Давайте мы так и сделаем. То есть я буду загружать новое расширение. А у нас версия экстеншна обновлена. Я, конечно, задал вопрос, но как обычно меня и так поймут. Вот опять-таки вот он не обновляет версию экстеншена, да? Ну, кстати, обновлена всё-таки. Но вообще, если бы он не обновлял версию экстеншена, мы могли бы это всё на уровне проектов кодмd сложить. То есть каждый раз, когда ты обновляешь, нужно обновить версию согласно, там, допустим, conventional comments, как я показывал, да, там есть скил на Git Commit, который как раз-таки реализует этот convit. Ладно, не будем здесь застрять внимание, это уже так не.

Так важно. Итак, у нас появилась версия 2. Поздравляем.

Давайте её попробуем открыть. У нас появилась возможность загрузить этот файлик. То есть у нас здесь больше нет моего меню. Переключение темы есть. Есть плюсик, есть вот эта вот история, есть какая-то иконочка. В общем, как-то это выглядит.

Он нам говорит, что курс MD из корня проекта подойдёт. Давайте попробуем его перетащить. У нас же Dragonrop работает, да? Перетаскиваем. В файле не найденны чек-листы и элементы. Ну, не подойдёт, походу. Он не подходит. Cadcods.md не подходит. Может быть, мы его переделаем, чтобы он мог подходить. Но нужно копию сделать. Короче, здесь, возможно, нужно докрутить, возможно, формат именно не подходит, да, потому что я там набом соглашался именно с тем, что там должно быть. Не буду уже возвращаться туда.

Опять-таки, обращаю ваше внимание, 9% контекста потратилось. Вы вообще представляете, сколько мы сейчас сделали с точки зрения кода? Да, явно не 9% в контексте даже от миллиона. Всё. Почему? Потому что всё это выполнялось в субагентах. Вот таким вот образом это работает. Копия сохранена в Cloud. Сейчас он переделает. Мы это попробуем. Будем завершать.

Честно говоря, я устал уже. Очень долго это всё длится. Я, на самом деле, думал, что я быстрее справлюсь с этой задачей, записью этого видео. Но, к сожалению, где-то на середине понял, что я переборщил. Где-то я на середине понял, что переборщил, но, как говорится, заднюю мы не даём. Вот полный газ идём до конца.

Кстати говоря, ещё в Superpowers есть хороший скилл на systemгин. То есть, если у вас есть какой-то баг, например, да, и вам нужно системно найти причину возникновения этого бага. Не просто его пойти и поправить, да? Я вам советую всегда вызывать systematic debugгин, то есть это такой именно хороший подход в поиске бага. Первопричину он ищет, и, соответственно, вы это всё исправите. Ну и в конечном итоге у вас не будет проблем.

Вот давайте я не буду, наверное, это в плане фиксировать, потому что Superpow может обновиться, там может обновиться документация, и оно будет иначе работать. То есть переходите в доку и читайте актуальную документацию. Следите за обновлениями и, соответственно, пользуйтесь последними обновлениями.

Итак, о'кей, у нас обновилась эта история. Вот это бкап, а это основная часть. И вот у нас чек-лист. Мы не добавили поддержку э ссылок, да? То есть вот они некликабельные, например, но в целом оно работает. То есть мы можем это всё докрутить и да и всё, тема у нас переключается. Ну, так себе переключается.

Давайте попробуем скопировать этот документ. Пусть это будет копия. Перетаскиваем. И теперь у нас здесь есть два документа. Понятно, что это один и тот же. Интересно, запоминает ли прогресс? Ну-ка здесь два выберем. А здесь один запоминает. Вот можно это докручивать в таком виде. Понятно, что это релизить всё-таки не буду. Вот если будет много комментариев по того, что давай докрутим, давай сделаем open source, давай это всё будем поддерживать вместе, то о'кей, зарелизим.

Вот такие вот делишки. Я думаю, что про процесс я рассказал достаточно много. И можем переходить к секретному уровню. Это то, что вас поднимет просто. И мы переходим к секретному уровню. К счастью моему, нет пределов, потому что наконец-то я это всё завершил. Я думаю, что в сумме это займёт больше 20 часов вместе с монтажом. Короче говоря, для меня это прямо большая такая работа была. Я надеюсь, что вам действительно это всё будет полезно.

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

Итак, что у нас здесь есть? Он заменяет вот эти вот скучные thinking и так далее на обкашлю вопросик. Сделаем всё по красоте. И ещё 90 + фраз. Тут даже уже контрибьюторы есть, на самом деле. Поэтому, что мы делаем? Давайте мы его склонируем. То есть просто склонируем, да? Прямо сюда можем склонировать. Потом просто удалим. Соответственно, переходим в этот кдкод спиннер, запускаем здесь clд. И у нас внутри есть несколько команд. Одна из команд - это, соответственно, init spinner. Забираем её, вставляем сюда. Нам добавляют вот эти все замечательные фразы. Нажимаем yes, конечно же, потому что нам это очень нужно.

Да, я скажу что-нибудь просто для теста, для того, чтобы посмотреть, как крутится этот замечательный спиннер. Опа. Наберу на цифры. Давай ещё разок. Я не успел показать. Подумай подольше. Секунд пять. Всё на мази. Вот это вот другое дело, потому что читать эти скучные фразы, когда мы долго вайп-кодим, разве это решение? Нет, конечно. Поэтому обязательно ставим фразы кабанчика.

Если хотите пойти дальше, можете ещё и установить хук вот этот вот. Что это делает? Кстати говоря, про хуки мы не поговорили, да? Устанавливаем хук. Что это делает? Каждый раз, когда кд-код завершает ответ, то есть у него там есть хукстоп, вы можете разные хуки на самом деле использовать. И каждый раз, когда он будет завершать ответ, у нас будет звучать, да. Вносим изменения. >> Вопросик на тормозах. >> Вот так вот это будет работать. Если вам будет слишком громко, можете попросить его поменять с V1 на 0,5. Честно говоря, я вначале это использовал, а потом перестал использовать и перешёл на просто уведомление. Если у меня warpп свёрнут, у меня приходит вот сюда маковская плашечка. Может быть, тоже как-нибудь выкинуть всё в open source. Там просто надо немножко это всё докрутить.

Давай удалим хук, он мне не нужен. И давай в целом перейдём в корневую папку и удалим вот эту репуд-код спиннера. То есть это было нужно только для того, чтобы установить. Итого для того, чтобы перейти на этот уровень, нужно установить спиннер кабанчика.

Ну а если серьёзно, всё, что я бы хотел вам сказать, что этого уровня просто не существует. То есть всё время нужно развиваться, идти дальше, дальше и дальше. То есть завершения этого пути нет. Вы сами понимаете, насколько быстро развивается искусственный интеллект, вам нужно постоянно узнавать какую-то новую информацию. Вот пока я эти 3 дня что-то делал, у клокода уже появилось, по-моему, ещё несколько решений. Допустим, они теперь могут запускать таски по расписанию в клодкоде. То есть раньше там был только луп, например. Про него мы тоже, по-моему, не поговорили, но это позволяет вам в течение 3х дней потом это всё уничтожается, запускать какие-то команды, промты в смысле.

Ну и, конечно же, я вам советую состоять в сообществах, где есть люди с теми же целями. Это позволит вам получать больше полезной информации, уже провалидированные, возможно, информации, больше каких-то идей. В общем, естественно, вместе двигаться быстрее, чем двигаться одному, потому что действительно есть огромное количество информации.

Прямо сейчас, на самом деле, вы можете автоматизировать процесс работы над задачами. Ну, допустим, у вас есть какой-тотрекер. В моём случае я работаю один, поэтому у меня есть. Из ноушена клод может забирать задачи. Он сам их переваривает, задаёт вам какие-то вопросы. Вот почти точно так же, как мы это делали здесь. Вы, соответственно, отвечаете на эти вопросы, и задача сама делается. В конечном итоге вы получаете пулреквест в гитхабе. Если вам всё нравится, вы его принимаете, и вот у вас уже проект обновился. То есть вы таким образом можете, например, собирать аналитику с какого-то вашего приложения и генерить какие-то задачи, которые будут закрываться опять же код-кодом. То есть эту цепочку можно автоматизировать. Например, у него могут быть какие-то скилы на то, чтобы делать из аналитики идеи по улучшению вашего проекта. Либо собирать отзывы, либо собирать какую-то обратную связь, в конечном итоге создавать задачи, эти задачи докручивать, то есть создавать из них спеки, из спек уже создавать задачи. Эти же задачи вы можете выполнять плюс-минус, так же, как мы сейчас это выполняли. И в конечном итоге это такой уже автоматизированный процесс.

В общем, вы всё можете делать с код-кодом. Всё ограничено вашей фантазией, вашим опытом и системным процессом. Как я уже говорил, важно не сам даже инструмент получить. То есть изучать нужно не инструменты, нужно изучать подходы, потому что если завтра клод-код станет неактуальным, я просто перейду на другой инструмент и перенесу свои процессы туда.

Ну и, конечно же, я вам советую вступить в IT гараж. Это моё закрытое сообщество. можете подробнее прочитать здесь. Сейчас там есть уже модуль по вайп-кодингу. И далее мы там же будем разбирать и агентов, и запуск продуктов. Не то что у меня сильно большой опыт в этой области, но как минимум год жизни я вам смогу сэкономить на тех ошибках, которые наделал я. Сейчас там ранний доступ, поэтому кому это действительно нужно, кто хочет развиваться, кто хочет докручивать этот процесс, который я вам показал, и находиться при этом в сообществе тех людей, которые двигаются вместе с вами, пожалуйста, залетайте.

Ну а если вам не интересно эти гараж, то как минимум обязательно нужно подписаться на Telegram, подписаться на YouTube, потому что я выкладывать стараюсь только самое интересное, что действительно использую, что действительно считаю полезным. Никакого нейрослопа, всё делается человеком живым вот этим вот. Надеюсь, это видео многим поможет. Потратил кучу просто времени на это всё и даже несколько дней это всё записывалось, потому что качественно, по моим меркам, не получилось это сделать за один раз. Поэтому буду благодарен вашим комментариям, буду благодарен вашим каким-то советам, может быть, своим опытом поделитесь.

Забыл немножко рассказать про ремоут корол, хотя обещал в самом начале, поэтому remре remote корот нужен для того, чтобы вы могли управлять сессию-кода с телефона. То есть мы вводим здесь remote control и вам дают ссылочку. Вы по этой ссылочке переходите и, соответственно, в приложении клод на мобильном телефоне можете продолжать работать с этой сессией. То есть если вы отошли от ноутбука, то, соответственно, можете этим воспользоваться. Вы можете пойти ещё дальше и, например, законнектить это всё к Telegramботу и, соответственно, общаться с сессией клода через Telegram бот. В общем, гуглите в сторону Channels, remote control, используйте то, что вам больше подходит.

Ну вот теперь как будто бы всё, что хотел, точно рассказал. За это время, на самом деле, ещё вышли фичи в клод-коде, но это уже тема другого видео. В общем, подписочка на Telegram, подписочка на YouTube, лайк, комментарии - лучшая благодарность для меня. И до встречи в следующих видео. y