Сложность: Уровень сложностиУровень сложностиУровень сложности

Дарья Артемьева: написала скрипт для обработки картинок через ChatGPT и экономит 5 часов в месяц

В кейсе рассказываем, как автор блога без опыта в программировании собрала Python-скрипт для сжатия и нумерации картинок с помощью ChatGPT. До этого на обработку иллюстраций к одной статье уходил примерно час ручной работы: сжатие через онлайн-сервисы, переименование, нумерация. Скрипт делает то же самое за минуты, а Дарья экономит около пяти часов каждый месяц.

Опыт с нейросетями. Нейросетями я начала пользоваться в начале 2024 года. Прошла бесплатный курс, в котором поняла основы промптинга. Дальше пробовала сама генерировать посты в ChatGPT, делала изображения в Midjourney через Discord — чаще котиков и себе новые фотографии (не очень-то похожие на меня). Это был скорее исследовательский интерес — хотелось понять, что вообще умеют эти инструменты. Прикладного результата на тот момент не было: я экспериментировала, но ничего из этого не встраивала в свою работу.

Со временем появилась мотивация создать что-то, что заберет на себя рутину — она меня бесит и часто мешает сконцентрироваться. Первой же в голову пришла одна из нелюбимых частей работы — подготовка картинок для верстки в блог.

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

Для каждой статьи нужно было делать кучу картинок

Я пишу примерно по пять статей в месяц для медиа «Конверт». В нашей редполитике есть требования к иллюстрациям: картинки нужно сжимать до определенного размера и нумеровать в строгом порядке. Это упрощает работу верстальщику, но для автора превращается в рутину.

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

как работает бот для сжатия картинок

Отдельная боль начиналась после правок от редактора. Если нужно было заменить одну-две картинки в середине статьи, приходилось перенумеровывать все остальные заново. То есть час работы мог повториться из-за двух замен.

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

нумерация картинок к статье

Я знала, что люди вайбкодят себе помощников с нейросетями, и решила попробовать

В какой-то момент я поняла, что всю эту работу можно автоматизировать с помощью скрипта. До этого я как раз проходила бесплатный курс и на базовом уровне понимала, как устроен язык Python. Не настолько, чтобы писать код самостоятельно, но достаточно, чтобы разбираться в структуре и не пугаться терминов. 

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

Я скопировала часть нашей внутренней редполитики и отправила в ChatGPT по частям. Сначала отправила правила по сжатию, потом по нумерации. В начале диалога обозначила, что мне нужен готовый скрипт на Python и начала генерировать код.

Сразу же начались проблемы и сложности

Первая сложность оказалась в форматах. Картинки в статьи я добавляю в jpg, png, реже в gif. Выяснилось, что для каждого формата нужна своя логика обработки. Скрипт не мог сжимать их одинаково, поэтому ChatGPT генерировал отдельные блоки кода под каждый случай.

Вторая проблема была с размерами. Иногда я делаю скриншоты, которые оказываются меньше 1000 на 1000 пикселей. Скрипт не должен был их растягивать и портить качество. Это потребовало дополнительных условий в коде, которые ChatGPT не заложил в первой версии.

Третья сложность была связана с нумерацией. Скрипту нужно было как-то считывать порядок картинок из Google Документа. Закинуть в него текстовый файл напрямую не получалось, а для HTML и ZIP-архивов требовались отдельные алгоритмы разбора.

Еще одна вещь, которая поначалу сбивала с толку: после запуска скрипт не показывал никакой обратной связи. Ничего не происходило на экране, и было непонятно, работает он или завис. Поэтому со временем вместе с нейронкой я добавила экран прогресса.

Каждую из этих проблем я решала по одному и тому же циклу. Получала от ChatGPT новую версию кода, переносила ее в файл скрипта, запускала и смотрела результат. Если что-то ломалось, отправляла обратно либо весь код, либо кусок с ошибкой. ChatGPT предлагал исправление, я снова переносила, снова запускала. И так по кругу.

Проблема была в том, что при исправлении одного бага часто ломалось что-то другое. Я чинила нумерацию, а переставало работать сжатие. Чинила сжатие, и скрипт начинал растягивать мелкие картинки. 

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

Две недели бросала код и возвращалась к нему

Весь процесс от первого промпта до рабочей версии занял около двух недель. Не потому что задача была настолько сложной, а потому что я периодически бросала разработку из-за очередных багов или поломок в коде после исправления предыдущего бага. Я закрывала ChatGPT и снова обрабатывала картинки вручную. Через пару прогонов статей под верстку мне это снова надоедало и я возвращалась к коду.

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

код нейросеть

Скрипт до сих пор не идеальный, но для моих задач этого хватает

Готовый скрипт я упаковала в exe-файл и поделилась с коллегами. Он запускается одним кликом, не требует установки Python и настройки окружения.

бот для нумерации картинок

Одно ограничение осталось: скрипт не умеет корректно обрабатывать анимированные GIF. При сжатии он создает прозрачность там, где в оригинале был фон. Я пока не стала это чинить, потому что анимированные GIF в моих статьях встречаются редко. Для остальных форматов все работает стабильно.

По такой же логике я могла бы собрать скрипт под другие точечные задачи: расшифровать запись разговора, убрать дубликаты документов в папке, автоматизировать отчет. Одним словом, для всех ситуаций, когда выполняешь максимально однотипные действия и уже чувствуешь себя роботом. Подход один и тот же: описываешь задачу нейронке, получаешь код, тестируешь, дорабатываешь.

Нейроцех показал, что автоматизировать рутину можно даже без опыта в коде

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

В планах пока доработать приложение для отслеживания времени за компом — разработчик перестал его обновлять, и теперь программа выдает баги на Windows 11. 

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии