Поиск по сайту:

25 советов по искусственному интеллекту, которые помогут повысить продуктивность программирования с помощью ChatGPT


Благодаря ChatGPT в вашем наборе инструментов кодирование станет быстрее и удобнее. Я рассказываю о лучших способах использования ИИ для решения распространенных проблем с кодированием, чтобы вы могли оптимизировать свои проекты разработки.

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

Многие люди, с которыми я разговариваю, думают, что ИИ — это волшебный джинн, который может воплотить в жизнь целую программу или приложение из одного, едва сформированного желания. Вот гораздо лучшая аналогия: ИИ — это электроинструмент. Конечно, вы можете распилить дерево старинной пилой, но настольная пила работает намного быстрее. Ни один инструмент не делает мебель. Они просто помогут вам сделать мебель. Имейте в виду, что ИИ не будет писать за вас ваш код. Это поможет вам написать свой код.

Хотя у меня нет объективного способа сказать вам, насколько мне помог ChatGPT, я вполне убежден, что он удвоил мою производительность программирования. Другими словами, я сделал вдвое больше, используя ChatGPT как часть своего набора инструментов.

В основном я использую ChatGPT Plus, а не бесплатную версию ChatGPT. Первоначально это было связано с тем, что модель GPT-4 в Plus лучше кодировала, чем модель GPT-3.5 в бесплатной версии. Но теперь, когда оба поддерживают некоторый вариант модели GPT-4o, их возможности кодирования идентичны. Однако в бесплатной версии вы получаете очень много запросов, прежде чем вас попросят подождать некоторое время, и я считаю, что это прерывает мой процесс программирования. Итак, я использую версию Plus за 20 долларов в месяц.

Вспоминая все свои проекты, я понял, что могу поделиться некоторыми реальными советами о том, как получить максимальную отдачу от партнера по программированию ИИ. Ну вот.

1. Дайте ИИ много мелких работ

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

2. Будет полезно, если вы будете думать о боте как о ком-то на другом конце разговора в Slack.

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

3. Для более сложных процедур используйте итеративный запрос.

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

4. Протестируйте каждый кусочек кода, который возвращает ИИ.

Никогда не думайте, что код просто будет работать. Включите его в свой проект и посмотрите, как он работает.

5. Используйте отладчик

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

6. Вам не нужна помощь в программировании, встроенная прямо в вашу IDE.

Многие поставщики инструментов для кодирования продвигают идею интегрированного ИИ прямо в своих инструментах. Помимо прочего, это позволяет им предлагать вам функции искусственного интеллекта. Однако я предпочитаю использовать ChatGPT для кодирования как инструмент, полностью отдельный от моей среды разработки. Я не хочу, чтобы ИИ мог проникнуть в мою основную среду программирования и изменить то, что там есть.

7. Не стесняйтесь копировать строки кода из сгенерированных подпрограмм.

Вам не обязательно всегда использовать все, что производит за вас ИИ. Точно так же, как вы можете зайти в Stack Overflow для поиска примеров кода, а затем выбрать строки, которые хотите скопировать, вы можете сделать то же самое с кодом, сгенерированным ИИ.

8. Не просите ИИ создавать собственное кодирование или использовать институциональные знания, которых у него нет.

Большие языковые модели ИИ используют обучающие данные или то, что они могут найти в Интернете. Это означает, что они обычно ничего не знают о вашем уникальном приложении или бизнес-логике. Поэтому избегайте попыток заставить ИИ написать что-либо, требующее такого уровня знаний. Это твоя работа.

9. Дайте ИИ примеры для работы, чтобы он понимал контекст вашего кода.

Я предоставил ChatGPT фрагмент HTML-страницы и попросил добавить функцию расширения блока текста. Это вернуло мне HTML, JS и CSS. Позже я попросил его добавить дополнительный селектор CSS, а затем попросил обосновать свою работу, после чего он объяснил мне, почему он сделал то, что сделал. Все это сработало, потому что примеры, которые я дал для начала, помогли понять контекст.

10. Используйте ИИ для кодирования общеизвестных знаний

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

11. Не стесняйтесь запрашивать фрагменты из одной или двух строк.

Даже если вам нужно что-то, что может дать только одну или две строки ответа, используйте ИИ так же, как и любой исследовательский инструмент, если он может сэкономить вам время.

12. Сообщите ИИ, если написанный им код не работает

