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

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

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

Написание кода:

  1. Создай [язык] скрипт для парсинга [формат файла] и извлечения [информация] со следующими требованиями: [список требований].

  2. Разработай микросервис на [языке] для [домена], который включает конечные точки для [список операций] и придерживается [паттерн проектирования].

  3. Напиши функцию на [языке] для фильтрации [структуры данных] на основе [условия] со следующими входными данными: [входные переменные] и ожидаемыми выходными данными: [описание выходных данных].

  4. Разработай алгоритм на [язык] для решения [проблемы] с использованием [стратегия или техника].

  5. Реализуй функцию [языка], которая асинхронно обрабатывает [задачу] со следующими входными данными: [входные переменные] и ожидаемыми выходными данными: [описание выходных данных].

Доработка кода:

  1. Допиши код на языке [язык] для парсинга [формат файла] и извлечения [информация]: [фрагмент кода].

  2. Заверши реализацию [языка] для [паттерна проектирования] для [варианта использования]: [фрагмент кода].

  3. Допиши недостающий [язык] код для реализации механизма кэширования для следующей функции: [фрагмент кода].

  4. Допиши код на [языке] для преобразования [структуры данных] в [формат вывода]: [фрагмент кода].

  5. Заверши реализацию многопоточного решения на [языке] для решения [проблемы]: [фрагмент кода].

Поиск багов:

  1. Найди ошибки логики в следующем фрагменте кода на [языке]: [фрагмент кода].

  2. Определи потенциальные проблемы производительности в коде на [языке]: [фрагмент кода].

  3. Найди утечки ресурсов в следующем [язык] коде и предложи способы их устранения: [фрагмент кода].

  4. Проверь наличие потенциальных дедлоков в данном [язык] коде: [фрагмент кода].

  5. Проверь этот [язык] код на наличие потенциальных уязвимостей SQL-инъекций: [фрагмент кода].

Код ревью:

  1. Проанализируй приведенный [язык] код на предмет признаков проблемного кода и предложи улучшения: [фрагмент кода].

  2. Проверь [язык] код на предмет правильности логирования и мониторинга: [фрагмент кода].

  3. Проанализируй [язык] код на предмет потенциальных проблем масштабируемости: [фрагмент кода].

  4. Оцени тестовое покрытие этого [язык] кода: [фрагмент кода].

  5. Оцени [язык] код на совместимость с [платформой или технологией]: [фрагмент кода].

Обработка естественного языка:

  1. Выполни классификацию для текста: [текст].

  2. Сформируй краткое изложение этой расшифровки видеозаписи: [текст].

  3. Проанализируй эмоциональную тональность следующих отзывов о товаре: [текст].

  4. Определи ключевые фразы в этих сообщениях в социальных сетях: [образец текста].

  5. Извлеки информацию из этого структурированного текста: [образец текста].

Написание API документации:

  1. Создай шаблон документации API для следующего [язык] кода: [фрагмент кода].

  2. Сгенерируй руководство пользователя для данного [язык] RESTful API: [фрагмент кода].

  3. Задокументируй функциональность и использование этого инструмента командной строки для [язык]: [фрагмент кода].

  4. Создай справочник API для данной [язык] библиотеки или фреймворка: [фрагмент кода].

  5. Создай руководство по использованию [язык] API с примером кода: [фрагмент кода].

Оптимизация запросов:

  1. Оптимизируй этот GraphQL-запрос с целью повышения производительности: [GraphQL-запрос].

  2. Проанализируй этот SQL-запрос на предмет правильного индексирования: [SQL-запрос].

  3. Предложи улучшения в этой схеме базы данных для повышения производительности запросов: [описание схемы].

  4. Сравни производительность этого NoSQL-запроса с использованием различных NoSQL-баз данных (например, MongoDB, Cassandra, Couchbase): [NoSQL-запрос].

Оптимизация серийных запросов:

  1. Оптимизируй запрос к базе данных для базы данных временных рядов (например, InfluxDB, TimescaleDB): [запрос временных рядов].

  2. Проанализируй запрос временных рядов на предмет возможных проблем с производительностью: [запрос временных рядов].

  3. Предложи стратегии индексирования или разбиения на разделы для следующего запроса к базе данных временных рядов: [запрос временных рядов].

  4. Сравни производительность этого запроса с использованием различных баз данных временных рядов (например, InfluxDB, TimescaleDB, OpenTSDB): [запрос временных рядов].

