00:00:00Если вы следили за каналом,
00:00:01то наверняка знакомы с различными типами рабочих процессов контекстной инженерии,
00:00:04которые мы здесь рассматривали.
00:00:06Что ж, Google также выпустил ещё один.
00:00:07Хотел бы я сказать, что он лучше других рабочих процессов.
00:00:10Но правда в том, что это не так.
00:00:11И с этим много проблем.
00:00:12Даже если вы будете утверждать,
00:00:14что он лучше для экосистемы Gemini,
00:00:15он всё равно недостаточно хорош.
00:00:17Прежде чем мы разберёмся,
00:00:18почему не было необходимости это выпускать,
00:00:20давайте сделаем небольшой перерыв и поговорим об Automata.
00:00:22После того как мы научили миллионы людей создавать продукты с помощью ИИ,
00:00:25мы начали внедрять эти рабочие процессы сами.
00:00:27Мы обнаружили,
00:00:28что можем создавать более качественные продукты быстрее,
00:00:30чем когда-либо прежде.
00:00:31Мы помогаем воплощать ваши идеи в жизнь,
00:00:33будь то приложения или веб-сайты.
00:00:34Возможно,
00:00:35вы смотрели наши видео и думали: у меня есть отличная идея,
00:00:37но нет технической команды для её реализации.
00:00:39Именно здесь мы и приходим на помощь..
00:00:42Думайте о нас как о вашем техническом со-пилоте.
00:00:44Мы применяем те же рабочие процессы,
00:00:46которым обучили миллионы людей,
00:00:47непосредственно к вашему проекту,
00:00:49превращая концепции в реально работающие решения без головной боли от найма или управления командой разработчиков.
00:00:54Готовы ускорить воплощение вашей идеи в реальность?
00:00:57Свяжитесь с нами по адресу hello@automata.dev..
00:00:59Прежде чем объяснить,
00:01:00почему это просто ещё одна неудачная попытка создать рабочий процесс контекстной инженерии,
00:01:05давайте сначала разберёмся,
00:01:06как на самом деле работает Conductor.
00:01:08Вот статья, и я оставлю ссылку на неё в описании ниже.
00:01:10В конце вы получите команду для установки этого в качестве расширения в Gemini CLI.
00:01:14Для тех,
00:01:15кто не знает: расширения — это наборы команд,
00:01:17MCP и других правил,
00:01:18которые объединены в пакет,
00:01:19который люди могут размещать и делиться с другими.
00:01:22У Claude также есть нечто подобное, называемое плагинами.
00:01:25Чтобы фактически запустить рабочий процесс,
00:01:27вы используете команду,
00:01:28и происходит установка.
00:01:29После установки вы можете использовать slash-команды в Conductor.
00:01:32Вы получите эти пять команд,
00:01:33которые фактически управляют Conductor и тем,
00:01:36как вы используете рабочий процесс.
00:01:37Первая команда,
00:01:38которую вы будете использовать,
00:01:40— это команда setup..
00:01:41Эта команда сначала проверяет,
00:01:43доступны ли существующие файлы Conductor,
00:01:45такие как состояние настройки и другие файлы,
00:01:48которые сообщают,
00:01:49был ли проект уже инициализирован или нет.
00:01:51Вместо историй он создаёт эти файлы,
00:01:53называемые треками,
00:01:54и выполняет их один за другим.
00:01:56После этого он инициализировал новый GitHub-репозиторий и спросил,
00:01:59что нужно построить.
00:02:00Чтобы протестировать его,
00:02:02я создал простой проект,
00:02:03но хотел проверить,
00:02:04будет ли созданная архитектура действительно хорошей.
00:02:06Просто чтобы проверить,
00:02:07порекомендует ли он то,
00:02:08что мне действительно нужно,
00:02:10я сказал,
00:02:10что проект должен быть готов к продакшену и масштабируем для большого количества пользователей.
00:02:15После этого он создал файл product.md,
00:02:17который содержал фактическую концепцию того,
00:02:19что я хотел построить.
00:02:20Чтобы уточнить и доработать её,
00:02:21он начал задавать мне вопросы,
00:02:23и в конце,
00:02:23поскольку вопросы на самом деле никуда не вели и были очень упрощёнными,
00:02:27я просто попросил его автоматически сгенерировать всё.
00:02:30После того как он одобрил и сохранил руководство по продукту,
00:02:32он захотел создать ещё один файл — руководство по продукту,
00:02:35которое в основном было сосредоточено на стилизации продукта и некоторых принципах дизайна.
00:02:40Он также одобрил и сохранил руководство по продукту.
00:02:42После этого он определил технологический стек,
00:02:44и это одна из причин,
00:02:45почему рабочий процесс был не очень хорош.
00:02:47Он испортил технологический стек,
00:02:49который предлагал мне,
00:02:50потому что знал,
00:02:51каким был весь мой проект,
00:02:52и всё равно не рекомендовал то,
00:02:54что было уместно.
00:02:55После того как я это исправил,
00:02:56он также одобрил технологический стек и обновил этот MD-файл.
00:02:59У него также есть файлы,
00:03:00называемые руководствами по стилю кода.
00:03:02Если я зайду в саму папку,
00:03:03это единственные языки,
00:03:04которые у него есть,
00:03:05и если он думает,
00:03:06что мы будем использовать какой-либо из них в проекте,
00:03:09он добавляет их в руководства по стилю кода текущего проекта во время инициализации.
00:03:13Рабочий процесс по умолчанию,
00:03:14который он использует,
00:03:15на самом деле довольно хорош.
00:03:17По умолчанию он включает 80% покрытие кода тестами,
00:03:19и пока он настраивал всё и писал базовые компоненты,
00:03:22он следил за тем,
00:03:23чтобы тесты также писались,
00:03:24а после завершения задач он их тестировал.
00:03:26В то же время он фиксировал изменения после каждой задачи,
00:03:29а также использовал git notes,
00:03:30чтобы мы могли отслеживать,
00:03:32где и когда что-то пошло не так.
00:03:33После завершения первоначальной настройки он создал некоторые высокоуровневые требования к продукту,
00:03:38чтобы мы могли приступить к первому треку.
00:03:40Это был первый трек, который он пытался реализовать..
00:03:45Опять же,
00:03:45это было слишком широко и нуждалось в разбиении на более мелкие треки.
00:03:49Это было слишком много,
00:03:50чтобы сделать за один трек,
00:03:51и было много шансов ошибиться,
00:03:53если делать всё это одновременно.
00:03:54Итак,
00:03:55после того как вы это завершите,
00:03:56вы можете начать работу,
00:03:58запустив команду implement,
00:03:59и в папке tracks у вас есть разные треки,
00:04:01которые он реализует один за другим.
00:04:03Каждый трек имеет два файла: plan.md и spec.md.
00:04:05Файл spec.md содержит цель и технические детали,
00:04:07извлечённые из технологического стека и информации,
00:04:10которую мы ввели в начале.
00:04:11Файл plan.md фактически содержит задачи,
00:04:13которые нужно реализовать одну за другой.
00:04:15Когда вы фактически используете команду implement,
00:04:18он смотрит на tracks.md и в основном смотрит на каждый трек,
00:04:21где на основе статуса он фактически знает,
00:04:23что делать.
00:04:23Если он пуст, значит, он не начат.
00:04:25Это означает,
00:04:26что он в процессе выполнения,
00:04:27а это означает,
00:04:28что трек завершён.
00:04:29И как вы можете видеть,
00:04:30этот текущий трек находится в процессе выполнения.
00:04:32Что касается других команд,
00:04:33команда status даёт вам отчёт о статусе того,
00:04:36что в данный момент происходит,
00:04:37какие треки отслеживаются,
00:04:38а какие не завершены.
00:04:39Если вы используете команду new track,
00:04:41он снова задаст вам различные вопросы для новой задачи.
00:04:44Я также реализовал его в уже существующем репозитории,
00:04:47и всё прошло примерно так же.
00:04:48Это было немного по-другому,
00:04:50потому что он смотрел на существующие файлы и просто задавал мне уточняющие вопросы,
00:04:54и не просил о новом треке..
00:04:57Мне пришлось самому реализовать новый трек как новую функцию.
00:05:00А ещё есть revert,
00:05:01ещё одна действительно умная функция,
00:05:03которая фактически смягчает любой ущерб и интегрирована с git.
00:05:06Так что она использует git для помощи,
00:05:08если агент где-то ошибается.
00:05:09Сейчас управление файлами и структура не так уж плохи.
00:05:11Способ,
00:05:12которым он реализует новые функции или существующие задачи в треки,
00:05:15а затем отслеживает их,
00:05:16на самом деле довольно хорош.
00:05:18Но то,
00:05:18как написаны инструкции или как написаны эти командные файлы,
00:05:21требует доработки,
00:05:22потому что они не управляют должным образом контекстным циклом,
00:05:25где нужно всё проверять.
00:05:26И если есть изменение, то как нужно это изменить.
00:05:28Потому что даже во время этого начального процесса было много ошибок.
00:05:32Первая ошибка заключается в том,
00:05:33что пока он запрашивал создание каждого документа,
00:05:36он не разобрал мою идею должным образом.
00:05:37И мне пришлось провести его через многое.
00:05:39Когда я посчитал это достаточным,
00:05:41я просто позволил ему автоматически сгенерировать остальной контент.
00:05:44И снова,
00:05:45как я упоминал ранее,
00:05:46при определении технологического стека он также упустил многое.
00:05:49Вариант B был хорош.
00:05:50Но поскольку я сказал ему,
00:05:51что хочу полностью масштабируемое приложение с большим количеством пользователей,
00:05:55он упустил много вещей,
00:05:56которые мне пришлось уточнять и явно говорить ему,
00:05:58что они также нужны,
00:05:59и затем он изменил план.
00:06:00Когда был сгенерирован первоначальный трек,
00:06:02я фактически зашёл и посмотрел на план и спецификации,
00:06:05которые он создал,
00:06:06и схема базы данных была совершенно неполной.
00:06:08Он упустил много вещей,
00:06:09которые были критически важны для настройки приложения,
00:06:11и мне снова пришлось направлять его и вести в правильном направлении.
00:06:15Gemini на самом деле действительно хорошая модель.
00:06:17Поэтому я подозреваю,
00:06:18что команды,
00:06:19которые были реализованы,
00:06:20и заставляют её вести себя таким образом..
00:06:23И самая главная причина,
00:06:24по которой я считаю,
00:06:25что даже несмотря на то,
00:06:26что сама настройка действительно хороша,
00:06:28есть много проблем в основных слэш-командах и особенно в workflow.MD,
00:06:31заключается в том,
00:06:32что система серьёзно сбилась после того,
00:06:34как я сказал,
00:06:35что хочу изменить NPM.
00:06:36Вместо этого я хотел использовать PNPM,
00:06:38поскольку забыл упомянуть об этом ранее.
00:06:39Почему-то она сначала попыталась сделать резервную копию..
00:06:43И при этом она указала,
00:06:44что нужно удалить файлы,
00:06:46созданные с помощью NPM.
00:06:47Но в итоге она удалила всю папку conductor,
00:06:49которая содержала все файлы планирования.
00:06:52После удаления она продолжала искать эту папку.
00:06:55А когда не смогла её найти,
00:06:56сказала,
00:06:57что восстановит папку conductor,
00:06:59используя свой контекст и всё,
00:07:00что есть в её памяти..
00:07:02По сути,
00:07:03ей пришлось переписать всё с нуля,
00:07:04в отличие от того,
00:07:05как должен работать обычный контекстный рабочий процесс,
00:07:08где изменение должно влиять только на основные контекстные файлы и файлы,
00:07:11связанные с конкретной задачей,
00:07:12что позволяет be mad работать эффективно.
00:07:14Возможно,
00:07:15если бы я не попросил резко что-то изменить,
00:07:17всё прошло бы хорошо.
00:07:18Но всё же,
00:07:18когда система инициализировала все задачи,
00:07:20и я попросил начать выполнение первой задачи,
00:07:23она начала инициализацию проекта и других необходимых основных сервисов.
00:07:26Когда дело дошло до настройки переменных окружения для подключения к Supabase,
00:07:30почему-то она автоматически отметила задачу как выполненную,
00:07:32явно подставив туда фиктивный ключ.
00:07:34Она даже не попросила меня настроить проект Supabase или предоставить настоящий ключ.
00:07:38И автоматически попыталась загрузить схему базы данных.
00:07:41Поскольку реального ключа не было, это не удалось.
00:07:43А затем она попросила меня перепроверить строку подключения.
00:07:46Так что даже задачи обновляются неправильно,
00:07:48и система не особо следовала им корректно.
00:07:50Честно говоря,
00:07:51я бы не стал использовать это сейчас для сквозной разработки по спецификации.
00:07:54Be mad — гораздо лучший вариант.
00:07:56А для небольших проектов я по-прежнему создаю свои собственные контекстные файлы.
00:07:59На этом мы подошли к концу этого видео.
00:08:01Если вы хотите поддержать канал и помочь нам продолжать создавать подобные видео,
00:08:05вы можете сделать это,
00:08:06используя кнопку Super Thanks ниже.
00:08:08Как всегда,
00:08:08спасибо за просмотр,
00:08:09и увидимся в следующем выпуске..