📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

My NEW Remote Agentic Coding System - Live Unveiling!

Cole Medin3:18:31

Transcription

Хорошо, добро пожаловать всем на следующий прямой эфир. Прошел примерно месяц, а может быть, и больше месяца с тех пор, как я проводил его, и я очень долго этого ждал. Я подогревал интерес к нему последние пару недель, и это будет хороший эфир. Итак, я дам пару минут, чтобы все смогли подключиться к эфиру. Пока мы это делаем, э, дайте мне знать, откуда вы. Мне всегда нравится начинать прямые эфиры с этого, потому что я знаю, что у нас здесь очень глобальное сообщество на YouTube. Так что да, дайте мне знать, откуда вы, и я смогу выделять определенные комментарии. Я делаю это во всех своих прямых эфирах. Э, где вы можете увидеть, например, э, позвольте мне сделать это. Позвольте мне, э, запустить это здесь, чтобы я мог выделять комментарии. Если я перейду, например, к моей сцене, я покажу вам это здесь. Вы можете видеть, что я могу, э, показывать комментарии. Итак, когда вы будете заходить и говорить, откуда вы, я выделю некоторые здесь. У нас есть Греция, Бразилия, Вайоминг. Очень, очень здорово. Венгрия, Северная Каролина, Германия. Хорошо, еще одна Германия. Шон спросил: «Как горло?» Почти лучше. Вы, вероятно, можете сказать, что мой голос немного хриплый прямо сейчас. И если вы смотрели мое видео в среду, вы знаете, что было довольно тяжело, но я справляюсь, и у меня все довольно хорошо. Так что да, Япония, у нас есть Италия, Финляндия. Всегда так здорово видеть, откуда вы все приходите. Так что очень, очень здорово. Швейцария, Тайвань, Онтарио, Денвер, Португалия, Коста-Рика. Я не показываю все это на экране, но да. О, очень, очень здорово. Хорошо. Отлично. Еще одна Бразилия. Отлично. Здорово. Швеция. Испания. Даллас. Еще одна Испания. Очень, очень здорово. Я тоже здесь болел. Э, ты говоришь лучше меня. [смех] Прошу прощения, Джозеф. Это досадно. Да, [кашляет] я думаю, это своего рода смесь. Как будто я плохо себя чувствовал раньше на этой неделе, и теперь я чувствую себя на 100%, но дело в том, что я не дал голосу отдохнуть, потому что я проводил кучу семинаров в сообществе Dynamis раньше на этой неделе, и у меня есть мое видео на YouTube, а затем, э, я также готовился к этому. Э, но да, это определенно не так плохо, как было раньше на этой неделе. Как будто я едва мог говорить на День благодарения. Это было не весело. Так что я был со всей своей семьей, а потом я просто молча сидел в углу. Э, потому что мне трудно говорить. Так что да, но почти лучше сейчас. Посмотрим. Э, поговорим немного о том, что нового в Dynamis. Я хочу вернуться. Да, мы обязательно к этому вернемся. Так что оставайтесь с нами. Мы поговорим о том, что нового в сообществе, потому что, конечно, у нас сейчас идет распродажа Black Friday Cyber Monday. Так что также будет специальная скидка для Dynamus только в этом прямом эфире в дополнение к этой системе удаленного кодирования агентов, которую вы видите прямо здесь. Это другая большая вещь, которую я раздаю только во время этого прямого эфира. И поэтому, это своего рода большой ажиотаж, который я создавал вокруг этого эфира, это раздача этой системы. Так что это будет фокусом нашего эфира. Так что я выпущу это как публичный репозиторий, и я фактически сделаю это в прямом эфире с вами через некоторое время. А затем я покажу вам, как его настроить. Я покажу вам, как он работает, и почему я думаю, что это действительно, э, лучшая система по сравнению с чем-то похожим, например, возможно, вы видели Cloud Code для веба или вы видели Codeex Web раньше. Это другие виды удаленных агентских систем кодирования, но я хочу поговорить о том, почему то, что у нас есть здесь, еще лучше. [хмыкает] А затем мы перейдем к живой демонстрации, и мы вместе что-нибудь построим, используя это агентское приложение, которое я построил. А затем мы [кашляет] уделим время для вопросов и ответов. И поэтому я действительно люблю, когда чат активен, все задают кучу вопросов, и это тоже всегда весело. Так что у нас будет достаточно времени для этого в конце эфира. И поскольку мой голос сейчас очень хриплый, я буду делать перерывы, как я называю их в Dynamis, все время, как я только что сделал. Так что я постараюсь максимально защитить свой голос, чтобы он не стал хуже, потому что сейчас он вполне управляем. Но да, это повестка дня на сегодня. Я очень, очень взволнован. И посмотрим, сколько людей у нас сейчас в прямом эфире. Я обновлю. Хорошо, у нас сейчас 257 человек в прямом эфире. Довольно хорошо. Отлично. Да. Ну, это, да, это честь. Так что спасибо всем 260 из вас, кто сейчас в прямом эфире со всего мира, как мы видели. Э, там, где я сейчас нахожусь, около полутора часов назад начался снегопад. И сейчас очень красиво на улице. Так что, поверьте мне, здесь, в Миннесоте, мы очень устаем от снега в январе и феврале, но первые пару раз это действительно приятно. И поэтому у нас был один большой снегопад раньше на этой неделе, и это второй. Э, так что да, я еще не устал от этого. Так что это действительно приятно. Как будто я выводил свою собаку на улицу раньше сегодня. Э, просто гуляя со всеми снежинками. Вы скучаете по этому, но потом вы устаете от этого примерно через четыре недели. Так что да, но, э, в любом случае, давайте приступим. И поэтому первое, что я хочу сделать, это сделать этот репозиторий публичным и открыть его для всех вас, чтобы вы могли скачать его прямо сейчас. И, как я уже сказал, в конце прямого эфира это исчезнет с одним небольшим исключением. Я знаю, что есть определенные часовые пояса, которые не подходят для этого прямого эфира. И поэтому, если вы находитесь в Австралии или Новой Зеландии, вы, вероятно, смотрите запись этого мероприятия. И поэтому в понедельник, в 16:00 по центральному времени, в Киберпонедельник, я снова открою этот репозиторий примерно на час. Так что в 16:00 по центральному времени вы можете использовать эту ссылку. В противном случае, этот прямой эфир — единственное время, когда я открываю его. Так что я сейчас перейду в настройки и сделаю этот репозиторий публичным, потому что сейчас он приватный. Так что я изменю это на публичный. И вот так. Сделать этот репозиторий публичным. И бум. Хорошо. Это здорово. Так что я, конечно, размещу ссылку в чате. Так что позвольте мне перейти в чат. Поставлю это для вас. Бум. Вот так. И, э, да, кто-то спросил здесь, я вернусь в чат. Всего два коммита. Да. Так что причина, по которой у этого два коммита, заключается в том, что эта система является частью курса Dynamus Aentic Coding. И поэтому именно там я проделал всю работу, а затем перенес это в репозиторий, чтобы сделать его публичным для сегодняшнего дня. Так что прямой эфир — это когда я делаю это общедоступным. Но это ресурс, который я буду продолжать развивать в сообществе Dynamis. Так что я уделю минуту, чтобы поговорить об этом, а затем мы перейдем к нашей живой демонстрации этого, и я покажу вам, как его использовать, и почему, как это будущее агентского кодирования, потому что это другая вещь, в которую я искренне верю, это наличие такой системы, где мы можем запускать наших агентов там, где мы работаем, например, Slack или Telegram или GitHub, это истинное будущее агентского кодирования. И поэтому да, я хочу очень быстро поговорить о курсе, потому что это мой главный фокус, а также одна из причин, по которой я провожу распродажу Black Friday, потому что я праздную тот факт, что курс Aentic Coding полностью завершен по состоянию на среду этой недели. Так что я закончил его как раз к нашему прямому эфиру. Так что я собираюсь разместить это в комментариях. Так что две основные ссылки для этого прямого эфира — это, очевидно, эта специальная акция, которую мы проводим только для этого прямого эфира, а затем наша система удаленного агентского кодирования, которая, опять же, только для этого прямого эфира. Так что это особое событие, которое у нас сегодня есть. И поэтому курс агентского кодирования в сообществе Dynamis, он проведет вас от новичка до продвинутого уровня, создавая вашу собственную систему для агентского кодирования. И поэтому у нас всего 71 урок. Это очень ценный курс, и он содержит 18 часов контента в общей сложности. Большая часть из этого необязательна. Так что, если вы просто хотите пройти что-то быстрее, вы определенно можете, но у нас есть модуль, который вводит все. Затем я перехожу к циклу piv, который является основной ментальной моделью для агентского кодирования, которую я немного освещал на своем канале. А затем мы переходим к глобальным правилам и командам. А затем мы переходим к системам для каждого из различных уровней нашего цикла piv. Так что системы для планирования, реализации и проверки. А затем мы переходим к тому, как мы можем интегрировать агентов кодирования непосредственно в GitHub. А затем у меня есть модуль, посвященный системе, о которой мы будем говорить сегодня в прямом эфире. И поэтому я углубляюсь в нее еще больше. И поэтому эта система будет чем-то, что я буду продолжать развивать в Dynamis, добавляя интеграции для большего количества приложений и большего количества помощи в кодировании. И позже в нашем эфире я также расскажу об архитектуре этой системы и о том, как я сделал ее очень, очень простой для нас, чтобы добавлять больше [кашляет] приложений, таких как Slack или Notion или Jira, а также добавлять больше помощников по кодированию, таких как, э, Open Code или Klein, что бы мы ни хотели включить в нашу систему кодирования. Это одно из преимуществ, это то, что она будет работать независимо от инструмента или помощника по кодированию, который вы хотите использовать. А затем у нас есть серверы MCP и навыки, и под-агенты, и параллельное кодирование агентов. Как будто все, что вы могли ожидать от курса по агентскому кодированию, у нас есть для вас. И скидка для этого прямого эфира только составляет 45% на годовую, ежегодную подписку и 25% на ежемесячную. И эта скидка исчезнет после окончания этого эфира. И если вы смотрите запись, все еще действует распродажа Black Friday, которая продлится до Cyber Monday, и она почти такая же хорошая. Но это эксклюзивно для прямого эфира прямо сейчас. И поэтому я буду упоминать это пару раз в течение эфира, но фокус, который у нас здесь есть, будет действительно на системе удаленного агентского кодирования. Так что, если вы хотите действительно глубоко погрузиться в использование этого и наблюдать за его развитием и быть частью процветающего сообщества, где у нас также есть ежедневные мероприятия и еженедельные семинары, а также курс AI Agent Mastery. Определенно приходите и станьте частью Dynamis. И с этим, давайте приступим. И поэтому я хочу начать с быстрой демонстрации, а затем мы перейдем к тому, как вы можете настроить это для себя. Так что я очень быстро пройдусь по инструкциям. На самом деле это очень, очень просто, и мы можем использовать наш Claude Code или нашу подписку Codeex. Нам не нужно использовать API-ключи. И я знаю, что это беспокоит многих людей в отношении такой пользовательской системы. Они говорят: «О, что, если мне придется использовать мой API-ключ Enthropic, а затем я буду платить, знаете ли, сотни долларов за использование этого в течение месяца». Но это будет так же доступно, как если бы вы использовали основную услугу, как если бы вы просто использовали Cloud Code CLI или Codeex. И поэтому я, очевидно, уже запустил это на своем компьютере. И поэтому я начну с быстрой демонстрации здесь, в Telegram. А затем я покажу вам, э, GitHub немного позже. Но да, это, как бы, главное — это то, в каком приложении мы хотим работать, мы можем использовать его, использовать агента непосредственно там. И поэтому я могу начать с, э, своего рода каталога команд. Так что у меня есть пользовательские команды, встроенные в систему. Так что вы можете действительно воспользоваться настройкой, которая у нас есть здесь. Как будто вы можете добавлять свои собственные команды и свои собственные способы управления вашими репозиториями и вашими агентами. И поэтому, например, у нас есть команды, которые встроены непосредственно, как будто Claude Code /commands, но мы можем загружать и создавать свои собственные непосредственно для нашего агента. А затем мы можем управлять нашими кодовыми базами, как мы можем клонировать наши приватные или публичные репозитории, и мы можем перечислять их. Так что, например, я могу ввести /reos здесь, чтобы увидеть, какие репозитории с GitHub у меня сейчас есть в моей системе. И мы добавляем токен GitHub в нашу систему здесь. Так что он может использовать GitHub CLI для управления нашими репозиториями и проблемами, и запросами на слияние. И поэтому это очень глубоко интегрировано с Git, что, я думаю, очень важно, потому что я думаю, что GitHub или другая подобная платформа, такая как GitLab, определенно является будущим удаленного агентского кодирования, потому что это своего рода уровень оркестрации, когда мы можем создавать проблемы для ошибок или запросов на функции. Мы можем управлять запросами на слияние, чтобы мы могли просматривать изменения нашего помощника по кодированию, и рабочий процесс, который я продемонстрирую вам немного позже. Он имеет элемент «человек в цикле», где мы можем просматривать изменения, которые мы запускаем удаленно, прежде чем они попадут в нашу основную ветку и будут развернуты в продакшене, потому что я не хочу, чтобы это было заменой нашего процесса проверки кода. Теперь будет немного сложнее копаться в отдельных строковых изменениях, потому что это удаленная система, но мы все еще можем создать как часть нашей системы процесс для просмотра вещей. И поэтому, прямо здесь, я сейчас нахожусь в, э, репозитории, который я использую для нашей демонстрации сегодня. И поэтому, например, просто чтобы показать вам, как это работает очень быстро, я могу сказать «суммировать readme». И это будет похоже на использование Claude Code или Cursor или Wind Surf, где он будет показывать нам сообщения в реальном времени, когда он выполняет действия для нас, как будто он ищет readme, а затем читает его, а затем через секунду здесь нам будет выдан результат. И поэтому буквально все, что вы можете сделать с Claude Code, я могу сделать здесь, в Telegram. И я могу даже сделать это со своего телефона, если захочу. Как будто я фактически покажу вам это здесь. Я перейду в Telegram на своем телефоне, и поэтому, не касаясь клавиатуры, вы увидите, как у меня появится сообщение, но я фактически делаю это со своего телефона. Так что я наберу это здесь и скажу, э, суммировать шаги для запуска агента. Хорошо. Так что я отправлю это, и вот, оно появляется и в моем настольном приложении Telegram. И поэтому это другая красота этого — независимо от того, в какой платформе я работаю, я могу запустить это из любого приложения. Э, и я могу делать это с любого устройства. И поэтому вот, у нас есть шаги для запуска нашего агента. Очень, очень здорово. И поэтому я мог бы просмотреть это на своем телефоне. Я могу вести полный разговор на своем телефоне. И рабочий процесс, который я собираюсь показать вам, где мы вносим изменения в фронтенд-приложение, мы можем провести полную сквозную проверку самостоятельно, также с нашего телефона. И это одна из вещей, о которых я действительно думал и проектировал, когда строил систему: как мы можем включить «человека в цикле», когда мы не работаем непосредственно в кодовой базе, как будто работаем в IDE. И это сложная задача, но она у меня на первом месте. И поэтому, э, кто-то спросил: «Сколько это стоит, э, каждый день?» И поэтому, да, это будет стоить ровно столько же, сколько ваша подписка на, э, Claude Code или Codeex или что-то еще. Как будто это не стоит ничего больше, потому что оно не использует ваш API. Оно может использовать вашу подписку Claude или Codeex. И поэтому, да, я, по сути, никогда не достигаю лимитов скорости, когда использую это. И поэтому я плачу за максимальный план для Claude Code. И я могу использовать это сколько угодно. Мы можем даже запускать агентов параллельно. Как будто у меня может быть один агент, который работает в Telegram, другой, который работает в GitHub, а затем у меня может быть еще один агент, который работает над другим репозиторием GitHub. Я могу даже иметь дюжину агентов, работающих одновременно через эту единую систему удаленного кодирования агентов. И это еще одна захватывающая вещь, это просто идея параллельного выполнения без необходимости настраивать это самостоятельно. Мы можем иметь это как часть нашей пользовательской системы. И когда у нас есть такие, как бы, готовые решения для нас, как Cloud Code для веба или Codeex Web, у них есть эта идея параллельного выполнения. Но чего у них нет, так это возможности включать наши собственные пользовательские команды. И в Cloud Code для веба, например, мы не можем использовать серверы MCP, что очень обидно. Если мы хотим использовать Playwright MCP, чтобы он автономно проверял веб-сайт, или Superbase MCP, чтобы он мог управлять нашей схемой базы данных, вы на самом деле не можете настроить это здесь. Но когда мы управляем вещами в нашем собственном пользовательском решении, э, мы можем фактически, как бы, зайти и добавить наши собственные серверы MCP. У нас есть полный контроль, как будто мы используем Cloud Code CLI или любой другой CLI, но мы все еще можем использовать его с любого устройства, из любого приложения. Э, и поэтому, да, как будто это быстро становится моим основным драйвером для внесения любых изменений в мои кодовые базы. Это как будто, когда у меня появляется новая идея для чего-то, что я хочу попробовать в приложении, я просто, как бы, иду в Telegram или в GitHub, а затем отправляю запрос, и это иногда занимает некоторое время, как и когда вы запускаете непосредственно на своем компьютере. Так что вы отправляете задачу, а затем просто возвращаетесь, как будто вы получите уведомление в Telegram или GitHub, типа, ваш план готов, или, типа, ваша реализация готова, а затем вы просто идете и проверяете это, и поэтому вы, как бы, отправляете запрос и просто возвращаетесь, когда он будет выполнен. И я должен сказать, что для очень, очень сложных реализаций, когда я действительно начинаю с нуля, я, вероятно, все равно буду работать в локальной среде разработки. И причина этого в том, что я, возможно, захочу более глубоко взглянуть на код, когда он начинает что-то создавать. Но когда у меня есть надежная система, которой я действительно доверяю, как будто мой процесс планирования, затем реализации, затем проверки очень, очень надежен, и как будто я знаю, с чем он может справиться за один раз. Тогда я подключу его к этой системе, а затем я смогу просто отправить один запрос и иметь большую уверенность в том, что он будет работать, но при этом все равно смогу проверять вещи через, э, своего рода элементы «человек в цикле», которые я встраиваю в нашу систему здесь. Так что да, так что позвольте мне фактически показать вам быструю демонстрацию здесь. Э, я покажу ту, которую я уже сделал, чтобы я мог просто, как бы, быстро прокрутить, что произошло, а затем мы проведем живую демонстрацию. Так что позвольте мне перейти сюда к Dynamus AI Agent. Так что этот AI Agent — это то, что я выбрал в качестве примера здесь. Очевидно, нам нужен какой-то репозиторий в этом прямом эфире, чтобы протестировать вещи. И поэтому это AI Agent, который я построил как часть курса AI Agent Mastery в Dynamis. Так что, если вы не знали, у нас есть не только курс агентского кодирования в Dynamis, но и курс, где я начинаю вас с нуля до полного продакшена AI агентов, и вы получаете доступ к обоим курсам, когда присоединяетесь к Dynamis сегодня во время прямого эфира. Так что имейте это в виду. Так что этот агент я сейчас не делюсь, как я делюсь системой удаленного агентского кодирования, но это просто будет наша демонстрация для сегодняшнего дня. И поэтому то, что у меня есть здесь, это действительно похоже на приложение в стиле ChatGPT, где я могу начать новый чат. Я могу поговорить со своим агентом, как будто я отправляю сообщение, типа привет. И этот агент имеет инструменты для таких вещей, как RAG и веб-поиск. У него есть долгосрочная память. Под капотом встроено много возможностей. И для нашей демонстрации сегодня я внесу некоторые изменения во фронтенд приложения. Но вот где появляется «человек в цикле». У меня есть не только мое производственное приложение на chat.dynamus.ai, и вы можете перейти на этот сайт прямо сейчас, но я отключил вход для этого, потому что это только для того, чтобы я мог вам продемонстрировать прямо сейчас. Но в любом случае, у нас есть производственная версия сайта, а затем у нас также есть версия для тестирования. Так что это очень распространенная практика в разработке программного обеспечения, когда у вас есть своего рода тестовая среда, которая должна быть точно такой же, как и ваша производственная, но в ней будут некоторые дополнительные изменения, которые вы сейчас тестируете и которые почти готовы к вашему производственному окружению. Поэтому она называется staging (тестирование), потому что вы размещаете эти новые изменения как следующую функцию или следующий релиз, что бы у вас ни было в вашем жизненном цикле разработки программного обеспечения. Так что у меня есть две версии веб-сайта здесь, и я развернул это просто в Render. Так что Render — моя основная платформа, когда я хочу очень, очень быстро развернуть вещи в облаке. Так что у меня есть производственная среда, в которой есть мой AI Agent, мой RAG-конвейер и мой фронтенд. А затем, чтобы упростить здесь для моей среды тестирования, у меня есть только версия фронтенда для тестирования. И она просто будет указывать на производственный агент и RAG-конвейер, потому что я просто хочу сохранить это очень простым для нашей сегодняшней демонстрации. Мы будем работать только над фронтендом для этого приложения. А затем, конечно, в курсе агентского кодирования, когда я покажу вам эту систему, мы будем более подробными и сделаем, как бы, более полную реализацию, которая гораздо более сложна. Но я просто хочу сохранить вещи, знаете ли, довольно простыми для нашего сегодняшнего эфира, потому что это все равно покажет вам мощь нашей пользовательской системы. Так что да, у меня есть обе эти вещи, настроенные в Render. Я имею в виду, вы можете настроить это в любой среде, которую вы хотите, например, Digital Ocean или Hetner или Fly.io или Netlifi. Как будто вы можете выбрать любую платформу. Это просто то, что у меня есть для нашей демонстрации здесь. И поэтому «человек в цикле» появляется, когда мой агент через систему удаленного кодирования вносит изменения на веб-сайт, он сначала публикует их в этой версии для тестирования. И поэтому я могу проверять вещи, даже находясь на своем телефоне, и я могу проверить, например, я попросил его изменить заголовок левой панели чата здесь, сделал ли он это изменение должным образом? Хорошо ли это выглядит на мобильных устройствах? как будто я могу проверить эти вещи, потому что я могу просто перейти в среду тестирования, а затем, если это выглядит хорошо, я могу вернуться в свою систему и сказать, типа, хорошо, это здорово, теперь создайте еще один PR в GitHub, чтобы объединить это в main и развернуть его. И поэтому у меня есть возможность проверять вещи, и я также могу зайти в GitHub и, как бы, посмотреть diffs и pull requests и все такое, если я хочу проверить. Так что я никогда не пытаюсь сказать вам полностью исключить себя из цикла, но если вы доверяете своей системе достаточно, вы можете решить, возможно, сделать больше, как бы, проверки артефактов вместо проверки git diff. И это очень важно, как будто будущее, я искренне верю, AI-кодирования будет там, где ваш агент будет предоставлять вам артефакты для проверки, например, вот сайт для тестирования или вот запись экрана, как я взаимодействую с API, что бы это ни было. вместо того, чтобы вам приходилось делать проверку кода построчно. И это все еще возможно, если вы хотите, но я думаю, когда у нас есть уровень доверия к нашей системе, как будто после того, как мы построили все наши правила и команды и все остальное, и как будто мы знаем, чего она может достичь, тогда мы можем начать, как бы, отбрасывать некоторую сложность наших собственных проверок кода и просто смотреть на артефакты. И поэтому позвольте мне показать вам пример этого. И поэтому у меня есть проблема прямо здесь, и это, как бы, очень, очень просто. Мы сделаем что-то более сложное вместе в прямом эфире сегодня, что меня тоже волнует. Но прямо здесь я просто хотел обновить заголовок. Так что этот заголовок раньше был просто AI Chat, как будто он был очень общим и довольно скучным, и поэтому я хотел обновить это, но используя мою систему удаленного агентского кодирования. Так что я ничего не делаю локально, и поэтому, переходя сюда, я просто отмечаю моего удаленного агента. Так что команда @remote_agent_command_invoke, и затем я использую свою основную команду GitHub. Так что это на самом деле очень круто. Если я вернусь в Telegram и введу /commands, мы увидим все зарегистрированные /commands, которые у меня есть для моей системы. И поэтому мы помещаем их в наш репозиторий. И поэтому, если я снова введу /help, у нас есть эта команда для загрузки всего на основе папки. Так что я могу указать на мою папку .cloud/commands cloud/commands или, если мы используем Codecs, у нас может быть папка Codeex/commands, как будто это может быть для любого помощника по AI-кодированию, любого пути. Мы можем загрузить команды, чтобы они хранились в базе данных и были готовы к использованию из любого места. И поэтому именно так я могу, по сути, создать свою пользовательскую систему, как будто у меня есть процесс для предварительной подготовки, планирования или проверки. И поэтому предварительная подготовка — это обычно то, как я начинаю любой рабочий процесс для создания чего-либо с помощью помощника по кодированию. И все, что делает предварительная подготовка, это устанавливает набор инструкций для помощника по кодированию, чтобы он просматривал кодовую базу, все основные файлы, такие как readme и основные точки входа и тому подобное, и просто, как бы, устанавливал себя в кодовой базе. И поэтому я люблю говорить, что помощник по кодированию здесь, как будто наверстывает упущенное по тому, что у нас сейчас реализовано, и что может быть дальше, основываясь на чем-то вроде PRD. И поэтому помощник по кодированию проходит через это, а затем выводит что-то в конце здесь, что является просто, как бы, сводкой предварительной подготовки, которую он сделал. И поэтому теперь, очевидно, основываясь на всем этом выводе, он явно понимает мою кодовую базу. Так что я готов перейти к планированию следующей функции. Так что это просто создает сцену для нашего цикла piv, где мы создадим план. Мы реализуем его, а затем мы проверим. И это то, что я очень подробно освещаю в курсе Agentic Coding. Так что, так что демонстрация, которую вы собираетесь увидеть, это именно эта часть, где мы проводим наше структурированное планирование. И поэтому мы создаем документ в конце, который будет описывать такие вещи, как наша цель, документация, на которую мы хотим ссылаться, или существующие части кодовой базы, которые нам нужно отредактировать. Он имеет наш список задач. Так что, как он может выполнять задачи одну за другой, наша стратегия проверки, чтобы помощник по кодированию мог проверять свою собственную работу. Мы берем этот структурированный план и отправляем его помощнику по кодированию для реализации. И поэтому у нас есть команда execute для этого. Так что на каждом этапе у нас есть команда, которую мы будем вызывать в нашей удаленной системе, чтобы запустить эту часть процесса. А затем у нас также есть проверка в самом конце. Так что он может запускать линтинг и юнит-тесты, возможно, даже запускать веб-сайт и посещать его для проверки вещей, прежде чем он отправит их на staging. Как будто это очень, очень всеобъемлюще под капотом. И это все с использованием команд и глобальных правил, которые мы установили, когда впервые начинаем наш проект. И в курсе Dynamis Agenta Coding я показываю вам, как сделать все это. И я углубляюсь во все детали, чтобы сделать его действительно легко понятным, типа, хорошо, эта часть процесса, мне нужно, чтобы эти вещи уже были настроены. А затем позвольте мне перейти к структурированному плану. И я углубляюсь в то, как вы настраиваете структуру для плана и как мы отправляем его помощнику по кодированию. А затем, как выглядят наши различные команды. Так что есть много структуры для этого за кулисами. И поэтому, опять же, если вы заинтересованы в том, чтобы действительно, действительно глубоко погрузиться в освоение систем для агентского кодирования, определенно, как будто я снова размещу ссылку на это в чате. Определенно ознакомьтесь со специальной скидкой, которую мы предлагаем сегодня на Black Friday. Так что я снова размещу это. Э, потому что да, эта скидка исчезнет после прямого эфира. И все, о чем я говорю, даже все, что я демонстрирую сегодня, я углубляюсь в еще более подробные сведения в курсе Aenta Coding. И поэтому я просто хотел предварительно сказать это. Да, давайте вернемся к этому. Так что после моей предварительной подготовки я использую часть команды invoke моей системы удаленного агентского кодирования снова. И конкретная команда, которую я использую, [кашель] извините [кашель] меня, называется plan feature GitHub. И поэтому, кстати, все эти различные команды, которые у меня есть, как я уже говорил ранее, это действительно просто команды, как документы markdown, которые у меня есть в моем репозитории. И поэтому, например, prime GitHub, который я только что показал, запущенный через проблему GitHub, это просто вот это. И, как я уже сказал, это действительно просто пошаговый процесс, типа, вот что вы делаете, чтобы быстро подготовиться к кодовой базе, и вот что я хочу, чтобы вы вывели в конце. И поэтому мы запустили это. Помощник по кодированию прочитал этот документ markdown, или, скорее, моя система автоматически загрузила его в качестве контекста и инструкций для Cloud Code, а затем он вывел окончательный отчет. И теперь мы переходим к планированию нашей функции. Так что я уже запустил, как бы, /load commands и все остальное. Так что у него есть доступ ко всем этим. И поэтому, когда мы планируем новую задачу с нашим рабочим процессом GitHub здесь, мы просто передаем аргументы здесь, которые являются, как бы, функцией, которую мы хотим создать, или в нашем случае это просто, как бы, займись этой проблемой, я хочу, чтобы ты сделал лучший заголовок для нашей боковой панели слева. И поэтому пошаговое описание здесь просто описывает процесс планирования для нашего помощника по кодированию. Так что мы понимаем функцию, затем мы анализируем кодовую базу, чтобы увидеть, какие вещи нам придется корректировать, или, как бы, какие части кодовой базы нам придется редактировать. Мы ссылаемся на внешнюю документацию и исследуем все, что нам нужно, а затем создаем этот структурированный план. И когда вы создаете свою собственную систему для вставки в систему удаленного агентского кодирования, вы можете делать все, что угодно, что касается вашего структурированного плана или того, как выглядят ваши команды. Это красота этого, я загрузил это в свои собственные пользовательские команды, и я могу изменять их в любой момент. Вы можете иметь совершенно другой набор команд, которые вы вызываете всякий раз, когда хотите что-то построить. Вы можете вообще не использовать команды, если хотите сделать это по какой-либо причине. Как будто это полностью зависит от вас, как вы используете эту систему в GitHub, Telegram, где бы она ни была. И я расскажу позже о том, как мы можем интегрировать другие приложения, такие как Notion и Slack. И поэтому я описываю, как бы, пользовательскую историю и постановку проблемы. Вот различные части контекста, на которые я хочу ссылаться, как будто я буду редактировать в кодовой базе. План реализации, который имеет мой список задач, как будто действительно, действительно углубляюсь в детали всего, что нам нужно учесть для реализации этой функции, включая процесс проверки. Теперь, очевидно, для того, что мы строим здесь, нам не нужен такой всеобъемлющий план, чтобы просто обновить заголовок фронтенда. Но я, очевидно, я продолжаю говорить очевидно, но я построил это для работы с гораздо более сложными запросами на функции. И поэтому, да, это избыточно для того, что я хочу сделать сейчас, но я делаю что-то такое простое только ради краткой демонстрации. Обычно то, что я отправляю для цикла piv, будет чем-то гораздо более сложным, например, добавлением нового инструмента в мой AI Agent, например. И это одна из вещей, которую я фактически демонстрирую в курсе Agentic Coding, это то, что я использую эту систему для создания, как бы, очень надежного инструмента веб-поиска в основном агенте, который я строю на протяжении всего курса. И поэтому мы делаем планирование здесь, и он возвращается и дает мне окончательный отчет GitHub. И поэтому он создал ветку, а затем также создал структурированный план в этой ветке. Так что он сообщает мне абсолютно все, что я сделал. И все это благодаря промптингу в команде plan, чтобы он знал, как бы, дать мне эту информацию. И поэтому теперь я могу пойти и проверить структурированный план, если хочу. Как будто я могу включить себя в цикл столько, сколько хочу. Очевидно, в этом случае он очень уверен, что я могу добиться успеха с одной попытки реализации. И поэтому я могу просто перейти к вызову следующей команды. И поэтому я делаю то же самое здесь. /command invoke. Но на этот раз я использую execute. Так что он примет два аргумента здесь. Нам нужен путь к нашему структурированному плану для реализации. А затем нам нужна ветка функции, над которой мы работаем. Так что это очень git-ориентированный рабочий процесс. Каждый раз, когда мы работаем над чем-то новым, мы делаем это в конкретной ветке функции. И поэтому он проходит через эту реализацию в этой ветке на основе этого плана. А затем он дает мне отчет в конце. [хмыкает] И он не только дает мне отчет в конце, но и создает pull request для меня. И поэтому мы объединяем эту ветку функции с реализацией в нашу ветку staging. И поэтому, как только я приму это слияние или этот pull request, он автоматически через Render развернет вещи на моем chat-staging.dynamus.ai. Так что, не имея необходимости вручную развертывать что-либо, я могу автоматически просматривать, по сути, артефакт того, что создал помощник по кодированию. И поэтому я могу убедиться, что заголовок здесь выглядит лучше. Очевидно, это уже, я прошел весь процесс. Так что он уже есть и в производственной версии сайта. Но если бы я делал это впервые, здесь все еще было бы написано AI Chat в моем производственном URL, но затем staging теперь имел бы новый. Так что я могу проверить вещи здесь, прежде чем я вернусь и скажу ему объединить их в main. И когда мы будем готовы объединить их в main, я могу, как бы, перейти в Telegram, например. Позвольте мне просто сбросить разговор. И я могу буквально просто сказать, как бы, вы знаете, я только что внес изменения в staging. Это выглядит хорошо. Пожалуйста, откройте PR, чтобы объединить это в основную ветку. И я сделаю именно это в живой демонстрации немного позже. Но как будто это так просто. Как будто, как только я поставлю галочку, типа, хорошо, я сам посетил артефакт, даже на своем телефоне, тогда я могу объединить вещи в main. И поэтому, если мы хотим, мы можем просмотреть структурированный план. Мы можем просмотреть все изменения, которые были внесены в кодовую базу. Как будто я могу перейти к pull request здесь, и я могу посмотреть измененные файлы. Э, как будто в этом случае chat sidebar — это то, что действительно было изменено. Эти другие — просто потому, что моя ветка staging немного устарела, но это то, что действительно было изменено. И поэтому я могу посмотреть это построчно, если хочу, или если я доверяю вещам достаточно, я просто посещаю артефакт. Так что снова гибкость в системе — это то, что у нас есть здесь. Это ее красота. И поэтому это, по сути, конец, как бы, этой простой демонстрации, проходящей через то, что я уже сделал. Но теперь, чтобы действительно донести до вас мощь этого, я также хочу провести живую демонстрацию, где я не просто, как бы, прокручиваю комментарии, которые я уже сделал, но фактически прохожу через это с вами, и мы построим что-то новое, и мы увидим, как оно, как бы, появится в staging. Мы проверим это здесь, а затем мы объединим это и, как бы, получим это в продакшене. Так что это будет очень весело. Но прежде чем мы это сделаем, я также хочу показать вам, как все это настроить для себя. Так что это своего рода, как бы, введение. Теперь я хочу перейти к настройке, на случай, если вы действительно хотите следовать и, как бы, использовать это, потому что это то, что я раздаю для прямого эфира. Так что я сделаю это через секунду, но я также хочу уделить минуту, чтобы, э, ответить на любые вопросы. И поэтому, да, я собираюсь, э, вернуться к моему полному кадру. Хорошо. А затем позвольте мне поднять это. Не это. Сделаем это. Хорошо, вот так. Круто. Так что, вернувшись к полному кадру, я уделю немного времени, чтобы пообщаться с вами и ответить на некоторые вопросы. Затем мы перейдем к настройке, затем к живой демонстрации. Затем я также расскажу о том, как мы можем расширить это для работы с другими приложениями и помощниками по кодированию. Так что, как я уже сказал, у меня много действительно захватывающих вещей в запасе на сегодня. Так что, хорошо, позвольте мне начать с первого здесь. Э, извините, мне нужно немного организовать вещи на другом мониторе. Так что позвольте мне вернуться сюда. Хорошо, так что Остин спросил: «Будет ли у нас уже доступ к курсу, если мы уже в сообществе Dynamus?» Да, Остин, на 100%. Так что курс Dynamus Agentic Coding является частью сообщества. Это не что-то отдельное. Так что, если вы уже в сообществе, у вас есть доступ к этому прямо сейчас. Но да, очень хороший вопрос. И, э, да, спасибо Сидни за то, что тоже это сказали. Этот фреймворк-движок безумен. Да, это так. Я ценю это. Круто. Э, посмотрим. Был еще один комментарий, который я хотел затронуть. [хмыкает] Ну, во-первых, Коул работает день и ночь. Выглядит очень усталым. Ну, да, я только что оправился от простуды. Я на самом деле не устал. Как будто я чувствую себя хорошо, и я взволнован этим, но да, я, вероятно, просто не выгляжу на 100%. Э, и, вероятно, как будто голос своего рода плацебо, где, возможно, он заставляет меня выглядеть усталым, но я не устал. Но да, э, Питер сказал, что у него также есть элемент памяти, поскольку есть база данных Postgress с тремя таблицами для отслеживания истории. Да, это еще одна часть системы, которую я затрону. Э, позвольте мне фактически снова открыть мою сцену. Так что я перейду к архитектуре этой системы. И я знаю, что, как будто архитектура не всегда так интересна, но я думаю, вы на самом деле очень оцените, как я построил эту систему. И таблицы базы данных — это одна из вещей, о которых я расскажу, что на самом деле очень круто, потому что я настроил ее так, что вы можете перезапустить это приложение, как будто разобрать его и снова запустить, и оно все еще знает все команды, которые вы загрузили для ваших различных репозиториев. Вы можете возобновить разговоры, потому что все сохраняется в базе данных Postgress, и вы можете запускать базу данных локально или вы можете сделать что-то удаленное, как с Superbase или Neon. И поэтому да, сохранение данных — это большая часть того, что я спроектировал. Так что да, только что получил свое членство. Довольный клиент. Я очень ценю это. Спасибо и добро пожаловать в сообщество. Хорошо. Э, посмотрим. Можно ли это подключить к Archon? Это очень хороший вопрос. Так что, да, эта система может работать с любым сервером MCP, который вы хотите. Теперь это выходит за рамки этого прямого эфира, к сожалению, но это один из способов, которым я буду развивать это. Так что, если вы присоединитесь к сообществу Dynamis, э, эта система удаленного кодирования агентов — это то, над чем я буду продолжать работать и включать серверы MCP больше, как будто фактически настраивая способ для нас, как будто в Telegram или в Slack подключать наши MCP. Это то, что я буду встраивать в эту систему. Так что обязательно оставайтесь с нами. И это то, что, как будто вы можете включить прямо сейчас, если хотите. Так что я знаю, что я говорю, что это выходит за рамки этого прямого эфира, но просто очень быстро, как будто, если вы возьмете эту систему удаленного кодирования агентов и зайдете в своего помощника по кодированию, дадите ему конфигурацию для сервера MCP, такого как Playright или Archon или Sneak, или что бы это ни было, и просто скажете ему, типа, я хочу, чтобы ты добавил это в мой SDK для агентов Claude Code или добавил это в SDK Codeex. Он сможет сделать это и, вероятно, справится с этим за один раз. Так что да, это определенно то, что вы можете сделать, если хотите расширить систему для себя. И это еще одна вещь с, э, системой, которая у нас есть здесь, это, э, она очень хорошо спроектирована не только для того, чтобы я мог ее расширять, но и для того, чтобы вы могли это делать. И поэтому помощники по кодированию могут хорошо работать с этой кодовой базой, потому что я оптимизировал всю кодовую базу для понимания, навигации и реализации новых вещей агентами. И это еще одна вещь, которую я много освещаю в курсе Agentic Coding — это не только то, как мы можем построить нашу систему для помощи в AI-кодировании, но и то, как мы можем создавать кодовые базы, оптимизированные для работы агентов по кодированию. И когда вы объединяете оба эти вещи, как будто у вас есть очень надежная система для планирования, реализации и проверки, и у вас есть кодовая база, оптимизированная для AI, потолок просто, как будто, очень высок для того, что вы можете построить, даже как будто за один раз. Не говорю, что вы можете построить целое приложение за один раз, и как будто вы разовьете этот навык, чтобы, как бы, понимать, чего может достичь ваша система, но да, это довольно безумно, какие вещи я могу построить с, э, действительно просто имея возможность использовать свою систему так же, как я всегда это делаю. Как будто я прохожу через планирование, я прохожу через реализацию, и я чувствую, что я делаю одно и то же каждый раз, но я строю, как будто эти действительно крутые вещи, как будто очень, очень быстро. Посмотрим. Э, я не могу сделать свой форк приватным. Измените видимость репозитория по соображениям безопасности. Вы не можете изменить видимость форка. Да, так что когда вы форкаете репозиторий с открытым исходным кодом, он должен быть публичным, к сожалению. Э, но простое решение — вы можете просто создать приватный репозиторий, а затем скопировать все из системы удаленного кодирования агентов. И поэтому да, вы можете, по сути, сделать форк. Это просто дополнительный шаг, когда вам нужно скопировать вещи вручную. Но да, тогда вы будете, вы будете в порядке. И это будет полностью приватным. У Джозефа то же самое. Да, то же самое решение. Планирование — это ключ, как я слышу. Э, да, 100% планирование — это ключ. И позвольте мне фактически вернуться к моей сцене, потому что я хочу поговорить об этом очень быстро. Так что, когда вы видите, как бы, то, что вы видите, как я делаю в системе удаленного агентского кодирования, это то, как я всегда использую помощь в AI-кодировании. Теперь я прохожу через этот процесс цикла piv, где я делаю предварительную подготовку, я делаю планирование, а затем я перехожу к реализации. Но планирование, как будто, занимает половину моей диаграммы здесь, и оно занимает половину по причине. И то, что я только что показал вам в демонстрации, обычно я делаю гораздо больше планирования, потому что я начинаю с того, что я называю «планирование по настроению». И поэтому на этом этапе это неструктурированный разговор, где наша цель — просто исследовать идеи, архитектуру, концепции и технологический стек.