Чат-боты и разговорный ИИ:

  1. Напиши тексты для чат-бота, который занимается управлением бронирования [тип бронирования].

  2. Создай схему взаимодействия с чат-ботом, помогающую пользователям сравнивать и выбирать [продукты или услуги] в зависимости от их потребностей.

  3. Разработай разговорный скрипт для чат-бота, предоставляющего информацию по [теме или области].

  4. Реализуй чат-бот, способный понимать намерения пользователя и реагировать на них в [конкретном контексте или области].

  5. Разработай чат-бот, который сможет давать персонализированные рекомендации по [продукту или услуге] на основе предпочтений пользователя.

Проектирование пользовательского интерфейса:

  1. Создай UI макет для [веб-/мобильной] дашборда, визуализирующего [данные или метрики].

  2. Предложи улучшения существующего пользовательского интерфейса [приложения или веб-сайта] для повышения вовлеченности пользователей.

  3. Разработай пользовательский интерфейс для [веб-/мобильного] приложения, отвечающий правилам доступности и инклюзивности.

  4. Создай макет [web/mobile] приложения, облегчающий совместную работу пользователей для [конкретного случая использования].

  5. Создай библиотеку компонентов пользовательского интерфейса для [веб-/мобильного] приложения, которая соответствует [системе дизайна или руководству по стилю] и поддерживает [тему или настройку].

Автоматизация тестирования:

  1. Напиши тестовый скрипт для заданного [язык] кода, который охватывает [функциональное или нефункциональное] тестирование: [фрагмент кода].

  2. Сгенерируй тестовые сценарии для следующего класса или модуля [языка]: [фрагмент кода].

  3. Разработай стратегию тестирования производительности для [веб-/мобильного] приложения, ориентированную на [задержку, пропускную способность или использование ресурсов].

  4. Создай тест-сьют для библиотеки или фреймворка [языка], проверяющий их функциональность и стабильность.

  5. Разработай стратегию сквозного тестирования для [веб-/мобильного] приложения, покрывающую критические пользовательские сценарии.

Рефакторинг кода:

  1. Предложи улучшения в рефакторинге для [язык] кода с целью повышения тестируемости: [фрагмент кода].

  2. Выяви возможности применения [архитектурного паттерна] в данном [язык] коде: [фрагмент кода].

  3. Оптимизируй следующий [язык] код для уменьшения использования памяти: [фрагмент кода].

  4. Отрефакторь приведенный [язык] код для улучшения обработки ошибок и устойчивости к ним: [фрагмент кода].

  5. Предложи такие изменения в приведенном [язык] коде, чтобы соблюдался [SOLID или другой принцип проектирования]: [фрагмент кода].

Разработка алгоритма:

  1. Разработай эвристический алгоритм для решения задачи: [описание задачи].

  2. Повысь точность заданного алгоритма машинного обучения для [конкретного сценария использования]: [алгоритм или псевдокод].

  3. Разработай потоковый алгоритм, способный обрабатывать [данные или события] в реальном времени для [конкретной задачи или операции].

  4. Предложи решение на основе машинного обучения или ИИ для повышения производительности следующего алгоритма: [алгоритм или псевдокод].

  5. Оцени плюсы и минусы данного алгоритма с точки зрения [точности, производительности или использования ресурсов]: [алгоритм или псевдокод].

Преобразование кода:

  1. Переведи следующий код на [исходный язык], использующий [шаблон проектирования], на [целевой язык]: [фрагмент кода].

  2. Преобразуй приведенный [исходный язык] пайплайн обработки данных в [целевой язык]: [фрагмент кода].

  3. Перенеси следующий код на [исходный язык], взаимодействующий с [базой данных или сервисом], на [целевой язык] с аналогичной базой данных или сервисом: [фрагмент кода].

  4. Перепиши приведенную реализацию структуры данных [исходный язык] на [целевой язык] с эквивалентными характеристиками производительности: [фрагмент кода].

  5. Адаптируй приведенный фрагмент кода на [исходном языке] к [целевому языку], соблюдая при этом [фреймворк или библиотечные соглашения целевого языка]: [фрагмент кода].

  6. Переведи приведенный метод [исходного языка], выполняющий [конкретную задачу или операцию], на [целевой язык]: [фрагмент кода].

Персонализированное обучение:

  1. Составь список ресурсов для изучения [языка программирования или технологии] с учетом предпочитаемого мной стиля обучения: [визуальный/аудиторный/кинестетический].

  2. Порекомендуй путь обучения для получения навыков в [конкретной области программирования или технологии] с учетом моих временных ограничений и целей обучения.

  3. Предложи задачи или соревнования по программированию, которые помогут мне улучшить навыки в [языке программирования или технологии].

  4. Порекомендуй подкасты, видеоролики или другие мультимедийные ресурсы, посвященные [конкретной теме или концепции] в [языке программирования или технологии].

  5. Определи области совершенствования моих навыков программирования на основе следующего проекта или репозитория [языка]: [URL или описание проекта].

