Як я з ChatGPT розмовляв матом або поради для написання скриптів без знань програмування
Крипто-подорожі з Дмитром - канал про ретродропи, тестнети, блокчейни, скрипти, NFT, криптобіржі, коротше, про все цікаве зі світу криптовалюти. Впевнений, тобі буде цікаво та корисно.
Чат каналу - ласкаво прошу, спілкуємось, ділимося новими активностями, допомагаємо один одному.
Як я дійшов до такого життя або вступ
Захотілось мені одного разу провести експеримент і використати свій ChatGPT 4 "на всі гроші". Я вирішив абсолютно без знань програмування і з мінімальними знаннями роботи блокчейнів написати скрипт на Python для автоматизації відпрацювання тестнету Pharos. Нагадаю, що це L1 з інвестом 8 млн (поки що) і якщо ти ще не почав його відпрацьовувати, то зараз ще точно не пізно, можеш розібратись: САЙТ ПРОЕКТУ
Для чого мені було робити таку штуку? Ну, по-перше, просто хотів перевірити чи можливо це, по-друге, хотів глянути, на що здатний мій чатгпт за 30 баксів і, по-третє, звичайно, я вірю, що скрипти - наше все і краще пити пиво, а скрипт нехай ганяє транзакції на 50 чи 100 акаунтів, ніж я сам руками це буду робити )
Я не буду детально розписувати весь процес роботи, просто хочу поділитися своїми спостереженнями і набутими знаннями під час спілкування і роботи з ГПТ.
Стаття, сподіваюсь, буде цікавою не тільки для кодерів-початківців. Рекомендації абсолютно універсальні і підійдуть для будь яких сфер діяльності чи хоббі.
Якоїсь послідовності викладення, напевно, теж не буду дотримуватись і розтягувати задоволення не збираюсь (напевно). Просто коротко і по факту поради для роботи з цим чудом техніки, щоб він працював для тебе і з тобою, а не просто дратував тебе і навпаки заважав працювати.
РІВЕНЬ - ТУПОРИЛИЙ ДЕБІЛ
Знаєш, скільки разів я йому це писав? Хоча і розумів, що пишу це, скоріше, про себе, тому просто запам'ятай:
ChatGPT - саме розумне на світі творіння. Якщо тобі здається, що він тупий мудак, то, скоріш за все, той тупий мудак сидить по іншу сторону екрану.
Порада №1
Напиши йому завдання якомога розгорнутіше і простими словами. Надай якомога більше інформації, поясни всі дрібниці, що, куди, як і яким способом має працювати і взаємодіяти. Якщо є, надай приклади, технічну документацію, посилання, якісь готові роботи інших людей - будь що, що допоможе намалювати загальну картину дуже детально.
Якщо ти напишеш коротко, без деталей і уточнень, тим більше, якщо половину завдань ти пропустиш або сам не будеш знати, то і результат отримаєш відповідний.
Ящо ти не можеш сформувати технічне завдання (ТЗ) сам, попроси ГПТ скласти ТЗ для самого себе. Тут вже можеш надати інформацію в будь якому вигляді, а результат відредагувати, якщо будуть якісь уточнення.
Після того, як ти склав повний і загальний план, розбий його на маленькі незалежні задачі і виконуй все поступово. До наступної задачі переходь тільки тоді, коли 100% працює попередня (попередні).
Перший день роботи я повністю, вибач, просрав. Я написав ГПТ план, розписав все, як має бути. Він каже "Без проблем" і пише мені код. Я йому пишу "А можеш ще ось це?", він такий "Легко" і дописує ще код. Я на радощах "А давай ще проксі, а юзерагентів генеруй, статистику, свапи не тільки на USDC, а й USDT і ще між собою і ще ліквідність". І ВІН ВСЕ ПИШЕ.
Потім я це все переношу в файли і не працює абсолютно НІ-ЧО-ГО. І це "нічого" так і не запрацювало, хоча на обробку помилок я витратив більше часу, ніж на розробку неробочого коду.
Тому не вірте цьому "розумнику", який типу все знає і вміє. Написав тобі код свапу - молодець. Перевір. Не працює? Просто скинь йому помилку, нехай виправляє. Працює? Відклади цей файл кудись і нову задачу роби в новому файлі, щоб вони не переплутались, а в кінці все зведеш до одного модуля.
Завжди відповідай на його запитання, не ігноруй жодного. Якщо ти щось йому не напишеш - він зробить по своєму і не факт, що правильно.
Якщо запитує, значить не розуміє, якщо не розуміє і запитує - значить хоче зрозуміти і зробити так, як тобі потрібно, а не просто зробити - логіка, думаю, зрозуміла.
РІВЕНЬ - БРАТ/БРАТІШКА/БРО
Поступово ти звикнеш до його приколів, типу, коли він пише після наступної помилки "Ти тут натупив, але це класика. Треба було ось так...". І я такий просто ахрєнєвший йому пишу "Ти шо, дебіл? Це ж ти весь код пишеш, я не розуміюсь на цьому взагалі". А він "А, ну так-так, вибач, без відмазок, мій провтик". )))
З часом гілка з завданням стає завеликою для ГПТ. Він намагається все тримати в пам'яті, але йому це не вдається і він починає страшно глючити, тому періодично створюй нові гілки. Першим повідомленням підсумуй пророблену роботу і скинь що саме ви вже встигли зробити (в моєму випадку файли з кодом).
Я запитав його прямим текстом (зараз вже не знайду переписку) чому він почав так глючити і чи це якось залежить від розміру гілки, де ми зараз спілкуємось і він підтвердив мої здогадки: з часом інформації стає занадто багато, вона ще й може суперечити одна одній + я скидав великі куски коду прямо в чат і це все негативно впливає на рівень і швидкість його відповідей.
Як вихід, ГПТ запропонував мені, що він сам буде мене попереджати про "перезавантаження" гілки, коли розмір інформації в ній стане критично великим і навіть була пропозиція відкривати автоматично нову гілку, щоб продовжити процес. Я погодився і дарма: нова гілка не відкривається, вона продовжується в тій самій робочій області, але "типу" ГПТ ставить собі відмітку про нову гілку і починає з 0 - ніфіга подібного, не робіть так, просто фізично відкрийте нову гілку.
В кінці старої гілки попросіть ГПТ підсумувати роботу, яка вже готова, а в новій вставте цей підсумок або напишіть все своїми словами. Виглядає це ось так:
Намагайся перевіряти цього ентузіаста хоча б по мірі своїх сил і знань, бо його прагення до експериментів може завести вас в такі далекі далі, що потім хрен виберетесь. Якщо щось здалось тобі підозрілим - запитай. Якщо бачиш, що вирішення проблеми, запропоноване ГПТ, не викликає в тебе довіри - попроси його проаналізувати його ж ідею більш критично і запропонувати ще варіанти вирішення.
Ось прекрасний приклад, цей унікум переробляв по черзі файли під асинхронний код і в одному вирішив примінити інший підхід, який не хотів працювати навіть після шостої правки коду:
Зробив все, як в попередніх файлах - запрацювало )))
РІВЕНЬ - БОГ
Як би я не матюкався на ЧатГПТ за його погрішності і недосконалість, але змушений визнати, що без нього скрипт такого рівня я сам написав би років через два з довгими навчаннями/практиками/нервами.
Реально, він знає ВСЕ НА СВІТІ і може використати всі знання для твоєї користі, але потрібно правильно прописати йому фронт роботи.
Не соромся (і не зневажай цим) його запитувати все, що не розумієш, бажано, як я вже писав раніше, надати йому побільше інформації. Ось чудовий приклад, я взагалі не розумів, що відбувається, але чатГПТ кращий, ніж Гугл:
До речі, це не допомогло, бо причина була в іншому, але пояснює він все дуже детально, якщо його про це попросити )
Попроси ГПТ порівняти 2 версії свого творіння (старий і новий код, 2 згенеровані ілюстрації, попередню і наступну редакцію статті), виділити сильні і слабкі сторони кожного з варіантів, що змінилось в новій версії в кращу сторону в порівнянні зі старою і чи є ще шляхи покращення твоєї роботи.
Часто це допомагало мені побачити, що в новій версії коду ГПТ не тільки дописав те, що я його просив, а й щось забувся написати/видалив "тимчасово"/переробив те, чого від нього не вимагалось.
Пропиши ЧатуГПТ, що він якась особистість, наприклад, тестувальник (якщо в тебе код) або літературний критик (якщо ти пишеш роман) і попроси його перевірити його ж роботу. Запитай сильні і слабкі сторони, пораду, що можна покращити і так далі. Це дуже допоможе критично глянути "зі сторони" на твоє творіння і покращити його, якщо це потрібно.
Ось цікавий приклад, але дещо курйозний:
Ось тому я і наголошую, що це творіння треба постійно перевіряти і аналізувати те, що він пише.
Загалом, думаю, що методику ти зрозумів: надавай ЧатуГПТ максимум інформації, запитуй, які є шляхи вирішення задачі, якщо не можеш (не знаєш як) вибрати правильний шлях, запитай у нього. Розбивай велику задачу на багато дрібних і контролюй по можливості результат виконання кожної з них.
Не бійся експерементувати, вважай ЧатГПТ одночасно підлеглим/другом/наставником, стався до нього, як до дитини-генія, яка все знає, але не розуміє приколів/іронії/двозначностей, яка робить тільки те, що ти їй скажеш і результат її роботи залежить саме від тебе.
Якщо хочеш читати всі актуальні новини і гайди, підписуйся на мій канал:
https://t.me/CryptoTravelsWithDmytro
Якщо маєш запитання по відпрацюванні якогось проекту, приєднуйся до чату:
https://t.me/+O07RU8qeDoUwZGFi
Якщо маєш пропозиції по співпраці або будь які запитання особисто до мене, пиши:
Дякую, що був зі мною до кінця статті!!!
Багато тобі щедрих дропів, гарного настрою і кайфового ворку!!!