Нейросети, большие языковые модели и, в частности ChatGPT, стали самой волнующей темой последних лет. Скорее всего, вы уже просили ChatGPT написать стихи, песню или объяснить теорию струн простым языком. Но это далеко не единственный способ применения этого инструмента. Нейросеть может стать эффективным подспорьем в работе и обучении.
В статье расскажем, как web3-разработчики могут использовать ChatGPT в своих интересах уже сегодня: для быстрого ресерча, улучшения разработки смарт-контрактов, исправления багов и отработки навыков программирования. При грамотном использовании нейросеть может ускорить написание смарт-контрактов в 10 раз.
Начало работы с ChatGPT
В настоящее время ChatGPT можно использовать бесплатно через веб-интерфейс, именно так мы и поступим. Создаем учетную запись в OpenAI и попадаем на страницу Welcome to ChatGPT. Она выглядит примерно так:
Теперь испробуем четыре способа, которыми ChatGPT может помочь в web3-разработке:
- Консультирование.
- Написание кода смарт-контракта.
- Исправление багов и тестирование.
- Отработка навыков программирования.
1. Консультирование с ChatGPT
Обычно при возникновении проблемы с кодом разработчики заходят на StackOverflow и смотрят документацию по используемому языку, библиотеке или инструменту или просто гуглят. Это приносит результат, но занимает много времени.
ChatGPT — более простая альтернатива. Она сразу выдает развернутый ответ со всеми нюансами. Нейросеть хорошо разбирается в web3-разработке и знает большинство известных инструментов, таких как Solidity, Infura, Ethers и MetaMask. Это как иметь более опытного наставника, которому можно задавать любые вопросы, а он не отправит «учить матчасть». Например, спросим ChatGPT о значении ключевого слова payable:
Получим ответ наподобие следующего:
Объяснение ChatGPT удивительно точное. В этом можно убедиться, сравнив его с документацией Solidity или ответами на Ethereum StackExchange. Однако оно гораздо проще для понимания и получено за секунду.
Конечно, на подобный вопрос довольно просто найти ответ в интернете. По-настоящему хорошо ChatGPT показывает себя в ответах на концептуальные вопросы, которые не имеют очевидного и доступного ответа. Например:
Ответ нейросети:
2. Написание кода смарт-контракта с помощью ChatGPT
ChatGPT — достаточно мощная языковая модель. Она может написать код смарт-контракта и предоставить к нему инструкции для создания dapp или смарт-контракта. Если хорошо сформулировать запрос, нейросеть предоставит все необходимое: от создания проекта до развертывания контракта на блокчейне.
Допустим, мы хотим создать смарт-контракт для майнинга NFT. Все, что нам известно, это наличие таких инструментов, как Solidity, Truffle и OpenZeppelin. Сформулируем запрос:
ChatGPT пишет подробную пошаговую инструкцию. Вот ее фрагмент:
Советы по улучшению опыта использования ChatGPT
- Не надеяться только на ChatGPT. Ее знания ограничиваются сентябрем 2021 года (на момент написания этой статьи). Она не всегда может знать о последних методах и инструментах, а в web3 это особенно важно, учитывая темпы развития технологий. Стоит самостоятельно отслеживать события, чтобы судить об актуальности ответов нейросети.
- Конкретизировать вопросы. Запрос на разработку смарт-контракта в нашем примере был крайне расплывчатым. Ответ нейросети можно было значительно улучшить, если указать, хотим ли мы получить один NFT или коллекцию, хотим ли, чтобы пользователи могли оплачивать и минтить, хотим ли иметь возможность открывать и закрывать продажи. Чем подробнее изложен вопрос, тем выше качество ответа.
- Задавать контекст. ChatGPT можно подготовить, чтобы она генерировала ответы так, как пользователь от нее ожидает: попросить ее отвечать как эксперт-разработчик или функциональный программист, использовать описательные имена, критиковать саму себя, проверить собственный код на наличие ошибок. Системы обратной связи удивительно хорошо работают в языковых моделях.
- Использовать платную версию. На момент написания статьи в бесплатном доступе есть только модель GPT-3.5. Более продвинутая GPT-4 дает лучшие ответы, но требует оплаты подписки. Если делать ChatGPT своим полноценным помощником и поручать ей важные рабочие вопросы, лучше использовать коммерческую версию.
3. Аудит и тестирование кода с помощью ChatGPT
Еще одно применение ChatGPT — запрос фидбэка о коде смарт-контракта. Нейросеть может провести базовый аудит и указать на дыры в безопасности. Для примера мы создали очень простой смарт-контракт Ethereum, который позволяет принимать пожертвования от любого человека в мире, а затем выводить полученную сумму из смарт-контракта. Предложим ChatGPT найти лазейки в защите:
Мы специально заложили в код лазейку. Она заключалась в том, что вывести деньги из смарт-контракта может кто угодно — не только его владелец. ChatGPT не только выявила это, но и дала несколько полезных советов:
Как и при генерации кода с нуля, следует учитывать дату последнего обновления данных ChatGPT. Она может не знать о новых подходах.
4. Отработка навыков программирования с ChatGPT
Последний способ, который мы рассмотрим, — это использование ChatGPT в качестве тренажера. Она вполне способна заменить такие инструменты, как Ethernaut. Допустим, мы хотим попрактиковаться в обеспечении безопасности смарт-контрактов:
Именно это ChatGPT и делает:
ChatGPT — эффективный инструмент для улучшения web3-разработки
Мы едва коснулись того, что можно сделать с помощью ChatGPT для разработки смарт-контрактов и dapp. Этот инструмент можно рассматривать как чрезвычайно компетентного наставника, способного ответить практически на любой вопрос, который может возникнуть у разработчика на пути к web3.
Telegram
WhatsApp
+7 499 321-59-32
contact@orbitsoft.com