Я пользуюсь ChatGPT для создания скриптов на Python
Я не программист и Python не знаю. Сегодня ChatGPT написал мне скрипт, который выбирает из кучи папок картинки, собирает их в одну, при этом масштабирует по нужному алгоритму, добавляет тень, потом кладёт их на фон, сверху водяной знак и потом ещё сортирует по нужным папкам.
С некоторых пор стал активно использовать ChatGPT для написания простых скриптов для автоматизации действий. Это не руководство к действию и не «волшебные промпты», лишь описываю свой опыт.
Начну с выводов (дальше статью можно не читать):
Пишите на Python
Всё просто, это языковая модель, она обучалась на образцах. Образцов чего было больше всего? Правильно, вы угадали.
Вот рейтинг знаний языков программирования, который мне составил сам ChatGPT:
Понятен смысл, да? Я сначала пытался писать скрипты для сортировки файлов на CMD (Batch) и это было адом. Часами объяснял, а в ответ «Простите, я ошибся, вот исправленный скрипт...» и выдавал очередную неработающую фигню.
Поэтому сегодня это желательно Python, как только стал использовать его — дела мигом наладились.
Не ставить безумных задач
Ну ребята и девчата, задача «Вот тебе $100 преврати их в $100 000 максимально быстро и законно», конечно, хайповая, но выполнена не будет. А вот «Возьми файл 1.JPG из директории 1, проверь подпапки в директории 2 и если в подпапке есть файл с именем 2.jpg скопируй его туда» будет прекрасно работать.
Поэтому разбиваем действие на шаги, каждый шаг продумываем, пишем алгоритм. И последовательно описываем, что программа должна делать. Так всё отлично работает. Иногда нужны корректировки, но простые скрипты у меня уже с первого раза работают без вопросов.
Модульность и структура
Да, много кода за раз ChatGPT выдать не может, поэтому разбиваем код на небольшие логические блоки и если у нас что-то подлиннее, то выделяем в отдельные функкции.
Можно ли написать с помощью ChatGPT большую программу? Я поковырялся некоторое время и могу сказать, что да, наверное можно. Но! Для этого надо:
- Спланировать структуру проекта;
- Использовать функции и методы;
- Изучить классы и объекты;
- Использовать модули;
- Использовать пакеты;
- Использовать Git;
- Наладить тестирование.
Т.е. это уже выходит за рамки «напишу быстренько простенький скрипт» и подразумевает глубокое погружение в тему. И тут либо ты сам начинаешь становиться программистом (что не всем нужно), либо проще (и дешевле) обратиться к программистам, которые это уже умеют.
Тут есть грань между экономией времени и сил и «день потерять за час долететь». Я всегда оцениваю сколько времени потрачу на написание скрипта, работу без скрипта и изучением тематики для написания скрипта. Иногда проще руками сделать и никакие программы не писать.
Мне нравится сравнение про автомобили: в начале XX века ими управляли профессиональные шофёры, а сегодня профессия не то что бы исчезла, но есть дальнобойщики, таксисты, механики, а есть я — который машину чинить не любит, она неделями стоит, но может сесть и поехать на ней в отпуск. Потому, что это удобно. Вот со скриптами ChatGPT так же — «не хочу разбираться, дайте мне скрипт за 10 минут».
Нюансы и пошаговость
ChatGPT не умеет думать, у него есть некие связи, но нет понимания почему это так. Многое он не понимает «по умолчанию». Поэтому отмечаем нюансы:
- Это должно быть прозрачным.
- Используй только JPG файлы.
- В этой папке нет подпапок.
- Скрипт лежит в той же папке, что и файлы.
Подробнее и, ещё раз повторюсь, пошагово. Рисуйте у себя в голове процесс. Это и есть программирование. А ChatGPT просто переводчик, он ваш алгоритм переводит на известный ему язык — например Python (другие он пока знает средненько и хуже).
GPT-4 лучше чем 3.5
Да, жаба давит, но надо признать , что GPT-4 пишет код лучше чем 3.5. Причём это даже не про сам код, а про интерпретацию поставленной задачи и понимание, что нужно.
Чтобы не выбирать лимит слишком быстро я простые вопросы или объяснения спрашиваю у 3.5, а код пишет 4.
И да, всё равно они пока оба тупня, попробуйте спросить «Зачем Герасим утопил Муму?» или дайте текст в неправильной раскладке, таблицу соответствия и попросите расшифровать. Вечер веселья обеспечен.
У меня своя фишка, про «лихих пиратов»:
Пример практической задачи
У меня есть магазинчик, там нужно было сделать витрину, это тысячи файлов и папок. Как оцениваю по времени? Около двух дней. Написание скрипта заняло примерно 2–3 часа. Причём я много понял и сейчас напишу подобный скрипт с помощью ChatGPT на порядок быстрее, примерно за 30 минут. Ну давайте уже картинки котиков покажу.
Было:
- Два котика, цветной и чёрно-белый, с прозрачным фоном.
- Сотни папок, где лежат аналогичные картинки: собачки, черепашки, лошадки.
- Фон.
- Водяной знак.
- Нужно поместить котиков (собачек, черепашек, лошадок etc.) на фон, масштабировать, добавить тень, положить водяной знак, переименовать файл и положить в нужную папку.
Результат:
Сотни файлов обрабатываются за минуты. Я очень доволен.
Вот пример первоначального запроса:
Это начало, но много не учёл: прозрачность, неправильно указал размеры, потом у меня появились исключения и сделал отдельной функцией тень. Поправил в процессе. Ещё пытался сделать модульность и разбить на функции, но оказалось лишнее и из пушки по воробьям.
Ниже код (в одно окошко не влезло):
Тень:
Всё работает и я счастлив. В скрипте прописана куча ручных исключений, это связано с особенностями изображений, чтобы лучше смотрелось.
Далее мне понадобилось рассортировать полученные изображения по папкам товаров, этот скрипт был написан менее чем за минуту и заработал с первой попытки:
Возражения, придирки, оговорки
- Я не программист и не хочу им быть. Меня всё устраивает. Мне нравится и интересно программирование, но изучение это слишком много времени. Или посвящай всю жизнь, или ничего не пиши. Вот тут мы видим третий путь — я могу писать простенькие скрипты, которые экономят кучу времени и не требуют погружения.
- «Твой код не PEP8! 🤬» — мне вообще без разницы как он выглядит, работает и зашибись.
- «Можно взять плагин Photoshop и сделать то же самое» — нельзя, к сожалению. Нет такого плагина, который:
1. Выбирает два файла по имени.
2. По вхождению в имя ставит один файл слева.
3. Избранные по имени файлы добавляет в исключения и обрабатывает иначе.
Конечно написанный скрипт всегда будет гибче и с большими возможностями. Наверное такое может ImageMagick, но там опять командная строка.
Итоги и взгляд в будущее
За пару месяцев написал штук 20 утилитарных скриптов, которые значительно облегчили мне жизнь. В основном это обработка рутинных операций с большим количеством файлов, сортировки, исправление изображений. Очень много времени сэкономил, а, главное, душевных сил: знаете как мерзко, когда два дня сидишь и однообразные картинки правишь. И ведь не делегируешь — объяснять дольше чем самому делать.
Очень доволен. 😊
В дальнейшем, конечно, буду продолжать такие скрипты. Так и подмывает изучить ООП, методы, пакеты, модули и прочую хрень и нырнуть в программирование, очень уж увлекательно, но торможу себя, сейчас другие планы и задачи. Было бы здорово если бы появилась IDE для непрограммистов, чтобы изначально поддерживалась структура, но пока такого нет.
Чисто для собственного удовольствия планирую написать скриптик, который будет работать на Cloudflare Workers с интерфейсом на Cloudflare Pages и разбанивать людей, которых я забанил в Твиттере по запросу.
Относительно ChatGPT, мне кажется, что сейчас люди ещё не поняли всю мощь языковых моделей и куда его можно применять:
- Сайты, которые автоматически переводятся на десятки языков «на лету».
- Игры, где процесс перевода на три десятка языков занимает минуты и стоит копейки.
- Написание текстов для карточек товаров, подбор ключей для магазинов (это делается потихоньку, но пока зачаточное).
- Предварительная классификация и отбор текстов, сайтов, страниц, предметов и вообще составление любых списков и каталогов — огромнейшая отрасль с миллиардами.
- Перевод «на лету» в оффлайне.
Думаю, что в течении ближайших лет 10 мы многое увидим.
А вот мой блог: «Злая Печенька», он вообще не про это, но если я такую статью написал, то представляете сколько там ещё полезного?
Ну и чатик: «Печенькочат», это для избранной элиты.
“Я не программист и Python не знаю”.
Почитав статью, для 90% людей вы именно программист и есть😂
Наверное, но написать ничего не могу. Ну т.е. знание языка у меня примерно ноль.
Это легко поправить, но это время и изменение образа жизни. В программирование нельзя вкатиться на «полшишечки».
не беда, главное найти учебник с картинками))
Картинка как бы намекает, что я дебил, не могу разобраться в программировании на Python, потому, что не грамотный и не умею читать. И общий смысл — «ты просто тупой, не втирай нам тут про „не хочу“»
Всё верно?
опа, какой ты напряженный)) картинка намекает на то что язык простой и что с ним разберется и не программист, вот в чем дело. Но если ты подумал что я тебя оскорбить хотел, то это не так...
Как бы это ещё раз объяснить. Программисты упорно не понимают. Им кажется, что все вокруг спят и видят, как бы выучить язык программирования, просто у них не получается. Вот программисты смогли (видимо по причине природной гениальности), а простолюдины не могут (видимо причине неудачных генов).
Это не так.
Я не хочу разбираться с языком программирования. Для меня это не составляет сложностей. Мне это не нужно. Потому, что для того, чтобы нормально разбираться в программировании — надо этим жить. Надо изменить всю свою жизнь и стать программистом.
Ровно так же, как я вообще ничего не хочу делать с машиной. Вот ни колодки менять, ни масло. Хочу только ездить и всё.
И если посвящать жизнь программированию, то это практически в 99% случаем означает наёмное рабство. А если ты пилишь стартап или фирму, то ты мигом вывалишься в менеджеры.
А зачем тебе "нормально разбираться" и "этим жить" для нужд типа поресайзить пару картинок? Какой-то нездоровый максимализм. Так-то подобные задачи решаются и фотошопными макросами, и другими специализированными инструментами, где не надо ничего знать о коде вообще.
Не решаются от слова вообще. И да, я в посте про это написал. Можно прочесть, а потом комментировать.
Почему все аргументы программистов сводятся к «Программа этого не делает? Ну правильно, значит тебе это не нужно!»
Ну, ок, не умеешь, значит невозможно, договорились.
Вот что ты выделываешься? Я автоматизацией в графических программах пользовался побольше твоего.
Ну давай, сделай в Фотошопе задачу из примера. Написать тебе ТЗ?
В конце ты должен будешь написать: «простите, у меня нихрена не получилось, я зря выпендривался».
ТЗ писать?
Ох ты боже мой, давай ещё похвастайся, сколько ты картинок заресайзил. Нахрена мне тз с дурацкими правилами раскладки по папкам, которое надо будет выдумать, чтоб потом героически эту проблему решать нейросетями.
Слив защитан. Чмак в носик. 🥰
Да, да, ты победил, ты повелитель нейросетевого ресайза.
Я не совсем согласен с фразой про то, что нужно этим прямо жить. С машиной так или иначе, но вы что-то делаете - банально посещаете мойку, заливаете бенз, проверяете уровень масла и прочее. Игры с chatgpt, python и прочим - это как раз на уровне залить бенз - главное набить руку, труда никакого не составляет. Чтобы обработать массив функцией - не обязательно знать, как он там внутри работает, это же не собеседование, работает - да и бог с ним (самое ужасное, что большинство джунов так и работают)
Но если уже хочется быть в теме, делать что-то сложнее crud, то уже нужно вливаться)
А вообще, мне очень сравнение с машиной понравилось
Миллионы индусов сейчас:
- Ну здрасьте..
Ну вот да, таких программистов сейчас полно и не среди индусов.
ChatGPT пишет очень средненькие тексты, но это сильно лучше, скажем, 60% писателей. И с программированием так же, наверное код не огонь, но сильно лучше большинства.
Потому, что большинство это тот ещё пипец, а не потому, что ChatGPT сильно великолепный.
А Вы попробуйте ошибки в коде поправить при помощи ChatGPT ).
Без проблем это делает. Кидаю кусок кода и пишу "не работает, как надо, а надо так" или просто текст ошибки. Исправляет.
рефренсы берет с govnokod.ru
ппц. точно чатгпт зафлудил ресурс... сайт не работает
думаю используя gpt вы будете примерно понимать, как выглядит код и как что писать, и ваши знания в разы увеличатся, главное практиковаться
Примерно ноль таких планов. Мне эти знания не нужны. Я не программист и не планирую им быть.
Если бы я хотел стать программистом, то уже давно бы взял учебник и прочёл его, это не особо сложно. Просто ресурсоёмко. Я трачу жизнь на другое.
На что?
Менеджер, делаю проекты, это невозможно совмещать с программированием просто физически.
Так получается, что ты или программист и 100% времени этому посвящаешь, но тогда работаешь на кого-то, а как только ты становишься руководителем, то неизбежно отходишь от программирования непосредственно.
Сейчас вот работаю над тем чтобы страну сменить, программирование тут быстро не поможет, да и в найм точно не хочу, хватило на моём веку корпоративного рабства.
***
Меня бы устроил вариант программирования как хобби.
Для менеджеров/аналитиков это отличный инструмент)
с непредсказуемым резульиатом. дело в том, что на каких-то простых задачах оно мож и работает (в силу того, что вы можете проверить результат), а вот на задачах, проверку результата которых вы не знаете. может получится как с рекрмендацмями воз по ношению масок. у вас может сложиться ложное ощущение правильности того, что генерит этот скрипт.
когда болеете, то диагноз и схему лечения тоже в чатгпт запрашиваете?
Кстати, ChatGPT неплохо даёт диагнозы и схемы лечения. Думаю, что большая часть врачей делает это хуже. Особенно если учесть, что там полно вообще тёмных, например антиваксеров.
Комментарий недоступен
а вы как оцениваете? как врач, или как мимокрокрдил?
О, загадочный непрограммист! Согласно гаданию, вы — чародей кода, скрывающий свои истинные способности