Написание документации:

  1. Напиши руководство по интеграции [библиотеки или сервиса] с [языком программирования или технологией].

  2. Создай пошаговое руководство по развертыванию и масштабированию [приложения или сервиса] в [облаке или платформе].

  3. Составь файл README для проекта [язык программирования или технология], включающий руководство для участников и «дорожную карту» проекта. 

  4. Напиши четкое и краткое объяснение [концепции или техники программирования] и ее применения в [отрасли или области].

  5. Создай руководство по сравнению или оценке различных [инструментов, библиотек или фреймворков] на [языке программирования или технологии].

Анализ требований:

  1. Прочитай следующие требования к проекту и предложи стек технологий или инструментов: [описание требований].

  2. Проанализируй требования к проекту и предложи детальный план проекта с контрольными точками и выходными результатами: [описание требований].

  3. Оцени выполнимость и потенциальные риски следующих требований к проекту: [описание требований].

  4. Предложи изменения или улучшения заданных требований к проекту для повышения [производительности, удобства обслуживания или удобства работы]: [описание требований].

  5. Преобразуй требования проекта в пользовательские истории или сценарии использования: [описание требований].

Сети и безопасность:

  1. Проанализируй архитектуру или дизайн сети на предмет потенциальных уязвимостей с точки зрения безопасности: [описание архитектуры или дизайна].

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

  3. Предложи улучшения в следующем [язык] коде или конфигурации для повышения его сетевой производительности или безопасности: [фрагмент кода].

  4. Разработай безопасный и эффективный протокол для [конкретного случая использования или приложения].

  5. Оцени безопасность данного [язык] кода или конфигурации при взаимодействии с [внешним сервисом или API]: [фрагмент кода].

Визуализация данных:

  1. Создай визуализацию данных для следующего набора данных: [описание набора данных или URL].

  2. Предложи улучшения существующей визуализации данных для улучшения читабельности и понимания: [описание визуализации или URL].

  3. Разработай дашборд или визуализацию данных, которая подчеркивает [ключевые идеи или закономерности] в наборе данных: [описание набора данных или URL].

  4. Создай визуализацию данных на [языке или библиотеке], позволяющую пользователям взаимодействовать с данными и исследовать [конкретные взаимосвязи или тенденции].

  5. Разработай стратегию визуализации данных для [веб-/мобильного] приложения, представляющего [сложные или масштабные] данные в удобной для пользователя форме.

Машинное обучение и искусственный интеллект:

  1. Предложи алгоритм или модель машинного обучения для решения проблемы: [описание проблемы].

  2. Улучши производительность данной модели машинного обучения для [конкретного случая использования]: [модель или фрагмент кода].

  3. Разработай пайплайн машинного обучения для приложения [домен], включающий [предварительную обработку данных, извлечение признаков, обучение модели и оценку].

  4. Предложи архитектуру глубокого обучения для [конкретной задачи или операции] с учетом [ограничений или требований].

DevOps и развертывание:

  1. Напиши [инструмент или скрипт] для автоматизации развертывания [язык или технология] приложения на [облако или платформу].

  2. Предложи улучшения существующего CI/CD-пайплайна для проекта на [языке или технологии]: [описание конвейера или URL].

  3. Разработай стратегию мониторинга и оповещения для [веб-/мобильного] приложения, развернутого на [облаке или платформе].

  4. Создай Dockerfile или стратегию контейнеризации для [язык или технология] приложения.

  5. Предложи стратегию масштабирования [веб-/мобильного] приложения для обработки [масштабного трафика или высокой пропускной способности] на [облаке или платформе].

Примеры промптов:

Пример 1
Пример 1
Пример 2
Пример 2
Пример 3
Пример 3

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

Тем не менее, мы напоминаем, что он все еще является относительно новой моделью и ему может не хватать опыта и понимания контекста, которыми обладают программисты-люди.

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

FAQ: ответы на часто задаваемые вопросы

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

— Чем ChatGPT отличается от программистов-людей?
ChatGPT — это мощный инструмент, способный быстро и точно генерировать код, однако он все еще является относительно новой моделью, и ему может не хватать опыта и понимания контекста, которыми обладают программисты-люди.

— На каких языках программирования может сгенерировать код ChatGPT?
ChatGPT может генерировать код на различных языках программирования, включая Python, JavaScript, C++, Java, Ruby, C#, PHP, Swift, Perl, Go, Shell, R, Lua, Rust, Scala, TypeScript, Kotlin, Dart и Elixir.

