📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Воркшоп: «Используем OpenAI Codex не только для разработки»

Codex Town Club1:02:37

Transcription

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

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

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

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

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

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

Собственно, а-а, да, как уже ска сказано, что нам понадобится, это любое DE - это подписка на чаat GPT. Причём, да, здесь ещё важная штука. Мы все привыкли к тому, что любые плагины, которые, а, интегрируются в редакторе, они требуют подключения по апи и требуют апи ключа. А вот у кодекса, пожалуй, единственная история, которая вообще в АПИ не залезает и, в принципе, позволяет вполне себе полноценно использовать стандартную традиционную подписку. Ещё почему именно кодекс, а не Клодкод или, например, антигравити, о котором мы через несколько через 2 недели будем говорить, а потому что у кодекса есть своя специфика, о которой мы вот сейчас буквально через два слайда поговорим, который и делает его выдающимся среди всех остальных решений. Ну и третье - это GitHub. Вообще, на самом деле, просто Git. Мы будем использовать GitHub, потому что это самый простой способ для человека с улицы. Но ещё раз, это не про open source и разработку. Это про то, что у всего вот этого организма изза иагентов, которые мы строим, аа, вся, э, все побочные артефакты работы, то есть не только файлы, но и там истории изменений, все эти эксперименты, которые агенты будут делать, общение агентов, рининг и тому подобное, чтобы всё это хранилось на отдельном независимом, просматриваемом и прозрачном слое памяти, куда всегда можно откатиться до любого шага, всегда можно посмотреть, кто что сделал, а, и самое главное, когда.

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

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

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

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

А в чём как раз здесь фишка? Дальше, а, чуть-чуть по поводу того, как устроен хороший agent MD и чем он отличается от хорошего промта. То есть здесь, ещё раз, а, мы задаём последовательно не только поведение самого агента, мы задаём ещё контекст работы с информацией. И здесь мы можем прописать очень-очень чёткие инструкции по поводу того, какие инструменты использовать, в каком формате, что ещё делать, ну и так далее и тому подобное. И самое главное, что мы здесь прописываем, мы прописываем workflow. То есть это, по сути, должностная инструкция, где мы чётко задаём все действия, которые агент должен локально провести с нашими файлами. А причём, как бы, естественно, если вы сейчас думаете, что написание этой сложной инструкции будет как бы не легче, чем сам процесс разработки, то нет, потому что, ну, как правило, мы сами можем гораздо лучше описать то, что мы хотим получить в результате, нежели описать весь порядок действий, как именно нам это получить. А потому что результат, как правило, мы представляем себе гораздо лучше. А ещё у нас есть прекрасный инструмент, который справляется отлично с написанием инструкции на человеческом языке. Собственно, прекрасным генератором для этих файлов AgentMD является сам chat GPT. А и если попробовать ему в окне чата на пальцах объяснить суть задачи и в конце именно попросить сгенерировать agent MD, попутно, как бы даже верхнеуровнево сообщив о той структуре данных, которую мы придумали, то он сгенерирует нам файл, который с очень высокой долей вероятности будет, ну, как минимум, достаточен для того, чтобы решить ту или иную задачу.

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

