[Перевод] 100 промптов для ChatGPT
OpenAI разработала мощный инструмент ChatGPT, использующий огромные объемы текстовых данных для создания текстов, которые звучат так, будто они написаны людьми. ChatGPT также может помочь программистам в решении их проблем с кодом, генерируя решения на месте. Бот способен бесплатно написать код, но лучше не просить его об этом, если вы не знаете, что конкретно вам нужно.
Конечно, не стоит ожидать, что в текущем виде модель способна проделать за вас работу, поскольку она еще слишком нова и наивна, хотя и учится и совершенствуется с каждым днем. При этом ChatGPT вполне может помогать искать ошибки в коде и быстро сгенерировать простой код. Вместо того чтобы тратить часы на поиск решений на Stack Overflow, задайте вопрос ChatGPT, и он решит задачу за считанные минуты.
Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется. В этой статье увидите, какие промпты можно использовать для работы с ChatGPT, а также в целом больше узнаете о том, с какими микрозадачами он может помочь.
Написание кода:
Создай [язык] скрипт для парсинга [формат файла] и извлечения [информация] со следующими требованиями: [список требований].
Разработай микросервис на [языке] для [домена], который включает конечные точки для [список операций] и придерживается [паттерн проектирования].
Напиши функцию на [языке] для фильтрации [структуры данных] на основе [условия] со следующими входными данными: [входные переменные] и ожидаемыми выходными данными: [описание выходных данных].
Разработай алгоритм на [язык] для решения [проблемы] с использованием [стратегия или техника].
Реализуй функцию [языка], которая асинхронно обрабатывает [задачу] со следующими входными данными: [входные переменные] и ожидаемыми выходными данными: [описание выходных данных].
Доработка кода:
Допиши код на языке [язык] для парсинга [формат файла] и извлечения [информация]: [фрагмент кода].
Заверши реализацию [языка] для [паттерна проектирования] для [варианта использования]: [фрагмент кода].
Допиши недостающий [язык] код для реализации механизма кэширования для следующей функции: [фрагмент кода].
Допиши код на [языке] для преобразования [структуры данных] в [формат вывода]: [фрагмент кода].
Заверши реализацию многопоточного решения на [языке] для решения [проблемы]: [фрагмент кода].
Поиск багов:
Найди ошибки логики в следующем фрагменте кода на [языке]: [фрагмент кода].
Определи потенциальные проблемы производительности в коде на [языке]: [фрагмент кода].
Найди утечки ресурсов в следующем [язык] коде и предложи способы их устранения: [фрагмент кода].
Проверь наличие потенциальных дедлоков в данном [язык] коде: [фрагмент кода].
Проверь этот [язык] код на наличие потенциальных уязвимостей SQL-инъекций: [фрагмент кода].
Код ревью:
Проанализируй приведенный [язык] код на предмет признаков проблемного кода и предложи улучшения: [фрагмент кода].
Проверь [язык] код на предмет правильности логирования и мониторинга: [фрагмент кода].
Проанализируй [язык] код на предмет потенциальных проблем масштабируемости: [фрагмент кода].
Оцени тестовое покрытие этого [язык] кода: [фрагмент кода].
Оцени [язык] код на совместимость с [платформой или технологией]: [фрагмент кода].
Обработка естественного языка:
Выполни классификацию для текста: [текст].
Сформируй краткое изложение этой расшифровки видеозаписи: [текст].
Проанализируй эмоциональную тональность следующих отзывов о товаре: [текст].
Определи ключевые фразы в этих сообщениях в социальных сетях: [образец текста].
Извлеки информацию из этого структурированного текста: [образец текста].
Написание API документации:
Создай шаблон документации API для следующего [язык] кода: [фрагмент кода].
Сгенерируй руководство пользователя для данного [язык] RESTful API: [фрагмент кода].
Задокументируй функциональность и использование этого инструмента командной строки для [язык]: [фрагмент кода].
Создай справочник API для данной [язык] библиотеки или фреймворка: [фрагмент кода].
Создай руководство по использованию [язык] API с примером кода: [фрагмент кода].
Оптимизация запросов:
Оптимизируй этот GraphQL-запрос с целью повышения производительности: [GraphQL-запрос].
Проанализируй этот SQL-запрос на предмет правильного индексирования: [SQL-запрос].
Предложи улучшения в этой схеме базы данных для повышения производительности запросов: [описание схемы].
Сравни производительность этого NoSQL-запроса с использованием различных NoSQL-баз данных (например, MongoDB, Cassandra, Couchbase): [NoSQL-запрос].
Оптимизация серийных запросов:
Оптимизируй запрос к базе данных для базы данных временных рядов (например, InfluxDB, TimescaleDB): [запрос временных рядов].
Проанализируй запрос временных рядов на предмет возможных проблем с производительностью: [запрос временных рядов].
Предложи стратегии индексирования или разбиения на разделы для следующего запроса к базе данных временных рядов: [запрос временных рядов].
Сравни производительность этого запроса с использованием различных баз данных временных рядов (например, InfluxDB, TimescaleDB, OpenTSDB): [запрос временных рядов].
Чат-боты и разговорный ИИ:
Напиши тексты для чат-бота, который занимается управлением бронирования [тип бронирования].
Создай схему взаимодействия с чат-ботом, помогающую пользователям сравнивать и выбирать [продукты или услуги] в зависимости от их потребностей.
Разработай разговорный скрипт для чат-бота, предоставляющего информацию по [теме или области].
Реализуй чат-бот, способный понимать намерения пользователя и реагировать на них в [конкретном контексте или области].
Разработай чат-бот, который сможет давать персонализированные рекомендации по [продукту или услуге] на основе предпочтений пользователя.
Проектирование пользовательского интерфейса:
Создай UI макет для [веб-/мобильной] дашборда, визуализирующего [данные или метрики].
Предложи улучшения существующего пользовательского интерфейса [приложения или веб-сайта] для повышения вовлеченности пользователей.
Разработай пользовательский интерфейс для [веб-/мобильного] приложения, отвечающий правилам доступности и инклюзивности.
Создай макет [web/mobile] приложения, облегчающий совместную работу пользователей для [конкретного случая использования].
Создай библиотеку компонентов пользовательского интерфейса для [веб-/мобильного] приложения, которая соответствует [системе дизайна или руководству по стилю] и поддерживает [тему или настройку].
Автоматизация тестирования:
Напиши тестовый скрипт для заданного [язык] кода, который охватывает [функциональное или нефункциональное] тестирование: [фрагмент кода].
Сгенерируй тестовые сценарии для следующего класса или модуля [языка]: [фрагмент кода].
Разработай стратегию тестирования производительности для [веб-/мобильного] приложения, ориентированную на [задержку, пропускную способность или использование ресурсов].
Создай тест-сьют для библиотеки или фреймворка [языка], проверяющий их функциональность и стабильность.
Разработай стратегию сквозного тестирования для [веб-/мобильного] приложения, покрывающую критические пользовательские сценарии.
Рефакторинг кода:
Предложи улучшения в рефакторинге для [язык] кода с целью повышения тестируемости: [фрагмент кода].
Выяви возможности применения [архитектурного паттерна] в данном [язык] коде: [фрагмент кода].
Оптимизируй следующий [язык] код для уменьшения использования памяти: [фрагмент кода].
Отрефакторь приведенный [язык] код для улучшения обработки ошибок и устойчивости к ним: [фрагмент кода].
Предложи такие изменения в приведенном [язык] коде, чтобы соблюдался [SOLID или другой принцип проектирования]: [фрагмент кода].
Разработка алгоритма:
Разработай эвристический алгоритм для решения задачи: [описание задачи].
Повысь точность заданного алгоритма машинного обучения для [конкретного сценария использования]: [алгоритм или псевдокод].
Разработай потоковый алгоритм, способный обрабатывать [данные или события] в реальном времени для [конкретной задачи или операции].
Предложи решение на основе машинного обучения или ИИ для повышения производительности следующего алгоритма: [алгоритм или псевдокод].
Оцени плюсы и минусы данного алгоритма с точки зрения [точности, производительности или использования ресурсов]: [алгоритм или псевдокод].
Преобразование кода:
Переведи следующий код на [исходный язык], использующий [шаблон проектирования], на [целевой язык]: [фрагмент кода].
Преобразуй приведенный [исходный язык] пайплайн обработки данных в [целевой язык]: [фрагмент кода].
Перенеси следующий код на [исходный язык], взаимодействующий с [базой данных или сервисом], на [целевой язык] с аналогичной базой данных или сервисом: [фрагмент кода].
Перепиши приведенную реализацию структуры данных [исходный язык] на [целевой язык] с эквивалентными характеристиками производительности: [фрагмент кода].
Адаптируй приведенный фрагмент кода на [исходном языке] к [целевому языку], соблюдая при этом [фреймворк или библиотечные соглашения целевого языка]: [фрагмент кода].
Переведи приведенный метод [исходного языка], выполняющий [конкретную задачу или операцию], на [целевой язык]: [фрагмент кода].
Персонализированное обучение:
Составь список ресурсов для изучения [языка программирования или технологии] с учетом предпочитаемого мной стиля обучения: [визуальный/аудиторный/кинестетический].
Порекомендуй путь обучения для получения навыков в [конкретной области программирования или технологии] с учетом моих временных ограничений и целей обучения.
Предложи задачи или соревнования по программированию, которые помогут мне улучшить навыки в [языке программирования или технологии].
Порекомендуй подкасты, видеоролики или другие мультимедийные ресурсы, посвященные [конкретной теме или концепции] в [языке программирования или технологии].
Определи области совершенствования моих навыков программирования на основе следующего проекта или репозитория [языка]: [URL или описание проекта].
Написание документации:
Напиши руководство по интеграции [библиотеки или сервиса] с [языком программирования или технологией].
Создай пошаговое руководство по развертыванию и масштабированию [приложения или сервиса] в [облаке или платформе].
Составь файл README для проекта [язык программирования или технология], включающий руководство для участников и «дорожную карту» проекта.
Напиши четкое и краткое объяснение [концепции или техники программирования] и ее применения в [отрасли или области].
Создай руководство по сравнению или оценке различных [инструментов, библиотек или фреймворков] на [языке программирования или технологии].
Анализ требований:
Прочитай следующие требования к проекту и предложи стек технологий или инструментов: [описание требований].
Проанализируй требования к проекту и предложи детальный план проекта с контрольными точками и выходными результатами: [описание требований].
Оцени выполнимость и потенциальные риски следующих требований к проекту: [описание требований].
Предложи изменения или улучшения заданных требований к проекту для повышения [производительности, удобства обслуживания или удобства работы]: [описание требований].
Преобразуй требования проекта в пользовательские истории или сценарии использования: [описание требований].
Сети и безопасность:
Проанализируй архитектуру или дизайн сети на предмет потенциальных уязвимостей с точки зрения безопасности: [описание архитектуры или дизайна].
Напиши защищенную функцию или модуль на [языке], который выполняет [конкретную задачу или операцию], предотвращая при этом [угрозу безопасности или уязвимость].
Предложи улучшения в следующем [язык] коде или конфигурации для повышения его сетевой производительности или безопасности: [фрагмент кода].
Разработай безопасный и эффективный протокол для [конкретного случая использования или приложения].
Оцени безопасность данного [язык] кода или конфигурации при взаимодействии с [внешним сервисом или API]: [фрагмент кода].
Визуализация данных:
Создай визуализацию данных для следующего набора данных: [описание набора данных или URL].
Предложи улучшения существующей визуализации данных для улучшения читабельности и понимания: [описание визуализации или URL].
Разработай дашборд или визуализацию данных, которая подчеркивает [ключевые идеи или закономерности] в наборе данных: [описание набора данных или URL].
Создай визуализацию данных на [языке или библиотеке], позволяющую пользователям взаимодействовать с данными и исследовать [конкретные взаимосвязи или тенденции].
Разработай стратегию визуализации данных для [веб-/мобильного] приложения, представляющего [сложные или масштабные] данные в удобной для пользователя форме.
Машинное обучение и искусственный интеллект:
Предложи алгоритм или модель машинного обучения для решения проблемы: [описание проблемы].
Улучши производительность данной модели машинного обучения для [конкретного случая использования]: [модель или фрагмент кода].
Разработай пайплайн машинного обучения для приложения [домен], включающий [предварительную обработку данных, извлечение признаков, обучение модели и оценку].
Предложи архитектуру глубокого обучения для [конкретной задачи или операции] с учетом [ограничений или требований].
DevOps и развертывание:
Напиши [инструмент или скрипт] для автоматизации развертывания [язык или технология] приложения на [облако или платформу].
Предложи улучшения существующего CI/CD-пайплайна для проекта на [языке или технологии]: [описание конвейера или URL].
Разработай стратегию мониторинга и оповещения для [веб-/мобильного] приложения, развернутого на [облаке или платформе].
Создай Dockerfile или стратегию контейнеризации для [язык или технология] приложения.
Предложи стратегию масштабирования [веб-/мобильного] приложения для обработки [масштабного трафика или высокой пропускной способности] на [облаке или платформе].
Примеры промптов:
Пример 1
Пример 2
Пример 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.
Развить все необходимые навыки программиста, как на начальном, так и на продвинутом уровне, можно на онлайн-курсах под руководством экспертов в IT. Приглашаем на ближайшие открытые уроки, которые пройдут в рамках курсов: