Представим учебную заявку: «Нужны три синие папки. Дату доставки уточню позже». Это вымышленный пример, не переписка клиента и не результат запуска модели.
Он выглядит аккуратно: число — числом, цвет — строкой, дата похожа на дату. Программа может успешно прочитать его. Но день доставки появился из ниоткуда: в заявке его не было.
Здесь нужны три отдельные проверки.
Первая — читается ли ответ как JSON. Она обнаружит пропущенную кавычку или лишнюю запятую. Про содержание заявки такая проверка ничего не знает.
Вторая — соответствует ли объект выбранной схеме. В JSON Schema можно описать типы полей и перечислить обязательные поля. Например, количество должно быть целым числом больше нуля. Это полезно: вместо «три штуки» обработчик ожидает число 3. Но схема с типом string для даты сама по себе не проверяет, называл ли человек этот день.
Третья — подтверждается ли каждое значение исходным сообщением. В нашем примере количество и цвет подтверждаются, дата — нет. Для отсутствующей даты лучше заранее определить отдельное состояние: null или отсутствие поля, в зависимости от договора между программами. Пустая строка, null и выдуманная дата не должны случайно означать одно и то же.
Простой журнал проверки может выглядеть так:
• quantity: 3 — фрагмент «три синие папки».
• color: blue — фрагмент «синие папки»; преобразование названия цвета задано правилами.
Для настоящей системы этого маленького примера недостаточно. Понадобятся согласованные правила для изменений заказа, противоречивых сообщений и полей, которые можно вычислять. Вычисленное значение стоит отделять от прямо названного: иначе позже будет трудно восстановить, откуда оно взялось.
Что проверить перед подключением к рабочему процессу:
1. Сохраняется ли исходный текст рядом с извлечёнными полями?
2. Может ли проверяющий увидеть, почему поле заполнено?
3. Есть ли предусмотренный вариант «данных нет»?
4. Останавливается ли обработка, если отсутствует обязательное для следующего действия значение?
Даже при корректной структуре спорная дата не должна автоматически превращаться в обещание клиенту. Сначала уточнение, затем следующее действие.
Описание типов и обязательных свойств — в официальном руководстве JSON Schema:
Протестировать программу можно на примере скачивания анимированных изображений, которые есть в Вконтакте в списке подарков для отправки.
Пользователь в адресной строке должен ввести адрес страницы, откуда он хочет скачать json-анимации, и нажать OK, а затем нажать "Запустить".
Программа автоматически ищет на странице по указанному адресу все json-анимации и скачивает их.
Открывается встроенный браузер, и программа сама начинает листать указанную страницу. По завершению закрывает браузер, и сохраняет найденные анимации в папке lottie_out.
ПРИМЕЧАНИЕ: ВКонтакте и ряд сайтов, требуют чтобы вы сначала авторизировались в встроенном браузере, нажав кнопку "Войти в ВК/Соц.сеть, а когда откроется браузер-зайти в нужную соц.сеть и авторизироваться.
Иначе, раздел с нужными json-анимациями(подарки ВК и т.д) недоступен для неавторизированных пользователей.
Авторизация проходит один раз, т.к данные о входе, сохраняются в папку "vk_profile".
ВАЖНО! Папка "vk_profile" хранит все данные для входа и авторизации в ваш аккаунт ВКонтакте или другую соц.сеть! Эта папка не должна попадать к кому-то, чтобы никто не мог войти ваш аккаунт.
Если вы хотите кому-то передать или сохранить программу, то достаточно скопировать и отправить саму программу, в виде всего одного файла "LottieJsonExtractor.exe".
ДОПОЛНЕНИЕ. Программа LottieJsonExtractor много вести, т.к помимо скрипта в оболочке для ОС Windows, в программу вшит свой Chrome-браузер, в котором и происходят процесс по поиску json анимаций с сайтов.
СПРАВКА. Анимации в формате TGS применяются в основном в мессенджере Telegram. Анимации в формате Json, применяются и в анимации подарков в соц.сети Вконтакте.
Lottie Json Extractor: программа для извлечения Lottie-анимации с расширением "Json" с сайтов.
Программа автоматически ищет на странице по указанному адресу все json-анимации и скачивает их.
"Json-tgs Player" - программа для просмотра lottie-анимаций в форматах JSON и TGS
Я создал небольшую программу-утилиту.
"Json-tgs Player" - бесплатная программа для Windows-компьютеров, которая позволяет воспроизвести и просмотреть lottie-анимации в формате/расширениях Json и TGS.
Преимуществом является то, что она портативная, и не требует специальной установки, а все нужное зашито внутри программы(. Можно просто перетянуть в окно программы файлы анимаций этих форматов (tgs, json), чтобы начать их воспроизведение.
В отличии от некоторых скриптов и т.д, программа может читать "загрязненные "json-файлы", в которых есть растровые изображения.
В опциях, есть изменение скорости воспроизведения, поворот анимации, и изменение размера воспроизведения.
СПРАВКА. Анимации в формате TGS применяются в основном в мессенджере Telegram для стикеров. Анимации в формате Json, применяются в анимации подарков в соц.сети Вконтакте.
Загрязненные json-файлы(которые может проигрывать эта программа). Анимации, которые вы скачали из подарков ВКонтакте, часто содержат в себе не только векторную графику, но и встроенные растровые картинки. Они хранятся внутри JSON-файла в виде длинных строк, закодированных в Base64 (выглядят как data:image/png;base64,...).
Библиотека rlottie-python (как и большинство легких Lottie-рендереров) не умеет декодировать такие встроенные изображения. Она просто «не видит» их, и анимация отображается пустой или белой. Именно поэтому tgs (который является сжатым JSON без встроенных картинок) работает идеально, а json из VK — нет.
ПРИМЕЧАНИЕ: Если что-то не воспроизводится, попробуйте скачать ffmpeg. Где скачать:
Рекомендуемые сборки: gyan.dev (обычно ffmpeg-release-essentials.7z для большинства пользователей).
Как установить:
Скачайте и распакуйте архив (например, с помощью 7-Zip) в постоянную папку, например C:\ffmpeg 2. Затем активируйте ffmpeg в операционной системе.
Откройте терминал: Нажмите Win + X и выберите «Терминал», «Windows PowerShell» или «Командная строка».
Для установки пакетов права администратора не требуются. Выполните команду для установки: winget install —id Gyan.FFmpeg —exact
Эта команда устанавливает популярную сборку FFmpeg от Gyan.dev, которая подходит для большинства пользователей. Перезапустите терминал: После завершения установки закройте и снова откройте окно терминала. Это необходимо, чтобы система обновила переменные среды (PATH).
В апреле 2023 года мы запустили необычный для нас проект - ремонтный сервис нового формата. Первого клиента нашли только в начале лета, но уже с первого проекта удалось достичь запланированной прибыли. Расскажу, как мы создали современную компанию для поколения "новых денег", которые не готовы к тому, что прораб будет класть половину стоимости ремонта себе в карман, а сроки растягиваются без ограничений и почему это оказалось прибыльным бизнесом.
Как всё начиналось
Конец 2022 года. Я работал менеджером проектов в крупной IT-компании, мой друг Антон - тимлидом в другой известной технологической компании, а Дима занимал позицию backend-разработчика в третьей. У всех стабильные зарплаты, интересные проекты - жизнь шла своим чередом, пока Антон не решил купить квартиру в новостройке.
После долгих поисков он остановился на 85-метровой квартире в ЖК около метро Саларьево - современный комплекс с подземным паркингом и зелёным двором. Как типичный программист, к поиску ремонтников он подошёл педантично: изучил десятки предложений, провёл собеседования с кандидатами. В итоге выбрал бригаду с Авито с "15-летним опытом работы".
Денис (это я:) - один из создателей сервиса
За время ремонта у Антона мы с Димой часто приезжали к нему - помочь, посоветовать, и просто поржать над очередными косяками строителей. У нас обоих за плечами был серьёзный опыт управления командами, внедрения процессов, автоматизации и контроля качества. И знаете что? Нам казалось, что главное в ремонтном бизнесе - это грамотный менеджмент и организация процессов. И на самом деле, все примерно так и есть.
День когда мы решились
Если честно, мысли о собственной ремонтной компании появились у нас задолго до этого случая. В IT-тусовке часто шутят, что в России есть три верных пути: вебкам, айти и стройка. И мы, насмотревшись на хаос в ремонтной сфере, не раз обсуждали возможность открытия своей “фирмы”.
Мы выделили основные проблемы, которые должны были исправить с помощью своего сервиса
Первое - это постоянно растущие сметы и "задранная стоимость" на работы. Ну вы серьезно? Почему для меня ремонт в квартире должен чем-то отличаться от заказа носков на Вайлдберриз? Почему-то там нет такого, что цена носков может вырасти в 2 раза за время доставки. А тут начальная смета в 1 миллион превратилась почти в 1,7! И каждый раз это "ой, тут стены кривые", "ой, а тут придется докупить", "ой, а это мы не учли".
Второе - это бесконечно растущие сроки. Это еще хуже. Как люди с опытом в менеджменте, мы прекрасно знали, что растущие сроки – это всегда раздолбайство управления и ленивые рабочие. Но тут было чуть посложнее, об этом чуть позже. У Антона обещали сделать за 4 месяца, а в итоге растянули на 8.
Третье - хитрые прорабы. Это вообще отдельная история. Когда прораб говорит "давайте я сам закуплю материалы, у меня скидки", знайте - он накинет сверху процентов 30-40. А еще есть "срочные работы", которые почему-то не были учтены в смете. И конечно, вечная классика - экономия на материалах: заказываешь одно, а привозят что-то попроще, но по той же цене.
Целевая аудитория
А параллельно с этим мы определили нашу целевую аудиторию. Чтобы выделиться на конкурентном рынке, мы решили ориентироваться на молодых IT-специалистов и представителей “современных” профессий, живущих в Москве в возрасте 30-40 лет. Тех, кто покупает квартиру в новостройке и привыкших к хорошему сервису. Кто не готов, что его будут водить за нос и разводить на деньги.
Что с ценой?
При этом очень важно было держать цены НИЖЕ, чем у других компаний, иначе на рынке просто не выжить. В премиум сегмент нужен "пропуск" в виде большого количества работ для определенного типа клиентов, поэтому нам было понятно, что "брать" много - пока что, непозволительно. Но мы нашли способ: автоматизация процессов, прямые поставки материалов, четкое планирование работ и никаких скрытых накруток. Но несбыточной мечтой это покажется только обывателю: на самом деле сервис и правда должен быть таким, вообще любой.
История первого заказа летом 2023 года
А теперь самое интересное - наш первый заказ. Это была отдельная эпопея. Начало лета 2023, звонок от потенциального клиента.
Первый клиент оказался прямо "в яблочко" - тоже айтишник (пришедший из первой контекстной рекламы в яндексе запущенной на 20 тыс.), работал в крупной компании, купил двушку в панельке 80-х годов. Причем достаточно убитую - стены местами с дырками, старый паркет, трубы помнящие еще Горбачева... Но нам, если честно, даже повезло что первый объект был не новостройкой. На старом фонде учиться легче - там хотя бы есть на что посмотреть, в отличие от новостроек, где все "сюрпризы" спрятаны в голых стенах.
Дырка в стене была ДО демонтажа. Клиент купил квартиру с "убитым" ремонтом подешевле, в надежде сэкономить
Как мы мастеров искали
Начали с поиска бригады. Вот тут был первый холодный душ - оказалось, что найти классных специалистов без своей наработанной базы очень сложно. Мастера хорошего уровня либо уже при деле, либо просят космос. А те, кто сразу соглашается - ну, вы понимаете. За две недели провели больше 10 собеседований (назовем их так😊). Причем процесс собеседования мы сразу сделали "как в айти" - тестовые задания, проверка портфолио, разбор технологий работы. Бригадиры были в шоке - некоторые прямо уходили с собеседований, когда мы начинали распрашивать про технологии укладки плитки и показывали фотографии косяков с объектов с форумов.
В итоге нашли бригаду - два брата, которые до этого работали в крупной ремонтной компании, но ушли потому что устали от "серых" схем – по отношению К НИМ ЖЕ. В основном - задержки з/п и прорабы.
В том же санузле, но уже после демонтажных и некоторых черновых работ. Братья очень помогли нам с первым ремонтом, кроме этого, они дали нам контакты проверенных рабочих, которые впоследствии делали ремонт вместе с ними
Купили первый комплект инструмента - это отдельная история на 100 тысяч рублей. Ещё сразу купили свою тепловую пушку - это из необычного. Большинство компаний привлекают "потолочников" на субподряд. Мы захотели сразу начать формировать свой инструментарий для будущих сотрудников. Зато потом эта закупка очень помогла - не зависели от того, что принесет с собой бригада. Позже, когда начали расширяться купили свою штукатурную станцию. Это, на удивление, было самой выгодной покупкой.
Первые сложности
Начали ремонт. И тут поехало... Первый сюрприз - когда начали снимать старую штукатурку, оказалось что стены буквально рассыпались. Плюс под старым линолеумом в коридоре нашли деревянный пол с насыпью под ним.
Тут был первый серьезный разговор с заказчиком. Объяснили ситуацию, показали все фотки, рассказали что сколько будет стоит в соответствии с прайс-листом. Тут очень помогло то, что мы сразу взяли за правило - фотографировать вообще все. Каждый этап, каждый слой, каждую трубу.
С материалами тоже было весело. Первый месяц я лично объездил все крупные строительные магазины в радиусе 30 км. Искал поставщиков, договаривался о скидках. Помню, как чуть не купили партию плитки по "супер-выгодной" цене, а потом выяснилось что это условно "второй сорт" - брак, который продают через "серые" схемы.
Cделали систему закупок: (Первый заказ полностью сделан из материалов, купленных в Петровиче и на маркетплейсах). Бригада присылает список - мы проверяем цены у 3-4 поставщиков и заказываем где дешевле.
Мы сразу внедрили систему ежедневных фото-отчетов и еженедельных созвонов. Плюс сделали чат в телеграме, куда скидывали все чеки, все накладные, все фотки. Такая прозрачность очень помогла - клиент видел, что мы не химичим с ценами и не пытаемся на нем нажиться.
В итоге сделали.
Братья советовали нам недостающих специалистов по ходу ремонта и постепенно, укладываясь в срок мы сдавали клиенту новый и новый этап. Честно, это было не так сложно как казалось в начале, но нужно понимать, что на самом деле, проблем по ходу ремонта и мелких трудностей было ОЧЕНЬ много, просто мы как люди привыкшие, понимали что сейчас это и есть наша работа , за которую нам платит клиент - взять на себя все заботы по ремонту. Но серьезных форс-мажоров не возникало, максимум понервничали, когда внесли предоплату потолочникам, которых нашли по объявлению, после чего они явно начали задерживать сроки, но в итоге, все обошлось. Нам и до этого было ясно, что чем быстрее мы соберем свой , хотя бы, небольшой штат, тем лучше и выгоднее. Но для этого надо быть уверенным в постоянном потоке заказов, что мы на тот момент, не могли себе позволить.
Главное - мы поняли как надо и как не надо. Все закупки только через нас. Все договоренности - только в письменном виде.
По деньгам первый проект получился условно в ноль - не считая наших вложений в инструмент и рекламу. Но мы получили бесценный опыт, наработали связи с поставщиками (если это можно назвать так пафосно) и главное - поняли, что наша модель рабочая, хотя на тот момент не были в этом до конца уверены. Наши сомнения развеяло лето 2023 года.
1/5
Наша первая работа, которую нам помогли закончить "братья", советуя недостающих мастеров на каждый этап работ. Цена работ для заказчика вышла 750 000 рублей. Летом 2023 года, за аналогичный объём работ авитовские бригады просили до миллиона(!)
Сайт и маркетинг или как мы общаемся с клиентами ещё до первого звонка
Кстати, про сайт. Первую версию мы сделали за пару вечеров на Тильде - максимально простую: фотки, цены, контакты. Знаете что? Он у нас до сих пор такой – но с значительно изменённым UI/UX. Я иногда ловлю себя на мысли - вот мы же, можем сделать что-то крутое, с личным кабинетом, онлайн-сметами... Но потом смотрю вордстат, статистику и думаю - а зачем? Клиенты находят нас, звонят, все работает. Иногда лучшее решение - самое простое.
1/2
На главной странице "в лоб" о том кто мы, наши конкурентные преимущества, специализация и примеры работ
1/2
Сразу "ярко" заявляем о действующих скидках. Кроме этого, простым текстом пытаемся общаться с клиентом и убедить его в нашем сервисе, пока что, не общаясь с ним лично - конверсия в лиды увеличилась значительно, но важно, чтобы все предложения были реальны
А вот ворд стат. За последний месяц нас искали 680 раз не считая статистики переходов по прямой ссылке. Доказательство того, что дорогой сайт не нужен. Наш стоит 6 000 рублей в год, а сделан за 20 часов
Примеры лучших работ как маркетинговый инструмент
1/4
Оставляли подобные фото с примерами работ и вотермаркой в отзывах к жилым комплексам. Отличный маркетинговый инструмент - сразу определяем нужную ЦА и бесплатно заявляем о себе. Точно знаем, что минимум один клиент был из отзывов яндекс - поэтому работает
Как мы масштабировались и разбирались в проблемах ремонта
Теперь про то, как мы начали разбираться в проблемах ремонта и потихоньку расти. Знаете, за этот год мы много думали - почему вообще ремонтные компании задерживают сроки и не могут сделать работу по первоначальной цене? И нашли несколько интересных моментов.
Первое - сроки. Тут даже копать глубоко не пришлось - сам рынок сформирован так, что клиенты просто привыкли к задержкам. "А, ну это ремонт, тут всегда так" - классическая фраза. Благо тут нам помог опыт организации процессов из айти. Четкие спринты, ежедневные отчеты, календарный план. Работает как часы, если не филонить.
Второе - вечно растущая цена. Вот это было сложнее. В новостройках еще можно точно посчитать, а во вторичке... Но благодаря наработкам этот вопрос стал гораздо яснее. При правильно организации процессов, непредвиденные работы лучше оплатить из своих средств, чем терять клиента. Только так и делается сервис.
Третье - больная тема - воровство на материалах. Тут мы конкретно закрутили гайки. Завели строгий учет, до последнего мешка штукатурки. Прорабам сразу сказали - любая жалоба от клиента на нечестность - это конец сотрудничества. Знаете что самое смешное? Когда начали работать честно, оказалось что маржа все равно хорошая. Просто многие привыкли что надо обязательно накручивать еще и еще.
Неприятные особенности прозрачного сервиса
Большинство компаний, которые начинают работать честно, быстро сдуваются. Потому что сам потребитель привык к плохому сервису. Приходишь к клиенту, говоришь "мы все сделаем четко по смете и в срок", а он смотрит с недоверием - "да ладно, так не бывает". Сейчас в 2024-м ситуация получше, но рынок все еще очень консервативный.
Продвижение или как мы брали “Новую Москву”
Наш любимый Прокшино в Новой Москве - в 2024 году, это самый перспективный район в котором покупатели - наши потенциальные клиенты
Расти начали потихоньку. Сначала сделали специальные цены для новой Москвы - там как раз много новостроек, где мы хорошо научились работать. Потом пошли заказы по рекомендациям. Когда я говорю “пошли” заказы нужно понимать, что это 1-3 заказа в месяц стабильно, что на самом деле, тогда казалось не мало. С рекламой экспериментировали забавно - оставляли визитки в подъездах (да, просто старые добрые визитки!), ставили рекламные ящики у офисов продаж в дни выдачи ключей.
Был случай, когда на одном ЖК поставили такую стойку, а через неделю риелтор оттуда сам позвонил и предложил взять себе процент, если клиент пойдет к нам.
Сейчас берем 2-5 заказов в месяц, (летом было 5 в месяц, если разделить). Большинство клиентов приходят по рекомендациям. Штат за год работы постепенно собрали свой. Трудоустроено 14 сотрудников. Если их не хватало (как летом), привлекали мастеров с которым уже работали раньше, по договору ГПХ. Просили всех регистрировать самозанятость или ИП – это было тяжело, но зато честно платим налоги по Доходы – расходы.
Как устроен процесс
Знаете, что самое сложное в ремонтном бизнесе? Нет, не поиск клиентов и не работа с материалами. Самое сложное - это выстроить систему, которая будет удовлетворять запросы клиента и при этом позволит компании зарабатывать. Мы долго думали над этим и придумали несколько интересных решений.
Начнем с оплаты. Если посмотреть на московский рынок, там забавная система - вроде бы без предоплаты, но это только за первый, самый дешевый этап. А потом - бац, и клиент должен внести 50% от всей суммы. И попробуй не внеси - бригада уйдет на другой объект. Мы сделали иначе: разбили весь ремонт на этапы (их получилось 12 для капитального ремонта), и берем предоплату только за текущий этап. То есть клиент всегда понимает, за что именно платит, и может контролировать процесс.
С договорами тоже интересно получилось. Сначала делали один стандартный, а потом поняли - люди разные, запросы разные. Сейчас у нас три варианта: просто на работы (для тех, кто сам хочет закупать материалы), на работы плюс материалы (самый популярный), и полный пакет с дизайн-проектом. Кстати, про дизайн - мы не держим штатных дизайнеров, работаем с фрилансерами. Так получается и дешевле для клиента, и качество выше - каждый дизайнер специализируется на своем стиле.
Первый образец договора, который ставили на сайт
Расчёт стоимости
Расчет стоимости работ - отдельная история. Когда начинали, было очень сложно. На рынке нет четких цен - один мастер берет 3 тысячи за квадрат стяжки, другой - тысячу, третий вообще говорит "ну давайте посмотрим по факту". Сначала работали по среднему прайсу, но часто уходили в минус по отдельным этапам - то бригада дороже встанет, то материала больше уйдет. Сейчас, когда появились постоянные сотрудники, стало проще - мы точно знаем их расценки и можем давать фиксированную цену.
Материалы
Выяснилось, что в крупных магазинах часто дешевле в сравнении с рынками стройматериалов, особенно если ловить акции. Плюс появились маркетплейсы - там вообще красота по ценам. И главное - полная прозрачность, клиент сам видит все позиции. Если находим материал дешевле - возвращаем разницу. Был случай, когда на керамограните сэкономили клиенту почти 30 тысяч - просто потому что, нашли ту же плитку в другом магазине по акции.
Как работаем сейчас
Сейчас берем 2-5 заказов в месяц, зависит от сезона и сложности объектов.
Процесс обкатан до мелочей: сначала выезд на замер, потом предварительная смета. Если клиента все устраивает - детальный расчет и договор. Дальше начинается самое интересное - согласование материалов, закупки, работа.
Особенности продвижения и подводные камни
С продвижением интересно получилось. Сначала, как все, полезли на Авито. И знаете что? Не зашло. Там своя специфическая аудитория и конкретно у нас, с Авито “ не пошло”.
Свежий пример страницы с авито в категории "Ремонт квартир". Как клиенты определяются с подрядчиком среди тысяч однотипных объявлений - хороший маркетинговый вопрос, который мы решаем, после чего полноценно "зайдём" на авито
Пробовали контекстную рекламу яндекс - тоже так себе результат. Клики дорогие, конверсия низкая. Зато отлично зашла таргетированная реклама в Instagram* (*запрещен в РФ) и реклама в районных пабликах ВКонтакте. Особенно в группах новостроек в ТГ - там как раз наша целевая аудитория.
Но главный канал - сарафанное радио. Причем работает оно интересно. Всегда знаешь , от кого пришли заказчики и проще выстраивать коммуникацию. Есть клиент - он доволен, рассказал коллегам - и понеслось. За три месяца получили еще два заказа от сотрудников той же компании. Выходит такой “корпоративный ремонт”)))
Были, конечно, и провалы в продвижении. Пытались работать с риелторами - предлагали им комиссию за клиентов. Не пошло - у них свои схемы, свои бригады. Пробовали давать рекламу в лифтах, входных группах - тоже мимо, ни одного обращения, но тут скорее из-за того что эта реклама буквально на день.
ИТОГ
Сейчас мы существуем уже чуть больше года и в целом смотрим на ремонтный рынок не так, как раньше. За это время мы сделали несколько важных заметок для себя:
Оказывается, большинство проблем в ремонте - это не технические сложности, а банальная организация процессов. Когда все четко спланировано и каждый знает что делать - даже самый сложный ремонт идет как по маслу.
Мы поняли, почему многие компании "химичат" с ценами и сроками - просто потому что не умеют нормально считать и планировать. Когда все процессы выстроены правильно, можно работать честно и все равно оставаться в плюсе.
Самое сложное - это не найти клиентов или научиться делать ремонт. Самое сложное - это переломить привычку рынка работать "по-серому". И заказчики, и исполнители настолько привыкли к непрозрачным схемам, что честный подход вызывает удивление.
Мы до сих пор учимся. Каждый объект - это новый опыт и новые вызовы (особенно по части коммуникаций с клиентами). Но главное - мы видим, что наша модель работает и пока что, нам удается держать ценник немного ниже рыночного, за счёт того что до сих пор не имеем в найме маркетологов, IT, отдела продаж и менеджеров по продажам. Стараемся нанимать именно рабочих, все остальное можно отдать на аутсорс.
Уважаемые пикабушники, были рады составить для вас эту статью! С любовью, СК Комната
Хотел найти на пикабу статьи по N8N, но поиск выдал... ничего. Неожиданно, т.к. тема набирает обороты, но раз ничего, то я буду первым.
Что-ж это за зверь такой, N8N? По факту, это модульный конструктор автоматизаций без кода(ну почти =) ). Вся логика выстраивается как конструктор из кубиков. По очереди. Множество проектов можно собрать вообще не написав ни одной строки кода, а если вдруг оно нужно будет, тут за вас это за секунду сделает любая нейросеть, хоть ChatGPT, хоть Gemini, хоть... Deepseek... Если как обычно не уснет во время ответа)) Давайте сразу пример, чтобы было интереснее. У меня есть основная электронная почта, которой уже куча лет. И там творится полный... Хаос. Назовем это так) Там и спам, и реклама, и че только нет. И разгребать ручками мне это надоело, да и куча уведомлений на телефон отвлекают. Я сделал автоматизацию, это ИИ сам разбирает мою почту, решает что важно, а что нет, и сообщает мне только о важном. И теперь у меня почта разбирается сама, реклама\спам удаляются сразу, а я получаю только важные уведомления, которых не так-то и много... Кстати... Я тут говорил давайте сразу пример, а в итоге налил 3 ведра воды. Эт норма, привыкайте, если еще читаете =) Вот, теперь точно сразу пример. Вот так выглядит вся автоматизация. Весьма короткая. Для тех, кто вообще не в теме, сейчас все расскажу)
Итак, давайте по очереди. Видите ноду Schedule Trigger?.. Ах да. Нода, это... тот самый кубик, о котором я говорил выше. И из этих кубиков строим башню. Каждая нода отвечает за свой функционал. Она может что-то делать сама, а может слушать, что ей сказали другие ноды, которые уже выполнили свою часть работы. надеюсь понятно объяснил. Итак. Schedule Trigger. По факту, это нода расписания, когда она будет будить следующую ноду, чтобы наша автоматизация начала работать. У меня стоит 20 секунд в настройках. Можно указывать интервал в секундах, минутах, часах, днях, неделях, месяцах и в CRON(линуксойды оценят).
Да. Все на английском, и русского нет. Но он и не особо нужен т.к. сейчас любой браузер умеет переводить на русский без проблем, так что не проблема. Дальше мы видим ноду "Получаем 1 письмо". Она просто обращается к моему почтовому ящику по IMAP и забирает оттуда все непрочитанные письма из папки "Входящие". А почему в названии указано получаем 1 письмо, а по факту получаем все? А вот, потому что нэйминг это важно, но я иногда этим пренебрегаю в своих проектах т.к. понимаю че происходит. Но так делать не хорошо! Вот нам нода отдала все непрочитанные сообщения. Дальше мы запускаем цикл... Ах да, цикл.. Цикл, это такое действие... Как бы объяснить... Вот у тебя есть пакет с продуктами. И тебе нужно из него все выложить. Вот твое действие выкладывания продуктов это цикл. Ты засунул руку в пакет, взял продукт, положил на стол, засунул руку в пакет... Вот это и есть цикл. Повторяющееся действие раз за разом, пока ты не придешь к цели. Твоя цель - выложить все продукты. Надеюсь теперь тебе стало понятнее) Вот мы запускаем цикл, наша задача в нем брать по 1 непрочитанному сообщению до момента, пока этих самых непрочитанных сообщений не останется. Мы берем первое сообщение, а дальше отдаем его ноде "Разбираем письмо". Это AI Agent. Ага, роботы на службе кожаных, хорошо, что пока так, а не наоборот) Вот эта нода, это логика какого-либо ИИ действия. Она может обрабатывать информацию, сохранять в память, читать из памяти, изменять информацию, придумывать и еще 100500 опций. Умная она короче. Но ей нужны мозги. Видишь снизу от нее "Google Gemini Chat Model"? Вот это как раз мозги. Для того, чтобы сортировать письма по полезности, мы будем скармливать письмо ИИ, и оно будет решать насколько это важно. А как оно будет решать? В AI Agent ноде мы пишем промт. Ага... Промт... Промт, это условие. Например ты говоришь: Вася, вот дрова лежат, их нужно порубить топором, на пне, и отнести в дровяную. И Вася понимает, что ему нужно сделать и как. Что пень выкидывать не нужно, да и топор на кашу пускать тоже. Промт пишется на русском. Просто как бы ты это объяснил человеку, так и объясняй ИИ. Для старта этого будет достаточно. Вот что я написал у себя:
Классифицируй письмо: важное | полезное | спам. Классифицируй строго на русском языке и маленькими буквами! Строго как я написал! Верни строго JSON {"class":"...","reason":"..."} без текста вокруг.
ПРАВИЛА КЛАССИФИКАЦИИ: 1️⃣ ВАЖНОЕ — письма, связанные с: - Steam (любые уведомления, подтверждения, коды, безопасность) - Госуслуги (всё: заявления, ответы, уведомления, задолженности, налоги, коды подтверждения, ссылки для подтверждения входа/регистрации) - Любые письма с кодами подтверждения, подтверждением почты, регистрации, восстановления пароля - Ответы от госорганов и официальных сервисов - письма от no-reply@oplata.info
2️⃣ ПОЛЕЗНОЕ — письма, содержащие: - Кассовый чек - Акт оказанных услуг - Документы, счета, квитанции, отчёты, билеты, брони, гарантийные талоны
3️⃣ СПАМ — всё остальное, включая: - Напоминания о входе на сайт, о доставке, о действиях ребёнка - Уведомления о входе в аккаунт (без кода подтверждения) - Новости, рассылки, акции, маркетплейсы, голосования, реклама, обновления условий
Как видишь все просто) Обычный спам он и так поймет и удалит, но я под себя еще фильтры сделал. И вот он определил тип важности сообщения, дальше мы видим ноду "Code in JavaScript". Внутри код, который разбирает ответ от ИИ и делает из него только 1 строку. важное \ полезное \ спам. Это не обязательно, как я уже сейчас знаю, но это был мой самый первый проект, так что там есть косячки) Где я взял скрипт для ноды? Просто отдал Gemini то, что отвечает ИИ и сказал что мне нужно получить только 1 слово на выходе. Дальше тупо скопировал ответ и вставил. Сам я там ниче не писал. Удобненько) Дальше у нас нода "Switch". По факту это как дорожный знак. Указывает куда тебе нужно) Как видите там 3 пункта, тех самых что нам отдал AI Agent) Логика простая, поняли, что письмо спам = переместили в папку "Удаленные" Поняли что просто полезное, переместили в папку "полезное". Я на почте себе отдельно папку создал с таким названием, чтобы удобненько там лежали) И самое интересное, это письма категории "важное") Если нам нода сообщила, что вот это письмо важное, то это письмо передается такому-же AI Agent, как и до этого, но только теперь он должен сделать из этого письма короткую выжимку только основного, чтобы не читать 100500 букв, как сейчас это делаешь именно ты =) Он сам поймет что важно в сообщении, а что мусор, и сожмет это буквально в 1-2 предложения) Дальше у нас идет нода HTML. Опять же, там код... Который я тоже не писал руками) Я попросил ИИ сделать так, чтобы этот код оформлял мне сообщение для того, чтобы его можно было отправить в телеграм. У телеграм по умолчанию нельзя просто взять и отправить письмо, т.к. есть символы, которые он считает, например, за оформление текста. А мне это не нужно. И ИИ мне честно этот код дал, я его скопировал и вставил и все заработало)) Дальше уже финал! Мы берем ноду "Сообщение в телеграм" чтобы отправить сообщение в телеграм и... Отправляем его! Но, тут есть нюанс, нужно же его отправить от кого-то, верно? Вот тут нам нужно будет в телеграм сделать бота, который нам будет присылать сообщения) Благо это делается за минуту, мы в телеграм идем в отцу ботов(с праздничком, кстати =) ) @botfather и там нажимаем создать нового бота. Там нас спрашивают как назвать бота и потом какая ссылка будет. Все) Нам выдают API токен. Вот он то нам и нужен. ВАЖНО!! Не показывай и не пересылай его никому! Представь что это твой паспорт. Будешь его всем показывать? Вот и это не показывай)) Дальше открываешь ноду телеграм, и там в самом верху есть строка "Credential to connect with". Тут выбираешь New Credentials и вставляешь свой API ключ. Ну, ты только что научился работать с ботами, поздравляю=) Теперь твое письмо уйдет тебе. Почему тебе? А там ниже есть еще поле "Chat ID". Вот в него ты должен написать свой ID телеграм) Только на него и будет приходить информация. Но ты не переживай, если где-то будет ошибка тебе обязательно напишут и ошибку и как ее исправить) И.. Последняя нода "Читаем важное". Делает элементарное действие, помечает это письмо прочитанным) Все, цикл завершен и мы возвращаемся в начало цикла и проходим все эти шаги, пока у нас не останется непрочитанных писем) Ты еще тут? Красавчик) Как видишь, схема простая, что по реализации, что по логике, если выкинуть тонну воды из моего текста, то там останется то... Но я так не умею) Что еще можно сделать на N8N? Да фактически все, на что фантазии хватит. Я, например, написал автоматизации, которые ведут у меня одновременно 14! групп в телеграм) Там боты сами знают тематики каналов, сами думают над текстом, генерируют по теме будущего поста изображения, потом все это публикуют. Я там участвую ровно никак) 100% автоматизация) Вообще все, что ты делаешь руками, ты можешь автоматизировать на 100% или близко к этому значению. И это круто! Вот тебе еще пример того, что я сделал буквально вчера, чтобы ты мог посмотреть:) Календарь пастафарианцев: https://t.me/SvyatyeLapshi где ежедневно будут публиковаться праздники пастафариан. Всем пастафарианам отдельный привет =) Канал #МамаПонимает https://t.me/MamaPonimaet где я сказал ИИ, что он это профессиональный психолог, консультант по детско-родительским отношениям и автор популярного Telegram-канала. Ну там, на самом деле, очень длинный промт, с нюансами, как он должен писать, что он должен проверять инфу и т.п. и .т.д. Но, как видишь даже такие вещи уже реальны) Если вдруг зайдет статья. Могу написать потом как я реализовал этот проект по автопубликации тем, там тоже не сложно, на самом деле) Всех обнял, приподнял =)
Привет, я Антон, автор ТГ-канала Шадрин + AI. Моя работа — внедрять нейросети в бизнес и делать так, чтобы ИИ работал на вас, а не вы на него.
Если вы до сих пор пишете промпты размером с "Войну и мир", а ChatGPT всё равно выдаёт какую-то дичь — эта статья изменит вашу жизнь. Сегодня расскажу про метод из мира программирования, который делает нейронки в разы послушнее.
Что за зверь этот JSON и почему он круче обычных промптов
JSON — это просто способ структурировать информацию. Представьте, что вместо сплошной простыни текста вы даёте ChatGPT чёткий список: вот это — роль, вот это — задача, а вот это — формат ответа.
Обычный промпт выглядит так:
Ты опытный копирайтер. Напиши пост для Instagram про пользу медитации. Текст должен быть дружелюбным и мотивирующим, длиной 150-200 слов. Используй эмодзи и добавь призыв к действию в конце.
А вот тот же промпт в JSON:
json { "role": "Опытный копирайтер для соцсетей", "task": "Написать пост для Instagram про пользу медитации", "style": "Дружелюбный и мотивирующий", "length": "150-200 слов", "format": "Текст с эмодзи", "cta": "Призыв начать медитировать сегодня" }
Видите разницу? Во втором случае нейронка точно понимает, что от неё хотят. Никакой воды, никаких двойных трактовок — чистая структура.
Почему это работает лучше (спойлер: дело в мозгах нейросети)
ChatGPT обучали на миллионах строк кода, где JSON — стандартный формат данных. Для него это как родной язык. Когда вы подаёте информацию в JSON, нейросеть переключается в режим "о, тут всё серьёзно" и начинает работать точнее.
Я протестировал оба подхода на 50+ задачах. Результат: JSON-промпты дают нужный результат с первого раза в 80% случаев против 60% у обычных. Экономия времени — космическая.
Пошаговая инструкция: делаем первый JSON-промпт
Шаг 1. Определяем структуру
Любой промпт состоит из базовых элементов:
role — кем должна быть нейросеть
task — что конкретно делать
context — дополнительная информация
format — как оформить результат
Шаг 2. Оформляем в JSON
Каждый элемент записываем по схеме:
"ключ": "значение"
Всё заключаем в фигурные скобки, элементы разделяем запятыми.
Шаг 3. Добавляем детали
Прелесть JSON в том, что можно легко добавлять новые параметры:
Кстати, если лень самому форматировать промпты в JSON, у меня в ТГ-канале есть GPT-конвертер, который делает это автоматически. Просто кидаешь ему обычный текст — получаешь готовый JSON. Ссылка в закрепе канала.
JSON для генерации картинок: Midjourney и DALL-E на стероидах
Вот где JSON показывает себя во всей красе! Вместо каши из описаний вы даёте чёткую структуру.
Было:
Кибер-самурай в неоновом городе будущего с катаной, дождь, ночь, синие и розовые цвета, динамичная поза
Стало:
json
{ "subject": "Кибер-самурай с катаной", "setting": "Неоновый город будущего", "atmosphere": "Дождливая ночь", "colors": ["синий", "розовый", "фиолетовый"], "style": "Cyberpunk, высокая детализация", "composition": "Динамичная поза, вид снизу", "lighting": "Неоновая подсветка, отражения на мокром асфальте" }
Результат? Вы получаете именно то, что заказывали, а не "что-то похожее". Особенно круто работает, когда нужно генерить серию картинок в одном стиле — просто меняете нужные параметры, остальное остаётся.
JSON для видео: Sora, Runway и другие поймут с полуслова
Для видеогенераторов JSON — вообще мастхэв. Там нужно учитывать кучу параметров: движение камеры, освещение, переходы.
Пример для генерации видео:
json
{ "scene": "Офис стартапа, утро", "action": "Программист пьёт кофе и смотрит на код", "camera": "Плавное приближение от общего плана к экрану", "lighting": "Мягкий утренний свет из окна", "mood": "Спокойный, сосредоточенный", "duration": "5 секунд", "style": "Документальный, реалистичный" }
Меняете один параметр — получаете вариацию. Хотите ту же сцену ночью? Меняете lighting на "Свет от мониторов" и mood на "Напряжённый дедлайн". Всё!
Автоматизация: заставляем ChatGPT писать JSON за нас
А теперь лайфхак для самых ленивых (то есть умных). ChatGPT прекрасно умеет конвертировать обычные промпты в JSON.
Волшебный промпт:
Преобразуй мой запрос в JSON-формат для [платформа]. Выдели ключевые параметры и структурируй их логично. Мой запрос: [ваш обычный промпт]
ChatGPT сам определит нужные ключи и оформит всё как надо. Проверено — работает даже с самыми запутанными запросами.
Частые косяки и как их избежать
Косяк 1: Забывают про кавычки В JSON все текстовые значения должны быть в кавычках. Иначе нейросеть не поймёт.
Косяк 2: Лишние запятые После последнего элемента запятая не нужна! Это частая ошибка.
Косяк 3: Слишком сложная структура Не надо делать JSON на 10 уровней вложенности. Простота — залог успеха.
Косяк 4: Игнорируют ограничения платформ У Suno (для музыки) есть лимит на длину промпта. Учитывайте это при составлении JSON.
Реальные результаты: цифры и факты
Я внедрил JSON-промптинг в работу своей команды. Результаты за месяц:
Время на генерацию контента сократилось на 40%
Количество итераций для получения нужного результата: с 3-5 до 1-2
Довольных клиентов стало больше (они получают то, что хотели)
Один из клиентов генерит через JSON промпты весь визуал для соцсетей. Раньше тратил 3 часа на подбор картинок, теперь — 40 минут на генерацию.
Если хотите сразу получить набор готовых JSON-шаблонов для разных задач — картинки, видео, музыка, тексты — всё собрал в одном документе. Лежит в моём ТГ-канале, ссылка в закрепе. Там же инструкция по адаптации под ваши задачи.
Что в итоге
JSON-промптинг — это не просто модная фишка. Это реальный способ сэкономить время и нервы при работе с нейросетями.
Главные преимущества:
Чёткость: нейросеть точно понимает, что от неё хотят
Масштабируемость: легко добавлять новые параметры
Переиспользование: сохранил шаблон — используешь сколько угодно
Универсальность: работает с любыми нейросетями
Попробуйте применить JSON хотя бы для одной задачи сегодня. Гарантирую — вы почувствуете разницу сразу.
В моём канале Шадрин + AI каждую неделю выходят такие же практичные гайды без воды. Подписывайтесь, если хотите выжимать из ИИ максимум, а не довольствоваться крохами.