При этом самая главная фишка, которой как раз-таки я не успел упомянуть, почему кодекс, почему именно кодекс пен? Потому что у кодекса есть своя специфическая особенность. Как я сказал, даже курсор из коробки с файлом AgentsMD работает, ну, достаточно свободно. Его нужно там периодически подсвечивать и так далее. Кодекс работает с ним не так. А для кодекса вся эта история с инструкциями является универсальной, обязательной инструкцией к исполнению. любой текст, который мы напишем в плагине кодекса, изначально обратится к файлику Agence MD и будет использовать его как расширение этого промта, и никуда дальше он не уйдёт. Для нас это означает то, что файли можно прописывать любую сколь угодно сложную логику работы. А и мы можем быть после этого практически гарантированно уверены в том, что агент, работающий с локальными файлами, сделает это полноценно. А, ну то есть вот попробуем этот самый depressch. Там не так давно вышла большая статья по PNAI про то, как чат GPT5 используется в научных исследованиях. Здесь у меня лежит Markдаун версия этой статьи, где вот, собственно, команда Open AI излагает то, как они, а, используют Open используют чат GPT5 для исследований. И дальше, собственно, что я делаю? Я просто в чате, в котором подключена, э, моя общая модель чат GPT, а которая подключена по следующим параметрам. То есть, естественно, локальная работа, а, естественно, агент с полным доступом, чтобы он мог сам исполнять команды. Аа, ну, модели здесь можно выбирать любые. Сейчас мы для скорости показываем на кодекс Mini. В целом, чем модель больше, тем она лучше справляется. А, и вот стоило мне сказать всего одну фразу. Обратите внимание, что происходит. Агент сразу ушёл в какую-то работу, ээ, делает кучу разных вещей. Но самое главное, он сделал сам себе тасклист, в котором сделал список задач. Обратится в ту папку, которую ему сказали, в и нашёл там документы. Из этого документа ему нужно подготовить там структурированные самари и этот summary сохранить в папочку out с проверкой того, что цитаты соответствуют оригиналу, и, собственно, сохранить этот документ. А дальше всё, что он делает, он в автоматическом режиме работает с локальными файлами. При этом, естественно, вы можете отключить автоматический режим, и тогда при больших каких-то изменениях он будет задавать вопрос о том, что ему, а можно ли делать ту или иную вещь. Опять же, важно здесь то, что, э, инструкция была получена ваншотом и, ээ, текст Ну, давайте просто посмотритрим на сам результат. Как мы видим, здесь уже появляются а результаты. И получил, сделал, соответственно, со ссылкой на каждый раздел. Ну давайте посмотрим. То есть ещё раз, у нас здесь была англоязычная статья просто с кучей файлов. А здесь у нас, а, должны появиться цитаты оттуда с источниками, где указан не только документ, откуда это взято, но и история, там заголовок и конкретная цитата. Ну и дальше мы получили, по сути результат нашей работы. А при этом сам файл Agenc MV тоже может быть, ну как это результатом самой обработки. Мы можем здесь же попросить чат GPT что-то сделать с самим файлом агентов и добавить туда какой-нибудь дополнительный функционал.

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

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

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

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

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

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

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

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

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

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

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

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

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

А, собственно, важные вещи, о которых стоит помнить. Ну, опять же, правила безопасности здесь примерно такие же, как и при работе с окошком Chat GPT. Соответственно, какой-то код. Ну, то есть нужно чётко понимать, что все данные, с которыми мы здесь взаимодействуем, улетают на серверы Open AI. Поэтому делиться, например, какими-то сложными паролями и подобными вещами не стоит. Аа при этом никак не мешает агенту запускать, например, какие-то локальные скрипты с авторизацией, потому что мы можем сохранить все необходимые нам а данные в специальный файлик под названием тока. так и называется точе, так и начинается с точки и в котором, а, будут храниться как раз-таки, например, наши пароли, секретные токены и тому подобное. И самое главное, агент как бы эти данные уже отправлять на сервера не будет. Ну и вообще, повторюсь, помним историю про про Samsung и разработчиков, которые отправили на сервер не ненужный, ну, код, который не стоило отправлять. Поэтому всегда чётко всё-таки думаем. Пока что эта история не э-э, ну, то есть, несмотря на то, что память наших агентов здесь полностью локальная и все артефакты локально сохраняются, но данными мы делимся как минимум и с OPN AI и с потенциально с Microsoft.

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

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

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

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

