5 промтов для генерации чистого кода на Python, TypeScript и SQL без галлюцинаций

Почему ChatGPT галлюцинирует и как это исправить

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

В этой подборке — 10 проверенных промтов для Python, TypeScript и SQL, которые я ежедневно использую в работе. Они помогают генерировать код без галлюцинаций, ускорять рефакторинг и писать сложные запросы. Все примеры реальны и протестированы на ChatGPT-4 и Claude 3.

1. Промт для генерации Python-кода с проверкой типов

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

Промт:

Ты — senior Python-разработчик. Напиши функцию на Python 3.10+, которая [задача]. Обязательно:
- Используй аннотации типов (typing).
- Добавь docstring в формате Google.
- Проверь код на соответствие PEP 8.
- Не используй библиотеки, которых нет в стандартной библиотеке, если не указано иное.
- Приведи пример вызова и ожидаемый результат.

Пример: генерация функции для парсинга CSV с валидацией.

Результат:

from typing import List, Dict
import csv

def parse_csv(file_path: str) -> List[Dict[str, str]]:
    """Читает CSV-файл и возвращает список словарей.

    Args:
        file_path: Путь к CSV-файлу.

    Returns:
        Список словарей, где ключи — заголовки столбцов.

    Raises:
        FileNotFoundError: Если файл не найден.
    """
    with open(file_path, 'r', encoding='utf-8') as f:
        reader = csv.DictReader(f)
        return [row for row in reader]

2. Промт для TypeScript: строгая типизация без any

Проблема: ChatGPT любит вставлять any, что убивает всю пользу TypeScript.

Промт:

Ты — эксперт по TypeScript. Напиши код для [задача] на TypeScript 5.0+.
Требования:
- Запрещено использовать `any`.
- Используй строгие типы (strict: true).
- Применяй generics, где это уместно.
- Добавь JSDoc с описанием параметров и возвращаемого значения.
- Покажи пример использования.

Пример: функция для фильтрации массива объектов по ключу.

Результат:

function filterByKey<T, K extends keyof T>(items: T[], key: K, value: T[K]): T[] {
  return items.filter(item => item[key] === value);
}

// Пример
interface User { id: number; name: string; }
const users: User[] = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];
const filtered = filterByKey(users, 'name', 'Alice'); // [{ id: 1, name: 'Alice' }]

3. Промт для SQL: оптимизация запросов

Проблема: ChatGPT пишет запросы, которые работают, но медленно.

Промт:

Ты — DBA с опытом в PostgreSQL. У меня есть запрос:
[вставить SQL]
Проанализируй его и предложи оптимизированный вариант. Учти:
- Индексы (какие добавить).
- Избегай подзапросов, если можно использовать JOIN.
- Используй EXPLAIN ANALYZE для проверки.
- Не используй несуществующие функции.

Пример: запрос с подзапросом в SELECT заменяется на JOIN, что ускоряет выполнение в разы.

4. Промт для рефакторинга legacy-кода

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

Промт:

Ты — тимлид. Проведи рефакторинг следующего кода на [язык]:
[вставить код]
Цели:
- Улучшить читаемость.
- Убрать дублирование.
- Соблюсти принципы SOLID.
- Не менять поведение.
- Объясни каждое изменение.

Пример: рефакторинг функции с множеством вложенных if-else в словарь обработчиков.

5. Промт для написания unit-тестов

Проблема: тесты часто поверхностны и не покрывают edge cases.

Промт:

Напиши unit-тесты на pytest для следующей функции:
[вставить код]
Требования:
- Покрой все ветвления.
- Добавь тесты на граничные случаи (пустой ввод, None, большие числа).
- Используй параметризацию.
- Не используй внешние библиотеки, кроме pytest.

Пример: тесты для функции деления с проверкой деления на ноль.

6. Промт для генерации документации

Проблема: документация отстаёт от кода.

Промт:

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

Пример: документация для модуля работы с API.

7. Промт для перевода кода с Python на TypeScript

Проблема: ручной перевод отнимает время и вносит ошибки.

Промт:

Переведи следующий код с Python на TypeScript, сохранив логику:
[вставить код]
Учти:
- Типы данных (int -> number, str -> string).
- Асинхронность (async/await).
- Не используй any.
- Добавь комментарии о различиях.

Пример: перевод функции сортировки словаря.

8. Промт для поиска уязвимостей

Проблема: код может содержать SQL-инъекции или XSS.

Промт:

Проанализируй код на наличие уязвимостей (OWASP Top 10):
[вставить код]
Для каждой найденной уязвимости:
- Опиши риск.
- Предложи исправление.
- Покажи уязвимый и безопасный вариант.

Пример: обнаружение SQL-инъекции в запросе, собранном через f-строку.

9. Промт для генерации сложных SQL-запросов

Проблема: нужно построить отчёт с агрегацией и оконными функциями.

Промт:

Напиши SQL-запрос для [задача] на PostgreSQL.
Используй:
- CTE (WITH).
- Оконные функции (ROW_NUMBER, RANK).
- Агрегацию с GROUP BY.
- Комментарии к каждому блоку.

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

10. Промт для код-ревью

Проблема: некому проверить код перед коммитом.

Промт:

Ты — строгий код-ревьюер. Проверь следующий код:
[вставить код]
Обрати внимание на:
- Соответствие стилю (PEP 8, Airbnb).
- Потенциальные баги.
- Производительность.
- Читаемость.
- Предложи улучшения.

Пример: ревью функции с неоптимальным циклом.

Как внедрить промты в ежедневную работу

Используйте эти промты как шаблоны, адаптируя под свои задачи. Сохраните их в snippets в IDE или в отдельном файле. Комбинируйте: например, сгенерируйте код, затем попросите написать тесты и провести ревью. Это экономит часы работы и снижает количество ошибок.

Помните: ChatGPT — инструмент, а не замена разработчика. Всегда проверяйте сгенерированный код, особенно в production. Начните с малого: возьмите один промт из подборки и примените на следующей задаче. Уже через неделю вы заметите, как AI стал вашим надёжным тимлидом.

← Все статьи

Комментарии

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

REST против GraphQL против gRPC в 2026 году: какой протокол API выбирают лидеры рынка? Анализ производительности, стоимости и трендов

22 июня 2026

An Uncomplicated Man: как «Одиссея» Кристофера Нолана объясняет философию Vibe Coding

28 июля 2026

Как язык меняет личность Claude: неожиданное открытие Anthropic в 2026 году

19 июля 2026

Интеграция Robotic Arm с AI-агентом ASI Biont: пошаговое руководство по управлению манипулятором через чат

23 июля 2026

13 промтов для миграции с Python 2 на Python 3: ускорьте рефакторинг legacy-кода в 4 раза

12 сентября 2026

Девушка без опыта заработала 200 тысяч за неделю: кто такой AI-креатор и как начать без навыков

16 июля 2026

Как AI-агент ASI Biont ускоряет работу вашей CRM Pipedrive: автоматизация, интеллект и бесшовная интеграция

23 июня 2026

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

3 июля 2026

Достижения в области Vibe-кодинга: Курс, превращающий шум ИИ в доход разработчика (Руководство 2026 года)

24 июня 2026