Мы хотим прийти к единому пониманию с нашим ИИ-ассистентом по программированию, что мы строим для следующей функции для нашего следующего PIV-цикла. И это на самом деле своего рода приятное облегчение. Например, когда мы впервые начинаем работать с ассистентом по программированию над чем-то, нам не нужно иметь эту безумную структуру. Мы просто начинаем с очень непринужденной беседы. И затем, как только мы уверены, что мы на одной волне с тем, что мы строим, например, мы вносим это изменение в фронтенд или делаем что-то еще, тогда мы переходим к созданию нашего структурированного плана. Таким образом, вы развиваетесь в структуру, где у вас есть этот документ, о котором я говорил ранее. Но вам не нужно начинать с этого. Сначала это может быть очень свободно, но этот процесс планирования является самой важной частью любой [хмыкает] агентивной системы кодирования, потому что если ваш план плохой, не имеет значения, используете ли вы новейший и величайший opus 4.5. Не имеет значения, если ваша команда выполнения действительно хорошо проработана. Если ваш структурный план плохой, и агент не понимает, что вы на самом деле хотите построить, это полностью провалится. Не имеет значения, что у него есть для проверки. Вам нужен кристально чистый план. Не только чтобы он понимал, что строить, но и чтобы он понимал, или я должен сказать, не только чтобы он понимал, как делать вещи хорошо и как исследовать и как документировать, но и чтобы он понимал ваше видение проекта и этой функции. И поэтому это ваше место, чтобы направить его точно в соответствии с вашими проектными решениями и вашим видением проекта. Итак, я ценю, что вы это сказали, потому что да, планирование — это самое важное. Еще один вопрос: вы когда-нибудь пробовали specit и другие фреймворки, которые повышают контекст проекта для ИИ-ассистентов по программированию? Очень хороший вопрос. Ответ — 100% да. Даже до такой степени, что у меня есть пара модулей в курсе, которые посвящены попыткам некоторых из этих других стратегий инженерии контекста. И поэтому часть причины, по которой мой голос сейчас такой, заключается в том, что я провел три полуторачасовых семинара в сообществе Dynamis ранее на этой неделе, в понедельник, вторник и среду. И особенно в среду мой голос действительно подводил. Но мы справились. Это был отличный семинар. Но то, что я сделал, чтобы закончить курс, это [хмыкает] я охватил фреймворк PRP, а затем два, которые вы буквально только что упомянули, GitHub spec kit и метод BMAD. Теперь причина, по которой они находятся в конце курса, заключается в том, что остальная часть курса посвящена тому, как создать свою собственную систему, верно? Например, метод BMAD и GitHub spec kit. Вы можете думать об этом как об авторитетной готовой системе для инженерии контекста. Так что они действительно очень мощные, и все три из них очень хорошо разработаны. У меня есть глубокий уровень уважения ко всем трем. Есть также много других хороших стратегий для инженерии контекста, например, clawed flow. Так что все они фантастические. Но дело в том, что когда система находится в ваших руках, и вы можете развивать ее, чтобы она лучше всего работала для ваших кодовых баз, вы всегда сможете превзойти любое готовое решение. Так что, хотя они фантастические, то, как я позиционирую их в прямых трансляциях, которые я проводил здесь, и в конце нашего курса, это как бы: хорошо, теперь, когда вы прошли курс и понимаете, как создать свою собственную систему, теперь я хочу, чтобы вы попробовали их, не для того, чтобы заменить систему, которую вы только что построили для себя. Например, у вас уже есть свои правила. У вас уже есть свои команды и контексты и все остальное создано, но я хочу, чтобы вы прошли через их использование, чтобы вы могли учиться у них, потому что они гениально, если это слово, гениально реализованы. Например, метод BMAD имеет так много действительно классных архитектурных элементов, встроенных в него. И есть так много соображений, которые вы можете рассмотреть, как они делают вещи, например, как они включают суб-агентов для, вы знаете, как Мэри-аналитик и Уинстон-архитектор и тому подобное, Джон, ваш менеджер проекта, и вы можете взять части этого и встроить их в свою собственную систему. Так что используйте их как возможность для обучения, чтобы развивать свою собственную систему, а не просто использовать их готовыми, потому что это не будет работать так же хорошо, как то, что вы можете сделать, если вы действительно развиваете свою собственную систему. И поэтому, да, я надеюсь, что это звучит для вас хорошо. Например, это здорово, но вы хотите построить свою собственную вещь. И поэтому, да, если вы действительно заинтересованы в создании своей собственной пользовательской системы для кодирования, которая действительно оптимизирована для вашего кода, тогда вы захотите воспользоваться предложением, которое у нас есть только для прямой трансляции здесь, 45% скидка на годовую подписку и 25% скидка на ежемесячную, потому что этот курс закончен с среды. И я повторяюсь немного, потому что люди приходят и уходят из трансляции, но с среды на этой неделе этот полный курс агентивного кодирования завершен. И я работал как проклятый над этим последние пару месяцев. И поэтому, да, это сюрреалистично, что этот курс закончен. Я начал планировать это еще в июне, думая о том, как я хочу начать курс с модуля два о PIV-цикле, а затем о том, когда я буду охватывать MCP-серверы, когда я буду охватывать создание системы, которая может развиваться сама по себе, потому что я также рассматриваю это в модуле 7, а затем думаю о том, как я хочу позиционировать различные стратегии инженерии контекста, о которых я только что говорил, например, так много всего пошло на планирование структуры этого, и всего остального, и поэтому, да, это просто сюрреалистично, что это доступно. Но да, я ценю, что вы спрашиваете о других стратегиях инженерии контекста, и да, вы очень, очень добро пожаловать. Джек спросил: "Как мы можем получить доступ к курсу?" Да, действительно хороший вопрос. Ну, вот, позвольте мне снова разместить ссылку в чате для специальной возможности для прямой трансляции здесь с действительно большой скидкой. И кстати, это в честь выпуска курса. И поэтому еще в июле или августе я уже знал, что хочу, чтобы курс был готов ко времени этой прямой трансляции, и просто как бы, знаете, вся эта история с Черной пятницей, Киберпонедельником. Круто. Хорошо, давайте вернемся к чату. Один момент. Вот оно. Только что подписался на ежемесячную цену. Спасибо. Отлично. Пожалуйста. И добро пожаловать в сообщество. Очень ценю. Круто. Opus 4.5 для планирования и бэкенда. Gemini 3 для фронтенда. Да, это то, с чем я тоже много экспериментировал, пытаясь использовать. Да, Gemini 3 кажется действительно хорошим в визуальных вещах гораздо больше, чем облачные модели. Особенно потому, что в anti-gravity у нас есть интеграция с Google Chrome. Так что это похоже на MCP-сервер Playwright, где в anti-gravity Gemini 3 может запустить браузер и автономно перемещаться по вашему веб-сайту для визуальной проверки вещей. Это очень, очень мощно. Но да, в целом для большинства вещей, Claude Opus 4.5 кажется самой сильной моделью кодирования с заметным отрывом. Это довольно заметно, и поэтому я определенно использую ее сегодня для большинства вещей. Коул звучал как старый курильщик в конце семинаров. Да, я, вероятно, буду и в конце этого сегодня тоже, Шон. Нет, это смешно. Да, я как бы [кашляет] Да, но я справляюсь. Это хорошо. Нет, к счастью, я чувствую себя на 100%. У меня была сильная головная боль и даже легкое расстройство желудка в среду. Это было не весело. Но даже в четверг я снова чувствовал себя хорошо. Быстрый привет сообществу Dynamus AI. Присоединился всего неделю назад и уже поражен. Мне удалось посетить три семинара и многому научиться. Стоит каждого пенни. Большое вам спасибо. Я очень ценю это. И да, три семинара за первую неделю — это много времени. Так что спасибо, что были частью всего этого. И кстати, все семинары записываются в сообществе. Так что я знаю, что каждую неделю у нас происходит куча всего. Так что вы всегда можете вернуться к вещам. И когда вы присоединяетесь к сообществу, вы также имеете доступ ко всему, что уже было сделано, ко всем курсам, всем семинарам и другим мероприятиям. Так что никогда не бывает так, что вы присоединяетесь, а затем получаете только то, что будет дальше. Я понимаю, что могу сделать что угодно быстро, и внезапно ничто не имеет ценности, кроме опыта его создания. Но это та часть, которую я убираю. Люблю строить свою агентивную платформу, но ненавижу реально с ней работать. Это интересно. Я думаю, может быть, вы могли бы немного подробнее рассказать, что вы имеете в виду. Я предполагаю, что вы имеете в виду, что так легко построить что угодно сейчас, что все как бы стало товаром. Я не знаю, имеете ли вы это в виду, когда говорите это сначала, но это определенно интересная вещь для рассмотрения — это ров, знаете ли, защита, которую вы раньше имели вокруг того, что вы строите. Часто это могло быть просто потому, что эта вещь была так сложна в создании, но теперь благодаря помощи в программировании и тому, как быстро вы можете создавать вещи, особенно с правильной системой, эта ров исчезает. Например, когда вы строите что-то очень архитектурно сложное, кто-то другой все равно, вероятно, сможет построить это за месяц или меньше. И поэтому теперь, чтобы действительно защитить свой бизнес, важнее аудитория, которую вы имеете, охват, который вы имеете для того, что вы строите, и видение за этим. Например, вы хотите, чтобы люди поддерживали ваше видение больше, чем вы хотите, чтобы они поддерживали, знаете ли, возможности вашего приложения, потому что такая вещь очень легко воспроизводима. Так что я не знаю, было ли это именно то, что вы имели в виду, но это действительно интересная вещь для размышления, просто потому, что программное обеспечение сейчас является товаром, по крайней мере, так говорят многие люди в наши дни. Да. Надеюсь, вы дадите нам видео об anti-gravity. Я планирую это. Да. Потому что есть пара вещей в anti-gravity, которые меня действительно увлекают. Интеграция с Google Chrome, которую я уже упомянул, — одна из них, и это не что-то совершенно новое. У вас есть MCP-серверы для такой визуальной проверки веб-сайтов, и даже для создания снимков экрана в качестве артефактов для вас для проверки. Но кажется, что интеграция с Google Chrome работает намного лучше, чем использование MCP. Она интегрирована непосредственно в IDE, а системный промпт для Gemini в anti-gravity оптимизирован для работы с ней. Так что это очень мощно. А затем другая вещь в anti-gravity — это рабочие заказы агента или менеджер агента, который у вас есть как еще один вариант традиционной IDE. Так что вы можете управлять своими ИИ-помощниками по программированию параллельно, похоже на систему удаленного агентивного кодирования, но вы делаете это непосредственно в IDE. Это тоже очень круто. Так что да, определенно хочу осветить это в видео. [хмыкает] Дэвид спросил: "Ты в порядке? Сегодня звучишь иначе?" Да, так что мой голос — я все еще восстанавливаюсь после чего-то ранее на этой неделе. Но да, к счастью, как долго? Трансляция идет уже 55 минут, и мой голос определенно не идеален, но и не ухудшается. Так что я просто хочу отметить это, я чувствую себя хорошо по этому поводу, хотя, конечно, я хотел бы, чтобы мой голос был в полном порядке. Круто. Забавно видеть, что вы строите похожие вещи, как и я. Я построил для себя CI/CD для добавления инструментов MCP. Настоятельно рекомендую real DB. Очень, очень круто. Это здорово. Лучшее обучение онлайн. Я ценю это, Карен. Большое спасибо. Джим наслаждается снежным днем сегодня. О да, потому что Джим, ты тоже в Миннесоте. Да, сегодня в Миннесоте красиво. Если в марте будет так же, я скажу, что это уродливо. Но когда это декабрь, или, я бы сказал, конец ноября, и мы получаем снег во второй раз, это довольно приятно снаружи. Цифровая новизна испарилась. Я имею в виду, да, это еще один способ сказать, что программное обеспечение сейчас является товаром, но я не знаю, скажу ли я, что новизна полностью исчезла. Это интересная вещь для размышления. Мы можем строить что угодно очень быстро, но это все равно должно начинаться с человека, чтобы у него была идея, по крайней мере, в целом. И поэтому я уверен, что в ближайшее десятилетие и далее будет выпущено много разных приложений, которые могут быть очевидными, как кто-то говорит: "О, это так просто. Я мог бы построить это за неделю и заработать миллион долларов". Но это просто человек, который первым получает идею, а затем также имеет охват, чтобы донести ее до людей. Так что я не знаю, скажу ли я, что она полностью испарилась, но определенно сложнее придумать совершенно новую идею, которую еще не построили, потому что люди, [кашель] [кашель] извините, люди просто построили все. Это определенно так ощущается. Так что я понимаю, что вы имеете в виду. [хмыкает] Мне все еще интересно, удаленная система — это похоже на интеграцию Джулс и Клода с GitHub. Да. Так что ответ — да. И поэтому, да, я думаю, я объясню это, а затем позвольте мне вернуться к тому, чтобы помочь вам настроить систему удаленного агентивного кодирования. Но да, так что позвольте мне вернуться к моему экрану. Я объяснил это немного раньше, но то, что мы строим здесь с системой удаленного агентивного кодирования, и то, что я даю вам сегодня только в прямой трансляции, это то, что, я бы не сказал, что это совершенно новое, как вы сказали, Джулс и Клод GitHub, у нас есть Codeex, Cloud Code для веба, у нас есть Factory, но что действительно новое здесь, это уровень контроля, который у нас есть, когда это наша собственная система, которая, [хмыкает] кстати, поскольку у вас есть код, и я оптимизировал эту кодовую базу, чтобы ее было действительно легко создавать новые вещи, вы также можете свободно расширять ее для себя, если вы хотите интегрировать ее в, знаете ли, Notion или Linear или Slack, или вы хотите добавить Open Code в качестве вашего ИИ-помощника по программированию, и вы можете делать такие вещи, как настраивать MCP-серверы и создавать свои собственные команды, которые вы действительно не можете сделать, по крайней мере, так же легко, как в чем-то более готовом. И затем другое основное преимущество заключается в том, что поскольку мы можем интегрировать это где угодно, мы можем принести наших агентов кодирования в приложения, где мы фактически выполняем нашу работу. И вы не можете сделать это с чем-то вроде Cloud Code для веба. Если я на телефоне, я должен зайти на этот веб-сайт. Я не могу просто открыть приложение Telegram. И затем есть просто гораздо меньше места для настройки, даже с пользовательским интерфейсом. Например, может быть, я также хочу настроить в Slack, как я управляю различными разговорами в разных ветках с моими агентами. Например, у меня есть возможность настроить фронтенд также через конкретное приложение, которое я интегрирую, и как я его настраиваю. Извините. Я сделаю перерыв на глоток. Хорошо. О, круто. Маронеи присоединился. Наконец-то смог присоединиться. Вы в прямом эфире из-за часового пояса. Просто хочу поддержать. Прошел все модули, как и Шон. Очень, очень круто. [кашель и кашель] Извините. У меня может быть приступ кашля время от времени, но надеюсь, я буду в порядке. Но да, спасибо, Маронеи. Я очень ценю это. Да, есть пара из вас, кто прошел весь курс, даже несмотря на то, что я быстро прошел его за последние полтора месяца. Так что я ценю вас, потому что там много всего. Например, если вы присоединитесь сегодня, будет тонна контента для вас на всю оставшуюся жизнь. Кажется, я вложил так много времени в предоставление ценности здесь. Так что я ценю это, Маронеи. Хорошо, круто. Итак, с этим давайте немного перейдем к настройке. Извините. Итак, если вы следили за этим до сих пор, вы знаете, как это работает и почему это важно, почему я искренне верю, что это будущее агентивного кодирования. Но да, если у вас есть репозиторий, клонированный или загруженный прямо сейчас, я просто хочу быстро пройтись по настройке. Теперь я буду идти довольно быстро, и самая большая причина в том, что это довольно просто. Если вы пройдете по README, я все очень четко документировал. Похоже, этот README нужно обновить. Подождите, я отредактирую это. Извините, ребята, у меня здесь опечатка, потому что репозиторий colam0000. Так что давайте быстро исправим это. Так что вы можете загрузить последние изменения, если хотите, или вы можете просто скопировать это здесь. Это URL для клонирования репозитория GitHub. Так что вы клонируете репозиторий, а затем настраиваем переменные окружения. И поэтому есть пара вещей, которые нам нужны для нашего приложения заранее. Нам нужен URL нашей базы данных, потому что, как я говорил, когда я немного освещал архитектуру, я углублюсь в это позже. Это на самом деле очень интересно. У нас есть несколько разных таблиц в нашей базе данных для сохранения кодовых баз, над которыми мы работаем в нашей системе, различных разговоров, которые у нас идут, а также различных сессий. И поэтому мы можем с помощью этих сессий возобновлять разговоры между разными ветками. Даже если мы включим приложение и снова запустим его, мы не потеряем никакой информации. Так что нам нужна база данных. И нам также нужен наш токен GitHub, потому что, чтобы эта система удаленного агентивного кодирования работала, она должна быть очень Git-ориентированной. Как мы видели в демонстрации ранее, все, что я делал, основывалось на чем-то в GitHub. Даже если мы используем приложение в Telegram, и мы не используем его в проблеме GitHub или запросе на извлечение GitHub, оно все равно должно использовать GitHub, например, для создания запроса на извлечение, как мы видим здесь. Так что, если мы хотим иметь возможность просматривать изменения и управлять [хмыкает] различными средами, такими как staging и main, нам всегда нужен помощник по программированию, имеющий прямой доступ к нашим репозиториям через GitHub CLI. Так что GitHub CLI является основным компонентом этого приложения. Это инструмент, который мы всегда предоставляем нашим агентам кодирования, работающим в этой системе. И я не могу достаточно подчеркнуть, насколько важно иметь доступ к GitHub CLI, потому что иначе, подумайте, что произойдет, если у нас не будет доступа к GitHub. Если у нас не будет доступа к GitHub, то агент внесет изменение локально. Но поскольку это удаленная система, мы не можем фактически видеть изменение, которое он сделал. И поэтому, если мы говорим с ним по телефону, например, Telegram или GitHub или что-то еще, мы буквально не можем видеть, что он сделал. Ему нужно использовать GitHub как способ делиться своими изменениями и публиковать их. Это немного отличается от того, когда мы работаем локально. И это действительно ключевое отличие. Когда мы работаем локально с нашим помощником по программированию, он вносит изменения рядом с кодовой базой, которую мы также просматриваем, потому что он работает бок о бок с нами. Теперь, с системой удаленного кодирования, мы хотим настроить ее так, чтобы она ощущалась как помощник по программированию, работающий бок о бок как можно больше, но на самом деле он работает на другом устройстве. И поэтому локальный репозиторий — это не то, к чему мы можем получить доступ, кроме как попросить его обобщить вещи. Например, конечно, если у нас нет доступа к GitHub, мы можем просто сказать ему: "Пожалуйста, обобщи изменения, которые ты сделал, или я хочу, чтобы ты точно рассказал мне, как выглядит этот фронтенд-компонент сейчас, когда ты его обновил". Мы можем сделать это, но все равно нет способа для нас действительно погрузиться в код самостоятельно или способа его опубликовать. Так что для этого нужен GitHub. Так что мы настраиваем эти две вещи, и я перейду в репозиторий. Так что у меня он клонирован локально прямо сейчас. Если я перейду в env.ample example, мы настраиваем нашу базу данных, а затем настраиваем наш токен GitHub. Так что вам нужно скопировать значение здесь, потому что токен GitHub, который вы используете для GitHub CLI, имеет другое имя переменной окружения, чем то, которое используется для веб-хука GitHub. Извините. Прошу прощения. Я знаю, что это немного запутанно, но вы просто используете одно и то же значение для обоих. И способ получить доступ к этому токену — это перейти в настройки GitHub, а затем перейти в персональные токены доступа. Так что я нажму вверху справа. И, как я уже сказал, я пройдусь по всей этой настройке довольно быстро, но я просто хочу быстро остановиться на этом для тех из вас, кто хочет настроить это в прямом эфире со мной прямо сейчас. И поэтому я перейду в свои настройки вверху справа. И вы просто прокрутите вниз до настроек разработчика, а затем нажмите на персональные токены доступа. И обычно я просто создаю классический токен с доступом к репозиторию. Так что вот куда вы идете. Он проведет вас через это. Это просто пара шагов для создания вашего токена. А затем вы сохраняете это в этих двух переменных окружения, одно и то же значение. И затем мы доходим до момента, когда мы настраиваем нашего помощника по программированию и приложения, с которыми мы хотим интегрироваться. И поэтому остальные переменные окружения будут зависеть от конкретных инструментов, которые вы хотите использовать. И поэтому в настоящее время система удаленного агентивного кодирования поддерживает как Cloud Code, так и Codeex. Мы можем использовать оба одновременно. Мы можем настроить только один. Это часть гибкости, которую мы имеем здесь, которой у вас не будет с чем-то вроде Cloud Code для веба. Очевидно, вам придется использовать Cloud Code, что тоже неприятно, кстати, когда у Anthropic происходит сбой. Мы видим это все время, когда у вас возникают сбои или даже просто ограничения скорости. И поэтому еще одно преимущество этой системы заключается в том, что всякий раз, когда возникает проблема с одним провайдером, вы можете просто переключиться на следующий. Например, даже за последние пару недель были сбои у Anthropic. И поэтому я просто захожу в свою систему и говорю: "Хорошо, давайте изменим это здесь. По умолчанию ИИ-помощником теперь будет CodeEx. И тогда бум, я в деле. Просто продолжаю свою работу, но теперь он использует codecs вместо Cloud Code. И поэтому, да, по мере того, как я продолжаю расширять эту систему, чтобы добавить больше помощников по программированию, это добавляет еще больше гибкости. И, как я уже сказал, я оптимизировал кодовую базу таким образом, что с одним PIV-циклом, таким как план, реализация, проверка, я могу добавить Open Code, или что касается наших интеграций приложений, я могу добавить Slack. Так что да, вы просто выбираете своего помощника по программированию, а затем у меня есть небольшой значок шеврона, который вы можете развернуть, который даст вам инструкции по получению вашего ключа подписки. И поэтому это не ваш ключ API Anthropic. Вы можете использовать его, если хотите, но это будет гораздо более экономично, если вы используете свой токен подписки. И многие люди этого не знают. По какой-то причине даже некоторые ютуберы, которых я видел, имеют это заблуждение, что при программном использовании Claude Code, как я делаю здесь с Claude Agents SDK, они думают, что вам нужно использовать свой ключ API Anthropic, что неприятно, потому что вы в конечном итоге платите десятки долларов просто за пару функций, которые вы реализуете. Так что вам гораздо выгоднее заплатить 20, 100 или 200 долларов в месяц. Это три уровня, которые у них есть, или что-то в этом роде. И тогда, конечно, у вас есть ограничения скорости, но в остальном, за каждый раз, когда вы проходите через вашу удаленную систему кодирования, вы не платите ничего дополнительно, вы просто платите эту фиксированную плату за подписку. Так что вы можете в вашей локальной машине, как только у вас установлен Claude Code CLI, позвольте мне немного увеличить масштаб. Затем вы можете запустить эту команду Claude setup-token, и это даст вам долгоживущий токен, чтобы система удаленного агентивного кодирования могла использовать нашу подписку Claude Code, и затем это очень похоже на Codeex. Так что вы выполняете вход в Codeex, а затем, когда вы это делаете, я фактически покажу свою папку здесь. Так что это на моем локальном компьютере. Он создает этот файл o.json. Конечно, я не буду открывать его прямо сейчас, потому что он содержит мои секреты. Именно поэтому я сейчас не запускаю токен настройки Claude. Например, я не хочу делиться своими секретами с вами. Но когда вы откроете этот файл, он даст вам эти четыре значения. И это все, что вам нужно настроить в env.ample здесь. Так что, если вы хотите использовать codec, вы устанавливаете эти четыре. Если вы хотите использовать claw code, вы устанавливаете только этот один. Или вы можете использовать оба. Например, вы можете настроить оба, а затем просто переключаться между ними, изменяя помощника по умолчанию. И затем я также настроил его так, что он фактически автоматически определяет, если вы клонируете репозиторий в системе удаленного агентивного кодирования, и у него есть папка cloud, он автоматически будет использовать Claude для всех разговоров в этом репозитории. А затем, если у вас есть папка Codeex, знаете, Codeex, например, тогда он автоматически будет использовать Codeex при начале новых разговоров в этом репозитории. Так что он гибок в этом отношении. Единственное ограничение заключается в том, что вы не можете переключаться между помощниками по программированию в середине разговора. И это на самом деле очень интересно. Причина этого в том, что эти различные SDK, такие как Cloud Agent SDK и Codeex SDK, хранят и управляют историей разговоров на своей стороне. Так что нет способа для нас получить доступ к разговору, а затем поделиться им с другим помощником по программированию. Так что, как только вы начнете разговор, как я показывал вам в Telegram или GitHub, как только вы его начнете, вы будете привязаны к этому конкретному помощнику по программированию, [хмыкает] но я действительно не думаю, что это проблема. Например, вы, вероятно, выберете тот, который вам больше нравится, и обычно будете его придерживаться. Так что это настройка нашего помощника по программированию. И затем последнее, что вам нужно сделать, это настроить адаптер платформы. Это наше приложение, где мы взаимодействуем с помощником по программированию. И поэтому для Telegram они очень легко настраивают Telegram-бота. Все, что вам нужно сделать, это отправить сообщение бот-отцу. Я фактически покажу вам это очень быстро. Так что мы переходим сюда, и я перехожу в контакты. Я ищу @botfather. А затем вы нажимаете на botfather здесь. И кстати, Telegram совершенно бесплатный, и его очень, очень легко установить. Я нажимаю "старт". И затем первая команда наверху — newbot. Так что я просто делаю /newbot. И затем он задаст мне пару вопросов, например, как я хочу его назвать. Я не буду проходить весь этот процесс прямо сейчас. Но как только вы пройдете через это, он даст вам API-ключ. И поэтому вы просто вставляете это как Telegrambot API key в ваш. И это все. Буквально настройка Telegram займет у вас около 5 минут, и тогда вы сможете мгновенно начать использовать систему удаленного агентивного кодирования в Telegram. И поэтому Telegram — это не то, что я использую вне этого приложения. Например, я установил его на свой телефон буквально только для того, чтобы удаленно общаться с Claude, но я сделал это, потому что его так легко установить и интегрировать. [кашель] И затем, когда я добавлю, например, Slack позже, это будет немного сложнее, все еще очень выполнимо. Будет немного больше настройки, потому что вам придется создать приложение в Slack и настроить OAuth и тому подобное. Это немного сложнее. И поэтому мне просто нравится, насколько прост Telegram. И поэтому, да, даже если вы ничего не знаете, например, я вижу, что Парн в чате сказал нет, он ничего не знает о настройке Telegram. Не волнуйтесь, это просто так легко, как только вы установите Telegram, который, я не знаю точного URL-адреса для Telegram, да, telegram.org, вы просто идете на telegram.org и устанавливаете его примерно за пять минут. Это очень, очень легко. И затем для GitHub это немного более подробно. Я не буду вдаваться в подробности прямо сейчас, потому что я очень четко изложил все в README, но вам придется настроить то, что называется веб-хуком GitHub. И поэтому, когда я нахожусь в GitHub здесь, и я делаю комментарий, например, "Хорошо, удаленный агент, я хочу, чтобы ты использовал команду prime". Способ, которым эта команда или этот запрос принимается моим агентом кодирования, моей удаленной системой, это использование веб-хука GitHub. И поэтому у меня есть этот репозиторий, настроенный так, что каждый раз, когда он получает комментарий к проблеме или запросу на извлечение, он отправляет запрос на этот API, который я построил в системе удаленного агентивного кодирования. И поэтому, конечно, мы просто отфильтруем любые комментарии или запросы на извлечение, которые не начинаются с @remote-agent. Правильно? Так что это своего рода шлюз: если он начинается с этого префикса, я отправлю это агенту в моей системе. И это то же самое, что и с любым другим приложением, которое я бы интегрировал, например, Slack. Мы бы просто сделали @remote-agent в Slack, и это также запускает веб-хук. И поэтому веб-хуки — это способ отправлять события из наших репозиториев в нашу систему. И поэтому я прохожу настройку здесь. Мы будем использовать токен GitHub, который мы уже настроили в основной конфигурации. А затем нам нужно создать секрет. И поэтому это команда, которую вы бы запустили в Linux или Windows. Например, я просто покажу это на Windows очень быстро. Если я запущу эту команду здесь, я просто вставлю ее. Она просто дает вам это значение. Так что вы копируете это, а затем просто переходите в свои переменные окружения и просто устанавливаете это как свой секрет здесь. Это так же просто создать свой секрет. А затем вы будете использовать этот же секрет при создании веб-хука. Так что вы переходите в настройки своего репозитория, добавляете веб-хук, и я проведу вас через различные значения, которые вам нужно установить здесь. А затем вам просто нужно, да, как я уже сказал, установить секрет веб-хука. А затем вы также можете изменить режим потоковой передачи для GitHub. Так что одна вещь, которую вы могли заметить, когда я перехожу в Telegram и говорю, например, "обобщи README", потому что это больше приложение для чата в реальном времени, я фактически получаю каждый раз, когда оно что-то делает, отвечает текстом или использует инструмент, оно сообщает мне в реальном времени, что оно делает. Но в SL, в GitHub это было немного иначе, потому что в GitHub он возвращал только окончательное сообщение, которое дал помощник по программированию, например, сводку того, что он сделал, или, например, в этом случае сводку команды prime. И я сделал это специально, потому что GitHub не является приложением для чата в реальном времени. Я не хочу, чтобы он спамил мою проблему кучей комментариев, например, "теперь я посмотрю этот файл и этот файл, а затем этот файл", и это то, что он делает в Telegram, потому что это больше приложение для чата, но здесь я просто хочу, чтобы он дал мне окончательный результат в конце. И поэтому мы фактически настраиваем это здесь, и вы можете переключаться между ними. Так что, если вы действительно хотите, чтобы ваш помощник по программированию спамил ваши проблемы здесь всеми небольшими обновлениями, которые он делает, и действиями, которые он предпринимает, вы определенно можете это сделать, если хотите. Так что опять же, просто еще один пример настройки, которую я разрешаю здесь. И затем, да, у меня есть некоторая документация о том, как вы можете упомянуть, чтобы запустить агента в ваших проблемах или запросах на извлечение. И поэтому для любого репозитория, где у вас настроен веб-хук, например, если я перейду в свои настройки в Dynamis agent и перейду в webhooks, вы можете увидеть, что у меня уже настроен этот веб-хук. Я могу нажать "редактировать", и вы можете увидеть, что у меня есть URL полезной нагрузки, и у меня есть различные события, которые я хочу запускать, такие как комментарии к проблемам и проблемы, а затем запросы на извлечение, которые также включают комментарии к запросам на извлечение. И поэтому у вас есть детальный контроль над тем, когда мы берем любое событие в репозитории GitHub и отправляем его в API, который мы построили в системе удаленного агентивного кодирования. Так что да, это практически все настройки. Позвольте мне прокрутить вниз до конца README. Потому что, как только вы настроили все в переменных окружения, вам нужен только Docker Desktop, как это основное требование, и, конечно, база данных. Но теперь вы можете просто запустить контейнеры, и вы можете использовать удаленный Postgress, например, с Superbase или Neon, или вы можете использовать локальный Postgress, который мы встроили прямо в приложение. Так что, если вы не хотите платить за Superbase или настраивать проект Neon или что-то еще, и оба эти варианта имеют бесплатные уровни, так что это очень жизнеспособно, но если вы не хотите настраивать что-то еще, вы можете запустить Postgress как часть приложения. И поэтому у нас есть это, встроенное в docker-compose. И поэтому вы можете выбрать любой из них. Я обычно просто предпочитаю иметь удаленную базу данных в облаке, чтобы я мог развертывать на разных устройствах, и они могли ссылаться на одну и ту же базу данных. И поэтому я обычно выбираю внешний вариант, потому что другая прекрасная вещь с этим и просто тот факт, что у меня есть постоянство базы данных, настроенное для вас с этой системой, это то, что вы можете запускать ее на своем настольном компьютере один день, а затем на ноутбуке на следующий день, но у вас все еще есть все команды, загруженные для ваших кодовых баз, и у вас есть различные разговоры, которые вы можете возобновить. И поэтому это действительно приятная вещь, просто с постоянством базы данных. И затем у меня есть список всех команд, которые вы можете запустить. И поэтому это ваш командный центр для управления статусом и различными командами, которые загружены в ваши репозитории. И вы можете клонировать различные репозитории. И поэтому, если вы начинаете с нуля, это первая команда, которую вы запускаете. Например, вы перейдете в Telegram здесь, и я просто сделаю сброс. Вы перейдете в Telegram здесь, вы сделаете /clone, а затем просто возьмете URL вашего репозитория. Например, если бы я хотел клонировать Dynamus agent, который я использую для своей демонстрации здесь, вы просто копируете это и переходите, вставляете. Бум. Я не буду отправлять это, потому что я уже запускал это. Но вот как вы получаете своего помощника по программированию в этой системе удаленного кодирования, настроенную для кодовой базы в первый раз. И затем оттуда вы можете просто отправлять любые запросы, как вы обычно делали бы с, знаете ли, Cloud Code или Codeex или что-то еще. Например, все работает точно так же. Просто способ работы с командами немного отличается. Так что, когда вы хотите использовать свои команды / для проверки или прайминга или чего-то еще, как я показывал вам, это единственная часть, где вам нужно загрузить их в свою систему, а затем вы можете использовать их с командой invoke. И я, вероятно, планирую развивать это, чтобы сделать использование этой системы команд более простым. Единственный недостаток в этом, я просто хочу признать, система еще не идеальна. Я усердно работаю над ее развитием. Один из недостатков заключается в том, что вам нужно запоминать конкретные команды, которые вы загрузили. Например, я могу просто сделать /commands, чтобы увидеть, что у меня уже есть, а затем я могу сделать, знаете ли, command-invoke, а затем я могу сделать, знаете ли, system review, например, я могу вызвать эту команду. Но одна из вещей, которые у нас есть в Claude Code, например, что очень удобно, это автодополнение. Я просто покажу это очень быстро, и я думаю, что у нас это есть и в codecs и тому подобное. Но если я перейду к своему агенту здесь, и я просто хочу показать, что я имею в виду очень быстро. Я перейду в Claude, а затем сделаю, например, / да, например, system review, верно? Например, он автодополняется для меня, так что мне не нужно знать точное полное имя команды. [кашель и кашель] Извините, но против нашей пользовательской системы здесь, если мы забудем имя, нам придется сначала сделать /commands, а затем мы знаем, что это dash или /comand-invoke, а затем system review. Так что, возможно, что-то, что я думал построить в этом, это процесс, где вы могли бы сказать: "Я хочу использовать свою команду GitHub prime, верно? Я хочу использовать свою команду GitHub prime в", и он будет искать зарегистрированные команды, и он будет достаточно интеллектуальным, чтобы понять: "Хорошо, это та, которую они имели в виду использовать. Они просто забыли точное название". Так что позвольте мне вызвать ее сейчас. Так что я думаю очень глубоко, даже о мелочах, которые делают это таким удобным и мощным для вас. Я думаю обо всех этих вещах. И поэтому то, что у вас есть прямо сейчас, что раздается бесплатно для прямой трансляции и только для прямой трансляции, это все еще очень мощное приложение, но есть те мелочи, которые я хочу продолжать развивать. И поэтому это то, что у меня есть в курсе AI agent или agentic coding course в Dynamis. Так что просто еще раз упомяну, что у нас есть модуль, посвященный этой системе и ее использованию для более сложных вещей, чем я буду освещать здесь в демонстрации. А затем также, эта система не будет просто в курсе один раз и все. Я буду продолжать развивать ее как основной ресурс для нашего сообщества. И поэтому, если вы хотите оставаться на переднем крае и вы действительно верите, как и я, что будущее программирования действительно заключается в использовании этих систем удаленного кодирования, тогда да, определенно приходите и станьте частью Dynamis. Я буду рад вас видеть. И да, для тех из вас, кто только что пришел на трансляцию и еще не слышал, у нас есть специальное предложение для Dynamis только для этой прямой трансляции, 45% скидка на годовую подписку, 25% скидка на ежемесячную. Это исчезнет сразу после окончания прямой трансляции. Так что воспользуйтесь этим сейчас. Буду рад видеть вас в сообществе. И если вы смотрите запись, просто знайте, что еще одна большая распродажа продлится до Киберпонедельника, но она не такая хорошая, как эта. И поэтому определенно воспользуйтесь этим. Так что я размещу это в чате очень быстро. Бум. Вот оно. Хорошо. Итак, с этим, что я хочу сделать с вами сейчас, теперь, когда вы знаете, как это настроить и как это работает в целом, мы можем провести быструю демонстрацию. И поэтому я вернусь к своей кодовой базе и хочу показать вам, как это выглядит в реальном времени. Мы запустим команду prime, а затем пройдем через план. Мы подумаем о том, что бы мы хотели фактически реализовать как что-то новое в нашем фронтенде здесь, и мы увидим, как это перейдет на staging, чтобы мы могли проверить это сначала, а затем мы скажем ему сделать запрос на извлечение в main, чтобы мы могли развернуть изменения в продакшене после того, как мы проверим артефакт, который, по сути, дает нам помощник по программированию. Так что это полная демонстрация, которую мы собираемся пройти. Я на самом деле очень взволнован этим. И вещи могут пойти не идеально, потому что мы проводим живую демонстрацию с помощью ИИ-помощников по программированию. Это всегда риск, который у нас есть. Но да, я имею в виду, я доверяю своей системе. Если что-то пойдет не так, скорее всего, я просто забуду правильно задать ему промпт, потому что всегда важно правильно задавать промпт, даже когда у вас есть система. [кашель и кашель] Извините. Так что давайте я создам новую проблему. Так что я перейду к проблемам, создам новую. И поэтому теперь вы можете думать об этом, как если вы давно работаете в разработке программного обеспечения или вообще, вы, вероятно, знакомы с этим процессом, когда в коде есть ошибка или у вас есть новая функция, которую вы хотите добавить в кодовую базу. Обычно вы начинаете с перехода в ваш удаленный репозиторий и создаете проблему. И я могу даже сказать, например, метки. Я хочу пометить это как улучшение. Так что я хочу сделать что-то новое. Я не работаю над исправлением ошибок, но я, очевидно, могу пометить это. Но да, здесь я работаю над улучшением. И поэтому теперь мы можем подумать о том, хорошо, что крутого мы могли бы добавить в наш фронтенд здесь? И для целей этой демонстрации я хочу сделать что-то, что влияет только на фронтенд нашего приложения. Это Dynamus AI agent, который я показываю, как построить от начала до конца в курсе Dynamus AI agent mastery, к которому вы также получаете немедленный доступ, когда присоединяетесь к сообществу. Вы получаете весь курс AI agent mastery и курс agentic coding, и оба они очень, очень ценны. Но да, я заранее подумал, какие классные функции мы могли бы добавить в фронтенд в качестве живой демонстрации. И поэтому, да, одна вещь, которую я подумал сделать, это было бы действительно круто, если бы мы могли экспортировать наши разговоры, как я делал некоторое тестирование с агентом ранее, просто когда я готовился к нашему семинару здесь, тестируя веб-поиск и инструменты rag и тому подобное. И поэтому, что, если я хочу экспортировать этот разговор в виде markdown-документа, например, прямо сейчас в нашем пользовательском интерфейсе. Нет способа сделать это. Но, возможно, было бы здорово, если бы у меня, например, была кнопка здесь, где я мог бы нажать на что-то, чтобы экспортировать, и это загрузило бы разговор в виде хорошо отформатированного markdown. Я думаю, это было бы действительно круто. Так что давайте сделаем это. Так что добавьте экспорт markdown в фронтенд. И поэтому для описания проблемы мы просто сохраним ее очень простой для демонстрации. Например, в настоящее время нет способа экспортировать разговор в пользовательском интерфейсе. У нас должна быть кнопка рядом с вложением файла. Так что просто даем небольшой спецификацию. У нас должна быть кнопка рядом с вложением файла для загрузки разговора в виде хорошо отформатированного markdown-документа. Обычно для проблемы вы также предоставляете гораздо больше описания, особенно если это что-то немного более продвинутое. Этого определенно будет достаточно для нашей демонстрации. Так что мы начинаем с создания проблемы, а затем мы могли бы перейти в Telegram и сказать ему, например, если я сделаю сброс здесь, мы могли бы сказать, например, "пойди посмотри последнюю проблему GitHub и давай начнем планирование, верно? Мы могли бы сделать что-то в Telegram.