Ну что на на этом, в принципе, как бы вся формальная часть у меня к концу подходит. Давайте общаться, потому что как раз самое интересное - это какие конкретные ситуации, конкретные задачи. Андрей, вижу руку. Микрофон. Да, да, да, да. Привет ещё раз. Очень интересно. Спасибо. Вопрос такой вот чем это отличается поверх того, что мы использовали, так я использовал таскмастер, например, он много из этого тоже как бы делает, >> да? >> Вот какая фишка плюс, это вот один вопрос. А второй вопрос ещё вот с этой массой всяких MCP, которые реально нужны, но они сбивают контекст, и каким образом ээ агент MD может помочь, ээ, чтобы не забивать контекстное окно ээ ответами с МC. >> С МCшкой я отвечу немножко не так. С MCPшкой это проблема, на самом деле, не агента, это проблема самой МCшки, потому что в стандарте есть чёткое описание, что там можно динамические инструменты делать, которые как бы не загаживают контекст огромным количеством данных, а дают ему только то, что нужно для решения конкретной задачи. AgcmD с этой историей никак не связан. Это именно локальное описывает локальное поведение агента при работе с локальными файлами. А МCпишки здесь, ну, так как мы через кодекс работаем, кодекс вообще не позволяет MCP подключать на текущий момент времени. А это немножко параллельная история. Вот. То есть а первый вопрос был: "Чем это удобнее? Може, ну, таскмастер. >> Таскмастера это разные вещи, потому что таскмастер - это очень узкоспециализированный фреймворк, задачей которого является, ну, в первую очередь как раз-таки декомпозиция всех этих задач >> и чёткое этому следование. А здесь в базовом режиме мы можем повторить этот самый Taskmasm и по, ну, написать в Agents MD примерно такую же логику, что там задача, которая попадает, она попадает там в агента планировщика, он её декомпозирует, сохраняет и так далее. И единственное преимущество по сравнению с таскмастером здесь в том, что вот мы никуда дальше окна курсора с одним аккаунтом Open AI ничего больше не делаем, никуда не выходим. Нам даже и терминал не надо открывать. Всё-таки для таскмастера нам нужно разбираться в том, как хотя бы not JS поставить и как эту всю историю запустить. Здесь нам не нужно делать вообще ничего. То есть это как бы для какого-нибудь, например, редактора, который с кодом вообще никак не взаимодействовал, но теперь он может поставить себе курсоры, интегрировать туда свой же кодекс и, например, начать сделать, ээ, готовиться там к написанию какой-то статьи более эффективно, потому что у него появляются оффлайн артефакты и появляется дополнительный слой возможностей по работе с этими оффлайн артефактами в виде вот каких-то там скриптов или утилит, которые уже есть. Вот, на самом деле, из подходов эта история ближе больше к тому, что Google в антигравити показал, когда у тебя над одним, а, ну, там тоже как бы нету вот этого универсального слоя хранения, но там есть возможность как раз создавать вот этих разных агент. Ну, а так сюда здесь просто в чём ещё прелесть по сравнению с таскмастером? В том, что логика может быть любая. Вот пример, который я показывал в самом конце, он как раз он вообще от задачи танцует. То есть там изначально как бы э- шаблон представляет собой только вот этот Agent MD и четырёх агентов ээ второстепенных, которые там один планировщик, один кэйтор, который сможет создавать новых агентов и один ревьюер, который должен как бы любую задачу закрывать и проверять, что всё о'кей. Вот. А дальше ты ему даёшь любую верхнеуровневую задачу. Например, там вот мы там вчера про про про про про про пробовали сценарий создать агента Самелье, который будет там принимать на вход те файлы с меню, где блюда перечислены, и дополнять их типа винами, которые лучше всего к этому подходят. И он создаёт под это там отдельного агента, вызывает этого агента в своём пайплайне и конкретный под уже там специализированный выпускает аа как какую-то задачу. То есть здесь как раз прелесть в том, что мы, не погружаясь вообще никак в код, не соприкасаясь с программированием, только на Natural Language, можем программировать полноценные мультиагентные системы для вот локальной работы. Сила здесь именно >> с аген с агентом Смелье, кстати, интересно, если поделишься, у меня обратная задачи, то есть я винный сайт и сайт винных мероприятий я в личку пришлю и я не буду как бы, >> ну, потому что публичны публичные персоны очень. >> Вот обратная задача у них виное винные мероприятия. Им, возможно, будет как раз обратная задача, что к ним подать. Ну, звучит реализуемо и достаточно просто. Ну, то есть я повторю, у меня пока из, наверное, самых хардкорных экспериментов с вот подобным фреймворком была попытка поставить вот настольное приложение на таком фреймворке, как Таури. Это такая штука типа электрона, которая позволяет как бы веб-приложение оборачивать в десктопное приложения. Я не умею писать десктопные приложения, я не умею писать даже веб-приложения, но оно у меня запускается, оно работает, и оно работает, правда, на порядок лучше, чем, ну, как бы позволяло решать раньше. То есть вот эти вот ограничения, которые с помощью agent MD можно прописать, они очень хорошо помогают именно с точки зрения качества кода. Оно здесь, правда, сильно выше получается. >> Угу, понятно. >> Вот такие дела. А-а, что тогда на этом у меня всё, раз уложились час, прекрасно. Аа до встречи на следующей неделе. На следующей неделе у нас сразу две а встречи будут и а вебинар, и воркшоп. Вот. А вступайте в клуб, а продолжайте следить за Кодекстауном, подписывайтесь, ставьте лайки, ставьте колокольчики и всем хороших выходных. Большое спасибо. Надеюсь, было полезно. И до встречи на следующей неделе. Не, ты уже прямо убегаешь или всё-таки два вопроса маленьких можно задать? >> Можно задать. Я думал то, что я запишу и поставлю паузу на записи, но давай вопросы на неё тоже попадут, поэтому Да, внимательно слушаю. >> Ага. Да. А не мог бы ты ещё сейчас придумать какие-то юзеркейсы э возможные, да, вот ты сказал про самелье и там заранее как бы предположить, какие могут быть там бизнес-результаты для там конечного пользователя и для конечного бизнеса, да? То есть вот какая может быть ещё более такая задача реальная, которую могут решать агенты с каким-то прогнозируемым, ожидаемым бизнес-результатом? Ну ты ты ты же понимаешь, насколько широкий ты вопрос задаёшь, что я просто как бы физически как бы не могу на него ответить. Это примерно такой же вопрос, как а что можно типа автоматизировать в принципе с чат GPT? А, ну примерно всё то же самое. Просто мы здесь гораздо более удобно выстраиваем этот пайплайн работы, потому что по факту как бы, ну, можно ли повторить всё то, о чём мы говорили, через, например, assistance ассистентов на сайте Chat GPT и вызывать их каскадно друг у друга? Да, на самом деле можно. Просто это будет гораздо менее удобно, это потратится гораздо больше времени и будет, а, с худшим результатом. А здесь мы можем просто генерировать там все эти вещи прямо локально. И здесь, а касательно сценария, то есть опять же здесь скорее каждый из зрителей должен ответить, какая у него рутинная задача вот так периодически возникает, которую на такой стенд можно повесить. А для себя я могу сказать, у меня здесь очень чётко как бы разложилась часть моей работы по анализу. Вот то, что я показывал как речер, который работает над ограниченным контекстом документов. То есть можно поднять как бы рак пайплайн, закинуть эти документы в рак и работать отдельно с ассистентом. Можно, а можно просто папочку открыть, эти документы в под папку кинуть и через курсор просто задавать вопросы. Это тупо быстрее. А вот у меня так выстроена вот эта работа. Во-вторых, я так генерию черновики для, например, документации по какому-то коду. Очень удобно. Ты кидаешь тоже файлик с кодом, он его разбивает на функции, его суммаризузирует и генерит как раз документацию. Вот история с черновым переводом, которые я показывал, это прямо вот реальная штука, которую сделал, которую уже сравнивал там на качестве перевода по сравнению там с, ну, разными подходами и пока она она выигрывает. Вот. А с точки зрения бизнес, ну, ещё других каких-то бизнесовых кейсов? >> Не, не, этого достаточно, на самом деле. Вот я теперь, ну, как бы вот теперь понятно, что можно, да, там сделать, взять GPT и рак подключить. Вот, ээ, ну, это будет проще, меньше шагов, да, всё, всё в одном месте, скажем так. >> Да. Дадада. То есть, по сути, правда, вот >> конкретную задачу можно собрать конкретного ассистента. Здесь этот ассистент появляет, ну, может появляться автоматически от самой задачи, так как бы он её лучше всего решил. И и что ещё здесь самое главное? То, что все следы у нас остаются, а это, по-моему, на сегодня один из там вообще краеугольных камней. Вот. И ты говорил, что два вопроса. >> А второй вопрос меняется. А, ну, соответственно, чтобы такой штукой пользоваться, либо ты разрабатываешь под себя, либо, может, уже есть какие-то готовые решения, которые дают тебе доступ там через веб-интерфейс к такой системе. >> Через веб-интерфейс? Нет, пока нету. Вот пока что из того, что видел ближе, правда, этот как это называется? Ну, в в антигравити, как agentт-менеджер в антигравити. Но это как раз вот а интерфейс к подобной истории. А здесь как такового интерфейса нету. Фреймворк вот как раз я поискал, я не нашёл, я сделал сам. Собственно, то, что в будущую, в следующую пятницу, это как раз вот история про динамических агентов с памятью и, а, единым чек-листом. Честно могу сказать, я большую часть своих тасков, которые у меня там вот в принципе возникают, сейчас перевёл вот на эту историю. У меня каждая подпапочка - это теперь подпапочка с Angmd. И курсор перестал использовать, кроме как с кодексом вообще, что удивительно на самом деле. >> Слушай, звучит вообще космос какой-то. >> Ну, >> круто, спасибо. >> Оказалось, правда, довольно удобно. А поясните про достаточность подписки кчат GPT, пожалуйста. Да, а повторю ещё раз. а-а большинства плагинов, которые мы подключаем к adмо настройках этих плагинов указывать апи ключи там к Open AI, Openроутеру и так далее и тому подобное. То есть это отдельная история по сравнению с тем, что мы платим 20 долларов за вот подписку на сайте chatg.com. А фишкой плагина кодекса от OpenI является то, что когда мы его ставим в chatт GPT, нам не нужно указывать апи ключи. У нас после установки появляется стандартная кнопочка Connect with Google. Мы авторизуем, ну, типа та, пардон, та же самая авторизация, которая учат GPT. И мы входим под нашим аккаунтом, на котором висит платная подписка. И, соответственно, внутри мы используем лимиты своей платной подписки. которые достаточно а большие и в принципе, ну, как бы их на многое хватает. Вот. То есть здесь не нужно дополнительно покупать какие-то кредиты. Ну, то есть нужно, если вы будете там разрабатывать просто в огромном количестве, тогда можно и обычную платную подписку а изничтожить. Но как бы до этого долго-долго идти. Вот. То есть подытоживая здесь самое главное, не нужны А ключи. Не нужно платить за кредиты. Мы платим только 20 долларов в месяц за подписку в Open AI. И это позволяет нам вот всю вот эту локальную историю в полной мере использовать на том же самом аккаунте. И тот же самый аккаунт нам позволяет открыть сайт chatgpt.com, общаться, открыть кодекс в том же, в той же самой веб-версии и ээ взять и со всем этим взаимодействовать. А как подключить кодекс? Давайте просто покажу сейчас. А, собственно, нам нужно три сайта. А, GitHub Desktop, понятный сайт, курсор. Аа, курсор. А, и как это подключить к курсору? Собственно, у кодекса есть вот такая страничка, где, э, есть три версии этого самого кодекса. Кодекс CLI, который ставится системно как утилитка, коeк ID extension и коeк cloud. Вот то, что нам нужно - это кодекс ID extension. Аа сейчас тут должна быть либо ссылочка на него, либо если ссылочки нету, то он ставится через плагины. То есть мы заходим в сейчас а во вкладку Расширения и здесь просто пишем Open AI код. И, собственно, первое расширение, подтверждённое от Open AI - это и будет этот самый AI coding agent. После того, как мы его подключаем, у нас появляется новая вкладочка. И для того, чтобы она активировалась, здесь нужно как раз-таки зайти под своим единственным аккаунтом Chat GPT. Вот, собственно, Sign Investat GPT аккаунт. И дальше он подтянет оригинальную подписку и здесь будет работать с теми же самыми лимитами, которые есть и у основного аккаунта. Вот. >> А это только на Маке что ли или на винде? Это >> нет, где угодно. Где угодно. Везде, где VS-код есть, он кроссплатформенный, поэтому можно использовать как угодно и где угодно. И более того, он как раз теперь сейчас начал полноценно, по-моему, работать с виндовским ну с виндовскими файлами. Там, по-моему, недавно новость была, поэтому можно совершенно спокойно, где угодно. Вот такие дела. Надеюсь, было полезно. А-э, так что до следующей недели. Ээ, всем маленькое домашнее задание, правда. Попробуйте взять какую-то рутинную задачу. Попробуйте эту рутинную задачу в голове представить, как она взаимодействует с потоком данных, чтобы этот поток у вас вылился в чёткую структуру, где данные должны попадать, куда данные должны выливаться и что с этими данными должно происходить. Попробуйте рассказать об этом чат GPT и попросить составить файл Agents MD для локальной разработки. Кидайте этот файл в локальную папку, задавайте вопросы кодексу и посмотрите, что будет. А на следующей неделе мы, повторюсь, проверим, насколько глубоко можно развивать эту историю, и поговорим уже о том, как создавать динамических агентов, как заставить этих агентов следить за общим планом, ну, и многое-многое другое. Всем большое спасибо. Ещё раз подписывайтесь, ставьте лайки, колокольчики и всё такое. И до встречи. Хороших выходных. >> Пока-пока. >> Пока-пока.