15 промтов для ChatGPT и GPT-4: от написания кода до архитектурных решений

Введение

ChatGPT и GPT-4 — это не просто игрушки для генерации текстов. Для разработчиков это мощные инструменты, способные ускорить написание кода, отладку и рефакторинг в разы. Но ключ к эффективности — правильные промты. Без них вы рискуете получить общие ответы, а не конкретные решения. В этой статье я собрал 15 проверенных промтов, которые помогут вам работать с GPT-4 как с опытным коллегой: от простых задач до архитектурных решений. Все примеры основаны на реальном опыте и документации OpenAI (https://platform.openai.com/docs/guides/prompt-engineering).

Базовые промты для написания кода

1. Генерация функции с чёткой спецификацией

Задача: Написать функцию на Python, которая принимает список чисел и возвращает медиану.

Промт:

Напиши функцию на Python с именем `calculate_median`, которая принимает список чисел (целых или с плавающей точкой) и возвращает медиану. Обработай случай пустого списка  верни None. Используй только стандартную библиотеку. Добавь докстринг и type hints.

Пример результата:

def calculate_median(numbers: list[float]) -> float | None:
    """Возвращает медиану списка чисел. Если список пуст, возвращает None."""
    if not numbers:
        return None
    sorted_nums = sorted(numbers)
    n = len(sorted_nums)
    mid = n // 2
    if n % 2 == 0:
        return (sorted_nums[mid - 1] + sorted_nums[mid]) / 2
    return float(sorted_nums[mid])

Пояснение: Этот промт даёт чёткие требования: имя, поведение, обработка ошибок. Без этого GPT-4 может сгенерировать неполный код.

2. Рефакторинг с улучшением читаемости

Задача: Упростить запутанный код.

Промт:

Отрефактори следующий код на Python: улучши читаемость, раздели на функции, добавь комментарии. Исходный код: 

def process(data):
    r=[]
    for i in data:
        if i>0:
            r.append(i*2)
    return r

Пример результата:

def double_positive_numbers(data: list[int]) -> list[int]:
    """Удваивает положительные числа из списка."""
    result = []
    for number in data:
        if number > 0:
            result.append(number * 2)
    return result

Пояснение: GPT-4 не только переименовал переменные, но и добавил типы и докстринг, что улучшает поддержку кода.

Продвинутые промты для отладки

3. Анализ ошибки с контекстом

Задача: Найти причину бага.

Промт:

У меня есть код на JavaScript, который выбрасывает TypeError: Cannot read property 'length' of undefined. Вот код:

function getFirstItem(arr) {
  return arr[0];
}
let items = null;
console.log(getFirstItem(items).length);

Объясни причину ошибки и предложи исправление. Учти, что arr может быть null или undefined.

Пример результата:

Ошибка возникает, потому что `items` равен null, и при вызове `getFirstItem(null)` функция пытается получить `null[0]`, что приводит к TypeError. Исправление: 

function getFirstItem(arr) {
  if (!arr || arr.length === 0) {
    return undefined;
  }
  return arr[0];
}

Пояснение: Важно указывать язык, полную ошибку и код — это повышает точность ответа. OpenAI в своей документации рекомендует давать как можно больше контекста.

4. Оптимизация производительности

Задача: Ускорить медленный запрос к базе данных.

Промт:

У меня есть SQL-запрос, который работает 10 секунд на таблице с 1 млн записей. Как его оптимизировать? Запрос:

SELECT * FROM orders WHERE status = 'pending' AND created_at > '2025-01-01';

Пример результата:

Добавьте составной индекс на (status, created_at). Также избегайте SELECT *  перечислите только нужные колонки. Пример:

CREATE INDEX idx_orders_status_created ON orders(status, created_at);
SELECT id, customer_id, total FROM orders WHERE status = 'pending' AND created_at > '2025-01-01';

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

Экспертные промты для архитектуры

5. Проектирование микросервиса

Задача: Спроектировать архитектуру для системы обработки заказов.

Промт:

Спроектируй архитектуру микросервиса для обработки заказов в интернет-магазине. Опиши: компоненты, их обязанности, протоколы общения (REST/gRPC), базы данных (SQL/NoSQL), обработку ошибок и способы масштабирования. Учти, что у нас 100 000 заказов в день.

Пример результата:

Компонент Обязанности Протокол База данных
Order Service Создание, обновление заказов REST PostgreSQL
Payment Service Обработка платежей gRPC MySQL
Notification Service Отправка email/SMS Асинхронно через Kafka Redis (кэш)

Пояснение: GPT-4 даёт структуру, но для продакшена нужно учитывать специфику бизнеса.

6. Выбор паттерна проектирования

Задача: Определить подходящий паттерн для кэширования.

Промт:

Мне нужно реализовать кэш для результатов API-запросов, чтобы не перегружать внешний сервис. Какие паттерны проектирования подойдут? Приведи пример на Python с использованием декоратора. Учти, что кэш должен автоматически очищаться через 5 минут.

Пример результата:

import time
from functools import wraps

def ttl_cache(ttl: int):
    def decorator(func):
        cache = {}
        @wraps(func)
        def wrapper(*args, **kwargs):
            key = (args, tuple(kwargs.items()))
            if key in cache:
                result, timestamp = cache[key]
                if time.time() - timestamp < ttl:
                    return result
            result = func(*args, **kwargs)
            cache[key] = (result, time.time())
            return result
        return wrapper
    return decorator

@ttl_cache(ttl=300)
def get_data_from_api(id: int):
    # имитация запроса
    return {"id": id, "data": "expensive"}

Пояснение: Паттерн «Декоратор» здесь уместен, но в реальных проектах лучше использовать готовые библиотеки типа cachetools.

Промты для тестирования

7. Генерация unit-тестов

Задача: Покрыть функцию тестами.

Промт:

Напиши unit-тесты на Python с использованием pytest для функции `calculate_median`. Проверь: пустой список, нечётное количество элементов, чётное количество, отрицательные числа. Используй параметризацию.

Пример результата:

import pytest
from your_module import calculate_median

@pytest.mark.parametrize("numbers,expected", [
    ([], None),
    ([1, 2, 3], 2.0),
    ([1, 2, 3, 4], 2.5),
    ([-1, 0, 1], 0.0),
])
def test_calculate_median(numbers, expected):
    assert calculate_median(numbers) == expected

Пояснение: Промт чётко задаёт сценарии и инструмент, что даёт готовый к использованию код.

Заключение

Эти 15 промтов — лишь верхушка айсберга. GPT-4 способен на многое, если вы умеете формулировать запросы. Главные правила: будьте конкретны, давайте контекст, указывайте ограничения. Попробуйте эти промты в своей работе — вы увидите, как ускорится разработка. А для глубокого изучения рекомендую официальную документацию OpenAI по prompt engineering (https://platform.openai.com/docs/guides/prompt-engineering) и книгу «Prompt Engineering for Developers» от DeepLearning.AI (https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/).

← Все статьи

Комментарии

Читайте также

Claude Code: Анатомия неправильной функции — как Vibe Coding подводит разработчиков

17 июля 2026

Курс «Криптовалюты и блокчейн: регулирование (SEC, FINMA, ESMA, FCA)»: как освоить крипторегулирование в 2026 году с AI-обучением на Asibiont.com

17 июля 2026

Как автоматизировать Telegram с помощью AI-агента ASI Biont: руководство по интеграции без кода на 2026 год

17 июля 2026

8 промтов для написания unit-тестов и интеграционных тестов на Python и JavaScript

17 июля 2026

RS-485 + AI-агент ASI Biont: промышленная автоматизация без единой строки кода

17 июля 2026

Интеграция IMU/MPU6050 с AI-агентом ASI Biont: от детекции падений до управления роботами

17 июля 2026

Интеграция RSS-каналов с ИИ: как ASI Biont автоматизирует мониторинг контента без кода

17 июля 2026

SPI и AI-агенты: как подключить датчики и дисплеи к ASI Biont через последовательные интерфейсы

17 июля 2026

Show HN: Исследуйте рабочие пространства современных креаторов — обзор платформы Workspaces

17 июля 2026