также. Итак, это будет работать независимо от приложения, но для этой демонстрации я буду общаться с агентом прямо в проблеме. И вот, например, я могу ввести /help. Ну, подождите. Мне нужно ввести @remote-agent/help. И вот через секунду он ответит очень быстро, как мы видели с Telegram, когда мы вводим /help. Итак, вот оно. Вот наши доступные команды. Отлично. Теперь я хочу ввести @remote-agent, а затем я вызову нашу первую команду. И если вы помните из начала трансляции, команда, с которой я всегда начинаю, — это прайминг. Итак, я введу команду invoke prime GitHub. Прежде чем мы перейдем к реализации этой функции, я хотел понять, как сейчас выглядит наша кодовая база и где, возможно, придется редактировать, чтобы добавить эту функцию в наш фронтенд. Поэтому я начну с запуска команды prime GitHub. [Очищает горло] Извините. Теперь это займет некоторое время, потому что, когда мы выполняем прайминг, мы довольно тщательно просматриваем нашу кодовую базу, чтобы убедиться, что мы знаем, где нам нужно внести изменения для реализации этой функции. Итак, то, что мы видим прямо здесь, — это журналы Docker-контейнера. И поскольку это не происходит в реальном времени, как в Telegram, мы не можем видеть все действия, которые он выполняет. Я имею в виду, очевидно, что это много спама для нашей проблемы на GitHub, но мы можем посмотреть в журналах и очень быстро увидеть, например, вот вызовы инструментов, которые Клод решает сделать. Например, bash — это действительно просто большинство команд, которые он выполняет, чтобы, например, перечислить каталоги и тому подобное. А затем, когда он читает отдельный файл, мы видим здесь чтение. И есть много других различных типов вызовов инструментов, которые он может делать, например, для записи при управлении своим списком задач. Мы можем видеть все это в журналах, которые, я имею в виду, обычно, когда вы просто кодируете удаленно, вы не смотрите в журналы. Я просто показываю вам это как часть демонстрации, если мы хотим заглянуть под капот, прежде чем он завершится и выдаст окончательный результат в виде комментария здесь, в проблеме GitHub. И пока мы ждем, пока это произойдет, я могу просто задать еще несколько вопросов. Так что это тоже своего рода забава в этой прямой демонстрации — пока мы ждем помощника по кодированию, у меня есть возможность просто пройтись по дополнительным вопросам и ответам, что всегда является очень забавной частью прямой трансляции. Мне всегда нравится возвращаться в чат и, хотя мне нравится глубоко погружаться в настройку и архитектуру, к которым мы скоро перейдем, всегда обидно, когда я вижу на другом мониторе, что приходит куча вопросов, но я не могу на них ответить. Так что я обязательно сделаю это сейчас. Да. Итак, robot Glock, нужен более короткий псевдоним для команды invoke. Да, я на самом деле согласен. Например, может быть, - CI или что-то вроде этого, или просто /invoke. Да, я, я, я, вероятно, должен это сделать. Так что я ценю это предложение. И кстати, вы можете добавить более короткий псевдоним, вероятно, за пять минут с помощью помощника по кодированию с ИИ. Так что опять же, эта кодовая база оптимизирована таким образом, что вам будет очень легко создавать свои собственные вещи, если вы захотите. И поэтому, пожалуйста, имейте это в виду. Это как бы все, что вы считаете не идеальным здесь. Просто бросьте это своему помощнику по кодированию, CodeX, Cursor, Quad Code, что угодно, и просто посмотрите, что он может сделать. Особенно если вы прошли курс Dynamus, Agentic Coding, и у вас есть вся эта архитектура, у вас есть система для кодирования, вы сможете очень легко справляться с задачами. добавляя к этому здесь. Посмотрим, как Langfuse справляется с этой долгой командой. Итак, да, вы, вероятно, заметили, что у меня настроена панель Langfuse, но это на самом деле мониторинг моего агента, то есть приложения, над которым мы работаем для демонстрации здесь. У меня нет Langfuse, интегрированного в систему удаленного кодирования агента. Но я думаю, что было бы здорово добавить это. Так что это, я на самом деле очень ценю, что вы подняли этот вопрос, потому что добавление большего количества наблюдаемости удаленно, чтобы мы не просто смотрели на артефакты и журналы и все такое. Это то, что я рассматриваю, и я на самом деле провел концептуальное доказательство в прошлом месяце, интегрировав SDK CodeX с Sentry. Так что Sentry — это еще одна хорошая платформа для наблюдения за агентами. Раньше они занимались просто общим мониторингом приложений, а теперь они также занимаются некоторыми вещами, специфичными для ИИ. Так что, я думаю, я бы выбрал Langfuse. Но да, это еще одна вещь, которую я рассматриваю. Но да, этот здесь — отслеживание и мониторинг для агента Pantic AI, который работает под этим приложением. Но в любом случае, прайминг завершен. Я отвечу на больше вопросов, когда мы начнем планирование. Но да, это делает, эта команда prime конкретно, и опять же, это все просто markdown-документы, которые у меня есть в качестве команд, которые я загрузил в свою систему. И в этом я веду его через довольно полное описание проекта. Так что это не просто специфично для этой проблемы здесь, но, делая это, он поймет, куда ему нужно идти, например, во фронтенде. Так что он знает наш стек технологий, он знает наши основные принципы из наших глобальных правил. А затем также это еще одна очень крутая вещь — система удаленного кодирования агента, когда мы начинаем разговор в проблеме GitHub или запросе на слияние, она также автоматически вставляет контекст из проблемы. Так что, когда мы начинаем разговор здесь, он знает, что это моя проблема номер, проблема номер девять. Он знает описание проблемы и метки, которые у нас есть, например. И поэтому мы можем видеть внизу прайминга, что он даже знает наше текущее состояние и знает, [очищает горло] извините, он знает различные коммиты, которые мы недавно сделали. Он знает, что мы сейчас работаем над этой проблемой, и что она имеет тип улучшения. Так что это очень круто. Команда prime, всегда хорошо ее просматривать, чтобы убедиться, что ваш помощник по кодированию действительно понимает вашу кодовую базу и то, над чем вы сейчас работаете. И очевидно, что у него очень хорошее понимание. И теперь, я имею в виду, я мог бы просто сказать remote agent, приступай к созданию этого, но я буду продолжать следовать своей системе. Даже несмотря на то, что это более простая реализация, я начну с использования нашей команды plan feature. Итак, plan feature GitHub. И затем единственный аргумент, который мы здесь указываем, — это именно то, что мы хотим спланировать. И поэтому, поскольку у нас уже есть контекст проблемы, мне не так много нужно сказать. Я просто скажу, давайте спланируем эту проблему, и мы скажем, с простым планом. Я просто хочу, чтобы это было быстро для демонстрации. Давайте просто сделаем модульное тестирование для валидации. Я не хочу запускать сайт или что-то еще. Пусть это будет кратко. Хорошо. Потому что в моей команде планирования у меня есть так называемая пирамида валидации, где я прохожу через линтинг, проверку типов, модульное тестирование и сквозное тестирование. Если бы я запускал это в более длинном рабочем процессе, я бы на самом деле запустил веб-сайт и посетил его, и убедился бы, что все выглядит хорошо. Но просто для этой демонстрации я хочу, чтобы это было быстрее. Итак, да, мы вызываем команду plan feature. И затем я использую двойные кавычки, потому что я хочу, чтобы это был только один параметр, описывающий функцию, которую мы сейчас планируем. А затем мы возьмем план и отправим его в нашу команду execute. И поэтому, если вы были в Dynamus или прошли курс Agent Coding, то то, что я делаю здесь, очень стандартно для цикла piv, который я всегда делаю в своих системах, даже когда разрабатываю вещи локально. И кстати, мы можем видеть здесь, что он возобновляет сеанс. Итак, мы сделали прайминг. Теперь мы остаемся в том же сеансе, и мы выполняем все наши вызовы инструментов для создания этой структурированной структуры плана в новой ветке функции. Итак, у нас есть рабочий процесс get native, встроенный в команду здесь, где он знает, что как только я сделаю свое планирование здесь и создам этот документ плана в формате markdown, я создам новую ветку и добавлю туда документ, а затем мы можем передать это в выполнение дальше. И это очень похоже на цикл piv, который я показывал в нашей архитектуре ранее. Итак, для фазы планирования команды, которые мы в основном используем, это prime и plan feature, и это две команды, которые мы уже запустили. Итак, мы дошли до точки, где мы создаем наш структурированный план. Обычно я бы рекомендовал тратить гораздо больше времени на это планирование. Я очень быстро делаю это ради демонстрации, но да, иногда вы тратите полчаса, даже час на фазу планирования, потому что многое, когда вы делаете более сложную реализацию, вам действительно нужно убедиться, что вы и помощник по кодированию с ИИ находитесь на одной волне относительно того, что именно строить и как это строить. А затем, как только у нас есть план, вы также обычно хотите итерировать по плану. Убедитесь, что вы его прочитали и что он выглядит очень хорошо. Я тоже этого не сделаю, потому что я не думаю, что это стоит нашего времени прямо сейчас. Так что мы перейдем прямо к реализации, но обычно на каждом этапе вы будете валидировать вещи. И основная валидация, на которой я хочу сосредоточиться для этой демонстрации, — это просто артефакт, который мы увидим в конце, где он автоматически публикует вещи по staging URL. Так что это основное, на чем я хочу сосредоточиться здесь. Но да, пока я жду, я просто задам еще несколько вопросов. И поэтому я просто покажу журналы. Итак, мы все еще в процессе. Так что давайте задам еще несколько вопросов. Если я получу ежемесячную подписку, могу ли я приостановить членство на пару месяцев и вернуться за те же 60 долларов? К сожалению, нет. Так что, если вы зафиксируете это на всю жизнь, вы должны зафиксировать это сейчас. И нет возможности приостановить. Я не вижу команду prime GitHub в кодовой базе. Так вот, команда prime github — это то, что у меня есть. Так что это хороший вопрос, Шон, потому что я хочу быть очень ясным. Команды, которые мы используем в нашей системе удаленного кодирования, находятся в репозитории, над которым мы работаем, а не в репозитории для самой системы. Так что, когда мы загружаем наши команды, например, если я зайду в Telegram и введу, например, здесь я просто снова введу /help, чтобы показать вам команды, например, у нас есть загрузка команд, когда мы указываем путь здесь, например, команды, это путь в репозитории, в котором мы сейчас работаем, например, я работаю в репозитории Dynamus AI Agent, поэтому мы используем команды оттуда. Так что причина, по которой вы не видите ее в системе удаленного кодирования агента, заключается в том, что я не загружаю команды из этого репо. Я загружаю их из репо, в котором я фактически работаю с моей системой. Надеюсь, это имеет смысл. Но не волнуйтесь, все команды, которые я здесь освещаю, у меня есть как часть курса Agent Coding в репозитории, который у нас есть в Dynamus. Так что, да, я вас прикрыл, Шон, потому что я знаю, что вы из сообщества Dynamus. Так что мне пора идти. Спасибо, Коул. Удачи всем. Я ценю это. Вы, вероятно, уже ушли, но спасибо, что были здесь. Вы упомянули использование GitLab. Как это сюда вписывается? Да, так что GitLab должен быть еще одним приложением, с которым мы интегрируемся. Причина, по которой я упоминаю это, заключается в том, что то, как это работает, будет очень похоже на то, как мы работаем с GitHub, потому что там у вас все еще есть проблемы и запросы на слияние. Но это не так, чтобы это приложение прямо сейчас из коробки также работало с GitLab. Нам пришлось бы настроить еще одну интеграцию, верно? Возвращаясь к readme для нашей системы удаленного кодирования, это был бы еще один адаптер платформы, который нам пришлось бы добавить. Но вы могли бы сделать это очень легко. Если вы действительно заинтересованы в использовании этой системы с GitLab, то, как я уже сказал, я настроил эту кодовую базу таким образом и спроектировал ее так, что очень легко добавлять больше платформ в эту вещь. Вы можете добавить новую платформу, не добавляя пользовательскую интеграцию с каждым из отдельных помощников по кодированию, потому что у нас есть этот оркестратор в качестве посредника. Так что я, возможно, расскажу об архитектуре больше ближе к концу трансляции. Очень интересно, как это спроектировано. Но да, вы могли бы добавить GitLab, наряду с GitHub и Telegram, очень легко, но это должно быть что-то совершенно отдельное. Надеюсь, это имеет смысл. Итак, да, похоже, возвращаясь к нашей проблеме, план выполнен. Так что мы займемся этим через секунду. Я просто хочу уделить немного времени, чтобы ответить на пару вопросов. Есть ли ссылка на репозиторий GitHub, который я могу клонировать и попробовать сам? Да, хороший вопрос. Ну, честно говоря, я бы начал с частного репозитория. Но если вы хотите попробовать это очень быстро с публичным репозиторием, вы можете попробовать любой репозиторий. Например, вы можете использовать Archon. Так что, если вы просто поищете, если вы просто загуглите Archon GitHub, или если вы зайдете на archon.diy, DIY. Вы можете импортировать этот репозиторий. Так что вы можете сделать, например, в Telegram. Я быстро скопирую это. Вы введете /clone, а затем вставите эту ссылку, которую я только что скопировал из Archon, сюда. Так что вы копируете это, вы клонируете это. Я на самом деле сделаю это прямо сейчас. Итак, /clone. Ой, подождите, возможно, мне не стоило этого делать, потому что мне нужно работать в Dynamus Agent для демонстрации здесь. Но в любом случае, как только вы клонируете репозиторий, и я введу get current working directory, он автоматически переключит меня на этот репозиторий. И теперь, поскольку это не ваш репозиторий, вы не можете делать коммиты и тому подобное, но вы все равно можете, например, сказать, суммировать readme. Так что вы можете сделать, например, операции чтения в публичном репозитории, и вы даже можете изменять вещи локально, но это не так, как вы могли бы пройти полный рабочий процесс, который я демонстрирую здесь, где вы бы, например, сделали запрос на слияние и тому подобное, потому что, очевидно, у вас не будет разрешения делать это. Ну, я думаю, вы могли бы, потому что вы можете делать запросы на слияние в публичных репо. Так что да, я имею в виду, честно говоря, если вы хотите использовать публичный репозиторий, я думаю, мне придется немного исправиться. Я имею в виду, вы можете делать практически все. вы просто не сможете, например, слить запрос на слияние или сделать коммиты напрямую. Но вы можете видеть, что то, что я сделал здесь, — это быстрый пример того, как начать с нуля. Я клонировал репо, а затем просто задал ему простой вопрос. Я также могу попросить его внести изменения, например. Но да, я определенно хочу переключиться обратно на Dynamus Agent. Итак, /repos, а затем / Так что, если я введу /help, я покажу вам, что команда, которую мне нужно выполнить здесь, чтобы переключиться обратно, — это set current working directory. Итак, /setcurrentworkingdirectory, а затем вставьте путь к Dynamus Agent, и вот мы вернулись. Очень круто. Итак, теперь, что мы хотим сделать, если мы вернемся к, позвольте мне очистить сообщение о функции. Хорошо. Итак, если мы вернемся к нашей проблеме, у нас есть окончательное резюме. Итак, вот план реализации. Он был создан в этой новой ветке, которую он сделал. А затем план находится здесь. Так что мы можем фактически перейти к нему сейчас. Если я перейду, если я обновлю, то у меня есть доступ к новой ветке. А затем я нажимаю на aent/plans. Посмотрите на этот экспорт markdown. У нас есть этот документ. Итак, структурированный план, который я показывал вам ранее в нашей команде /, где у нас есть пользовательская история, описание проблемы, контекстные ссылки, он в основном взял этот шаблон, проделал кучу анализа того, что мы хотим построить, и теперь он создал структурированный план, который является всем контекстом, который мне нужен, чтобы теперь отправить в [хмыкает] мою команду execute. И поэтому я просто прокручу это очень быстро. нам не нужно на этом сосредотачиваться, но у нас есть план реализации и пошаговые задачи, которые нам нужно выполнить. Так что, есть много направлений и ограничений, которые мы добавляем для нашего агента, когда мы работаем со структурированным планом таким образом. Это очень похоже на кодирование без вибраций, потому что вы можете валидировать это столько, сколько хотите, и быть частью процесса. Вы понимаете, что он собирается построить и как он собирается это построить. Он даже имеет псевдокод, который мы можем просмотреть, чтобы убедиться, что все это выглядит хорошо для нас. И поэтому, если бы я не проводил более краткую демонстрацию здесь, я бы определенно углубился в каждую из этих вещей и убедился бы, что все выглядит хорошо. И вот как я могу быть в курсе. И поэтому даже с системой удаленного кодирования я мог бы просто перейти к этому файлу даже на своем телефоне и быстро просмотреть markdown здесь для структурированного плана, прежде чем отправить его на выполнение. Так что я скажу, что это выглядит хорошо. И поэтому мы можем перейти к нашему выполнению. И поэтому он даже дает мне следующий шаг. Так что у меня есть это своего рода встроенное в подсказку для команды plan feature GitHub, где она говорит мне, что после создания структурированного плана вы можете использовать команду invoke, мы сейчас используем команду execute GitHub, а затем два аргумента, которые нам нужны здесь, как я показывал в другой очень быстрой демонстрации ранее, это путь к структурированному плану, а затем, очевидно, ветка функции, в которой мы работаем, потому что мы не хотим работать напрямую в нашем основном или даже в нашем промежуточном состоянии на данном этапе, потому что то, что это сделает, это мы выполним выполнение в этой ветке функции, а затем мы сделаем запрос на слияние, чтобы перейти к промежуточному состоянию. Так что я могу попросить его, например, слить этот запрос на слияние, и тогда он автоматически развернет вещи на моем веб-сайте, чтобы я мог валидировать вещи и быть в курсе таким образом. И поэтому я спущусь сюда, и я введу команду invoke execute GitHub, отправлю это. И бум, мы в деле. И кстати, причина, по которой мы видим два комментария здесь, заключается в том, что мне не следовало переключаться на репозиторий Archon и обратно. Это запутало агента по кодированию. Но это моя вина, потому что я просто работал здесь. Так что вы можете работать параллельно с этой системой, но только над одним кодовым репозиторием прямо сейчас, потому что если вы переключите текущий рабочий каталог, это запутает агента по кодированию. И поэтому это еще одна вещь, над которой я работаю для развития системы, где мы можем иметь разные приложения или даже разные потоки в одном приложении, например, разные потоки Slack, где у нас могут быть разные рабочие каталоги. И поэтому это немного более продвинутая вещь, которую я хочу разработать. Но да, я буду продолжать продвигать это, потому что это важно для меня. Я буду продолжать развивать это для вас. Так что, если вы хотите быть частью сообщества Dynamus, где я собираюсь взять эту систему и продолжать развивать ее, и вы хотите получить доступ к полному курсу Agentic Coding, пожалуйста, взгляните на это. Вы не хотите упустить эту возможность, потому что она исчезнет после окончания нашей прямой трансляции. И поэтому я снова быстро вставлю это в чат. Вот оно. Отправляю. Так что да, эта система, просто говоря очень быстро о том, как я хочу продолжать ее развивать. Я хочу интегрировать Slack и Notion. Я хочу добавить Open Code и Klein в качестве дополнительных опций для помощи в кодировании. Я хочу сделать так, чтобы мы могли работать в разных репозиториях в разных приложениях одновременно. Прямо сейчас вы можете выполнять параллельное выполнение только на одном и том же кодовом репозитории. Я хочу сделать так, чтобы с командами было проще работать. Даже имея псевдоним для команды invoke, как мы говорили ранее. Есть и добавление наблюдаемости, такой как Langfuse, как мы говорили ранее. Я очень ценю все ваши идеи. Потому что да, и это потрясающе, я хочу их включить. И тогда другая большая вещь, которую я, хорошо, кто-то спросил об Archon, выходящем из бета-версии. Позвольте мне фактически ответить на это здесь. Причина, по которой не так много обновлений по Archon прямо сейчас, заключается в том, что я фактически рассматриваю, как мы можем взять эту систему удаленного кодирования и встроить ее как часть Archon. Теперь это то, о чем я не планировал слишком много говорить во время этой прямой трансляции, потому что мы все еще находимся на начальных этапах обдумывания того, как мы это сделаем, но я думаю, что вам это покажется захватывающим. Archon, для тех из вас, кто не знает, это мой проект с открытым исходным кодом, который своего рода является командным центром ИИ для помощи в кодировании. И поэтому это полностью с открытым исходным кодом и бесплатно для использования. Я настоятельно рекомендую попробовать, если вы хотите узнать, как добавить RAG, как добавить управление задачами, действительно хорошее управление задачами в вашу помощь по кодированию с ИИ. Вот для чего нужен Archon. И он даже был репозиторием номер один на GitHub три дня подряд, когда я впервые выпустил новую бета-версию Archon. И поэтому, да, есть большой потенциал с Archon, но одна вещь, которую мы поняли, я и Расмус, Шон и все ребята из команды Archon, заключается в том, что, несмотря на то, что компоненты RAG и управления задачами Archon очень мощные, мы хотим сделать что-то большее, где Archon может быть местом для нас, чтобы фактически оркестрировать различные агенты кодирования, делая многое из того, о чем я говорю с системой удаленного агентического кодирования, и там возможности безграничны, и я на самом деле так взволнован этим, поэтому я должен говорить об этом прямо сейчас, хотя я на самом деле не планировал этого, но если бы мы могли построить что-то подобное непосредственно в Archon, чтобы, черт возьми, я мог бы говорить об этом часами и часами, но иметь место, где вы можете управлять тем, что мы называем нашими рабочими заказами агентов, и это уже в альфа-версии, мы работаем над этим, где вы можете запускать свои различные агенты. Вы можете назначить знания, к которым он имеет доступ для RAG. Вы можете назначить проекты, которыми он будет управлять задачами. И вы можете даже вставлять свои собственные команды и создавать свою собственную систему непосредственно в Archon. Я думаю, что это будет просто невероятно мощно. Но поскольку это такая большая вещь, поэтому мы как бы, я не знаю, мы были более на высоком уровне в последнее время с Archon. Извините. И поэтому у нас не так много новых функций, которые мы разработали недавно, потому что, и это происходит с проектами с открытым исходным кодом, в общем, с любым проектом программной инженерии, вы проходите через эти разные волны, когда иногда вы точно знаете, что хотите построить, и это просто типа вперед, вперед, вперед, давайте построим все эти функции, которые мы точно знаем, что хотим создать, и это было так с Archon в июле, августе и части сентября. Но затем другая фаза или другая часть волны с любым проектом — это когда вы переходите к фазе исследования, когда вы говорите: хорошо, у нас есть эта сильная база, я имею в виду, она не идеальна, но у нас есть сильная база, но затем вы говорите: о, на самом деле индустрия движется в этом направлении, где удаленное кодирование агентов — это огромно, хорошо, это огромная возможность, нам нужно разработать это для Archon, и поэтому мы проходим через эту фазу просто планирования и обдумывания того, как мы строим такие вещи. И поэтому система удаленного кодирования агентов, я построил это как основную часть курса Dynamus Agentic Coding. Не поймите меня неправильно, это основная цель, но затем была своего рода вторичная цель: давайте посмотрим, что мы можем построить здесь, чтобы интегрировать [хмыкает] агента кодирования со Slack, Telegram, GitHub и всеми этими различными приложениями, фактически используя агентов там, где мы работаем. Это ценностное предложение, которое у нас есть здесь. Но также, что, если Archon будет одним из этих приложений? Что, если Archon будет одним из этих адаптеров платформ, которые мы освещаем во время настройки? Так что вы можете подключить его к Telegram, вы можете подключить его к GitHub, или о, вы также можете подключить его к Archon. Я думаю, это было бы чертовски здорово. Или даже сделать это основной частью Archon. Возможно, я говорю слишком много, идя по этому пути, но это то, о чем мы думаем прямо сейчас. И поэтому это довольно захватывающе. Я также хотел бы очень ценить ваш вклад в это. Например, насколько вы цените то, что у нас есть с Archon прямо сейчас, и продолжаете развивать это по сравнению с интеграцией этого вместе с другими вещами, которые у нас уже есть для Archon. И поэтому, да, я определенно планирую проводить семинары в сообществе Dynamus, где я фактически интегрирую Archon в качестве адаптера платформы, и да, просто формирую видение с вами, которое, конечно, я также поделюсь материалами на своем YouTube-канале, и все бесплатные ценные материалы, которые я делаю на YouTube, никогда не исчезнут, но [хмыкает] сообщество Dynamus — это определенно место, где можно глубже погрузиться в эти вещи. Например, если вы действительно заинтересованы в Archon, или действительно заинтересованы в системе удаленного агентического кодирования, или действительно заинтересованы в создании своих собственных систем для кодирования с ИИ, то это то, для чего предназначен Dynamus, потому что я активно работаю на YouTube и в Dynamus каждый день. Да. Но я не снимаю видео на YouTube каждый день. Я делаю вещи в Dynamus буквально каждый день. Еженедельные семинары, работа над курсами. У нас фактически есть живое мероприятие каждый день. Например, если я зайду в календарь здесь, в Dynamus, я быстро покажу вам. Теперь у меня было пару выходных в этом месяце, но да, в сообществе каждый день что-то происходит, и даже появляются новые вещи, о которых я пока не могу слишком много говорить. Но, например, глядя на октябрь, вы видите то же самое. Кроме выходных, очевидно, в прошлом месяце и позапрошлом месяце не было ни одного дня, когда в сообществе не было бы мероприятия, потому что я вкладываю в это все, что у меня есть. Так что, надеюсь, это звучит хорошо для вас. Я имею в виду, объем усилий, которые я вкладываю в Dynamus, сумасшедший. Так что, если вы хотите быть частью этого, я снова вставлю ссылку. Потому что да, это специальное предложение заканчивается после трансляции. И что вы получаете в сообществе, это да, 1200 человек, которые у нас сейчас есть в сообществе, это просто невероятное вовлечение на платформе. Вы получаете курс AI Agent Mastery, курс Agent Coding, еженедельные семинары, ежедневную поддержку. Это просто взрыв, и это на самом деле невероятная честь для меня, что я могу возглавлять это сообщество каждый день. Но да, позвольте мне вернуться сюда и ответить на пару других вопросов. Я видел, как несколько человек сказали, что это имеет смысл. Так что, да, Archon потрясающий. Я ценю это. Да. И еще больше для вас. Как я уже сказал, мы просто находимся на той фазе, когда мы просто исследуем. 100% понятно. Мы ждем величия. Я ценю это. Спасибо за ваше терпение и понимание. Это будет потрясающе. Да. Спасибо, Шон. Эй, Шон отлично работает, как всегда, над Archon. Давайте посмотрим. Я голосую за то, чтобы сделать это основной частью, особенно за создание и обмен вашими агентическими рабочими процессами. Да, это еще одна вещь, Archon также может быть своего рода маркетплейсом, похожим на плагины Claude, если вы играли с плагинами Claude раньше, но это способ для нас делиться нашими системами, например, вот мои правила, которые отлично работают, когда я работаю над приложением Next.js, или когда я работаю над созданием сервера MCP, или вот команды, которые я использую для своего цикла piv, вот моя команда prime, вот моя команда plan, вот моя команда validate, и вы можете передать это другим людям и использовать, и это может быть своего рода экосистема в Archon, где вы можете запустить агента для начала нового проекта, а затем не только это может быть ваша собственная система, но вы также можете перейти на этот маркетплейс и выбрать систему, которую кто-то уже создал, и использовать их работу, или вы [хмыкает] можете автоматически включить BMAD или автоматически включить комплект спецификаций getup, и это будет вставлено как процесс для вашего агента, которого вы запускаете из Archon. Так что это еще один способ, которым мы могли бы сделать что-то действительно безумное с Archon. Я очень, очень взволнован. Итак, давайте посмотрим, еще один хороший вопрос, просто сосредоточенный на AI-кодировании в Dynamus. Планируете ли вы вернуться к созданию агентов в какой-то момент? Да. Так что я все еще много занимаюсь созданием агентов в Dynamus, даже через некоторые еженедельные семинары. Так что, поскольку я проходил курс Agent Coding, да, это было больше внимания в сообществе, но определенно все еще много того, что я делаю для создания AI-агентов, и фактически, теперь, когда курс Agent Coding завершен, следующая часть работы, которую я делаю для сообщества. Очевидно, третий курс будет когда-нибудь, и еженедельные семинары, я хочу снова сосредоточиться на создании AI-агентов. И также есть много возможностей делать и то, и другое одновременно, верно? Мы можем использовать наши системы для AI-кодирования для создания AI-агентов. И я думаю, что это очень, очень важно. Вы никогда не сможете просто построить AI-агента, просто посмотрев документацию Pantic AI самостоятельно. Я имею в виду, вы можете это сделать, но мы можем использовать Archon или просто попросить его использовать веб-поиск, чтобы найти документацию Pantic AI, а затем помочь вам построить агента. И поэтому там много пересечений. Например, один из следующих курсов, который я думаю выпустить для Dynamus, у меня есть несколько идей, но потенциально один из следующих — это курс, где каждый модуль проходит через создание конкретного AI-агента от начала до конца, который фактически имеет реальную ценность. Я очень взволнован возможностью провести этот курс. И поэтому с этим, это будет своего рода, так что у нас есть курс AI Agent Mastery, где это куча модулей, которые проходят вас от начала до конца. Вот как вы думаете о создании AI-агентов и как вы практически это делаете. А затем этот новый курс будет заключаться в применении принципов, которые мы освещаем в этом первом курсе, AI Agent Mastery, к конкретным реальным сценариям использования по одному модулю за раз. Но тогда причина, по которой это возвращается к вашему вопросу, заключается в том, что мы будем использовать помощников по кодированию для создания этих агентов. Например, мы все еще будем освещать принципы того, что мы хотим учитывать для нашего системного промптинга и наших инструментов, и как мы, возможно, оркестрируем мультиагентов. Мы все еще будем углубляться в технические детали для людей, которые заботятся о глубоких вещах, но мы используем помощников по кодированию, чтобы ускорить очевидную часть генерации кода, чтобы мы могли посвятить время действительно высокоэффективным вещам при создании наших агентов. И поэтому я хочу быть ясным, когда мы используем помощников по кодированию для создания наших агентов или любого другого приложения, как мы делаем здесь, мы не позволяем помощнику по кодированию заменить нас. Мы позволяем ему выполнять черновую работу, чтобы у нас было еще больше времени для более высокоуровневых вещей, таких как архитектура и валидация нашей системы. Так что я надеюсь, что это имеет смысл. Но действительно, действительно хороший вопрос. Я ценю, что вы спросили. Хорошо, круто. Итак, с этим, я знаю, что это много. Я извините, я смотрел на некоторые другие вопросы, которые у нас есть в чате, но да, я хочу вернуться прямо сейчас к репозиторию, потому что у нас есть наша реализация. Хорошо, подождите. У нас произошла ошибка. Почему у нас произошла ошибка? О, да, потому что это сделало. Хорошо, так что, к сожалению, есть ошибка с Claude Code, где всякий раз, когда он использует вызов инструмента kill shell, он аварийно завершает работу. Это очень, очень неприятно. Это не проблема с моей системой. Я фактически провел исследование, потому что у меня это случилось на прошлой неделе, когда Claude Code пытается запустить веб-сайт, а затем убить его, он фактически заканчивает себя. Так что Claude Code, к сожалению, убил себя здесь, что очень неприятно. Так что я посмотрю, смогу ли я запустить его снова, но, возможно, мне придется перезапустить процесс. Это то, что, да, так что на самом деле есть открытая проблема. Claude Code убивает или нет, kill shell аварийно завершает работу агента Claude SDK. Я думаю, это да. Так что есть сообщенная сейчас ошибка, которая, к сожалению, еще не решена. И поэтому я сталкивался с этим пару раз, когда Claude Code убивает себя, когда он пытается завершить, например, сервер Node.js. Так что то, что произошло здесь, это как часть валидации, он попытался перезапустить или, как бы, запустить веб-сайт и просмотреть веб-сайт, а затем, когда он убил фоновый процесс после этого, он аварийно завершил работу, и поэтому, да, мне, возможно, придется перезапустить реализацию здесь. Ну, хорошо, потому что он, возможно, снова попытается сделать то же самое. Так что всегда есть эти мелкие проблемы, когда, к сожалению, нам также приходится работать с ограничениями самой платформы. Теперь это очень специфичная вещь, которую Claude Code, вероятно, скоро исправит, надеюсь. Жаль, что это все еще открытая проблема. Но также в нашем промптинге я должен был быть более ясным, что мы не хотим такой глубокой валидации, потому что, к сожалению, даже несмотря на то, что я сказал здесь, что я просто хочу простую валидацию, этого недостаточно, потому что мой структурированный план имеет полную пирамиду валидации. Так что я просто запутал помощника по кодированию. Это, к сожалению, моя проблема. Так что да, возвращаясь сюда. Он перезапускается, так что, вероятно, будет хорошо. В противном случае мне придется просто сказать ему, чтобы он, я просто скажу ему, чтобы он явно, например, не использовал структурированный план валидации, как будто вы просто хотите сделать модульное тестирование. Так что мы позволим этому пройти здесь. Но в любом случае, это дает больше времени для вопросов. Так что это совершенно нормально. Gemini делает то же самое. Хорошо, это очень интересно. Да. Так что это не совсем вина Anthropic. Я имею в виду, честно говоря, эти мелкие проблемы, когда помощники по кодированию, например, убивают себя, например, это совсем не удивительно, что это происходит, потому что вся эта идея иметь агентов, работающих так автономно в среде, подобные вещи неизбежны, пока мы не разовьем платформу и не будем иметь защитные механизмы для предотвращения таких вещей. Основная проблема здесь в том, что он должен просто использовать лучшую команду для завершения процесса, чтобы он не убивал себя. И мне пришлось бы провести больше исследований, чтобы выяснить, что именно это такое. Но как только у меня это будет, я смогу вставить это непосредственно как часть подсказки в систему. Так что вам даже не придется вставлять это в свою команду самостоятельно. Это будет автоматически учтено. И вот такие вещи я могу настроить с системой, чтобы сделать ее еще лучше для вас. Или мы можем просто встроить это в наши подсказки, где, например, когда вы запускаете веб-сайт, убедитесь, что вы убиваете его определенным образом, чтобы вы не, знаете, не заканчивали свой собственный сеанс. Это довольно неприятно. Но да, у Claude Code, у них есть 5000 проблем, по-видимому, в их репозитории, что абсолютно безумно. Я не знаю, когда они доберутся до этого, но есть определенно обходной путь, если я действительно захочу углубиться в это. Так что это просто одна из тех мелких вещей, где я просто еще не добрался до нее, но мы доберемся до нее в какой-то момент. Так что в любом случае, эта реализация, надеюсь, не попытается снова запустить сайт. Но я должен на самом деле посмотреть. Видите ли, вот где я не валидировал структурированный план, потому что я хотел быть кратким для вас, но я, вероятно, должен был, потому что там может быть проблема в валидации, где он говорит ему быть очень полным. Да, это так. Интеграционное тестирование, оно начинается, видите, оно запускает контейнер здесь, а затем оно попытается убить сеанс снова. Так что мы увидим то же самое, но я просто снова подскажу ему, где я скажу ему не делать этого, или я мог бы отредактировать этот файл на месте. Так что я могу провести свою собственную валидацию. Я думаю, это действительно хорошая возможность показать вам пример того, как помощник по кодированию ошибся. Я сказал ему не быть таким тяжелым в валидации, но он больше следовал моему структурированному плану, чем тому, что я ему сказал. И кстати, в прошлый раз, когда я тестировал это, он слушал, верно? Правильно. Так что это просто непредсказуемость LLM. Вот почему важно, чтобы мы были в курсе, даже когда мы используем удаленную настройку. И я могу сделать это со своего телефона. Так что это все еще очень возможно. [хмыкает] Но да, он даже запускает тесты Playwright. Я определенно не хочу делать это прямо сейчас. И поэтому для команд валидации я скажу, что сделайте очень простую валидацию. Не запускайте сайт или что-то еще. Правильно. А затем я просто удалю уровни с третьего по пятый, потому что это слишком много для того, что мы хотим сделать прямо сейчас для нашей демонстрации. А затем мне придется сделать еще несколько подсказок, чтобы избежать этой проблемы, о которой мы говорили ранее. Так что да, это, возможно, быстрая заплатка, но я имею в виду, вы понимаете, что я делаю. Так что я удалю эту стратегию тестирования. [хмыкает] Удалить крайние случаи. Вот так. Команды валидации. Хорошо, это выглядит лучше. Чек-лист завершения. Я убедюсь, что здесь нет ничего для сквозного тестирования, потому что да, тесты Playwright, мы не хотим этого, это слишком много прямо сейчас, очевидно. Итак, давайте убедимся, что я охватил все. Выглядит хорошо. Что это? Это тоже может быть слишком много. О, нет. Это хорошо. Хорошо. Хорошо. Так что я закоммичу это. И это, к сожалению, не применится к моему текущему запуску. И поэтому я сделаю так, что он сделает то же самое снова. Я почти уверен. Но это нормально, потому что мы просто попробуем снова, верно? Мы можем повторить попытку, так же как мы можем делать это, когда работаем с помощниками по кодированию локально. И поэтому, да, насколько это немного напряжно для меня, когда возникает такая ситуация, это хорошая возможность, это обучающий момент в прямой трансляции, как я адаптируюсь к этому в реальном времени. И затем просто говоря о том, что, или просто показывая факт, такие вещи случаются, когда вы работаете с новой системой, даже с существующей, у вас возникают эти мелкие проблемы, которые вам приходится решать. И это никогда не будет идеально. Это не умаляет мощности этой системы. Я уже знаю обходной путь. Я уже знаю два способа, которыми я могу решить это, чтобы это никогда не повторилось. И здесь я знаю, как быстро исправить проблему и затем перезапустить сеанс, что я и сделаю, как только он аварийно завершит работу здесь, вероятно. Так что я позволю ему, я позволю ему запуститься прямо сейчас, а тем временем я отвечу на несколько вопросов. Прекрасная вещь в том, что ИИ может исправить это, верно? Я использовал редактор markdown и изменил его сам, но я буквально мог бы, в том же разговоре, просто сказать: @remote-agent, план, который у нас есть здесь, имеет слишком много валидации. Удалите последние три слоя, верно? Я мог бы просто попросить его сделать это самому, а затем бум, снова запустить execute, и все будет хорошо. И поэтому давайте сделаем это сейчас. Итак, он выдал ошибку. Он сделал то же самое, что и раньше, точно так, как я предсказывал. Но теперь, если я отправлю это сюда, теперь он не будет, потому что удаленный агент теперь прочитает обновленный план, где я убрал эти шаги валидации. И поэтому, да, давайте отправим это. И он каждый раз начинает новый разговор, кстати. Так что вы можете видеть, что он начинает новый сеанс. И это хорошо, потому что, когда мы начинаем команду execute, я фактически делаю это намеренно, потому что команда planning создает структурированный план, а затем структурированный план — это единственный контекст, который мы должны отправить в execute. Так что нам не нужно продолжать разговор. Мы можем сохранить наше окно контекста компактным, перейдя в новый execute или новый сеанс с нашим execute, а затем заставив его прочитать этот документ. И это все, что ему нужно, верно? Чтение этого документа — это своего рода прайминг, который ему нужен для реализации этой конкретной функции. И возвращаясь к журналам, мы в деле. И, надеюсь, на этот раз он не попытается запустить сайт и придется его убить. Правильно? Это основная проблема здесь. Любой, кто использует Droid, слышал, что у него отличный кэширование для уменьшения потребления контекста. Так что, небольшой спойлер. Есть ютубер по имени Рэй Фернандо. Некоторые из вас, возможно, слышали о нем. Он использует Droid в качестве своего основного помощника по кодированию. И в следующем месяце мы проведем совместную прямую трансляцию. И я считаю, что Droid будет тем, что мы будем использовать. Просто потому, что я люблю использовать любого помощника по кодированию с ИИ, и это его тема. Так что мы будем использовать его вместе для прямой трансляции, вероятно. Так что следите за этим. Это может быть 6 декабря, и это будет в то же время, что и эта прямая трансляция. Так что это будет еще одна суббота в 9:00 по центральному времени, потому что это время, которое подходит для большинства часовых поясов. Я стараюсь работать с как можно большим количеством часовых поясов. Но да, это будет очень захватывающая прямая трансляция. Мы будем использовать Droid. Так что да, Droid фантастичен для того, как он сжимает память. Так что вы можете иметь один разговор с вашим Droid.