Это, конечно, может работать только в том случае, если вы протестируете сгенерированный код. Я обнаружил, что ИИ часто выдает неполный или нефункциональный код. Расскажите ему, что не работает, и, возможно, предложите внести ясность. Затем попросите его написать что-нибудь новое. Обычно так и происходит, и этот исправленный код иногда лучше оригинала.

13. Используйте один Ал, чтобы проверить работу другого Ал.

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

14. Используйте ИИ для написания селекторов CSS

Селекторы CSS — это выражения, которые программисты используют для определения элемента на веб-странице для стилизации или других действий. Они быстро становятся сложными и загадочными. Я часто копирую блок HTML и запрашиваю селектор для данного фрагмента этого HTML. Это может сэкономить много времени, но имейте в виду, что обычно вам придется повторять действия, сообщая ИИ, что первые несколько селекторов не работают, пока он не сгенерирует работающий.

15. Используйте ИИ для написания регулярных выражений за вас.

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

16. Используйте ИИ для проверки регулярных выражений

Я использую приложение Patterns для тестирования сгенерированных регулярных выражений в своей Mac Studio. Но ИИ тоже может помочь. Я часто передаю отдельному экземпляру ИИ регулярное выражение, сгенерированное ChatGPT. Затем я спрашиваю этот отдельный экземпляр: «Что это делает?» Если я получу описание, соответствующее тому, что я хотел от функции, я почувствую большую уверенность, что ИИ сделал то, что я хотел.

17. Пусть ИИ выполняет сложные математические вычисления

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

18. Используйте вопрос «Что не так с этим кодом?» как подсказка

Я часто передаю ИИ блоки кода, особенно регулярные выражения, сгенерированные ИИ. Может быть очень поучительно узнать, что, по мнению ИИ, не так с кодом, часто выделяя ошибочные состояния, которые код не проверяет. Затем, конечно, попросите ИИ восстановить код, исправив найденные ошибки.

19. Используйте «Что это делает?» как подсказка

Точно так же мне нравится передавать блоки кода ИИ и спрашивать его: «Что это делает?» Это часто бывает поучительно, даже для моего собственного кода. Но самое большое преимущество — это когда я работаю над кодом, написанным кем-то другим. Передача функции или блока ИИ может сэкономить массу времени на реверс-инжиниринг исходного кода.

20. Знайте, когда стоит отказаться от ИИ

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

21. Будьте конкретны в именах функций и переменных.

ИИ улавливает намерения по именам переменных и функций и пишет более качественный код. Например, указание имени переменной как $order_date помогает сообщить ИИ, что вы имеете дело как с заказом, так и со значением даты. Это намного лучше, чем что-то вроде $od. Более того, код, созданный на основе правильно названных имен переменных, зачастую более удобочитаем, поскольку он умеет использовать более описательные имена и для других создаваемых им переменных.

22. Прочтите примечания до и после кода.

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

23. Можно позже вернуться и попросить дополнительную помощь по фрагменту кода.

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

24. Используйте ИИ, чтобы переписать устаревшие блоки кода.

У меня был модуль PHP, написанный на более старой версии PHP, который использовал функцию языка, которая сейчас устарела. Чтобы обновить код, я вставил устаревший сегмент кода в ChatGPT и попросил его рассказать мне, как переписать его, чтобы он был совместим с большинством последних версий PHP. Так оно и было, и это сработало.

25. Используйте ИИ, чтобы писать на менее знакомых языках.

Мне очень удобно осваивать новые языки программирования, но я обнаружил, что ИИ может быть очень полезен, если мне нужно написать код на языке, в котором я не являюсь экспертом. Я просто спрашиваю его, как написать то, что я хочу, и укажите язык. Допустим, я хочу знать, как выполнить оператор case в Python, и я всегда делал это в Perl. Просто спросите «сравните написание оператора case в Perl и Python» или «как объединить строку в Python и PHP». Вы получите отличное сравнение, и это значительно облегчит написание незнакомого кода.

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

Я пишу код для внутреннего использования компании или код с открытым исходным кодом, поэтому меня не особо беспокоят вопросы владения, когда дело касается фрагментов, созданных ИИ.

Использовали ли вы ИИ для написания кода? Есть ли у вас какие-либо советы, которые можно добавить к моему списку выше? Дайте нам знать в комментариях ниже.

Статьи по данной тематике