📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

AI-агент для конкурентной разведки

Anton Kulakov39:23

Transcription

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

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

Сейчас в этой миграции написаны приблизительные показатели, приблизительные тексты и приблизительные данные. То есть не все ссылки на официальные сайты указаны верно, не все цифры являются валидными, не все там ссылки на соцсети являются правильными и так далее. То есть данные выглядят как демоданные, а не как реальные данные. Я бы хотел придумать какой-нибудь механизм, который бы позволил мне хотя бы часть этих данных сделать правдивыми, настоящими. Например, мы могли бы сделать специального агента для GitHub Copilot, который брал бы прямо одного клиента, одного конкурента и извлекал из интернета, э, и формировал карточку этого клиента самостоятельно. Так, агент мог бы использовать инструменты типа поиска в интернете и так далее, и мог бы сформировать карточку вот этого конкурента.

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

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

Так, посмотрю ещё на полную структуру сит миграции, чтобы понять шаблон для генерации данных. Теперь у меня полная картина. Давай изучу. Если чch Webpage Tool, она понадобится агенту. Отлично. Webpage доступен. Это ключевой инструмент для агента исследователя. Теперь создаю агента. Создаёт агента. Ну, поехали. Мне прямо даже начинает быть интересненько, что сейчас он сделает.

Так, ну я уже даже предполагаю, что он сейчас сделает. А у нас есть вот папочка GitHub Agents. GitHub Agents. И здесь у нас лежат различные промпты для агентов. Вот, например, у меня есть Doc. Это агент, который занимается, скажем так, поддержанием, э, в актуальном состоянии нашей документации. Есть вот Logс Monitor. Это специалист по мониторингу и диагностике продакшна окружения Firebase Cloud Functions. Он умеет, короче, подключаться к Google Cloud консоли через C утилиту и мониторит логи. Вот я потому что руками логи мониторить не люблю. Я просто агента прошу, я говорю: "Посмотри, что там было за сегодня, за вчера были какие-то аномалии. Если были, давай починим". Вот. И он прекрасно с этим справляется. Так вот, компетитор resер он сделал. Интересно. Так, ну вот это здесь, наверное, не обязательно указывать, потому что мы укажем это в этом. Ну, посмотрим. Так, готово. Что делает агент? Это специализированный копайт агент для конкрет конкурентной разведки. Он читает текущие данные конкурента из миграции в проекте, входит в интернет через webчpйage, посещает сайт конкурента, страницу цен, App Store, Google Play, соцсети, обзорные платформы, э G2, вот это Каптеры и так далее, сравнивает найденные данные с текущими, что изменилось и что было неточным. Генерирует Typeesрипт миграцию в точном формате существующих миграций, как вот это, выводит сводный отчёт, откуда данные, что изменилось, что не удалось проверить. Как использовать в чате? Коilй вызывай агента. Давайте попробуем так или для нового конкурента. Агент сам всё найдёт. Ну давай. Так, так, просто попробую. Я даже читать не буду. Ну то есть я сейчас запущу и пойду пока почитаю, что происходит тут. Так. Давайте нажмём. Откроем preview и почитаем. Ты аналитик конкурентной разведки для проекта онлайн Fitness App. Твоя задача- исследовать одного конкурента, собрать реальные данные, верифицированные данные из интернета и сгенерировать полную карточку конкурента в формате Typeescript миграции. Так, онлайн Fitness App, PVA для персональных фитнес-тренеров. Мы отслеживаем прямых конкурентов Софт для онлайн-тренеров. Данные хранятся в Festore коллекции Компетиторс. Текущие конкуренты. Так, ну не знаю, зачем он это написал. Ну ладно. Окей. Рабочий процесс. Понять задачу. Пользователь укажет одного конкурента по имени ID или URL. Если конкурент не из списка, это новый конкурент. Шаг первый. Прочитать текущие данные. Прочитай текущую миграции, чтобы понять, какие данные уже есть. Начальные данные, верифицированные обновление. Прочитай тип данных. Найди конкретного конкурента в этих файлах и определиing. Окей. Используй, чтобы посетить реальные страницы конкурента и собрать данные. Главная страница извлечь, страница цен, About Company, App Store, Google Play, социальные сети, обзорные платформы, функциональность, полезные ссылки. Ну, это не идеально, не идеальный промт, но надо же с чего-то начинать. Посмотрим сейчас. Так, для каждого найденного факта подтверди источник, укажи с какой страницы взята информация. Отметь неуверенность. Если данные не удалось найти или они неточные, добавь noes, поле с пояснением, сравни с текущими данными, если есть расхождениями. Так, сгенерировать Typpeesрипt, миграцию. Ну вот механизм, конечно, сейчас генерации миграции и всего остального неудобный. Я думаю, что нам нужно хранить каждого всю информацию про каждого конкурента в отдельной папке и, скорее всего, не в одном файле, а сделать много разных файлов. Там, условно говоря, основная информация какие-то там отдельно хранить отзывы, отдельно хранить фечи, отдельно хранить что-то ещё, чтобы было бы много таких джесончиков и была бы какая-то одна миграция, которую мы будем регулярно запускать, и она будет, соответственно, обновлять в базе знаний, ну, в базе данных знаний данные о конкретном конкуренте. И тем самым мы будем, э, записывать в момент этой синхронизации, что поменялось, чтобы можно было исторические, скажем так, э изменения вот этих данных наблюдать. Вот у нас там даже есть вроде какая-то механизм снапшотов, как раз созданный для того, чтобы можно было историю изменений данных этого конкурента, скажем так, отмотать назад. Ну, пока что оставим вот так. Сейчас посмотрим вообще, что происходит. Так, точно такой же формат миграции туда-сюда. О'кей. сводный отчёт. После миграции выведи сводный отчёт туда-сюда. Формат данных. Используй. Правила для числовых. Угу. Ну давайте посмотрим, что у него получится. Я думаю, что мы сейчас доработаем и агента, и доработаем миграцию, и структуру данных, и всё доработаем. Так, ну-ка. Теперь начинаю собирать реальные данные из интернета. Отлично. App Store 4,9 звёзд, 32.000 оценок. Google Play 4,70 отзывов столько скачиваний. True Coach by Explore. Окей. Соцсети требуют авторизацию. Данные по подписчикам оттуда не получить. Попробую найти футр сайта True Coach для актуальных ссылок на соцсети. Так, это мы разрешаем. Угу. Ну, конечно же, как и все, они привирают у себя на лендинге. Где-то пишут 20.000 тренеров, где-то пишут 16.000 тренеров, скорее всего, там ещё меньше. Вот. Э, ну не суть. Ладно, нам нужно неточные цифры, нам нужно порядок цифр понимать, чтобы знать вообще на кого ориентироваться, чтобы понимать, скажем так, свою позицию относительно рынка. Пока, конечно, мы никто и нигде, но надеюсь, скоро мы хоть где-нибудь появимся. Так, features, habit tracking, group messaging, Zapper Automations, Public Coach Profiles. Да, ну это всё есть, но настолько это всё у них там убого сделано, что просто вот лучше бы не было. Блок активный. Language English only. No API Access Coach Up Coach Connect. Да, у них отдельное приложение для У них отдельное приложение для тренеров и отдельное приложение для клиентов. О'кей. В принципе, уже неплохо работает. То есть он явно собрал более настоящую информацию, чем у нас была. Единственное, что сейчас нужно, конечно, покрутить, чтобы у нас была, скажем так, база данных на уровне файловой системы, а не на уровне вот этих миграций, потому что миграциями, ну, не очень удобно скажем так, управлять и плюс не хотелось бы плодить их бесконечно. Так, ну проверим. Давайте рандомные ссылки какие-то покликаем. Вот, допустим, прайсинг. Так, прайсинг. А, верно. Features. Да. Features, верно. Appstore, верно. Google Play. Верно. Get up 403 почему-то. Ну, о'кей. Trust Pilot есть. G2 есть Facebook я LinkedIn. О'кей. Требуется логин. Требуется логин. Дальше. Хорошо. Ну, похоже на правду. Ключевые изменения против текущих изменений. Здесь он показывает, что поменялось. Не удалось верифицировать некоторые данные. Ну, ничего страшного, это понятно. Проверить соцсети вручную. Ну нет, этим мы, конечно, заниматься не будем. Так, о'кей. Значит, э, замечательно. Давайте пойдём дальше. И давайте теперь скажем агенту, что нам понравился результат. Но есть некоторые моментики. Значит, смотри, мы проверили э этого агента на одном из наших конкурентов. Он действительно неплохо нашёл ссылки, неплохо нашёл всякие соцсети, неплохо нашёл мобильные приложения. Вот. Но формат, скажем так, работы агента с данными сейчас не очень подходит. Я думаю, что было бы правильно прямо в папке с нашим проектом сделать такую file based базу данных. где для каждого конкурента будет отдельная папочка. В этой папочке будет набор Jason файлов и, может быть, каких-то Markдаун файлов, может быть каких-то ещё файлов. Ну, в общем, это такая, скажем так, рабочая папка про каждого конкурента. Вот. И у нас будет специальный агент, который умеет эту папку насыщать данными, скажем так. Вот по типу того, что ты сейчас сделал, только он работает через миграции. А работать через миграции - это очень неудобно. Я бы хотел, чтобы этот агент знал структуру каждой папки, знал, как пользоваться э всеми подпапками и файлами в этой папке, знал, какими инструментами насыщать эту информацию. Так, затем я бы хотел, чтобы у нас появилась миграция, которую я мог бы запустить, и она бы пробежалась по всем папкам с конкурентами. Оттуда загрузила все вот эти JSON файлы и обновила информацию в базе данных. Так, такой механизм как бы синхронизации файловой системы с нашей базой данных. Таким образом, мы получим возможность этому агенту видеть текущее состояние конкурента и чего не хватает, э, чего хватает, какие-то инструкции и так далее. Вот мы всё это сможем положить в гит и сможем всегда э контролировать версии, смотреть изменения перед тем, как синхронизировать их в базу данных и так далее. Короче, вот я предлагаю переделать механизм на вот такую вот систему. Вот нам, соответственно, нужно разработать структуру этих файлов и папок. Нам нужно отредактировать системный промт для этого агента, ну и там всякие прочие инструкции и так далее. В общем, давай займёмся вот этой задачей. Это довольно большой проект, поэтому, наверное, нам потребуется какой-то план построить. Если есть вопросы, задай их мне и давай приступать. Как это? В работе с AI агентами главная настойчивость. Если агент тебе говорит, что нет, это невозможно, скорее всего, он врёт. Он просто, как и люди, очень часто бывает ленивым и не хочет приложить достаточно усилий, чтобы достичь результата. Хотя, ну, как бы в большинстве случаев, э сделать задачу возможно. Просто нужно пошевелить мозгами и подумать, как это можно реализовать. К счастью, в наше время шевелись своими мозгами не обязательно. Можно попросить агента пошевелить как AI мозгами. Где разместить папку с данными конкурентов? Да, вот тут, вот тут. Насколько гранулярно разбить Jon файлы внутри папки конкурента? много файлов. Перенести данные из существующих миграций. Нет, давайте заново создадим. Так, ну наш эксперимент в прямом эфире практически происходит, потому что я ничего такого заранее не пробовал делать. Я не знаю, что у нас получится, получится ли это вообще? Пока что кажется, что всё получается. Вот. То есть мы начали с того, что сделали интерфейс для того, чтобы смотреть все эти данные. Вот. И сейчас придумаем механизм, как эти все данные получать. Ну и дальше, соответственно, э когда у нас уже в админке всё это будет, мы сможем всегда зайти посмотреть, а что там у конкурентов, какие у них фичи, где там у них ссылки на соцсети и так далее. Это гораздо удобнее, когда всё находится в одном месте. Тебе не нужно там заходить какие-то у тебя там отдельные документы в Google Docs, какие-то отдельные документы в Ноушене, где-то там у тебя ещё в Джире, на Гитхабе, не знаю, 150 мест, где всё лежит, нет никакого ни каталога, ни поиска, ничего. А когда всё у тебя в твоей админке сделано, у тебя как бы есть все возможности. Вот всегда всё под рукой и всё в одном месте. Мне такой подход очень нравится. И благодаря вайб-кодингу я теперь могу, ну, любую вещь я могу сделать сам у себя в админке. Вот мне понадобится, не знаю, там тасктрекер для того, чтобы разрабатывать моё приложение и отслеживать, какие задачи я сделал, какие не сделал. Я могу элементарно навайпкодить себе здесь список тасков, навайпкодить себе MCP инструмент, чтобы агенты с этим таск-трекером работали, и всё. И я буду сам как бы, ну, то есть внутри своего приложения я буду видеть все задачи, которые мне нужно сделать. Агенты сами будут их получать, выполнять, помечать, как выполнены, создавать по ним мешие квесты. И нафиг мне вообще нужны все эти, как это там, джиры, линеры и всё остальное. всё это становится ненужно. Вот. И что самое прикольное, ну, как бы если вдруг мне что-то не нравится, мне что-то понадобилось, я просто попросил и оно мне напрограммировало. И вот у меня уже инструмент, который стопроцентно соответствует моим требованиям. Мне не нужно писать ни в какой саппорт, а не могли бы вы там добавить какую-нибудь фичу. Я взял сам себе и добавил. Вот это линии прекрасное будущее, которое мы заслужили.

