Я пользуюсь 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% людей вы именно программист и есть😂
Наверное, но написать ничего не могу. Ну т.е. знание языка у меня примерно ноль.
Это легко поправить, но это время и изменение образа жизни. В программирование нельзя вкатиться на «полшишечки».
Осталось научить читать его спецификации API и фигачить сервисы на их основе, и всё будет ваще зашибись.
Ну вот сейчас они делают плагины и один из них это доступ к интернет. Можно будет скармливать документацию по API (надеюсь).
В этом нет проблем, оплачиваешь OpenAI API, быстренько накидываешь скрипт на питоне который векторзирует спецификации твоего API (о котором реальный chat gpt не знает). И задаёшь по нему вопросы, просишь написать код. Делов на часик
Понятный хрен на питоне такое проще всего сделать, для "одноразовых" скриптов он идеален. Но везде есть свои плюсы и минусы. Например на питоне полноценное настольные приложение с графическим интерфейсом сделать это лютый геморрой и извращение. А вот на Яве как два пальца об асфальт. )
Десктопное приложение на яве тоже извращение
Наверное. Я пока себя останавливаю, чтобы не начать писать что-то большое и красивое, потому, что это кончится тем, что я нырну туда с головой и работа будет забыта на недели, а то и на месяцы. А у меня планы и стремления. И план это не «Написать прекрасное десктопное приложение с кнопочками».
Последние пару лет ситуация стала лучше, но в целом вы правы. ГУЙ и питон это жесть.
Часто прошу какие нибудь скрипты его накидать побыстрому, например, когда нужно какие то тестовые данные сегенерировать по работе. Я мог бы и сам, но зачем, если он сделает это быстрее :)
Ну а я вот сам бы не мог. И когда я прикидываю сколько мне надо потратить времени и сил на обучение, уровень при этом будет средненький, при этом я всё забуду, потому, что вот сейчас пользуюсь, а потом 2 года не буду.
Короче — клёвая штука и это будет всё лучше.
Вот в этом и есть польза, но некоторые думают что чат способен сделать всё(от слова всё) за вас. Это ошибочное мнение, по крайней мере на данный момент.
Сейчас пишу mvp небольшого онлайн сервиса, стаяла задача написать функцию выполняющая математическую операцию вычисления нужной строки от 6 параметров. 2 часа бился, потом вспомнил про chatgpt, который решил все за пару минут. Сначала просто просил выдать формулу, не справился, но когда попросил написать пример кода функции, получил нужный результат.
Математика у него слабое место, он не умеет считать. Т.е. он каким-то образом имитирует счёт, но даже я могу его в угол загнать. А вот код — да. Наблатыкался.
Более того, он неплохо понимает кодекс Вордпресс и может программировать любые скрипты и хуки для движка. Писать плагины для Вордпресс с его помощью - одно удовольствие
О, интересная тема. Хотя я сейчас очарован хостингами типа Cloudflare Pages и хочу там попробовать что-нибудь сделать.
Воу.. круто как! Хотелось бы примеров! Может он и с джумлой дружит..?!😇
Для того, чтобы не знать питон как автор, надо 2 недели времени.
На скрижалях было предсказание начертано:
ахахах как в детство вернулся
жпт не джун в вашем подчинении, а лишь инструмент автоматизации. Все то же самое в гитхабе и битбакете лежит - забирай и пользуйся.
Мне надо решить локальную задачу — ничего нигде не лежит и пользоваться нечем. Надо идти на форумы и чатики программистов, слушать какой ты тупой, как ты посмел к их величию обратиться, лучше тебе было умереть не рождаясь и сгореть от стыда в детстве. Примерно так. А ChatGPT просто выдаёт скрипт.
А тут как с Frontpage.
Визуальный редактор статичных сайтов лежал в комплекте с Windows с 1995 года. Вообще у всех.
Но пользоваться стали массово, когда это уехало в облако, стало называться no-code и автоматизировали последнюю милю - все эти страшные FTP и DNS.
А для чего используются эти картинки в итоге?
Витрина в интернет-магазине. Там не котики, товары, я сделал пример скриптом для статьи.
Котики всегда привлекают аудиторию)
я пользуюсь гпт для создания курсовых и дипломных работ, а потом продаю их))
Мне кажется, что тексты он пока делает тухленькие.
Лахта поиздержалась, боты пошли на вольные хлеба.
Без источников и грамотной переработки все эти тексты – всего-лишь глупая вода, к сожалению
ну теперь осталось только запросить миджоней сделать дизайн покрасивше, тк котики конечно выглядят так себе
Котики первые попавшиеся для примера. В оригинале там товары в магазине.
Честно говоря — уже тошнит от иллюстраций Midjourney, не знаю как, но я их определяю обычно.
Вне стандартных библиотек, gpt начинает часто ошибаться и писать крайне неэффективный код.
Для pillow миллиарды гайдов в интернете
Зачем мне гайды, если он просто написал и всё? Я решил локальную задачу. Зачем мне изучать что-то, что нужно один раз в 3 года?
Плюсую. Точно так же (в том числе) использую ChatGPT, правда, для PHP, но тут вопрос:
Вот рейтинг знаний языков программирования, который мне составил сам ChatGPT:А как он мог составить рейтинг с учетом того, что понимания-то у него нет?) Предполагаю, что в текстах, на которых он обучался, после "Python" более вероятно идет 10, а после "PHP" — 5. Не?
Кстати, с PHP никаких проблем нет. Еще не было случая, чтобы он не решил задачу, хотя иногда надо уточнить ТЗ.
Такие люди, как вы, лет через 10 будут писать: "как GPT-27 изобрел лекарство от рака, понимания-то у него нет 🤔"
PHP не пробовал, но в CMD это писец. Там вообще какой-то синтаксис для извращенцев и ChatGPT мне лютой дичи понаписал, так и не смог заставить работать.
Относительно рейтинга — наверное выдумывает, а может нет. Мы никогда не узнаем.
Напишите такую же подробную статью как и где запускаете скрипты, куда эти коды от гпт вставляете и т.д. Потому как основная сложность для непогромистов это как раз тема "как запустить готовый скрипт на пайтоне" 😁
1. Установил Python на компьютер по инструкциям ChatGPT.
2. Код пишу в Notepad++, которым всегда пользуюсь как редактором (там есть проверка орфографии, очень удобно).
3. Установил расширение NppExec, чтобы делать запуск прямо из редактора одной кнопкой. Пошаговые инструкции дал ChatGPT.
Я очень впечатлен chathpt4. Она пишет прекрасные sql запросы. И js функции отличные.
Очень умная, все понимает
Годная статья. По моему опыту 90% людей вообще не понимают , зачем нужен ChatGPT и не верят в его возможности 😑
Вы молодец) Правильно, главное есть результат для себя, инструмент вторичен. Но судя по вашей логике и построению алгоритмов у вас уже есть склонность к кодингу, остаётся только волевое решение переступить черту😅
У меня за плечами большой опыт разработки софта разных сортов и калибров, могу сказать, что в работе gpt отлично пригождается именно для рутины - генерация снипетов для валидации данных, подключение api, стандартных алгоритмов обработки данных, генерации тестовых выборок. Но волноваться за работу ещё не скоро придется, пока далеко до понятия связности блоков приложения, понимание его структуры, комплексное видение проекта и т.д. Пока это как калькулятор для высшей математики.
Комментарий удален модератором
Да, всё возможно в тенистых лесах Болгарии.
Комментарий удален модератором
Видал я bedroom диджеев, а вот closet developer - это новое.
Т.е. я рассказываю, что мне очень удобно писать скрипты для себя, это экономит много времени, но тебя это задевает и ты хочешь меня поддеть?
Что же так триггерит? Пошатнувшееся величие? Осознание незаменимости? Желание быть элиткой? Где твоя боль?
Класс! Содержимое папок тоже чатом сгенерировали?
Нет, там лежат какие-то товары и материалы по ним, документы, картинки и т.д. Разумеется они как-то размечены, чтобы можно было выбрать нужные.
Я пробовал, пока только очень типовые операции в вакууме он может делать. Чуть в сторону и надо дописывать\переписывать.
Я не могу переписывать, поэтому у меня работает так. 😂
Кстати, замечал по отзывам, что не получается именно у программистов. То ли планку очень задирают, то ли ещё что-то.
И я использую только для практических задач, которые подкидывает жизнь. Сейчас занимаюсь магазином и там таких полно как раз. Куча однотипных файлов и папок с которыми надо что-то делать, менять, сортировать, раскладывать.
А вы менеджер\продакт IT и около-IT(там где требуется знАчимая IT-часть) проектов?
То есть связаны с контролем\постановкой задач для IT-специалистов?
Нет. В данный момент интернет-торговля. Ну т.е. там вообще никакой разработки нет.
Так можно и вообще без работы остаться. И че делать потом?
4г универа просто вникуда типа? А куда уходить если оно потом и другую специальность скушает пока ты переучиываешься?
В прикольные времена живем
Пока нет, волноваться не стоит. Хотя, те же переводчики первые на очереди, конечно.
Любая прикладная профессия: сантехник, электрик, повар, столяр, автомеханик и т.д. ЖПТ3 там может только рассказать как делать и все)
Судя по тому, как идёт, в запасе года два, может три от силы. Многие vc вообще год дают большинству менеджерских профессий. Что может быть и так, с учётом непрекращающегося потока новостей о том, что то тут, то там лоерские и всякие сервисы миллиарды вкладывают наперегонки.
У менеджеров то какие проблемы будут?
Проблемы будут у:
Переводчиков;
Программистов;
Врачей;
Юристов.
Менеджерство это чистый хэнд-мейд.
А как же стать таким же не программистом как вы? Вот мне надо несколько подобных скриптов чтобы сделать подобное для магазина себе. Как повторить ваш путь? Где эту нейронку искать ?
Тут: https://chat.openai.com/
Я не пользовался никакими справочными материалами, просто постепенно вкатился.
Наверное можно написать пост про стек который я, в итоге, использую.