10 Советов по улучшению работы с ChatGPT
Если вам кто-то говорит, что ChatGPT – это всемогущая технология, которая полностью сможет заменить программистов – не воспринимайте это как правду. Да, данная технология очень интересна и прогрессивна, но важно понимать, что человеку, который решил начать ей пользоваться, самому необходимо владеть знаниями какого-либо языка программирования. Зачем? Этот навык необходим затем, чтобы понимать, что выводит вам этот чат-бот в качестве результата.
Использование ChatGPT или любого другого LLM автоматически не делает вас гуру или не делает вас более продуктивным, если вы не вкладываете что-то своё в этот процесс.
Слепое копирование-вставка кода никому не пойдёт на пользу. Это может привести к непреднамеренным последствиям, которые могут прямо или косвенно нанести ущерб вашим проектам, когда вы добавляете код, который не понимаете.
Вы должны осознать, что ChatGPT был обучен с использованием общедоступных данных, которые были получены до 2021 года. Результаты могут быть предвзятыми, подверженными ошибкам и не содержать ссылок. Следовательно, было бы лучше, если бы вы всегда помнили об этом, поскольку его способность предоставлять точные и актуальные ответы ничем не лучше точности и актуальности обучающих его наборов данных. Со временем это может измениться, поскольку OpenAI выясняет, как постоянно обеспечивать актуальность моделей.
Теперь, когда мы разобрались с этим, давайте перейдём к рассмотрению некоторых ценных советов, которые помогут вам улучшить работу с ChatGPT.
Совет 1: Избегайте потери контекста
Работа ChatGPT зависит от контекста.
ChatGPT имеет ограничение на вывод текста, но это можно легко обойти, воспользовавшись командой “continue”.
Если “continue” возвращает немного другой код, возможно, вам придётся вернуться назад и исправить имена переменных или изменить порядок аргументов в функциях.
Если вы задаёте слишком много вопросов в чате, он в конечном итоге потеряет контекст, поскольку каждый раз, когда вы задаёте новый вопрос, он переносит только ограниченный объём предыдущего диалога.
Чтобы обойти это и сохранить контекст, вы можете отредактировать предыдущий вопрос и задать ему совершенно другой. ChatGPT по-прежнему сохранит контекст с гораздо более ранних версий, что полезно для того, чтобы задавать вопросы о кодинге разных файлов в одном приложении.
Ещё один совет – используйте “Rewrite for <whatever change you want>”, чтобы ChatGPT изменил свой ответ. Будьте конкретны в стиле вывода, который вы хотите.
Совет 2: Делайте подсказки короткими и точными
Иногда длинные, запутанные подсказки могут иметь противоположный эффект, поэтому всегда полезно делать их конкретными и короткими. Если вы дадите ему слишком много заданий или ответ потребует обширного текста, он может просто отказаться отвечать / помогать.
Лучше всего описать программу, а затем запросить каждую функцию отдельно, указав подсказки, совместимые с предыдущим кодом. Как только вы сделаете это, вы сможете получить желаемый эффект.
Совет 3: Результат вывода
Добавление ключевого слова “list” в вашу подсказку может изменить способ вывода ChatGPT.
Поскольку ChatGPT основан на тексте, вы можете использовать ключевое слово “markdown” как часть вашей подсказки.
Вот ещё один вариант, который запрашивает вывод в коде. Следующее значение ключа должно быть изменено на противоположное, но нам было неясно, как определить Hashmap
.
Поскольку теперь мы знаем, что ChatGPT зависит от контекста, мы можем продолжать запрашивать дальнейшие изменения на основе предыдущих выходных данных.
Кроме того, мы можем продолжить этот процесс с учётом контекста и дополнительно манипулировать выводом, написав более сложную логику, основанную на предыдущих запросах.
Совет 4: Документация к коду
ChatGPT может помочь вам в написании чёткой и сжатой документации для вашего кода, включая README.md файлы для проектов. Предоставляя модели информацию о вашем коде, она может сгенерировать подробную документацию, объясняющую, как это работает и как его использовать.
Шаги, которые необходимо предпринять, включают следующее:
- Предоставьте подсказку с фрагментом функции кода, которую вы хотите задокументировать. Убедитесь, что вы добавили достаточно контекста
- Предоставьте более подробную информацию, если потребуется
- Проверьте и продолжайте
Совет 5: Завершение кода
Вставляя фрагменты кода и запрашивая советы, ChatGPT может помочь с завершением кода. Это открывает возможности для различных методов решения проблем. Благодаря непрерывным подсказкам может быть создан цикл обратной связи для уточнения конкретных строк кода, что помогает понять и получить представление о потенциальных улучшениях, которые вы можете внести.
Совет 6: Будьте аккуратны с общедоступной информацией
Учитывая, что использование ChatGPT происходит от Large Language Model (LLM), то есть генеративного предварительно обученной модель, где “генеративный” означает способность модели генерировать новый контент, в основе модели лежит преобразование больших наборов обучающих данных в математические структуры. Затем он изучает шаблон и использует его для итеративного прогнозирования по одному слову за раз, чтобы создать наилучший ответ для данного запроса. Это означает, что всё, что вы добавите к нему, может быть использовано для будущего итеративного обучения.
Не отправляйте в Chatgpt запросы, содержащие личную информацию о вас, ваших коллегах или компании.
Совет 7: Упрощение кода и тестирование
Вот несколько примеров запросов, которые помогут вам в ваших попытках упрощения кода и рефакторинга:
Code alternative example
input <yourcode>
Simplify below code
input <yourcode>
Refactor this code
input <yourcode>
ChatGPT может действовать как SQL-терминал и может отвечать на запросы. Это может быть полезно для тестирования, но было бы лучше изучать непосредственно через SQL IDE, такую как DBeaver.
Вот еще один пример ChatGPT, действующего как генератор регулярных выражений. Регулярные выражения могут стать очень сложными; тестирование и изучение того, как их интерпретировать, всегда полезно.
Первое подсказка, показанная ниже, предназначена для проверки электронной почты. Вы заметите, что выходные данные не соответствуют стандарту RFC2822, который заменяет RFC822 и устарел в 2001 году. Таким образом, генерируется только базовая проверка. Также могут быть сделаны дополнительные запросы для получения шаблона, соответствующего спецификации RFC2822.
Затем мы можем провести некоторое тестирование в вашей любимой IDE и написать тестовые примеры вокруг сгенерированного регулярного выражения, чтобы убедиться, что оно соответствует требованиям. Обратите внимание, что помощь не означает отказ от тестирования кода и проверки того, соблюдены ли все критерии приемлемости.
import re
def test_email_regex():
pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$"
# Test valid email addresses
assert re.match(pattern, "example@example.com")
assert re.match(pattern, "example.example@example.com")
assert re.match(pattern, "example+example@example.com")
assert re.match(pattern, "example_example@example.com")
assert re.match(pattern, "example%example@example.com")
# Test invalid email addresses
assert not re.match(pattern, "example@.com")
assert not re.match(pattern, "example@com")
assert not re.match(pattern, "example@example.")
assert not re.match(pattern, "@example.com")
assert not re.match(pattern, "example@example..com")
Совет 8: Не будьте наивны
То, что ChatGPT может генерировать код, не означает, что он будет работать идеально. Запрос типа “Напиши мне простое приложение для составления списка дел на Django” в некоторой степени создал бы базовую структуру для простого проекта Django на Python. Объём работы, который вам придётся проделать, чтобы сгенерированный код работал должным образом, будет намного больше, что иногда может показаться нелогичным и потенциально замедлить работу из-за необходимости большего контекста для того, как должен работать код.
Если у вас нет опыта и хорошего понимания фреймворков и кода, всё, что генерирует ChatGPT, вряд ли будет полезно в условиях реальной работы. ChatGPT также не идеален для тех, у кого нет предварительных знаний о предмете, по которому они запрашивают информацию у ChatGPT.
Всегда перепроверяйте код от chatgpt или найдите эксперта , который сможет проверить сгенерированный код.
Существует заблуждение, что ChatGPT волшебным образом упростит для вас всё сферы жизни. Как и любой инструмент, его результат полностью зависит от того, кто его осуществляет.
Я по-прежнему считаю, что программирование – это творческий процесс; такие инструменты, как ChatGPT, могут помочь, но не заменить разработчиков программного обеспечения. Они способны помочь разработчикам работать качественнее, но в то же время способны сделать нас, разработчиков программного обеспечения, самодовольными и глупыми.
Совет 9: Запрос тестовых примеров и планов тестирования
Учитывая, что точность ChatGPT иногда вызывает сомнения, когда дело доходит до написания тестовых примеров, это одна из областей, где вы можете смело полагаться на ChatGPT как на источник вдохновения.
Планы тестирования – это ещё одна вещь, которую вы можете сгенерировать с chatgpt, что особенно полезно для проверки вашего кода. Используя искусственный интеллект, отделы контроля качества могут автоматизировать повторяющиеся задачи и получить представление о крайних случаях, которые позволяют создавать системы более высокого качества.
Пример: Предположим, у вас есть веб-сайт app.ekyc.com, на котором вы создали некоторую функциональность и хотите спланировать автоматизацию тестирования.
Вы можете отправить в ChatGPT подробную информацию о функциональных компонентах и их использовании и попросить его сгенерировать план тестирования в таких случаях.
Это может стать хорошей отправной точкой для документации по критериям приемлемости тестового случая слияния QA. Вы можете поделиться этим со своей командой контроля качества.
Теперь, допустим, вам нужен план тестирования в формате, который можно было бы легко скопировать в Jira, wiki или GitHub tickets. В таком случае вы могли бы использовать ChatGPT, добавив больше подсказок в тот же поток.
Совет 10: Используйте ChatGPT для автоматизации утомительной работы
Некоторые случаи, когда имеет смысл использовать ChatGPT, если вы опытный разработчик:
- Создание запросов SQL
- CRUD код
- Отправка электронных писем
- Экспорт данных в CSV Excel
- Создание форм ввода данных
Качественная работа ChatGPT заключается в корректном составлении подсказок
Разработка подсказок – это навык, которым вам необходимо овладеть, если вы хотите, чтобы генеративные модели хорошо работали на вас. Будь то для создания контента и потрясающих изображений с помощью генераторов искусственного интеллекта, таких как DALL-E, или для использования менее известных сервисов, таких как meta Blenderbot, ChatSonic, Bloom и Google LaMDA. Правильный запрос выдаст вам желаемый результат, поэтому, потратив время на изучение того, как это сделать, вы сэкономите часы на расшифровке вывода.
Всегда пишите краткие и конкретные подсказки, чтобы искусственный интеллект правильно понимал вас.
ChatGPT как специалист по обработке данных
Чат GPT как имитированный терминал Linux
ChatGPT как генератор случайных данных, когда вам нужны тестовые данные
Примечание: для генерации данных случайной выборки может потребоваться конкретизация, чтобы обеспечить рандомизацию столбцов, если вы заметили, что выходные данные не уникальны.