Так, ну ладно, посмотрим, что здесь происходит. Агент работает, создал уже Redmi. Ну ни фига себе. О'кей. Так, создать Redm со схемой данных. Давайте посмотрим, что происходит. Интересненько прямо даже. Так, компетитор researcher, это промт агента. Так, это competitor data file based database. Так, вот он нам делает папка functions src features competitors data Redmi. Так, ну давай почитаем, пока агент там думает. Почитаем. Структура, значит, у нас будет вот такая. В папочке data у нас будет папочка с конкурентом. Ой, папочка с конкурентом. Здесь будет overview Jason, основная информация о компании, тарифные планы, функциональные возможности, профили в социальных сетях, мобильные приложения, оценки на обзорных платформах, полезные ссылки, свод, анализ и конкурентные заметки. А конкурентные заметки, да, технологический стек, свободные заметки. Неплохо, неплохо. Синхронизация с Firestore. Для загрузки данных из файлов Firestore запустим миграцию. Так, ну это на самом деле не совсем верно. Вот эта команда, она миграцию создаст, а запускает миграцию админка, но не суть. Схемы Jon файлов. Основная информация о компании. Обязательные поля ID, SL, nameбсаsite. Так. Допустимые значения, прайсинг, тарифные планы, модель ценообразования. Супер. Супер. Так, фичи. Фичи. Так, профили в соцсетях. Ага. Так. Apps. Jason. Мобильное приложение на iOS и Android. Окей. Reviews links analysis. Так. Ну вот это, честно говоря, мне вообще пофиг, на чём там у них сделано, но, как говорится, пусть будет. Notes MD. Свободные заметки, наблюдения в формате MarkDo. Ну, хорошо. Правило для агентов. Каждый файл обновляется отдельно. Не нужно трогать все файлы за раз. Не указывай данные, которые не удалось верифицировать. Лучше нал, чем выдумка. Jon должен быть валидным. Проверяй синтаксис. Notes MD. Используй для пометок о том, что не удалось проверить. Дата проверки. Обновляю в Node MD после каждого исследования. Ну, фантазёры. Ну, хорошо, хорошо. Так, о'кей. Что тут нужно разрешить? Сгенерировать папки для девяти конкурентов. Посмотрим тут ход работ. Так, не где это, что мы ехали. Так, скриптгенератор, который создаст все папки разом. >> Хорошо. Хорошо. Так, создам сриптфайл. Ну как, вот как классно стало работать. Создал скрипт файл, выполнил, хоп, всё готово. Чук. Всё создалось. Супер. Супер. Так, ну вот здесь пока ещё ничего нету. То есть всё в зачаточном состоянии, данные ещё не собраны. Окей. Pricing. Окей. Review social. Так. Вот. То есть он сделал, скажем так, заготовку. Отлично. Я даже думаю, что мы, пока тут всё это происходит, могли бы эту заготовку вот так сделать на всякий случай, чтобы, если что, можно было откатить. Да, и вот этот скрипт тоже можно взять. Так, интересно. Интересно у нас получается. Саморизирует историю нашего диалога, потому что контекст мы уже, видимо, тут нормально так потратили. Ну, ничего страшного. Так, всё готово. SCFold competitor Folders мы сделали. Теперь создаём syn script. Так вот, он переключается на английский. Ну, это обычное дело. Так, ну ладно, я сейчас поставлю запись на паузу, не буду мучить вас ожиданием вот этой всей работы. Я думаю, посмотрим уже сразу готовый результат, когда оно дойдёт вот до сюда. Так, ну и вот он уже сделал нам файл для синхронизации. Давайте посмотрим. читает директолию, получает джейсоны, удаляет все пустые значения. Тут что-то компетитор туда-сюда. Прайсинги. Угугу. Так, почему-то тут красненьким. Ну, в общем-то, тут, да, скрипт такой довольно тривиальный. Вот оно сделало мне миграцию, в которой тоже, как мы видим, ничего э такого нету. Здесь эта ошибка есть линт, потому что у нас запрещены импорты, вложенные. Ну, короче, вот так нельзя делать. Мы можем только из индексного файла фичи. Ну, сейчас это не суть, как говорится. Не страшно. Так, ну, смотрим, вот он сейчас редактирует нам вот этот, а, вот этот промпт. Посмотрим. Так, ну и вот. Всё готово. Всё готово. Вот что было сделано. Созданные файлы. Девять папок конкурентов с шаблонными Jon файлами. 10 файлов на девять конкурентов 90 файлов в папочке data. Sy competitors from files script синхронизации, который читает все папки из папки data merge jon в один документ file store удаляет на пустые значения, чтобы не затирать существующие данные, создаёт или обновляет документы в competitors. Ну вот насчёт этого я не уверен. Ну ладно. Миграция сделана, обновлён. А промп для агента. Удалённые файлы старой миграции. Удалил. рабочий процесс. Вызвать агента такого-то, попросить исследовать этого. Агент обновить Jon файлы, посмотреть getди div, проверить, запустить миграции. О'кей. Так, ну давайте посмотрим, что получилось. Значит, немножечко он переделал промпт, рассказал ему, как тут чего работает. Архитектуру данных рассказал. Полная документация схемы. Нужно создать папку. О'кей. О'кей. О'кей. О'кей. Угу. Вот так нажмём. Так, сейчас я закрою всё. А, ну давайте сразу, да, и попробуем, что мы, как говорится, выберем агента компетитор, ну, давайте в новом чате, чтобы уж было совсем повеселей. Выбираем компетитор Resarcher и скажу ему, скажу ему, как там называется у нас этот coach. Давай исследуем и обновим данные для нашего конкурента вот такого. И посмотрим, что будет. Посмотрим, что будет. Так вот, он, значит, нам делает. Прочитать Redmi и схемы, прочитать текущие данные True Coach, исследовать сайт True Coach, исследовать страницу цен, исследовать App Store Google Play, исследовать соцсети и отзывы, обновить Jon файлы, обновить Notes MD и analysis Jason, вывести сводный отчёт. Так вот, он обнаружил, что все файлы True Coach пустые. Нужно собрать данные с нуля, загружаю инструмент для веб-исследования. Начинаю исследование, загружаю главную страницу True Coach и страницу CEN. Сейчас я всё это делаю, конечно, у себя на компе, но в конечном итоге мы можем прийти к тому, что мы будем этого агента запускать через GitHub Actions прямо у нас на C. И там, условно говоря, раз в неделю оно сможет обновлять все вот эти файлы, присылать мне мешреквест, в которых я смогу поревьювить, что оно там на необновляло. И если меня всё устраивает, я смогу вмержить и обновить данные на продакшене. И таким образом построить некий пайплайн, контролируемого могу. изменения этих данных. Ну, вероятно, если всё, конечно, сработает, я ещё не знаю, получится у нас или нет. Так, отлично, получил данные из главной страницы и ценовой страницы. Теперь нужно получить данные из App Store, Google Play, обзорных платформ и соцсетей. Также нужно посмотреть страницу about и Feature. Ну, в общем, я думаю, что тут сейчас понятно, что он будет делать. Я не буду вас утомлять, чтобы, как говорится, ждать, пока агент доработает. Поставлю запись на паузу и вернёмся, когда всё будет готово.

