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

Введение

Когда в 2020 году OpenAI представила GPT-3, многие разработчики восприняли это как забавную игрушку: генерация стихов, шуток и текстов для соцсетей. Но с выходом GPT-4 в марте 2023 года ситуация кардинально изменилась. Модель научилась не только писать код, но и отлаживать его, предлагать архитектурные решения и объяснять сложные концепции. По данным исследования OpenAI (GPT-4 Technical Report, 2023), модель показала результаты на уровне 90-го перцентиля на экзамене Uniform Bar Exam и 88-го перцентиля на экзамене GRE Verbal. Для разработчиков это означало одно: наступила эра, когда AI может стать полноценным помощником в программировании.

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

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

Промт 1: Генерация функции по описанию

Задача: Создать функцию на Python для обработки данных.

Промт:

Напиши функцию на Python, которая принимает список словарей с ключами 'name' и 'age', фильтрует людей старше 18 лет и возвращает отсортированный по возрасту список имён. Добавь обработку ошибок для пустого списка.

Результат:

def filter_adults_sorted(people):
    if not people:
        raise ValueError("Список людей пуст")
    adults = [person['name'] for person in people if person.get('age', 0) > 18]
    return sorted(adults)

GPT-4 корректно обрабатывает крайние случаи (пустой список) и использует get() для безопасного доступа к ключам.

Промт 2: Создание класса с методами

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

Промт:

Создай класс TaskManager на JavaScript с методами addTask, removeTask и getPendingTasks. Используй ES6 синтаксис. Каждая задача должна иметь id, title и статус.

Результат:

class TaskManager {
    constructor() {
        this.tasks = [];
    }

    addTask(title) {
        const id = Date.now();
        this.tasks.push({ id, title, status: 'pending' });
    }

    removeTask(id) {
        this.tasks = this.tasks.filter(task => task.id !== id);
    }

    getPendingTasks() {
        return this.tasks.filter(task => task.status === 'pending');
    }
}

Модель использует Date.now() для генерации уникальных id и правильно реализует фильтрацию.

2. Продвинутые промты: отладка и оптимизация

Промт 3: Поиск бага в коде

Задача: Найти ошибку в функции, которая не возвращает ожидаемый результат.

Промт:

Вот код на Python, который должен суммировать числа от 1 до n, но возвращает 0 для n=5. Найди ошибку:

def sum_to_n(n):
    total = 0
    for i in range(n):
        total += i
    return total

Результат:
Ошибка в том, что range(n) генерирует числа от 0 до n-1, а не от 1 до n. Для n=5 сумма будет 0+1+2+3+4=10, а не 15. Исправленный код: range(1, n+1).

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

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

Промт:

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

SELECT * FROM orders WHERE status = 'pending' ORDER BY created_at DESC;

Результат:

-- Добавить составной индекс
CREATE INDEX idx_orders_status_created ON orders(status, created_at DESC);

-- Оптимизированный запрос (выбираем только нужные колонки)
SELECT id, user_id, total FROM orders WHERE status = 'pending' ORDER BY created_at DESC;

GPT-4 объясняет, что составной индекс ускоряет фильтрацию и сортировку, а выбор только нужных колонок уменьшает объём данных.

3. Экспертные промты: архитектура и рефакторинг

Промт 5: Рефакторинг legacy-кода

Задача: Переписать старый код на современный стандарт.

Промт:

Дан код на PHP (версия 5.6), который использует mysql_* функции. Перепиши его на PDO с подготовленными запросами:

$conn = mysql_connect('localhost', 'user', 'pass');
mysql_select_db('db', $conn);
$result = mysql_query("SELECT * FROM users WHERE id = " . $_GET['id']);

Результат:

$pdo = new PDO('mysql:host=localhost;dbname=db', 'user', 'pass');
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute(['id' => $_GET['id']]);
$result = $stmt->fetchAll();

Модель не только заменяет устаревшие функции, но и устраняет SQL-инъекцию, используя подготовленные запросы.

Промт 6: Проектирование архитектуры микросервисов

Задача: Спроектировать систему для интернет-магазина.

Промт:

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

Результат:
| Сервис | Функция | Взаимодействие | Протокол |
|--------|---------|----------------|----------|
| Product Service | Управление каталогом | Синхронное | REST |
| Order Service | Обработка заказов | Асинхронное (RabbitMQ) | gRPC |
| Payment Service | Платежи | Синхронное | REST |
| Notification Service | Уведомления | Асинхронное (Kafka) | gRPC |

GPT-4 предлагает использовать брокеры сообщений для асинхронных операций (например, при оформлении заказа), что повышает отказоустойчивость.

Промт 7: Генерация тестов

Задача: Написать unit-тесты для функции.

Промт:

Напиши тесты на pytest для функции validate_email, которая проверяет, что email содержит '@' и домен из списка разрешённых: ['gmail.com', 'yahoo.com'].

Результат:

import pytest
from validator import validate_email

def test_valid_gmail():
    assert validate_email('test@gmail.com') == True

def test_invalid_domain():
    assert validate_email('test@mail.ru') == False

def test_no_at():
    assert validate_email('testgmail.com') == False

Модель покрывает позитивные и негативные сценарии.

4. Практические советы по составлению промтов

Как улучшить промт

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

Типичные ошибки

Ошибка Пример Исправление
Слишком общий запрос «Напиши код для парсинга» «Напиши функцию на Python, которая парсит HTML с помощью BeautifulSoup и извлекает заголовки h1»
Отсутствие ограничений «Оптимизируй запрос» «Оптимизируй SQL-запрос для таблицы с 10 млн строк, используя индексы»
Игнорирование крайних случаев «Функция для деления» «Добавь обработку деления на ноль и нечисловых входных данных»

Заключение

GPT-4 — это не просто инструмент для генерации текста, а мощный помощник программиста. Правильно составленные промты позволяют сократить время на написание кода, отладку и рефакторинг в несколько раз. По данным опроса Stack Overflow (2024), более 70% разработчиков уже используют AI-инструменты в работе, и эта тенденция будет расти.

Попробуйте применить эти 10 промтов в своих проектах. Начните с простых задач — генерации функций, затем переходите к отладке и архитектуре. И помните: качество ответа напрямую зависит от того, насколько чётко вы сформулировали вопрос. Экспериментируйте, уточняйте контекст и не бойтесь задавать сложные вопросы. Удачи в кодинге!

← Все статьи

Комментарии

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

7 промтов для оптимизации производительности кода: находим узкие места за секунды

6 июля 2026

Private Equity & Venture Capital — инвестиции и сделки: как пройти путь от LBO-модели до exit и почему AI-обучение ускоряет этот процесс в 2 раза

6 июля 2026

Промпт-инжиниринг ПРО (Prompt Engineering Pro): Как стать инженером AI-запросов в 2026 году

6 июля 2026

Освоение цепочки создания стоимости в энергетике: Практическое руководство по курсу «Нефтегазовая и энергетическая промышленность» на asibiont.com

6 июля 2026

WordPress + AI-агент ASI Biont: создание и публикация контента без кода и лишних рутин

6 июля 2026

7 промтов для Node.js и Express: API, middleware и авторизация

6 июля 2026

Влияет ли чистота кода на работу AI-агентов? Контролируемое исследование минимальных пар

6 июля 2026

TabFM от Google: Новая эра в работе с табличными данными — разбор модели и практические кейсы

6 июля 2026

Гибель богов: Fable и 10 LLM, которые реорганизуют код — полное сравнение

6 июля 2026