Transcription
Коллеги, всех приветствую на канале Каткод. Очень бурное развитие пошло у всех инструментов, которые я вам недавно представлял на канале. Я всеми ими пользуюсь. Они все автоматизируют мою рутину. Я их делаю не ради того, чтобы продавать, поэтому очень активно развиваю. И вы подключились в этот процесс и тоже начали контрибьютить, начали использовать, начали развивать. Всё это мотивирует.
Сегодня мы с вами обсудим сразу все инструменты, которые я недавно демонстрировал. Что именно в них произошло, какие апдейты, новшества, фиксы, планы. Всё это мы сегодня с вами посмотрим поэтапно по всем инструментам. С чего начнём? Я думаю, начать нужно снф. Не потому, что это самый основной, самый важный, а потому, что у него больше всего апдейтов.
Давайте начнём с главной страницы. На самом деле, это тоже недавний апдейт. Появился вот такой вот дашборд по всем проектам. На главной странице теперь, если кликнуть по логотипу, будет дашборд со всеми метриками, с потреблением, сколько токенов, какие задачи, в каком статусе. Всё это здесь можно лицезреть. Плюс кнопочка matрикс с дашборда будет нам демонстрировать сразу sumary по всем проектам. На самом деле это тестовый хендоф. И вот пока я всё это дело разрабатываю, для вас для себя уже потратил 35 млн токенов. О'кей, друзья, с этим разобрались. Это косметика, это визуально приятно, но есть кое-что и более интересное.
Давайте перейдём в проект. И я думаю, самый важный апдейт заключается в рантаймах. До этого, а, собственно, это был проморолик, я вам рассказывал о том, что всё построено на клод-коде, на клодкод SDК, клод впереди планеты всей, и поэтому мы будем поддерживать только клод. Но, друзья, как бы не так, пришёл контрибьютор Ичи, член нашего сообщества AI Community. Кто ещё не подписан, обязательно подписывайтесь. Также обязательно поставьте звёздочку в GitHub репозитории Aandof. Звёздочек не так много уже, мне кажется, пользователей гораздо больше, судя по чату. Не скупитесь, это важно для развития. В общем, пришёл Ичи сих пор с нами. Множество фич благодаря ему. Он же он также помогает мне делать ревью по всем тем фиксам и фичам, которые я предлагаю. И, соответственно, буквально спустя пару дней после проморолика, после релиза, он предложил пулреквест с добавлением рантаймов и уже добавил внутрь кодекс. Да, мы видим, что пулреквест закрыт, так как у него не было времени его закончить, и я просто перешёл в этот пулреквест и, соответственно, его добил. И после мы добавили кучу других рантаймов.
Друзья, теперь давайте поговорим о рантаймах, особенно для тех, кто не понял вообще о чём речь. До этого у нас был только клод, только клод SDК. Соответственно, теперь вы можете использовать клода не только в виде транспорта СДК, особенно для тех, кто переживает, что его подписку могут забанить. Есть также режим CLI, то есть будет дёргаться прямо ваш клиент, точно так же, как вы вручную всё это дело используете. Тут уже ни о какой блокировке речи быть не может. Хотя я уже месяц использую SDК и тоже ни о какой блокировке речи не идёт. Ну и, соответственно, API для тех, кому это интересно. Но API - это дорого и API - это прямые реквесты, респонсы, то есть здесь уже нет агента. А что касается других рантаймов, есть клод, есть кодекс, также с поддержкой трёх транспортов SDK, SLI, API. Вот это, я думаю, для большинства будет суперважно. Open CД Transport API, то есть вы поднимаете Open CД локальный сервер open Code Surf команда и далее к нему коннектитесь и взаимодействуете полноценно с OpenCД агентом. Здесь уже любые модельки, которые доступны, вы можете использовать. И в целом на уровне рантаймов вы можете указывать thinking level, Eford, выбирать любые модельки. Если этойм, которого нет в коробке, вы также можете легко добавлять собственные рантаймы. Они работают как расширение. Вы просто указываете через ENV, то есть Qнкод, всё, что угодно, вы можете быстро навайп-кодить и интегрировать в Handof. Если требуются дополнительные какие-то заголовки либо config опции для этого агента, вы также здесь можете передавать, то есть работать для всего, что только существует. Ну и понятное дело, что JLM через cladд а теперь сделать изи.
О'кей, пришли рантаймы, это мегакруто, но помимо того, что есть рантай, его можно менять, вы также можете их указывать под различные цели. И вот это уже прямо must have, это уже killр фича. Перемещусь в другой проект. Для имплементации вы можете указать, например, клод либо SDК. Ну, в общем, клод. Для планирования можно указать кодекс. Для revwобще можно указать отсутствие агента и взять openутер, который также присутствует в списке рантаймов, чтобы просто реквест, респонс разово и дёшево всё это выполнить, получить какой-то ответ. Ну и, соответственно, у нас есть чат. Для чата также можно использовать отдельный runтайм. И вот он у нас, этот чатик, который также обрастает функционалом. Теперь уже можно сказать, что он приближен к полноценному агенту, но на самом деле это не так. Но у него есть множество дополнительных фич и дополнительный парсинг ответов от лэмки. То есть уже и вопросы он отображает, не игнорирует, как ранее, и можно взаимодействовать со скилами Aй и не только через чат.
Помимо этого, давайте зайдём в редактирование проекта и увидим здесь несколько новых режимов. Параллельное исполнение. В прошлый раз я вам, по-моему, плашку показывал на экране, что я уже реализовал, но этого не было в проморолике. Если вы её включите, соответственно, у вас уже не синхронное выполнение будет задачи, когда только одна может в потоке выполняться, а сразу кучу можете стартовать, и они, соответственно, все параллельно будут выполняться. Это интересно. Но помимо этого есть фича более интересная. Это авто, режим автоочереди. Вы его включаете, и, соответственно, у вас задачи будут подхватываться, исходя из их позиции. Вот так их можно перемещать, если требуется, стрелочками можно стопить, чтобы какая-то не выполнялась, но при включенном режиме они будут подхватываться поочерёдно и двигаться одна за другой. Помимо этого, вы можете указывать расписание. То есть вот здесь есть поле с расписанием. Можно запланировать задачи, поставить, чтобы они выполнялись, скажем, ночью. и так далее.
Ещё в плане рантаймов, даже если вы указали здесь вот дефолты, что у вас имплементация такой-то, планирование такое-то, вы также можете переопределять на уровне задач. Вот здесь вот в настройках вы можете переопределить runtime, и определённая задача будет выполняться, скажем, там, в кодексе либо в Openроутере, где угодно. Тут, друзья, также важно, ещё раз я хочу обратить ваше внимание, если вы начнёте пробовать, то есть чем дефолтные рантаймы сейчас отличаются. Клод через clot код в любом случае, даже через SDK, там есть свой агент. Соответственно, cдкод - это агент, поэтому to olлиing, нсы всё это будет использоваться. То же самое с кодексом и Openкодом. Если мы берём Open Router либо любой из вот этих двух transport API, то тут уже агента нет. Что значит нет агента? Это значит request, response. Доступа к вашей файловой системе нет. Нельзя дальше вызывать там тулинг. Посмотри то, посмотри это. Вызови то, вызови это. Придёт инструкция, создай мне план. Вот всё, что есть по плану. И, соответственно, на этом всё. То есть тут нужно понимать и использовать только для каких-то таких небольших задачек внутри.
Помимо всего прочего, улучшали интерфейс. скажем, вот Ctrl N у нас открывает создание задач, Escape закрывает. И, соответственно, и на листинге у нас перенесена UI фишка с позицией либо с паузой. Также на уровне кодекса у нас добавлена возможность добавить МCпишку хендофа и для кодекса глобально, и на уровне ещё рантаймов. Для тех, кто будет использовать doкеer, либо уже использовали, я думаю, столкнулись с проблемой, что у кодекса Оoо аутентификация среди ректом далее на local host со сложностью прокинуть токен. Теперь появилась вот такая кнопочка для тех, кто пользуется докером. А, нажимайте её, у вас будет директ. Далее просто local host. Ссылочку вставите туда в input, и у вас будет активная сессия. У вас будет успешная аутентификация. куча мелких фиксов, просто огромное количество фиксов, чтобы грамотно грузился roadmap, чтобы можно было импортировать roadmap, сам Workflow, возникали всякие проблемы, когда что-то в Review игнорировалось, когда ревью выходило за скоп, то есть проверяло, например, на безопасность не только того объёма, что вы выполняли в задаче, а в целом проекта, что раздувало вообще процесс и могло добавить лишних изменений.
Что ещё из интересного? Агент Активити. Раньше я вам показывал, там стоял тайм-аут каждые 60 секунд, то есть приходили апдейты. Сейчас по веб-сокетам будет прямо в реалтайме а приходить всё, и вы можете наблюдать, смотреть, как там исполняется задача, что вообще происходит. Также в процессе верификации задачи, если вы опровываете, у вас также появится вот такая вот галочка флаг "Создать комит". Дополнительно, чтобы закоммитить весь результат и ничего не упустить прямо отсюда. Да. Ну, ещё небольшой фикс в плане чата. Если вы что-то написали, то вы можете застопить, да, сделать интерапт. И, соответственно, чат внутри хендофа превращается такой в полноценного агента со временем. И, возможно, будет в какой-то мере даже удобнее того кодингагента, с которым вы работаете. Тем более клодко слили, можно прямо сюда всё это дело интегрировать, но об этом мы поговорим чуть позже.
О'кей, друзья, Aendof развивается супербурно. Если вам интересно, примерно иногда в день я по пять, а то и больше фулреквестов делаю ревю. Ну и, соответственно, ещё какие-то свои добавляю. Переходим далее. Aof разобрались. Давайте двигаться к основе AVНдофа. Это сам AVE AI Factory, друзья. AI Factory. Вот недавно видим, вышел релиз 210, но тут стоит остановиться, посмотреть на звёздочки. Не дотягиваем даже до 500 звёздочек. Не скупитесь, перейдите, поставьте звёздочку. Как так вышло, что у Милы Йовович в каком-то там Млассе звёздочек 100.000? Давайте исправлять, не заставляйте меня накручивать себе звёзды.
О'кей, давайте перейдём в релизы и посмотрим, что у нас в ядре, что у нас в A Factory. A Factory в целом очень радует. Я уже просто на автомате залазю в проект, начинаю новый проект. В первую очередь я Factory и Inт пишу, просто с закрытыми глазами. И мне всё чаще пишут в личку, всё чаще я вижу фидбк в нашем AI комьюниity. Кстати, ссылка будет в описании. Обязательно вступайте. Количество разработчиков, осознанных и разработчиков пополняется, которые используют A Factory, и это радует, это правильный путь, и AI Factory постоянно развивается. Давайте взглянем на релиз 210. И помимо того, что мы постоянно улучшаем инструкции, и эти моменты довольно сложно вам будет объяснить, что, скажем, улучшенная инструкция для хендофа, чтобы скипать там ревкюрити в каких-то моментах, усилить там инструкции, чтобы не пропустить локализацию артефактов и так далее, это сложно будет мне вам объяснить. А вот то, что появился новый скилл AVA от вот контрибьютора Wellроone, если я правильно произношу, это уже интересно, что он из себя представляет. Буквально месяц назад я настолько разленился, что я выполнял какой-то проект, какую-то задачку с яишкой и не до конца быстро понял, как мне её вручную протестировать. То есть, о'кей, есть там тесты интеграционный unют end to end, но, несмотря на всё это, нужно также вручную всё дело тестировать. Тестировщики никуда пока что не делись. До этого скила у нас появился скилл, который нам даёт полноценные инструкции. Вот фича выполнена, изменения понятны. А теперь пойди и выполни то-то, то-то, то-то. Результат должен быть таким-то, таким-то. Если не такой, то-то, то-то. Всё это также сохраняется в артефакты. Есть три режима. И на самом деле это мегаполезно. Я уже попробовал. Я сделал фичу. Мне сразу самори с тем, что делать. Я пошёл, всё по попроверял. А, соответственно, у меня включены логи, я вижу, что там пишется в логах. В итоге я со всем этим возвращаюсь к лэмке. Говорю, там-то, там-то было непредсказуемое поведение. Вот глянлоги. И это суперконтекст и суперфидбэк. В итоге качество выполненных задач а возрастает в несколько раз. Я думаю, это мастх. Обязательно обратите своё внимание. Всё описано в документации. И забегая вперёд, я думаю, скоро мы этот скилл интегрируем и в Handof, чтобы прямо здесь после апрува у нас также была вкладочка с QA, чтобы мы могли всё это дело протестировать, либо чтобы тестировщики увидели план на тесты и пошли выполнять. Облегчим им, собственно, жизнь.
А, друзья, следующий инструмент, который я ещё особо не представлял, то есть вообще не было отдельного ролика по нему. И, как видите, всего 15 звёздочек. То есть большинство пока что его не понимают, хотя аналоги там у Карпаты, у Миллы Йовович имеют огромный успех. Но тут, э, другая история. Тут важно кто, а не что. Но в чём суть этого инструмента? AI Workspace даёт вам возможность шарить контекст между сервисами, да, давайте назовём это так. И по MCP лмка всегда будет получать актуальные, релевантные данные. То есть, например, вы делаете микросервисы, у вас множество сервисов. есть какие-то общие контракты, какие-то общие документы, документация и всё остальное. И вы не хотите всё это дело копировать либо иметь какой-то там репозиторий. Вы просто создаёте внутри каждого сервиса AI Workspace с общей группой и расшариваете определённые директории либо документы. И далее, где бы вы ни работали по MCP, лэмка будет всегда иметь к ним доступ. С версией 04.0 также появился полнотекстовой поиск. То есть вы можете расшарить полную там директорию с документацией и по MCP лэмка будет получать релевантные данные. То есть она будет делать поиск. Мне нужно то-то и получать сразу конкретный документ. Здесь есть и скан файловой системы. И с полнотекстовым поиском вы сразу будете не сканить каждую там директорию, бегать, кучу токенов жрать и чтобы понять вообще набирать этот контекст ненужный, а сразу целенаправленно туда, куда требуется. Вот, например, я запускаю у себя сбинарник Airwor Space List. И вот с чем я сейчас работаю. Все в разных группах. A Best Practice, например, это книга, которую я сейчас пишу по советам при разработке с помощью. И, соответственно, мне не нужно каждый раз переходить в этот проект. Я в любом месте клод либо кодекст вызываю и просто говорю: "Добавь такой-то раздел". Вот с таким-то правилом запускается глобальный скилл. Внутри указано, что использую проект такой-то VI Workspace, использую такие-то файлы Redmi и так далее. И всё это за один запрос с минимальным потреблением токенов создаёт мне новый раздел советом в этой книге. Да, тоже интересный пример. Я вам показывал, у нас было интервью про Task Managжер. Этот task-менеджер, вот он таas. Его эээнд сошкой также расшарен в AI Workspace. Я, к примеру, под него делаю себе вот такую вот штучку, такое нативное приложение с планом на день, с отображением всех задач, чтобы я мог их быстро здесь создавать, смотреть, записывать вот голосом через микрофон. И когда я его на Свифте писал, мне не приходилось говорить: "Иди там в такую-то директорию, в бэкэнд, ищи, там, там есть апишка, поищи, разберись, сожри там 200к токенов, чтобы потом приступать к задаче". Я просто его расшарил, сказал через iworkspace: "Всё это дело смотри". Ну, соответственно, это было в инструкциях. Он всегда туда лазит. И у него всегда под рукой спецификация по всемпоинтам. Все знания по MCP, в общем, всё, что требуется, там есть. И это как раз инструменте от Милы Йовович. Только здесь у нас раст, здесь у нас 1,5 Мб, супербыстрая скорость, супербыстрый текстовой поиск. То есть всё это молниеносно, всё это удобно. В одну команду инициализировали, во вторую сделали экспорт, чтобы запушить этот жесончик и впоследствии использовать его в команде, чтобы у всех был единый контекст. В общем, инструмент must have. Я им постоянно пользуюсь и в целом рекомендую вам.
Следующее, друзья, на самом деле я прямо кайфую с этого инструмента, который я вам сейчас демонстрирую. Это MCP unю. Это тесты для вашего MCP. И он прямо поднял мою MCP разработку на следующий уровень. То есть в целом это ещё такой молодой процесс. Мы все пишем MCшки, все пишем их странно. Я думаю, вы даже какие-то серьёзные там от больших игроков иногда берёте МCпишки и видите там проблемы при взаимодействии с лмком, когда у вас response to large, то естьпишка вернула огромный респонс там по всем каким-нибудь задачам либо чему-то ещё. Полконтекста у вас там сожрано, сам агент вам сказал, что я там обрезал респонс, так как он был слишком большой. И, соответственно, MCP unit - это C инструмент. Он у нас присутствует вот на маркете. Устанавливается в вашу MCпишку довольно легко. Просто делаете workflow, э, и добавляете вот несколько строк. После этого всё работает. Я начал уже везде его интегрировать. Помимо response to large, там около двадцати правил, четыре категории: безопасность, нейминг методов в MCP, дубликаты и много чего ещё, что постоянно будет пополняться. Тут тоже Rust, всего 1,5 Мб, работает за считанные секунды. И я уже начал его интегрировать. Если вы посмотрите там, скажем, handof, а, в те же самые экшены зайдёте, то вы уже увидите здесь вот он MCP unют. Помимо всего прочего, вы можете получать и отчёты его работы, то есть там стобалльная система в четырёх категориях. Можете на уровне Cвильный порог, скажем, чтобы хотя бы 90 рейтинга у вас было, но я везде довожу до 100. У меня и здесь он будет присутствовать. И, соответственно, в AI Workspace. И везде, где у меня будет разработка MCP, я буду добавлять MCP unit. Это must have. Без него я уже дальнейшую разработку себе не представляю.
Всё это, друзья, будет в описании к этому ролику. Здесь небольшой момент. Я заметил в комментариях, что вы пишите: "Сделай видео, сделай объяснение вообще всех этих инструментов на реальном проекте". То есть с нуля покажи, как ты всем этим пользуешься. Друзья, я сделал такую демонстрацию в новом воркшопе, второй части уже для продвинутых разработчиков. Получился интересный воркшоп. Он уже записан, то есть записано две части. В первой части идёт разработка отдельного сервиса бэкэнда и разработка MCP. MCP в последующем также покрыта тестами от MCP Unit. Вторая часть- отдельный сервис с фронтэндом, где я уже внутри использую AI Workspace, как раз тот, о котором я вам говорил. Мы даже особо не смотрели в backend, мы просто инициализировали там AI Workspace и далее во Фронде получали всё, что требуется: спеку, документацию и построили весь workflow на AI Factory. Я вам показал там прямо полный цикл и Research, и Roadmap, и когда использовать roadmap, как и когда декомпозировать задачу. То есть весь вот этот RPI, да? Search planing имплемент показан отлично. Показано, как работать со скилами, показано, как работать с субагентами, как дополнительно автоматизировать процессы, какие подводные камни присутствуют и что вообще изменилось с тех пор, как вообще правильно очищать контекст, когда очищать контекст. Сейчас модели на 1 млн контекстового окна, поэтому правила периодически меняются, под них нужно подстраиваться. И в итоге на этом воркшопе помимо первой части с бэкэндом и MCP и второй частью с всем этим тулингом, который я использую, будет ещё прямой эфир, будет третья часть, где мы заюзаем этот MCP в каком-нибудь и агенте и, соответственно, покажем возможности. На самом воркшопе будем делать task manджер, будем использовать UI kit из handof, создадим в пенли библиотеку с UIтом, с атомами, организмами, молекулами. Это также будет интересно. Перенесём это в новый проект. В общем, получился такой прямо жирный воркшоп, наверное, X40 от первой части. Огромное количество знаний.
И помимо прочего, друзья, раз уж зашла у меня речь про иагента, про ассистента, немножко информации о моём опыте взаимодействия с OpenClow. Был такой ролик, периодически возникают вопросы. У нас даже есть отдельный топик комниity про Open Clow. В итоге я OpenClow удалил. Слишком много багов, слишком много проблем, слишком много недоработок. Я пошёл немножко дальше, начал смотреть на аналоги. Их огромное количество zerклоу, nноклоу, там чего только нет. Всё это быстро перебрал. Везде одни и те же проблемы. Везде огромная проблема вот этого вайп-кодинга без фундамента с экспертностью, когда полный процесс завязан на постоянном хождении по граблям. Что-то лечим, что-то колечим. В итоге я написал собственного и агента. Вот он здесь Alpha By B. И можем немножко о нём поговорить. На самом деле, если вы хотите супер прокачаться как и и разработчик, как и эксперт, просто возьмите и попробуйте написать своего иагента. Друзья, и одно дело смотреть ролики, где автор просто сгенерировал сценарий лмкой и вам рассказал про ту lol коллинг, про тёрны и так далее. И вы такие: "О, ну, в принципе, не проблема, я напишу". Попробуйте написать, и вы увидите куча подводных камней, даже если у вас под рукой будут исходники там какого-нибудь клод-кода. Соответственно, я в процессе написания, мне кажется, прокачался просто X10. И тут речь даже не в том, что я прокачался как человек, который способен написать собственного еагента. Я в целом прокачался как человек, который разбирается во взаимодействии с лэмками, так как здесь вот этот хаус, влияние инструкций, влияние количества MCP, что тоже очень сильно вредит, когда у вас в проекте очень много MCP. А, заметно сразу, что у меня в итоге получилось, чего я добился и чем, например, мой и агент лучше, чем OpenClow. Во-первых, это огромное количество провайдеров. То есть, в принципе, поддержка любых провайдеров, ну, это, вы скажете, мелочёвка, это там тоже есть. Кое-что поважнее - это роутинг. То есть под каждый процесс, под рак синтезирования, по под ту ллинг, под быстрые ответы, под думающие ответы можно использовать разные провайдеры. Ну и, соответственно, также, как и в Open использовать FЛБЕ. Если, например, подписка кодекса закончится, то мы фолбэком уйдём в следующих провайдеров. И так пока не переберём всех. То есть роутинг, summary, speak to text, текст to speak, работа с изображениями и всем остальным. Всё это здесь интегрировано. Но чем я именно вот самое горд в этой проекте - это система скилов. На самом деле это было самым сложным моментом в рамках скилов. Я думаю, вы эту проблему замечаете и в каких-то других агентах, когда на старте у вас подгружается весь контекст всех скилов, когда тот же самый клодкод, а, грузит только мету. Я пошёл ещё дальше, я ещё оптимизировал эту мету. Там буквально несколько символов, есть определённый маппинг, и на уровне инструкций идёт ленивая подгрузка скилов именно в процессе. То есть когда вы вот здесь вот в боте будете вызывать определённый скилл, только тогда будут его инструкции полностью подгружены. и он будет исполняться. И скилы прокачаны по мете. Если мы посмотрим какой-нибудь вот дайджест, то мы увидим, что на уровне скила можно, как и в клодкоде, указывать только определённый доступный тулинг, отключать системный промт, делать, что у нас очищается контекст до и после вызова, либо и вовсе запретить весь тулинг. Помимо этого, на уровне скилов, вне зависимости от того, какие есть провайдеры, вы на уровне скила можете указать а свой определённый провайдер, и он будет здесь вызываться. Всего этого мне не хватало, а в других суперпопулярных и агентах я написал свой. На самом деле потратил немало времени, около месяца, но результатом доволен. Поддерживается MCP. В общем, всё, что есть в популярных решениях, здесь поддерживается. И при этом как бы без овенжиниринга. только то, что действительно требуется под мои задачи. И, собственно, снова таски, да, таск-менеджер, который у меня работает на уровне даже моего и ассистента, и я, соответственно, быстро могу себе голосом ставить задачи и получать ответ. Вот сейчас буду писать ещё скил сюда, а, в свой BB, который будет меня тренировать, учить какому-нибудь новому языку, чтобы и я мог голосовые записывать, и он проверял мой акцент и так далее, отвечал мне голосом. Ну, то есть полноценное общение практически как живым человеком с целью обучения какому-то новому языку.
Друзья, я как всегда полез в другие дебри, начал вам показывать своего и ассистента, а заодно показал инструменты, которые сейчас использую, которые развиваются. Пригласил вас на Workshop, ссылка будет в описании. Не теряйте время, прокачивайтесь в любом случае. Подписывайтесь на канал. Буду благодарен вам. за [музыка] лайк, за комментарий, даже если это просто будет комментарий в поддержку. И ещё хочу к вам обратиться, у нас была рубрика, где мы сравнивали с вами модели. Сейчас вышел OPС 4.7, множество других моделек. Предложите в комментариях что-то на сравнение. Давайте сделаем ещё один баттл. Моя платформа по сравнению моделек прокачалась. Там уже много интерактива, то есть не сразу какая-то задача, а можно постепенно пушить, дополняя задачи, путая лэмки. Система оценки прокачалась. В общем, можем интересно сравнить несколько каких-то моделек. Обязательно оставьте свой фидбэк.
На этом, друзья, всё. Спасибо вам за просмотр. Спасибо за лайк, который вы только что поставили, и за комментарий, который написали. На этом всё. Увидимся в следующем ролике на канале Catт код.