Так, ну и вот агент закончил свою работу. Давайте посмотрим, что получилось. Исследование конкурента True Coach, источник данных. Главная страница about features, blog, help, true, coach, Google Play, iOS, get up, Trust Pilot, Instagram-тата, ключевые метрики. Explore Technologies. Всё правильно. Метрики. 16к тренеров, 250к клиентов, 50 млн тренировок. Цены, цены. Всё правильно. Да, да, всё похоже. О'кей. Год основания, штат квартира, количество. Ну что ж, звучит неплохо. Давайте посмотрим, что вот тут получилось. У нас это промпт агента. Мы его берём. Это мы берём. Это мы берём. Так, вот тут какие-то там, короче, данные по нему есть. Здесь почему-то не нашёл. Ну, за следующий проход найдём. Окей. Features есть ссылки. Окей. Notes. Ух, сколько тут всего нарисовало. Ну, о'кей. Overview. О'кей. Prйсинг похоже на правду. Review похоже на правду. Social похоже на правду. Ну это, конечно, ладно. Так, ну допустим, да, допустим, попробуем теперь запустить миграцию, которая обновит нам эти все штучки. Конечно же, ошибка. Посмотрим, что за ошибка. Так, что-то миграция не сработала. Директория не найдено. Ну, я думаю, сейчас оно разберётся. Давайте сделаем поменьше. Ага. Ну о'кей, давайте ещё раз запустим. Так, как будто бы готово. Как будто бы готово. Пойдём посмотрим, что получилось. Где это? Где это? Вот оно. Так. Мы true coach запускали, напоминаю. 9 updated. Ну что, йсинг почему-то здесь нету. Да, это похоже на правду. features есть social похоже почему-то не открывается здесь похоже 3,5 15 review 3,5 15 review совпадает хорошо notes. Здесь всё очень похоже на правду. Не нашли мы этот Android 4,7. Давайте посмотрим. 4,7 рейтинг, 546K reviews, 100к downloads. Не совсем здесь верно. Технический стек, да? О'кей. Блок открывается. Help center открывается. Denver USA. Вот это похоже на правду, да? О'кей. Pring page правильная. Да, ну неплохо, неплохо. Что ж, неплохо. Я думаю, что нужно ещё немножечко докрутить. Вот YouTube он не нашёл. Ещё немножечко докрутить, но в целом как будто бы подход рабочий. Как будто бы подход рабочий. Можно ещё доработать вот этот системный промпт, чтобы он здесь не сдавался и искал а ссылки на мобильные приложения и в других источниках. И думаю, что это всё вполне себе может сработать. вполне себе может сработать. Вот. Ну о'кей. Я думаю, что на сегодня достаточно. Я думаю, что подход я приблизительно показал. Я попробую ещё довести это, скажем так, до ума, чтобы оно полностью а сделало нам э хотя бы вот эти девять конкурентов. Ну вот этого мы удалим, потому что он нам вообще не интересен. А а самых, скажем так, сюда самых основных я выпишу и попробуем по ним всё это сделать. Вот я думаю, что будет прикольно такой насобирать такую информацию, скажем так. Э, я ещё хочу переделать, чтобы было не одно мобильное приложение, а был массив мобильных приложений. То же самое там со всеми ссылками с соцсетями, потому что, как правила, у всех не одна соцсеть, а несколько соцсетей. Не одно мобильное приложение, а несколько мобильных приложений. Вот. Но всё это мы сделаем в следующих видео. А на сегодня я думаю, что мы свою цель достигли. Мы сделали механизм, придумали, скажем так, механизм насыщения данными нашего нашей базы данных. У нас есть специальный агент resеarcher, который умеет работать с файловой системой, заполнять вот эти jon файлы в каждой папочке. Вот напомню, что здесь получилось. Вот он выписал все сильные слабые стороны. Сюда выписал приложение. Пока не смог найти, к сожалению, все, но это мы в следующих версиях поправим. Здесь есть, э, файл, в котором все фичи отмечены, ссылки собираются. Note. Самое прикольное, он пишет Overview Jason, pricing, review, social, ссылки на всей соцсети, технический стек, так называемый, как вот. И, мм, и мы сделали механизмы синхронизации этих данных в базу данных. Вот он файл э скрипт запуска миграции, который я нажимаю в админке, и он синхронизирует данные в базу данных. Я думаю, на сегодня достаточно в следующих версиях, э, как в следующих видео продолжим работать над этой системой. Вот. Мне даже интересно, что в итоге у нас получится. Получится ли полностью автоматизировать всю работу или всё-таки что-то придётся допиливать руками силами человека? Надеюсь, что нет. Уверен, что нет. Вот прикольный получается эксперимент. Если хотите не пропустить продолжение, подписывайтесь на мой канал, ставьте лайки и вот это вот всё. Вот. Всем спасибо, кто досмотрел до конца. Ну а я пошёл завтракать. 9:00 утра уже. Ah.