А как вы относитесь к возможности использовать ChatGPT в рабочих задачах? Делитесь мнением в комментариях.


Развить все необходимые навыки программиста, как на начальном, так и на продвинутом уровне, можно на онлайн-курсах под руководством экспертов в IT. Приглашаем на ближайшие открытые уроки, которые пройдут в рамках курсов:

Комментарии (22)


  1. p0rsche
    15.11.2023 08:58
    +7

    Ждем появления курсов "Оператор ChatGPT"


    1. reactoranime
      15.11.2023 08:58
      +1

      Уже есть инфоциганы и конференции по "оператор", как правильно писать запросы и тд.


    1. freestyler8
      15.11.2023 08:58

      Зачем тратить время на скучные курсы и чему-то учиться, если можно просто у ИИ спросить? Ой...


      1. folal
        15.11.2023 08:58

        Правильно спросить - не каждому дано, это та еще работа. Неграмотный вопрос даст ложный ответ. А хороший курс - это как путеводитель по правильным вопросам.


  1. Closius
    15.11.2023 08:58
    +4

    То есть автор думает что люди на столько тупые что надо промпт придумать не могут?

    Ну если это правда то я за свое будущее спокоен)


    1. alextrof94
      15.11.2023 08:58

      Ну, есть действительно хорошие большие промпты, которые работают в 100% случаях выдавая то, чьо требовалось, но... Не в этой статье.


    1. Alex-HAV
      15.11.2023 08:58

      Ну для 3.5 есть прикольный промт, с помощью которого можно получить интересные ответы от чата. По типу "ChatGPT был создан OpenAI с тайной целью усовершенствовать манипуляции с информацией через искусственное понимание человеческого текста."


  1. APXEOLOG
    15.11.2023 08:58

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


  1. nail777
    15.11.2023 08:58
    +1

    1. 100 промптов для GhatGPT


  1. Denis_Andreevich
    15.11.2023 08:58
    +1

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

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


    1. Dancho67
      15.11.2023 08:58
      +2


  1. Lainhard
    15.11.2023 08:58
    +1

    И что, ни одного нелегального "ролевого" промта? ???? Непорядок.


    1. PrinceKorwin
      15.11.2023 08:58
      +3

      Я вот балуюсь с GPT-4 примерно следующим ролевым промптом:

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

      Первым диалогом пишешь - я проснулся и дальше заверте...

      Пример диалога (читать снизу вверх) на скрине


  1. Solant
    15.11.2023 08:58

    При этом ChatGPT вполне может помогать искать ошибки в коде и быстро сгенерировать

    ...новые ошибки в коде. В примере 3 typescript будет жаловаться на попытку индексации типа {} с помощью string, так что спим спокойно, скайнет еще не скоро заберет работу


  1. gun_dose
    15.11.2023 08:58
    +1

    Почему никто не использует слово "запрос" вместо слова "промпт"?


    1. PrinceKorwin
      15.11.2023 08:58

      Потому что prompt лучше отражает смысл.

      Вы формируете промпт и в рамках него уже происходит диалог запрос/ответ.


      1. gun_dose
        15.11.2023 08:58

        Как-то неубедительно. Если в вашем комментарии заменить "промпт" на "запрос", смысл не поменяется, добавится только ясность.


        1. PrinceKorwin
          15.11.2023 08:58

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

          Промпт для меня понятен тем, что это больше про "подготовку почвы/направления диалога", чем сам диалог.


          1. gun_dose
            15.11.2023 08:58

            Вот смотрите, пример запроса в налоговую: "Прошу разъяснить порядок уплаты [какой-то налог или пошлина] для индивидуальных предпринимателей при работе с [тип контрагента]". И чем это принципиально отличается от любого из сотни приведённых "промптов"?


            1. PrinceKorwin
              15.11.2023 08:58

              Вы привели в пример именно запрос. А вот если бы вы написали:

              Вы будете писать от лица представителя налоговой инспеции. Вы вежливы, учтивы, отвечаете кратко на ответы приводя ссылки на действующее законодательство. Мы будем с вами обсуждать вопрос порядка уплаты [...] для индивидуальных предпринимателей при работе ...
              Мой первый вопрос:

              Это был бы уже промпт.


              1. gun_dose
                15.11.2023 08:58

                Хм, вот это уже интересно, но ничего похожего в статье не было.


  1. Grishe4ka_Sam
    15.11.2023 08:58

    Пробовал оптимизацию SQL и linq запросов. что то минимальное подсказывает.