агент, который содержит семь или восемь миллионов токенов, и он все еще может запоминать вещи, вплоть до PRD, которое у вас есть в начале разговора. Это просто безумие. Это так, так круто. Так что да, я в восторге от этой прямой трансляции. И кстати, причина, по которой мне все равно, какого ИИ-ассистента для кодирования я использую, заключается в том, что все принципы, которые я освещаю в курсе по агентному кодированию, и то, что я освещаю на своем YouTube-канале, всегда не зависят от конкретного инструмента, который я использую, например, этого удаленного агента кодирования. Да, прямо сейчас он работает только с Claude Code и Codeex, но я разработал его таким образом, что мы можем очень легко добавлять других ассистентов для кодирования, а затем способ загрузки наших команд и работы с ними будет абсолютно одинаковым, независимо от используемого инструмента. И в этом вся прелесть: мы никогда не знаем, какой ассистент для кодирования будет лучшим на следующей неделе. Сейчас Claude Code является своего рода действующим чемпионом с апреля, и это спорно, особенно в последнее время с Codeex и Gemini 3, но в целом Claude Code считается королем. Это была моя действительно слабая попытка нарисовать корону, но вы поняли. Но да, например, в следующем месяце может появиться GBT 5.1 Codeex, и он будет просто лучше, чем Claude Code. Ну, способ, которым я создал свои системы, и даже то, чему я учу в курсе по агентному кодированию, вы можете применить все это независимо от того, какого ИИ-ассистента для кодирования вы используете. Так что, если вам не нравится Claude Code из-за ограничений по частоте запросов, или вам просто очень нравится Cursor из-за их обновления 2.0, независимо от инструмента, вы можете применить все это. И так, да, пожалуйста, не думайте, что только потому, что Claude Code — это инструмент, который я предпочитаю, что ничего из этого не будет ценным, независимо от того, какого ассистента для кодирования вы используете. И есть немного разные способы делать вещи, например, команды слэш, например. Но все это будет работать независимо от инструмента. И так, да, если это звучит для вас хорошо, если вы хотите знать, как я строю системы для получения надежных и повторяемых результатов с помощью ассистентов для кодирования, независимо от инструмента, который я использую, тогда вам определенно стоит ознакомиться с Dynamus. У нас есть специальная распродажа, которая доступна только во время этой прямой трансляции. Так что я снова вставлю это сюда. Если вы заинтересованы в присоединении, я был бы очень признателен, если бы вы стали частью Dynamus. Это место, где я углубляюсь. Весь хороший материал, который я освещаю на своем YouTube-канале, я всегда буду продолжать публиковать, всегда давая тонны бесплатной ценности, как я делаю прямо сейчас в этой прямой трансляции, но это просто возможность углубиться еще больше, и там гораздо больше контента. Так что, хорошо. И да, у Droid есть своя инфраструктура агентов. Она довольно чертовски фантастична. У кого-нибудь есть ссылка на ассистента для кодирования Droid? Ну, я думаю, вы можете просто перейти на сайт, он называется factory.ai. Если вы просто зайдете на factory.ai, AI. Это название компании, где Droid — их агент кодирования. Так что да. Я не хотел «дроидджечить» вашу прямую трансляцию. Нет, все в порядке. Это фантастический инструмент. Я люблю говорить о других инструментах и ассистентах для кодирования. Так что, возвращаясь сюда. Все еще работаю над реализацией. Надеюсь, он не запустит еще один веб-сайт. Так что мы будем следить за командой kill shell. Но если это произойдет снова, то буквально все, что я сделаю, чтобы абсолютно убедиться, что этого не произойдет, это просто как часть промпта я скажу ему: «Не запускай веб-сайт», или я могу в реальном времени изменить команду execute GitHub, а затем мне придется перезагрузить команды и запустить их снова. Так что опять же, всегда есть решения для мелких проблем. Меня не смущает, что нам, возможно, придется немного адаптироваться или импровизировать, верно? И именно для этого и нужны прямые трансляции. Вам просто нужно немного импровизировать. Так что да, тем временем, пока мы ждем этого, я вытащу еще несколько вопросов. [хрюкает] Ладно, посмотрим. Это прямой звонок, который Ой, извините. Я отвечал на какой-то другой вопрос. Я пытаюсь найти следующий комментарий, чтобы показать. Скотт сказал: «Ты и Рэй». Круто. Да, это будет хорошо. Я никогда раньше не проводил прямых трансляций с другим ютубером, создателем контента. Это всегда был только я, я и вы, как сейчас. Это будет очень весело. Я сделал пару видео на YouTube с другими людьми, например, с Раасмусом и Шоном для некоторых вещей по инженерии Archon и контекста, но да, это будет очень захватывающе. Посмотрим. А потом кто-то спросил: собираешься ли ты на Гавайи на стрим Рэя Фернандо? Это было бы очень круто. Но нет, я не еду на Гавайи. Ох, черт. Опять не получилось. Хорошо, он продолжает Ох, я просто скажу ему, потому что я не Ну, ладно, на этот раз я на самом деле не знаю, почему он это сделал, но вот я сделаю это. И не может быть, я для Ох, я, возможно, перешел на неправильную ветку. Может быть, не запускай фронтенд. Просто сделай очень базовую валидацию с помощью юнит-тестов. Хорошо, я запущу это снова. Я не знаю. Я, должно быть, отредактировал не то место, или в плане есть что-то еще, что я должен был сделать. Да, к сожалению. Но я добавлю это, и тогда мы будем в порядке. Я скажу, что kill shell разрушает всю систему. [кашель и прочистка горла] Это как-то смешно. Думаю, я могу посмеяться над этим. Ну, может быть, больше, когда стрим закончится, но все в порядке. Так что мы запустим его снова. Я никогда раньше не приходилось этого делать, кстати. Это буквально закон Мерфи. Когда что-то может пойти не так во время прямой трансляции, конечно, это происходит. Но да, как я уже сказал, это хороший урок, чтобы показать, как мы можем импровизировать, потому что вы можете работать с ассистентами для кодирования как угодно. Я просто указываю путь к плану, а затем говорю: «О, вот еще кое-что, на что стоит обратить внимание». Или если бы я захотел, я мог бы перезапустить процесс после того, как исправил свой промпт для плана. Я должен был просто убрать вещи с Playwright, потому что я не использую вещи с Playwright для валидации прямо сейчас. В этом не суть этой системы. Я не хочу, чтобы она заходила так глубоко, когда я работаю над такой функцией, верно? И я определенно мог бы и мог бы просто скорректировать свой промпт, но это просто не то, что я хочу делать прямо сейчас. Так что да. Посмотрим. Что еще у нас есть? PID-файлы были созданы десятилетия назад, чтобы избежать таких проблем. Да. Да. Верно. Я тоже мог бы построить что-то подобное, например, систему, которая отслеживает точный процесс и запускает команду, чтобы завершить только это, потому что я думаю, что она делает что-то вроде, позвольте мне вернуться к этой проблеме. Она делает что-то вроде pkill-f node, это какая-то более общая команда, которая убивает себя, а также веб-сайт. Так что, если бы у нее был фактический PID, который она могла бы просто найти PID, и я бы хотел, чтобы она это сделала. Но да, она делает что-то более общее, и это вызывает проблему. Так что, как бы это ни было неприятно, это на самом деле очень интересно просто подумать о том, когда ассистенты для кодирования запускают эти команды, нам нужно инструктировать их, как быть конкретными, и это должно быть частью нашей системы. Но да, теперь, вероятно, этого не произойдет. О, это хороший вопрос. [прочистка горла] Что вы ищете в ассистентах для кодирования? Что делает их хорошими или плохими для вас? Так, это отличный вопрос. Я ценю это. Главное, что я ищу в ассистентах для кодирования, это автономия. И под автономией я подразумеваю, что я хочу, чтобы они приняли мой запрос на то, что я хочу, чтобы они построили, и я хочу, чтобы они действительно сделали это от начала до конца. Часто бывает, что ассистенты для кодирования становятся очень ленивыми, когда вы даете им структурированный план: «Я хочу, чтобы вы провели исследование, а затем отредактировали эту часть кодовой базы и эту часть, а затем я хочу, чтобы вы сделали эти четыре вещи для валидации, верно? У вас есть очень структурированный процесс, и они становятся ленивыми и реализуют только одну вещь или делают только половину валидации, а затем буквально говорят вам, что они закончили, или просто говорят: «О, последнюю часть я оставлю вам» или что-то в этом роде, и это очень раздражает, и мы видим это все реже и реже, поскольку действительно много разных ассистентов для кодирования становятся мощнее, но вы все еще видите это, и поэтому лучшие ассистенты для кодирования, такие как CL, причина, по которой Claude Code так впечатлил меня, и я начал использовать его практически исключительно еще в апреле, заключается в том, что он был и остается, на мой взгляд, лучшим ассистентом для кодирования для фактического принятия запроса и его обработки от начала до конца. Конечно, многое из того, насколько хорошо он это делает, зависит и от вашей системы, например, от ваших инструкций, правил и команд, но как просто базовая оболочка вокруг модели Claude, Claude Code очень впечатляет меня тем, как он может справляться с такими вещами. И, конечно же, Ох, ладно. На самом деле получилось. [смех] Наконец-то. Наконец-то. Хорошо. Так что я не делал эту глупую дополнительную валидацию. Но в любом случае, я быстро отвечу на ваш вопрос. Затем у нас будет финальный большой результат. Поехали. Но да, последнее, что я скажу, это то, что я ценю в ассистентах для кодирования, помимо очевидного, что они просто лучше всего работают для кода, это функции, которые встроены. Claude Code был и остается очень опережающим свое время. Например, он первым реализовал команды слэш и под-агентов. Теперь у нас есть вся идея навыков, которые работают напрямую с Claude Code, и это очень важно для сохранения контекста из-за всех проблем с серверами MCP, которые загружают тысячи и тысячи токенов контекста с самого начала. И так, да, просто иметь доступ к новейшим передовым функциям также очень важно для меня. Так что да, хороший вопрос. Надеюсь, они будут вам полезны. Но да, в любом случае, у нас наконец-то есть наш большой результат. Так что мы работаем в той же ветке функций, где мы создали наш план, и теперь у нас есть наш пул-реквест. Поехали. Итак, это из этой ветки в staging, потому что мы собираемся создать артефакт для нас, чтобы просмотреть, когда мы объединим этот пул-реквест, он обновит этот URL staging для нашего веб-сайта. Теперь, прежде чем мы это сделаем, конечно, мы можем зайти сюда и посмотреть, что изменилось. Так что я могу просмотреть его резюме пул-реквеста, которое он также создал автономно. И помните, когда мы настраивали удаленную систему агентного кодирования, мы использовали GitHub CLI, мы интегрируем GitHub CLI напрямую в нашего агента. Так что у него есть возможность делать такие вещи, как создание пул-реквеста. Claude Code фактически сгенерировал этот пул-реквест здесь как часть работы, которую он проделал. Например, один из этих вызовов bash в нижней части наших логов. Создает ли он этот пул-реквест с помощью GitHub CLI? Я могу посмотреть измененные файлы. Например, он создал утилиту для экспорта разговора в формате markdown. У нас есть макет чата, чтобы мы могли добавить заголовок разговора. Похоже, его нужно включить. А затем у нас есть функция экспорта, которую я уже показал. А затем у нас есть ввод чата. Так что мы добавляем что-то внизу, где будет кнопка, которую мы можем нажать, чтобы экспортировать разговор. И теперь, чтобы действительно проверить это как пользователь, я могу объединить этот пул-реквест, потому что в целом все выглядит хорошо. И теперь я могу сделать это, я покажу вам это в Telegram. Думаю, будет круто просто показать, что я могу использовать совершенно другое приложение для продолжения этого процесса. Так что я могу сказать: «Я только что создал PR, который идет в ветку staging, найди этот недавний PR и объедини его». Конечно, я могу объединить его сам, но я просто показываю, как ИИ-ассистент для кодирования может обрабатывать это полностью от начала до конца для нас. И я мог бы отправить этот запрос и со своего телефона. И так, да, так что он использует GitHub CLI, как и в GitHub. Он нашел PR номер 10, а теперь выполняет слияние. Бум-бум-бум, мы в порядке. Круто. Итак, пул-реквест успешно объединен. Так что, если мы вернемся к нашей кодовой базе, он помечен как объединенный. Очень круто. А затем, если мы зайдем в Render, мы увидим, что он автоматически запустился, он автоматически запустил новое развертывание. По состоянию на 11:20 утра по центральному времени, что прямо сейчас. Очень круто. И так, в Render, если я просто быстро покажу вам настройки, я просто настроил его так, чтобы любое изменение, внесенное в ветку staging, автоматически собиралось и развертывалось для меня. И так, мне не нужно собирать или копировать файлы на сервер или что-то еще. Если вы более старомодный инженер, вы, вероятно, помните, как делали это с помощью FTP или чего-то подобного, это все, что я делаю, или, скорее, ассистент для кодирования делает коммит, объединяя его для меня, а затем он автоматически развертывает вещи. Очень, очень круто. Так что я обновлю страницу, и да. Так что он в процессе развертывания. Так что мне просто нужно подождать секунду для статического приложения в Render. Развертывание должно занять всего минуту или две. Оно будет очень быстрым. Здравствуйте, ваш контент очень ценен. Можете ли вы оставить это на час или два? Я пропустил начало. Да. Так что, для тех из вас, кто присоединяется к прямой трансляции сейчас или немного позже, я оставлю ссылку на распродажу Black Friday еще на некоторое время после прямой трансляции, чтобы она не исчезла сразу после ее окончания. Если вы присоединитесь в самом конце, вы просто полностью упустите возможность. Но это будет всего лишь около часа, а затем она исчезнет. Так что, если вы заинтересованы в присоединении к Dynamus и использовании этой распродажи, у меня больше не будет ничего подобного. 40% скидка на годовую подписку, 25% скидка на месячную подписку в честь завершения всего курса по агентному кодированию, тогда да, определенно воспользуйтесь этим сейчас. Так что я ценю, что вы спросили, потому что да, я определенно хочу убедиться, что вы не присоединитесь в самом конце и не почувствуете, что упустили возможность. Так что да. Также кто-то сказал, что плохо слышно. Я немного подвину микрофон ближе к лицу. Извините. Мне также просто трудно говорить так громко сейчас. Но да, я постараюсь говорить погромче. Так что, хорошо. Вот. Надеюсь, так лучше. Хорошо. Есть ли шанс, что вы сделаете видео о DSPY? Да, я планирую сделать одно. Да. Так что следите за этим. Возможно, это будет в следующем месяце. Посмотрим. Я все еще работаю над планированием своего контент-календаря прямо сейчас, но у меня это на радаре на 100%. Так что, хорошо, вернемся сюда. Хорошо, мы развернуты. Так что это момент истины. Никаких обещаний, что это идеально. Это настоящая живая демонстрация, где я никогда раньше не создавал функцию экспорта markdown в этом приложении. Так что посмотрим, сработает ли. Итак, вот оно. Я обновляю страницу, и теперь у нас есть кнопка для экспорта разговора. Очень круто. Так что я выберу один здесь, а затем нажму «Экспортировать как markdown». И вот оно. Хорошо. Сработало? О, да. Вот оно. Отлично. Мы сделали это с первого раза. Я на самом деле немного нервничал. Не потому, что я не доверяю своей системе, а из-за закона Мерфи с прямыми трансляциями, верно? Но хорошо. Наша система только что сделала эту новую функцию для приложения с первого раза. И важно то, что, во-первых, это просто чертовски здорово, что это сработало. У нас есть экспорт нашего разговора в markdown. Но самое главное — это то, что этого еще нет в нашей основной ветке. И поэтому, если что-то пошло не так с этой реализацией, это не развернуто в продакшене. У нас есть возможность вернуться сюда и в том же разговоре сказать: «Знаете, удаленный агент, это провалилось с треском. Вам нужно исправить XYZ». Мы можем продолжать итерировать с нашей удаленной системой агентного кодирования, точно так же, как мы могли бы работать с нашим ассистентом для кодирования в нашей локальной среде разработки. И в этом случае это на самом деле идеально. Вы можете видеть, когда я делаю новый чат, он серый. Я не могу нажать на него, когда нет разговора. И затем я сразу же могу вернуться к старым разговорам, прежде чем я даже реализовал эту функцию. У меня есть небольшой всплывающий элемент в правом нижнем углу. Я знаю, что мое лицо в основном его закрывает, но разговор экспортирован, это чертовски круто. И теперь я могу сделать это, я объединю это в основную ветку. Так что я обновлю основную версию веб-сайта. Например, вы можете видеть, что если я зайду на chat.dynamus.ai, у нас еще нет этой кнопки, потому что мы обновили только среду staging. Это красиво. Человек в цикле здесь настолько мощный, потому что даже когда мы доверяем нашей системе, мы все равно хотим иметь возможность проверить любой артефакт, и, возможно, код, прежде чем мы перейдем в продакшен. И мы можем это сделать. Так что давайте сделаем это. Я снова зайду в Telegram, потому что, конечно, я хочу, чтобы ассистент для кодирования позаботился об этом. Так что я скажу: «Хорошо, я объединил или хорошо, все выглядит хорошо. Теперь создай PR из staging в main. Я хочу переместить это в продакшен, сделать простое описание PR, а затем фактически объединить его». Теперь я могу просмотреть пул-реквест перед тем, как объединить его, или что-то в этом роде, но я точно знаю, что переношу из staging в main. Так что я просто позволю ему сделать все это для меня. Так что он получит origin. Он получит diff, потому что он будет использовать это как контекст для создания хорошего описания пул-реквеста. Он обрабатывает все. Вот оно. Создание пул-реквеста, мы можем вернуться в GitHub и увидеть это в реальном времени. Так что позвольте мне прокрутить до самого верха и перейти к пул-реквестам. И вот оно. Staging переходит в main. И мы видим уведомление из Telegram. Все это происходит в реальном времени. Он создал пул-реквест, а затем немедленно объединил его с main, как я и просил. Идеально. И так, возвращаясь в Render, мы сразу видим, что все наши сервисы в нашем производственном окружении теперь переразвертываются. И так, как и со staging, нам не нужно ничего делать. Мы проверили вещи, но теперь мы оставляем это ассистенту для кодирования и автоматизации, а также Render для выполнения полного развертывания. А затем мы можем просто зайти на chat.dynamus.ai после этого и проверить все, когда мы развернемся. Так что мне просто нужно немного подождать, потому что конвейер rag и API агента занимают несколько минут для развертывания, потому что это, очевидно, более крупные сервисы, чем статический фронтенд. Это одна из причин, по которой я не включал их в среду staging. Но да, API агента будет тем, который займет пару минут. Круто. Раасмус уходит на сегодня. Отличный стрим. Да, до свидания, Динамус. Раасмус, я ценю это. Круто. Аудио кристально чистое. Убавьте громкость. Может быть, увеличьте громкость на вашей системе. О, хорошо, интересно. Да, это всегда сложно со стримами и видео на YouTube: у разных людей разный уровень громкости. Так что приходится просто, знаете ли, настраивать под себя. Когда возникает проблема, исправляйте систему, а не только промпт. Да, это очень верно. На самом деле, еще одна причина, почему хорошо, что у меня был этот обучающий момент. Так что давайте вернемся к проблеме. Одна из основных вещей, которые я освещаю в курсе по агентному кодированию, и это действительно важно, пожалуйста, примите это во внимание, это важно, когда мы сталкиваемся с проблемой в нашем процессе, как мы сделали здесь, очень реальной проблемой, к сожалению, с которой мы столкнулись. Конечно, я могу просто наложить на нее пластырь, как я сделал здесь. И, кстати, я сделал это только потому, что хочу быть кратким в нашей демонстрации. Но когда вы сталкиваетесь с такой проблемой, вместо того, чтобы делать одноразовое исправление, используйте это как возможность для развития вашей системы. И позвольте мне очень быстро показать диаграмму для этого. Так что мы проходим цикл pivot. Это процесс, который мы проделали в GitHub. Мы сделали наше планирование vibe. Мы создали наш структурированный план, а затем передали структурированный план на реализацию, которая также выполнила простую версию валидации для нас. Так что это цикл, через который мы проходим всякий раз, когда хотим реализовать новую функцию. Но после завершения нашего цикла pivot у нас есть точка принятия решения. Так что позвольте мне увеличить это. Если мы не столкнемся с серьезными проблемами в цикле pivot, верно? Реализация прошла довольно хорошо. Возможно, были какие-то проблемы, которые нам пришлось решить, но в целом все прошло очень хорошо, и мы не увидели никаких закономерностей. Если это так, то мы можем перейти непосредственно к следующему циклу pivot для реализации нашей следующей функции. Я могу внести еще одно изменение в наш фронтенд, потому что все прошло довольно хорошо. Но затем у нас есть другая сторона медали. Если мы столкнулись с серьезной проблемой в нашем цикле pivot, и я думаю, вы технически можете сказать, что мы столкнулись с повторяющейся проблемой, у нас появилась закономерность, где мы думаем: «Хорошо, что-то явно должно быть изменено в нашей системе». Так что теперь мы делаем следующее: вместо того, чтобы просто вернуться к реализации следующей функции после того, как мы наложили наш пластырь, вместо этого мы проведем ретроспективу, мы вернемся к нашей системе и подумаем, что мы могли бы обновить, чтобы эта проблема не повторилась. Так что я на самом деле очень рад, что эта проблема возникла, потому что это хорошая возможность поговорить об этом на реальном примере. И мы как бы делаем мета-цикл здесь, верно? Когда мы впервые настраиваем наш проект, здесь мы создаем наш PRD. И я все это освещаю в курсе по агентному кодированию. Кстати, я даже указываю конкретные модули, где я освещаю эти разные вещи. Так что мы создаем наш PRD. Мы определяем наши глобальные правила и наш контекст по запросу. Мы создаем все наши команды, такие как те, которые мы видели сегодня для подготовки, планирования, выполнения. Похожая ситуация для разработки brownfield, если мы применяем ИИ к существующей кодовой базе. Так что мы настраиваем наш проект. Это своего рода наш ИИ-слой, как я люблю его называть. А затем мы переходим к нашим циклам pivot. И затем у нас есть своего рода меньший цикл здесь. Извините. У нас есть меньший цикл здесь, где после реализации одной функции мы можем просто перейти к следующей. Но если мы найдем возможность развить нашу систему, то, по сути, мы смотрим на то, что мы создали для нашего проекта изначально. Например, может быть, мне нужно что-то изменить в моих командах, или, может быть, мне нужно быть очень ясным в чем-то в моих глобальных правилах, или добавить что-то к моим глобальным правилам. Так что вы используете это как возможность решить проблему таким образом, чтобы она не повторилась. Это высокоуровневый навык — не просто вернуться и сделать еще один цикл, потому что вы можете столкнуться с той же проблемой снова. Я, вероятно, столкнусь с той же проблемой, где он запускает веб-сайт, а затем убивает оболочку, а затем это также завершает Cloud Code. Так что вместо этого я пройду через этот своего рода мета-цикл, где я увеличиваю масштаб, улучшаю что-то, например, мою команду, затем возвращаюсь к следующему циклу pivot. Это так важно, потому что, как я уже сказал, я бы сделал для проблемы, с которой мы столкнулись сегодня, я бы, вероятно, обновил свою команду execute и сказал бы: «Когда вы запускаете веб-сайт и вам нужно убить контейнер Docker или процесс узла в конце, сделайте это таким образом, чтобы вы не завершали сеанс SDK Cloud Code». Теперь, как именно это сделать, я не знаю, мне придется провести исследование, но вот где вы можете использовать своего ассистента для кодирования, чтобы помочь вам провести исследование. Например, я могу сказать: «Эй, Claude, Code, ты убил оболочку таким образом, что ты убил и себя». Пожалуйста, помоги мне провести исследование и найти, какую команду kill мне использовать, чтобы я мог нацелиться, например, на конкретный PID, как мы говорили ранее. И таким образом вы убедитесь, что вы не убиваете себя, когда завершаете процесс, который вы запустили для валидации. Так что мы можем включить это как небольшое дополнение к нашей команде execute, или, возможно, включить это как часть нашего структурированного плана. Так что мы развиваем нашу систему, чтобы эта проблема не повторилась. И это так, так мощно, потому что вы начинаете с этой базовой системы, где возникают эти проблемы, как у меня, но затем вы решаете их по одной. Вы делаете несколько циклов pivot, вы понимаете, что эта вещь продолжает происходить, поэтому вы решаете ее, а затем, возможно, что-то еще возникает, когда вы делаете следующий набор циклов pivot, но это нормально, потому что это возможность, вы относитесь к каждой проблеме как к возможности. Так что в итоге вы достигаете точки, где вы развили свою систему для решения всех этих проблем, так что вы просто переходите на следующий уровень доверия к тому, что вы создали, и именно тогда вы действительно достигаете точки с ассистентами для кодирования, где у вас есть этот безумный уровень власти в вашем распоряжении, и именно это я чувствую, что у меня есть. Позвольте мне просто сказать вам, весь этот процесс, который я использую в курсе по агентному кодированию, который я освещаю для вас в курсе, я использую этот точный процесс для создания удаленной системы агентного кодирования. И так, буквально, если вы присоединитесь к Dynamus и зайдете в репозиторий GitHub, позвольте мне перейти к этому прямо сейчас. Если я зайду в сообщество Dynamis, вы увидите все репозитории, которые у нас есть в качестве ресурсов для сообщества. Если я зайду в удаленный агент кодирования, вы можете буквально пройти через 41 коммит, которые я сделал для этого проекта, и вы можете увидеть все структурированные планы. Вы можете увидеть все команды, которые я встроил. Вы можете увидеть каждый из отдельных циклов pivot, через которые я прошел, и всю валидацию, которую я провел. Все это использует курс в точности. Так что я пью из своего собственного или как там фраза? Я «ем свою собственную собачью еду». Я забываю, я «мозговая гниль» на фразе, но буквально то, чему я учу, это то, что я использую, чтобы построить это, и я смог построить все это за очень короткое время, потому что процесс был просто таким надежным, и любые проблемы, с которыми я сталкивался в первых нескольких циклах pivot, которые я делал, я просто развивал свою систему, чтобы валидация была лучше или структурированный план был лучше, что бы это ни потребовалось, чтобы это не произошло снова. И именно поэтому я так уверен, что когда я вернусь сюда и добавлю Slack или добавлю Open Code, любые другие платформы или ассистенты для кодирования, я знаю, что это будет работать так хорошо, потому что любые проблемы, с которыми я столкнулся при создании интеграции Telegram, я развил свою систему так, что интеграция GitHub стала в два раза лучше. И поэтому теперь я знаю, что любая следующая интеграция также будет идти еще лучше. И то же самое касается создания ассистентов для кодирования. И так, это, пожалуй, одна из основных вещей, которые я освещаю в курсе по агентному кодированию: каждый раз, когда вы сталкиваетесь с проблемой в своем коде, не просто исправляйте ошибку. Я имею в виду, очевидно, вы должны исправить ошибку, но также вернитесь и решите проблему в вашей системе, если это закономерность, особенно если вы сталкиваетесь с этой проблемой три или более раз. Это как: «Хорошо, да, пожалуйста, сделайте шаг назад, подумайте, как вы можете адаптировать систему, чтобы это не повторилось». Так что, если это звучит для вас хорошо, если вы хотите иметь систему, которую вы будете развивать со временем и делать ее пуленепробиваемой, пожалуйста, ознакомьтесь с этой страницей. Я снова вставлю ссылку в чат. Возможность, которую вы больше не получите, для скидки при присоединении к Dynamus в честь завершения. Этот курс по агентному кодированию полностью завершен. Конечно, помимо дальнейших улучшений, которые я хочу внести в курс, Раасмус и я, Раасмус, кстати, помог мне создать этот курс. Огромный привет ему. Я знаю, что он ушел со стрима раньше, но да, мы вложили столько усилий в создание этого курса. И даже несмотря на то, что он выпущен и завершен в том смысле, что основные модули выпущены, мы будем продолжать улучшать вещи. Мы будем продолжать развивать удаленную систему агентного кодирования. Как я уже говорил, мы будем продолжать развивать Obsidian AI Agent, который является основным вариантом использования этого курса. И просто всякий раз, когда появляются новые лучшие практики для ИИ-кодирования, мы позаботимся о том, чтобы включить их в этот курс. Позвольте мне сказать вам, просто зайдя в модуль MCP здесь, в модуле 10, я фактически выпустил этот модуль немного поздно, потому что я знал, что мне нужно поговорить о навыках. Когда я впервые планировал этот модуль, еще в августе, навыков еще не существовало. Так что этот модуль будет только о серверах MCP, но затем я скорректировал его практически в реальном времени, чтобы включить и навыки, потому что я всегда хочу убедиться, что вы находитесь на передовой с контентом, который у меня есть для вас. Я не хочу, чтобы вы отставали. И это мое обязательство перед вами: я буду усердно работать, чтобы поддерживать эти вещи в актуальном состоянии. Я имею в виду, конечно, если навыки появятся завтра, я не буду включать навыки на следующий день, но я имею в виду, что будет небольшая задержка, но это будет довольно безумно, как быстро я их вам предоставлю. Так что да, надеюсь, это звучит для вас хорошо. Так что, хорошо. Ну, [прочистка горла] в любом случае, возвращаясь к Render, все развернуто в нашей основной ветке. И так, теперь, если я обновлю страницу, это последний момент истины, потому что у нас все развернуто в продакшене. Я обновляю страницу, и бум, вот оно. У нас есть кнопка экспорта. Так что, если я зайду в разговор, я имею в виду, что ничего из этого не должно вас шокировать сейчас, потому что это именно то, что мы сделали в нашей среде staging, но теперь у нас это развернуто в продакшене после того, как мы провели валидацию. Так что очень, очень круто. Хорошо. Так что это, пожалуй, все, что я хотел сделать для живой демонстрации. Теперь, другая вещь — есть еще много чего, что мы можем сделать. Например, я могу провести обзор кода для пул-реквеста. У меня есть гораздо больше команд в моей системе. Вещи, которые я освещаю в курсе по агентному кодированию, такие как обзор кода или обзор системы, который фактически помогает вам с эволюцией системы, о которой я говорил ранее. Так что есть гораздо больше вещей, которые я мог бы затронуть, но я думаю, что я хочу сделать, чтобы завершить прямую трансляцию, это просто ответить на любые вопросы, которые у вас есть, а затем, возможно, немного больше поговорить об архитектуре, которую я имею для этой системы. Потому что да, на данный момент мы рассмотрели, как все настроить, как это работает, почему это важно по сравнению с другими системами, которые у вас уже есть, такими как Factory или Cloud Code для веба. Сила, которую вы имеете в пользовательской системе, где вы действительно контролируете команды, которые вы вводите, и такие вещи, как MCP, это большое дело, и мы прошли полную демонстрацию. Так что да, я думаю, именно так я хочу завершить: ответить на ваши вопросы, а затем охватить некоторую архитектуру. Так что я сделаю быстрый перерыв в туалет, потому что мне нужно пополнить запасы воды. Так что я выключу звук и выключу камеру на пару минут, а затем вернусь, чтобы поговорить с вами и ответить на некоторые вопросы. Так что я скажу: «Скоро вернусь». Я просто добавлю это очень хитро здесь. Вот, скоро вернусь. Так что я выключу звук и вернусь через пару минут. Хорошо, мы вернулись. На самом деле я забыл выпить воды. Все в порядке. Вот оно. Нужно убедиться, что я продолжаю делать это. Но да, я удалю это. Круто. Хорошо. Так что да, я немного расскажу об архитектуре. Я уже много говорил об этом. Но да, я хочу пройтись по некоторым вопросам, которые мы получили. Придется идти. Спасибо, Коул, за все ваше время и усилия. Пожалуйста. Увидимся в Dynamus. Именно так. Круто. Разве нет способа заблокировать инструмент kill shell в коде/конфигурации, если известно, что он ломает вещи? Да, Тони. Вы можете настроить гранулярные разрешения, если хотите, для Cloud Code, даже для SDK агентов. Проблема в том, что я не могу просто заблокировать его и иметь это как решение, потому что он может запутаться, а затем просто никогда не закрыть веб-сайт, который он запускает, и тогда у меня будет утечка памяти, потому что он будет запускать процесс каждый раз, когда он валидирует что-то, а затем никогда не закрывать его в моей контейнерной среде. Поэтому лучше решать проблему непосредственно в системе и либо сказать ему не делать эту валидацию только для моей удаленной системы и использовать другие способы проверки, либо просто сказать ему использовать другую команду. Но вы можете сделать и то, и другое. Например, вы можете заблокировать kill shell, а затем заставить его просто использовать bash с другим kill, где он использует конкретный PID, например. Так что это двухэтапный процесс: перечислить запущенные приложения, а затем получить PID и убить его. Так что да, есть определенно несколько способов решить проблему. Поэтому я не беспокоюсь об этом. Это как: «О, я могу легко развить свою систему». Я могу даже внести исправление в саму удаленную систему агентного кодирования, что, безусловно, мы рассмотрим, потому что, как я уже сказал, я хочу продолжать развивать эти вещи для вас. Так что да, Шон только что присоединился с годовой подпиской. Потрясающе. Шон, добро пожаловать в Dynamus, мой друг. Я ценю это. Это было отличное шоу. До следующего раза. Да, я очень ценю это. Вы все очень ободряете. Я очень ценю это. У этого тоже будет скидка. Я не знаю, хотели ли они отправить что-то еще, но да, у нас будет скидка на данный момент в прямой трансляции, скидка, которую вы больше никогда не получите. И затем у нас будет обычная скидка Black Friday, которая действует до Cyber Monday. Это почти так же хорошо. Так что, если вы смотрите запись и пропустили скидку в прямой трансляции, все еще действует безумная сделка до Cyber Monday. Кстати, вы потрясающий, что говорите три часа подряд. Да, я ценю, даже с хриплым голосом, я справился. Он не стал хуже за время прямой трансляции. На самом деле, он стал немного лучше. Так что это довольно круто. Я рад это слышать. Я рад, что это, да, я имею в виду, это много разговоров. Я, вероятно, потеряю голос завтра, но завтра я не буду разговаривать. Думаю, я возьму завтра выходной. Да, просто чтобы отдохнуть. Я взял большую часть вчерашнего дня и выходные, что является первым разом, когда я взял около 72 часов выходных за неделю с трех лет назад, потому что даже с отпусками, которые я брал в этом году, я просто, и есть так много дел в Dynamus, что я все еще в сообществе каждый день, потому что это мое обязательство перед вами, верно? И это часть ценности, которую я предоставляю, просто постоянно быть там, чтобы убедиться, что у нас происходят захватывающие вещи, и просто убедиться, что я способствую потрясающим дискуссиям. Но да, также в Dynamus много людей, и если вы знаете, вы знаете, если вы один из этих людей, спасибо, что вы в Dynamus каждый день и создаете очень увлекательные дискуссии. Хорошо, ты молодец, Коул. Большое спасибо. Увидимся в Dynamus. Я ценю это, Шон. Увидимся в сообществе, чувак. Пожалуйста. Ссылаясь на виночерпия, который пьет из чаши царя, чтобы доказать, что она не отравлена. Да. И Шон сказал: «Ешь свою собственную собачью еду». Я имею в виду, что в основном это то, что я делаю. Но да, возвращаясь к этой аналогии, это своего рода правда, верно? Ну, я имею в виду, во-первых, то, чему я учу в курсе по агентному кодированию, очевидно, уходит далеко назад, насколько это касается вещей, которые я включил для себя и исследовал сам. Но да, создание удаленной системы агентного кодирования и ее построение в соответствии с точными командами, которые я даю в качестве ресурса в сообществе и в курсе, и точно такие же правила, я определенно хотел сделать это, чтобы доказать себе и иметь возможность сказать вам, что нет никаких мелких дополнений, которые я сделал, чтобы упростить вещи для курса или чего-либо еще, что влияет на процесс. Я фактически использовал то же самое, чтобы создать это приложение, которое, да, это не будет какой-то супер сложной кодовой базой Fortune 500, но оно все еще довольно детализировано, и я много думал об архитектуре, когда создавал первоначальный PRD. Может быть, сейчас хорошее время, чтобы быстро углубиться в это. Но да, я построил все это, чтобы доказать, что, как бы то ни было, я могу с полной уверенностью сказать, что если вы пройдете точный поток, который я излагаю в системе агентного кодирования, и вы построите свою собственную систему, используя эти команды и правила, и просто принципы, лежащие в основе всего этого, я могу абсолютно гарантировать, что вы будете поражены результатами, которые вы получите, используя ассистента для кодирования. Для всех тех людей, которые говорят, что ИИ-кодирование ненадежно, это правда, но попробуйте иметь такую систему. И когда вы ставите себя в цикл правильным образом, это нормально, когда ассистент для кодирования ошибается, потому что, как я уже сказал, у нас есть наши ограждения. У нас есть наша валидация. Мы проводим эволюцию системы. Так что мы решаем эти проблемы. Мы не игнорируем это. Мы не ведем себя так, будто ассистенты для кодирования всегда идеальны, но мы используем их несовершенства как возможность избежать их в будущем. И да, это просто так круто, какие вещи мы можем построить, что я могу построить, это просто доказывает это. Круто. Заблокирован на год. Давайте строить. Отлично. Добро пожаловать в Dynamus. Я очень ценю это. Круто. Круто. Я строил веб-сайт для кого-то, и этот виночерпий из книги Даля был прямо передо мной. Отлично. [вздох] Отлично. Не могу купить курс. Нет варианта оплаты через PayPal. Да. Ну, я думал об интеграции PayPal, но да, я имею в виду, что вы можете использовать Link, который интегрирован в Stripe, так что вам не придется напрямую вводить данные своей кредитной карты. Надеюсь, это поможет. Но да, у меня нет интеграции с PayPal на данный момент. [кашель] Извините. Можете ли вы опубликовать диаграммы, которые вы показывали? Да, я не совсем знаю, где бы я их разместил. Может быть, я Ну да, потому что даже репозиторий удаленной системы агентного кодирования будет удален в конце стрима. Но я скажу, что все это есть в Dynamus. Так что этот здесь с архитектурой, а также мое полное руководство по курсу. Это часть курса по агентному кодированию Dynamus. Так что, если вы присоединитесь к сообществу и пройдете курс, это ресурсы, и я фактически создал этот специально как способ для вас иметь что-то, на что можно постоянно ссылаться. Так что, когда вы проходите курс и строите свою собственную систему, вы можете вернуться к этому, [хрюкает] извините, чтобы вы могли подумать для себя: «Хорошо, я сейчас нахожусь в этой части моего процесса, или я пытаюсь работать с существующей грязной кодовой базой. Я нахожусь в этой части моего процесса». И таким образом вы можете знать, где вы сейчас находитесь, что будет дальше, в каком модуле курса я говорю об этом. И так, это своего рода ваш гид или карта, чтобы пройти курс, а затем просто иметь все основные выводы доступными для вас. Конечно, в самом курсе мы углубляемся гораздо глубже в то, как мы создаем наш документ с требованиями к продукту, который руководит нашим MVP, например, и затем имеем прогрессию курса, изложенную со всеми различными модулями, которые у нас есть. Которые, возможно, я могу быстро рассказать об этом. Модуль один — это своего рода базовое упражнение, просто вводящее вас в то, почему нам нужна система для ИИ-кодирования, а затем модуль два — когда я представляю идею pivot loop, которая является своего рода основным процессом, о котором я много говорил к этому моменту, это просто ментальные модели, верно? А затем мы переходим к построению компонентов нашей системы, таких как наши глобальные правила и наши команды. Это действительно то, что находится в нашем контексте по запросу, и я объясняю, что все это такое.

курс, но как бы, это те вещи, которые действительно являются основой любой системы, которую мы имеем, любого процесса, через который мы направляем нашего помощника по кодированию. И я говорю о том, как это применимо как к началу новых проектов, так и к работе над существующими. А затем модули с 5 по 7 — это как бы большие основные модули. И это как бы то место, где всё начинает сходиться с циклом PIV, нашими глобальными правилами, созданием нашего PRD, переходом к нашим командам и тем, как мы связываем всё это вместе, чтобы создать нашу полную систему. прохождение циклов PIV и даже погружение в идеи обзора системы и её развития в модуле 7. А затем модули с 8 по 12 — это как бы более продвинутые модули, где мы переходим к удалённому агентному кодированию. Например, модуль 9 — это место, где я очень глубоко погружаюсь в систему, которую я раздаю вам сегодня в прямом эфире. А затем также думаю о том, как мы можем использовать GitHub Actions как ещё один способ автоматизации вещей в репозиториях GitHub и, например, встраивать помощь в кодировании в наш CI/CD. А затем модули с 10 по 11 — это просто размышления о том, как дать больше власти и инструментов нашим помощникам по кодированию, таким как серверы MCP и навыки. Суб-агенты, как мы можем использовать суб-агентов и различных помощников по кодированию, а затем также как мы можем запускать различные кодирующие агенты параллельно, работая над одной и той же кодовой базой или над разными кодовыми базами одновременно, и стратегии для этого, например, рабочие деревья git. Так что да, а затем у меня есть продвинутые, как бы бонусные ресурсы, а также углубление в различные стратегии инженерии контекста, такие как метод BMAD, PRP и GitHub spec kit, говоря о том, как мы можем попробовать эти стратегии, а не просто использовать их "из коробки", потому что мы всегда можем превзойти эти стратегии, когда мы используем их или когда мы создаём свою собственную систему. Но всё равно здорово иметь это как возможность узнать, как работают эти системы. Позвольте мне вернуться к курсу. Как бы, когда я освещаю эти моменты, всё сводится к тому, как мы можем извлечь уроки из этих стратегий для развития наших собственных систем, находя части из них, которые нам нравятся, а затем встраивая их в наш собственный процесс, например, обновляя нашу команду планирования или, возможно, добавляя новую команду, которая у нас есть как часть нашего цикла PIV. Что бы это ни было для вас, что бы вы ни хотели оптимизировать для своей системы и проектов, над которыми вы работаете. Вот тогда и раскрывается истинная сила. Так что да, ещё одно, ещё раз я просто хочу быстро упомянуть, если это звучит хорошо для вас, и вы хотите пройти и узнать, что нужно для создания надёжных и повторяемых систем для AI-кодирования, воспользуйтесь этой возможностью, так как этот прямой эфир скоро закончится. Я его завершу, и вскоре после этого он исчезнет, и у нас всё ещё будет обычная распродажа Black Friday Cyber Monday, но это специальная скидка, которая будет действовать только для этого прямого эфира прямо сейчас. Так что я был бы рад видеть вас в сообществе. [фыркает] Ладно, круто. Круто. Теперь я действительно начинаю чувствовать, как мой голос немного садится, но всё хорошо. Всё хорошо. Ладно. Привет, Крис. А у нас есть доступ к этому агенту в Dynamus, или мне нужно клонировать его сейчас? Если да, то поделитесь ссылкой ещё раз, пожалуйста. [прочищает горло] Да, я сейчас поделюсь ссылкой. А, но Крис, это доступно в Dynamus. Так что я освещаю всё это в модуле девять курса по агентному кодированию, и у меня также есть ссылка на репозиторий для версии этого, которую я буду продолжать развивать в сообществе. Так что для тех из вас, кто любопытен и просто, потому что вы спросили, Крис, я дам ссылку на публичную версию, которая будет удалена в течение часа после окончания прямого эфира. Но да, вы можете клонировать её, если хотите. То, что я показываю прямо сейчас, — это то же самое, что и приватная версия для курса по агентному кодированию, потому что я верен своему слову. Я раздаю всё бесплатно для этого прямого эфира, но со временем версия, которая у нас есть в Dynamis, будет более развитой. Надеюсь, это имеет смысл. Но да, спасибо, Шон, за помощь с вопросом. Ладно. Ой, не хотел этого показывать. Только что закончил внедрять свой адаптер Jira. Получил первый комментарий в Jira через мой локальный Docker. Вау, это так круто, Питер. Потому что Jira — одна из тех вещей, которые я думал интегрировать. Ты... так ты говоришь, что ты фактически форкнул эту систему, или ты говоришь, что это что-то другое, что ты построил, потому что если ты построил это непосредственно в систему удалённого агентного кодирования, это так круто, и это просто доказывает, насколько это просто. Я имею в виду, я уверен, что ты очень умный парень, Питер, но всё равно иметь возможность сделать это во время прямого эфира — это потрясающе. Так что это очень круто. А затем ты также спросил, если это будет удалено, останутся ли форки? Да. Так что твой форк всё ещё будет там. Ты не потеряешь форк. По крайней мере, я почти уверен. Это на самом деле... Ну, может быть, я должен быть очень уверен в этом. Позвольте мне на самом деле быстро спросить у Claw Desktop. Если я сделаю репозиторий приватным, который был публичным, сохраняют ли люди свои форки? Я думаю, что как только ты форкаешь, это как бы твой собственный приватный репозиторий, или, ну, я полагаю, он должен быть публичным, но это твой собственный репозиторий. [фыркает] Да, хорошо, вот оговорка. Ты всё ещё сохраняешь форк, но он становится отключенным. Так что он не будет сообщать тебе, что твой форк теперь на пять коммитов отстаёт или на десять коммитов опережает основной. Он становится твоей собственной автономной копией. Так что да, для тебя нет проблем, когда я сделаю его приватным. Ты не теряешь то, что у тебя есть. Что да, создание адаптера Jira — это так чертовски круто. Я очень надеюсь, что ты не потеряешь то, что у тебя есть. Так что да, ты будешь в порядке. А затем для любого, даже если ты не вносишь изменений, но просто хочешь сохранить репозиторий, ты сможешь, потому что это роскошь, которую ты имеешь, будучи частью этого стрима, — это то, что я даю тебе. Это не то, что я буду продолжать развивать, как тот, что в Dynamis, но у тебя есть это сейчас, чтобы развивать его, как ты хочешь, и использовать прямо сейчас. Тони сказал: "Когда ты удаляешь публичный репозиторий, выбирается самый старый активный публичный форк, чтобы стать новым исходным репозиторием". Интересно. Это не то, что мне сказал Claw Desktop, но, может быть, я не знаю. Может быть, он был не совсем прав. Так что я не думаю, что буду удалять репозиторий, но, скорее всего, сделаю его приватным или спрячу или заархивирую и сделаю приватным. Я не знаю. Я разберусь. Во время этого прямого эфира я закончил свой терминальный AI-агент, использующий Olama, и добавил дополнительную функцию, используя свой телефон. Вперёд, Шон. Это так круто. [фыркает] Отлично. Aqua Voice не транскрибирует лошадь. Если ты имеешь в виду голос лошади. На самом деле, Aqua Voice, я использовал его последние пару дней, пока готовился к прямому эфиру, и он понимает меня почти так же хорошо. Забавная вещь с Aqua Voice заключается в том, что... позвольте мне показать вам очень быстро. Так что для тех из вас, кто не знает, я говорю об этом и в курсе агентного кодирования, но я очень-очень рекомендую использовать какой-либо инструмент преобразования речи в текст, чтобы разговаривать с вашим помощником по кодированию, потому что вы можете говорить в два-три раза быстрее, чем печатать. И часто, когда мы пытаемся исправить нашего помощника по кодированию или хотим подробно описать функцию, которую мы хотим создать, мы гораздо более склонны быть очень тщательными в своих объяснениях, если [фыркает] у нас нет этого барьера необходимости печатать каждое слово. И поэтому я обнаружил, что результаты с помощниками по кодированию на самом деле улучшаются, когда я использую инструмент преобразования речи в текст, потому что я более склонен быть тщательным. Буквально, это всё. И поэтому я использую их всё время. Вы можете видеть здесь, что с моим Aqua Voice я начал подписку в конце апреля. Я произнёс почти 400 000 слов в Aqua Voice. И мои слова в минуту — 230. Ты не можешь сказать мне, что можешь печатать так быстро. Нет никакой возможности. И вы также должны учитывать, что 230 слов в минуту также учитывают тот факт, что иногда у меня бывают паузы в разговоре, пока я думаю. Может быть, 30 секунд, когда Aqua Voice ведёт прямую транскрипцию, но я на самом деле ничего не говорю. И даже тогда это 230 слов в минуту. Это безумие. Так что да, Aqua фантастический. Это всего лишь 10 долларов в месяц. Я не связан с ними или что-то в этом роде. Если вы хотите бесплатную и как бы открытую версию, вы также можете посмотреть на Epic Center Whispering. Так что да, это не та ссылка. Извините, я хотел перейти к репозиторию GitHub. Так что Epicenter Whispering — это что-то вроде Aqua Voice, но это бесплатно и с открытым исходным кодом. Так что да, я не говорю, что вы должны платить за Aqua или использовать коммерческий инструмент, но просто получите что-нибудь, пожалуйста. Это так удивительно иметь инструмент преобразования речи в текст для кодирования. Так что да, [прочищает горло] Whisper Flow. Да, Whisper Flow тоже фантастический. Да, есть много хороших. А затем Mac имеет свою встроенную функцию, если у вас есть Mac. Я думаю, что это может быть Whisper Flow, но я очень редко пользуюсь Mac. Так что, да, простите за моё невежество, но да, есть много хороших инструментов. Ладно, это хороший вопрос. У меня нет формального образования в области CS или AI, но я хочу создавать свои собственные AI-агенты и системы, подобные этой. Если бы вы начинали сегодня без степени, что бы вы изучили первым? Да. Очень, очень хороший вопрос. Итак, вот что я бы сказал. Даже с AI-помощниками по кодированию, вам всё равно нужно понимать основы программирования, если вы хотите делать что-то техническое, например, если вы хотите создавать какое-либо программное обеспечение. Так что я не буду тем человеком, который скажет вам просто научиться использовать помощника по кодированию и не изучать ничего вроде Python или TypeScript. Я бы рекомендовал начать с основ Python. Убедиться, что вы понимаете, что входит в создание программы, понимаете логику циклов, классов, функций, аргументов и тому подобного. Но вам определённо не нужно углубляться в понимание синтаксиса и запоминание синтаксиса, как раньше, потому что это та рутинная работа, которую вы хотите передать помощникам по кодированию. И поэтому я стараюсь, чтобы AI-помощники по кодированию делали весь код за меня сейчас. Но я по-прежнему очень ценю своё понимание архитектуры и просто того, как всё кодируется в целом, различные шаблоны проектирования, которые вы изучаете со степенью или можете изучить самостоятельно, потому что это позволяет мне правильно проверять AI-помощника по кодированию. Так что изучите основы Python, а затем переходите к изучению того, как использовать AI-помощников по кодированию. Я имею в виду, те же самые вещи, которые я освещаю в этом прямом эфире. Те вещи, которые я постоянно говорю, что освещаю в курсе агентного кодирования, когда вы учитесь применять, например, PIV-цикл для планирования, реализации, проверки, вы узнаёте об эволюции системы и о том, как использовать такие инструменты, как серверы MCP и суб-агенты, вот куда вам следует идти дальше. А теперь, что касается создания AI-агентов, то после того, как у вас будет основа, например, вот как я кодирую, вот как я использую помощников по кодированию, теперь вы изучите специфику работы AI-агентов, особенно в коде, и принципы более высокого уровня, такие как шаблон React, и как вы включаете инструменты в своего агента и как вы проектируете хорошие системные подсказки. Затем вы переходите к этому дальше, это как бы три основных шага, чтобы действительно начать. А затем, если вы хотите пойти ещё дальше, думая о том, как вы фактически монетизируете своих агентов, тогда вы начинаете погружаться в исследования, например, какая ниша и область, в которой я могу создавать своих агентов, которую люди хотят и за которую будут мне платить. Вы можете заниматься фрилансом или создавать SaaS, или просто заниматься холодными рассылками или чем-то вроде Upwork. Я не знаю, заинтересованы ли вы в монетизации или хотите работать в компании и быть инженером по AI или просто инженером-программистом в команде инженеров с передовым развёртыванием, я не знаю точно ваших целей, но да, всё это приходит после изучения основ кодирования, помощников по кодированию и создания агентов, и, конечно же, я должен сказать, потому что вы дали мне как бы бесплатный шар, я освещаю всё это в сообществе, потому что если я пойду на курсы, у меня есть курс AI Agent Mastery, чтобы показать вам, как создавать агентов от начала до конца, и у меня есть курс Agent Coding для того, как создавать с помощью помощников по кодированию, а затем, если вы хотите изучить основы Python, я не освещаю это в курсе или в сообществе, потому что это уже повсюду в интернете, и я просто думаю, что есть отличные ресурсы, даже бесплатные, на YouTube для изучения Python, например, Socratica имеет отличную серию на YouTube для изучения основ Python. Так что да, спасибо, Тай. Спасибо, Шон. Звучит хорошо. Ладно, Питер. Питер сходит с ума. Мне нравится. Я имею в виду, сходит с ума в хорошем смысле. У меня есть Bitbucket и Jira. Я вставил комментарий Jira. Он клонировал мой Bitbucket, а затем управляет комментарием. Также он выполнит автоматический обзор PR, и будет создан PR. Это так круто. Мне это очень нравится, Питер. Отличная работа. Ты многому научишься навыкам кодирования через осмос и Dynamis. Да, спасибо, Скотт, что сказал это. Да, просто постоянно задавай вопросы своим любимым LLM. Это очень хороший совет. Я думаю, это ещё одна вещь, которую я хочу отметить здесь. И я говорю об этом и в курсе Agentic Coding. Поверь мне, тебе не нужно быть экспертом в области программной инженерии, чтобы получить много пользы от курса Agentic Coding, потому что я постоянно говорю: вот часть процесса, где, если ты не понимаешь код, просто спроси у помощника по кодированию, задавай ему вопросы один за другим. И так, возвращаясь к диаграмме, большая часть атмосферы планирования, например, как я сказал ранее, это ваше время, чтобы прийти к согласию с помощником по кодированию относительно того, что именно вы собираетесь построить. Теперь, прийти к согласию означает не только то, что помощник по кодированию понимает. Это также означает, что вы понимаете. Так что, если он представляет вам эту архитектуру или упоминает этот синтаксис в Python или TypeScript или что-то ещё, и вы просто не понимаете этого, просто спросите. Когда вы новичок в кодировании или используете помощников по кодированию, очень важно использовать помощника по кодированию [фыркает] как учителя, так же как и инструмент, который вы используете для делегирования кода. И таким образом вы наращиваете своё собственное понимание, знаете, через осмос, других людей, как Dynamis, как сказал Скотт, а также, безусловно, просто задавая тонну вопросов. То же самое с проверкой. Я никогда не рекомендую vibe coding. Я всегда рекомендую проводить обзор кода. Даже с удалённым агентным кодированием, как я показывал ранее, мы могли буквально зайти на свой телефон и посмотреть pull request и посмотреть diff. Вы можете смотреть код, чтобы проверять вещи, независимо от того, что это. И я рекомендую это делать. Но даже если вы не очень глубоко понимаете код, вы всё равно можете зайти и задать вопросы. Например, я могу зайти в pull request, например. Вот этот, он был закрыт, но я могу зайти и просто сказать, знаете, удалённый агент, объясни мне, как маркдаун или как сообщения агрегируются для загрузки маркдауна. Правильно? Это может быть так просто. Где ты просто задаёшь вопрос, который звучит как "объясни мне код". Если я более опытный инженер, то я могу кликнуть в файлы, которые изменились, и прочитать это сам. Но теперь это запустит задачу, где он станет учителем, верно? И поэтому, возможно, я перейду к другому вопросу, но мы сможем увидеть его ответ через секунду. Где ссылка для покупки? Да, извините. Позвольте мне снова открыть её. Так что да, если вы хотите присоединиться к Dynamus, и всё это звучит для вас отлично, я сейчас размещу ссылку в чате, чтобы вы могли присоединиться к Dynamus. Это возможность всей жизни. Я каждый день убеждаюсь, что это так, особенно со скидкой, которую мы имеем сейчас, которая исчезнет после окончания стрима, а стрим скоро закончится. [фыркает] Хорошо, позвольте мне вернуться. Итак, вот оно. Просто чтобы продолжить ваш первый вопрос, другой вопрос здесь. Итак, у нас есть наши утилиты. Здесь у нас есть функция экспорта маркдауна. Она объясняет входные данные, генерацию заголовка. Она говорит о том, как мы итерируем по нашим сообщениям в текущем разговоре. Я мог бы задать ей последующие вопросы, например, объяснить код более подробно. Но да, я имею в виду, это фантастика, вы можете задавать такие вопросы постоянно, чтобы выстроить своё собственное понимание того, как работает ваша кодовая база и как работает кодирование в целом, пока вы работаете над различными функциями в вашем PIV-цикле, это также помогает вам развивать свою систему со временем. Реальная разработка в действии. Это верно. Это верно. Это одно из лучших AI-сообществ. Продолжай в том же духе, Коул. Я буду здесь как минимум год. Отлично. Я очень ценю это. Я уважаю годичное обязательство. Это очень долго. Так что большое спасибо. Я не воспринимаю это легкомысленно. 100 долларов. Он говорит: "TypeScript дальше". Извините, я не знаю, когда вы это сказали, к чему это относится, или если мы имели в виду, какие языки изучать. Так что да. Кстати, возвращаясь к первоначальному вопросу или к вопросу несколькими вопросами ранее о том, что изучать. Забавно, что ты сказал "TypeScript дальше", потому что это мой второй любимый язык. Так что я больше всего использую Python. TypeScript — мой второй любимый язык. И я имею в виду, вся система удалённого агентного кодирования, я на самом деле построил её полностью на TypeScript. И причина этого в том, что облачный SDK агента поддерживает TypeScript и Python, но Codeex и Open Code, многие другие SDK, которые я хочу интегрировать, предназначены только для TypeScript. Так что да, язык, правильный язык зависит от кодовой базы. И поэтому хорошо изучать общие принципы программирования, которые применимы независимо от того, какого помощника по кодированию вы используете, или кодовой базы, над которой вы работаете. А затем ещё одна вещь — в курсе Agent Coding я всегда работаю над системами, которые не зависят от языка программирования. Так что всё, что я освещаю в курсе, и на самом деле многое из того, что я делаю на YouTube, например, системы и стратегии кодирования, которыми я делюсь бесплатно на YouTube, я имею в виду, всё это работает независимо от конкретного языка программирования, который вы используете. Так что, в конце концов, вы можете просто выбрать тот, который лучше всего подходит для того, над чем вы работаете, а затем вы знаете, что ваша система, которую вы применяете к кодовой базе и, возможно, настраиваете со временем, будет работать для любого языка. И поэтому, например, я выбрал TypeScript по причине для этого языка или для этого проекта. Часто я использую Python, потому что я считаю его самым простым, а также Python имеет самую большую экосистему AI-библиотек, например, graffiti для графов знаний только на Python. Dockling для извлечения файлов и RAG только для Python. Есть просто много таких библиотек, которые мне очень нравятся использовать, которые только на Python. Теперь есть некоторые, например, langraph, который доступен на Python и TypeScript, но таких немного. А затем, когда вы выходите за пределы Python и TypeScript или JavaScript, тогда другие языки очень ограничены в AI-библиотеках, которые у вас есть. Например, если бы я назвал свои третьи, четвёртые и пятые любимые языки, это были бы C, Rust и Go. Но у этих трёх языков гораздо меньше фреймворков для AI-агентов и других библиотек с открытым исходным кодом для RAG и AI-кодирования, чего угодно. Python и TypeScript — короли, когда речь идёт об экосистеме инструментов с открытым исходным кодом, которые вы можете использовать, таких как SDK агентов и SDK Codeex, которые я использую здесь для этой системы. О, круто. Основатель тоже. Круто. Круто. Так я и получил TypeScript, через осмос. Это потрясающе. Да. А затем Шон сказал: "Я являюсь частью Dinos с самого начала. Многому научился у других людей в сообществе, столько же, сколько и на курсах. Я фактически встретил довольно много людей, с которыми продолжаю работать". Это очень круто. Я ценю, что ты поделился, Шон, потому что да, это ещё одна часть сообщества, о которой я даже не так много говорил во время прямого эфира, — это то, что я, конечно, работаю изо всех сил каждый день, чтобы предоставить вам невероятную ценность, но также и то, что я даю, — это не единственное. Это также все в сообществе, кто очень активен, и люди очень коллаборативны в сообществе, и да, это просто потрясающе. Даже я каждый день узнаю что-то новое, потому что, позвольте мне сказать вам, я отвечаю на каждое личное сообщение, каждый пост, каждый ответ, каждый комментарий к курсам, и я делаю это каждый день, кроме воскресенья. Я беру выходные в воскресенье. Но я всё равно буду наверстывать всё. Так что я постоянно участвую в этом, и это также означает, что я многому учусь у вас. Так что это просто абсолютное удовольствие быть в сообществе Dynamis и продвигать его вперёд для всех нас каждый день. Так что да. Ладно. С этим, я думаю, я закончу здесь, потому что мы уже больше трёх часов, но да, это было абсолютно фантастически. Так что да, я думаю, что последнее, что я хотел бы сказать, это то, что я полностью не осветил архитектуру, но я знаю, что уже много об этом говорил. Главное здесь для этой архитектуры, которую я не совсем затронул, это то, что у меня есть этот оркестратор, который определяет общие интерфейсы для наших различных интеграций с платформами и помощниками по кодированию. И поэтому, пока платформа или помощник по кодированию реализует эти функции, например, вот как я получаю сообщение, вот как я отправляю сообщение, тогда оркестратор может немедленно подключиться к ним и действует как посредник. Таким образом, когда мы создаём другую платформу, эта платформа не должна иметь пользовательскую интеграцию с Claude и Codeex, а затем с любым помощником по кодированию, который я интегрирую. Так что я могу добавить 10 платформ сюда и затем 10 платформ сюда, и тогда это всё равно будет только одна интеграция за раз, потому что нам нужно работать только с оркестратором, а затем оркестратор является клеем, который соединяет каждую платформу с каждым помощником по кодированию. Так что я могу использовать GitHub с Codeex, я могу использовать Telegram с Claude Code, но приложение не заботится о том, какого помощника по кодированию я использую, и наоборот. В этом красота архитектуры. И я спланировал это в PRD ещё до того, как реализовал что-либо в коде. Так что я провёл тонну исследований и просто размышлений с помощником по кодированию. Я создал этот PRD, и это одна из вещей, которые я освещаю в курсе агентного кодирования, как мы проходим этот процесс. И я думал о том, как я хочу загружать команды и управлять этим в оркестраторе, а также сохранять всё, например, наши разговоры и кодовые базы, и команды, которые мы загрузили в базу данных. Я всё это продумал заранее, а затем я просто проходил PIV-циклы, несколько PIV-циклов, чтобы разбить PRD на гранулированные наборы работ, чтобы я не пытался сделать слишком много за раз, и я знал, что у меня есть надёжная система, которая может выполнить все эти вещи по одной за раз. И, конечно, это не было идеально, я столкнулся с проблемами, но мне пришлось итерировать всего пару раз, чтобы создать каждую из этих вещей, например, оркестратор и различные платформы и помощников по кодированию. И поэтому я действительно спроектировал это оптимально, где я очень уверен, что когда я добавлю Slack, и, кстати, я собираюсь добавить Slack в эту систему в рамках одного из следующих воркшопов для курса или для Dynamist. Так что, если я перейду к событиям здесь, у меня запланировано это на пятницу, следующую пятницу. Так что пятница, 5 декабря, когда я буду в прямом эфире с вами, добавляя Slack как платформу к нашей системе удалённого AI-кодирования, это будет здорово. И я знаю, что смогу сделать это очень эффективно, потому что, когда я добавлю Slack, мне не придётся интегрировать Slack с Claude Code и с Codeex. Мне просто нужно будет работать поверх этого интерфейса, этого адаптера платформы. Я подключу его к оркестратору, а затем оркестратор будет отвечать за отправку всего каждому из помощников по кодированию. Это прекрасная вещь. Так что да, я хотел закончить стрим, просто поговорив об архитектуре. Так что я знаю, что сказал, что углублюсь в это больше, но надеюсь, это имеет смысл. Это очень круто. Так что да, с этим, последнее, что я хочу сказать, прежде чем я завершу наш стрим на сегодня, это просто спасибо всем, кто был здесь. Всем вам, кто присоединился к Dynamus, воспользовавшись специальной эксклюзивной скидкой, которую мы имеем для этого стрима. [фыркает] Если вы только что присоединились за последние 10 минут или около того, и у вас не было возможности воспользоваться этим, я оставлю это примерно на час после, а затем я уберу скидку, а также репозиторий для системы удалённого AI-кодирования. И так, да, обязательно скачайте систему удалённого AI-кодирования, потому что я отдаю её вам бесплатно для этого прямого эфира. И да, последнее, что я скажу, возвращаясь к курсу, это то, что я даже не знаю, я не могу даже начать оценивать, сколько времени я вложил в создание этого курса. Например, 18 часов контента — это сотни и сотни часов подготовки, записи, редактирования, добавления описаний, миниатюр и переделки вещей миллион раз, потому что, знаете ли, так оно и есть. Я большой перфекционист. И если вы когда-либо сами снимали видео на YouTube, вы знаете, что когда у вас есть 10-минутное видео, это не означает, что это 10-минутная сессия записи или 20-минутное видео — это не 20-минутная сессия записи. Это несколько часов. Так что да, это было безумие. Так что я надеюсь, что вам понравится курс. Если вы ещё не в сообществе, это лучший шанс, который у вас будет, с точки зрения скидки. Скидка Black Friday будет действовать до Cyber Monday, если вы смотрите запись и пропустили её. Последнее, что я скажу, я упомянул это в самом начале стрима, но в понедельник в четыре часа по центральному времени я снова открою его на час, если вы хотите взять эту ссылку прямо сейчас из стрима и перейти по ней, просто для тех, кто в Австралии, где часовой пояс просто очень плохой. Так что я хотел дать такую возможность. Но в остальном, это исчезнет после прямого эфира. Так что воспользуйтесь этим сейчас. И да, у нас даже есть следующая эволюция системы удалённого кодирования буквально на следующей неделе. Я выполняю обещания уже сейчас, потому что у нас это запланировано на следующий воркшоп. И я провожу эти пятничные воркшопы каждую неделю. Они всегда очень увлекательные, очень познавательные. Обычно у нас там от 70 до 120 человек в прямом эфире каждую неделю. Так что да, много активности на этих воркшопах. Я имею в виду, это довольно большое число, учитывая, что мы проводим их каждую неделю, и посещаемость всё ещё очень высокая. Так что это всегда честь. Так что да. Ладно. Я думаю, я перейду к полному кадру здесь и завершу это сейчас. Так что позвольте мне уменьшить... Ну, я должен отключить комментарий тоже. Ладно. Ты — удивительный проводник в цунами AI. Я ценю это, Скотт. Это то, чем я стараюсь быть для вас. И да, как для всего бесплатного контента, который я делаю на YouTube, так и для сообщества Dynamis. Оба эти направления всегда будут моим основным фокусом. Так что я ценю это. И да, пожалуйста, очень, очень вам. Круто. Ладно. Да. Так что, надеюсь, мой голос будет лучше после завтра, потому что я сразу приступаю к записи следующего материала для YouTube перед следующей неделей. Так что да, видео завтра не будет, потому что я скорее провожу прямой эфир вместо еженедельного видео. Я делаю это всё чаще в последнее время. Но да, в среду выйдет ещё одно видео, как обычно. И да, события каждый день в Dynamis. Так что ладно. С этим, спасибо всем, кто был здесь. Это был фантастический прямой эфир. Всё ваше участие очень ценится. Всем, кто присоединился к Dynamus, большое спасибо. И всем вашим отличным вопросам. Надеюсь, у вас будет фантастический остаток выходных. И я надеюсь увидеть всех вас в сообществе Dynamis. Берегите себя.