От хаоса к чистому коду: 12 промтов для Go и Node.js, которые экономят часы на каждом спринте

Бэкенд — это место, где цена ошибки измеряется не минутами, а часами простоя. Каждый раз, когда я вижу, как разработчик вручную копается в логах или строит микросервис на коленке, я вспоминаю, сколько времени можно сэкономить, просто правильно сформулировав запрос к ИИ. Эта подборка — не абстрактные «промты для генерации кода», а проверенные боевые шаблоны, которые я использую в работе каждый день: от проектирования микросервисов до оптимизации SQL-запросов.

Здесь собраны 12 промтов, которые закрывают реальные боли бэкенд-разработчика на Go и Node.js. Я намеренно не включаю сюда общие «напиши CRUD» — это умеет любой чат. Вместо этого — то, что реально экономит часы: генерация корректных миграций, рефакторинг с сохранением контрактов, поиск узких мест в API. Каждый промт снабжен примером и пояснением, когда его применять.

1. Проектирование микросервиса: от требований к структуре

Промт:

Ты — архитектор с 10-летним опытом. Спроектируй микросервис для [задача] на [Go/Node.js].
Учти: [требования к масштабированию, команда, бюджет].
Предложи структуру каталогов, основные интерфейсы, модели данных и API endpoints.
Объясни, почему ты выбрал [синхронное/асинхронное] взаимодействие.

Пример: Я использовал этот промт для сервиса уведомлений на Go. ИИ предложил структуру с internal/domain, internal/ports, internal/adapters — это стандарт для чистой архитектуры, который я потом легко адаптировал. В итоге сервис вышел модульным и тестируемым.

2. Генерация Dockerfile и docker-compose для бэкенда

Промт:

Напиши Dockerfile для [Go/Node.js] приложения с [указать зависимости и особенности].
Учти production-режим, минимальный размер образа, многоступенчатую сборку.
Добавь docker-compose.yml для локальной разработки с [БД, кэшем].

Пример: Для Node.js с Prisma ИИ сгенерировал корректный multi-stage Dockerfile, включая установку только production-зависимостей. Это сократило размер образа с 1.2 ГБ до 350 МБ — приятный бонус к скорости деплоя.

3. Оптимизация SQL-запросов

Промт:

Вот SQL-запрос: [вставь запрос].
Он выполняется [время]. Таблица содержит [количество] строк, индексы: [список].
Найди узкие места и предложи оптимизацию. Объясни, как работают индексы.
Дай окончательный вариант запроса и индекс, который нужно создать.

Пример: Один из моих коллег использовал этот промт для запроса с несколькими JOIN. ИИ предложил добавить составной индекс на (user_id, created_at) и переписать подзапрос на EXISTS. Время выполнения упало с 3 секунд до 80 миллисекунд.

4. Написание миграций для БД

Промт:

Сгенерируй SQL-миграции для [описание изменений, например, добавление таблицы orders с внешним ключом на users].
Используй [PostgreSQL/MySQL]. Учти обратную совместимость и возможность отката.
Дай как up, так и down миграции.

Пример: Для добавления поля status в таблицу заказов ИИ сгенерировал миграцию с ALTER TABLE и триггером для установки значения по умолчанию. Всё было готово к применению — без единой правки.

5. Рефакторинг легаси-кода

Промт:

Вот фрагмент кода на [Go/Node.js]: [вставь код].
Отрефактори его: улучши читаемость, вынеси магические числа в константы, раздели на функции.
Сохрани поведение без изменений. Добавь комментарии, объясняющие ключевые моменты.

Пример: Я применил это к старому Node.js обработчику запросов с кучей вложенных if. ИИ разбил его на middleware и вынес логику в отдельные функции. Код стал в два раза короче, и тесты прошли без изменений.

6. Тестирование: генерация unit-тестов

Промт:

Напиши unit-тесты для функции [название] на [Go/Node.js].
Используй [фреймворк, например, testify/Jest]. Покрой сценарии: успех, ошибка, граничные случаи.
Для моков используй [библиотеку].

Пример: Для функции валидации email на Go ИИ сгенерировал табличные тесты с кейсами: пустая строка, без @, с пробелами, корректный адрес. Покрытие выросло с 40% до 95% за 10 минут.

7. Профилирование производительности

Промт:

У меня есть [Go/Node.js] приложение, которое работает медленно. Вот результаты профилирования: [вставь вывод pprof/--prof].
Определи узкие места и предложи конкретные исправления. Объясни, почему они улучшат производительность.

Пример: С помощью этого промта я нашел, что в горячем пути вызывается fmt.Sprintf в цикле. ИИ предложил заменить на strconv.AppendInt — это ускорило обработку запросов на 30%.

8. Обработка ошибок и логирование

Промт:

Напиши пример обработки ошибок для [сценарий, например, запрос к внешнему API] на [Go/Node.js].
Используй [библиотеку для логирования, например, logrus/winston].
Включи: ретраи с экспоненциальной задержкой, логирование с контекстом, graceful degradation.

Пример: Для интеграции с платёжным шлюзом ИИ сгенерировал код с ретраями на 429 и 5xx ошибках, а также структурированные логи с request ID. Это сразу помогло в отладке продакшена.

9. Написание API-эндпоинтов с валидацией

Промт:

Создай REST API эндпоинт [метод, путь] на [Go/Node.js] для [описание действия].
Используй [фреймворк, например, Gin/Express]. Добавь валидацию входных данных, обработку ошибок, статус-коды.
Дай пример запроса и ответа.

Пример: Для создания пользователя ИИ сгенерировал эндпоинт с валидацией email и пароля, возвращающий 201 Created и 400 Bad Request с понятными сообщениями. Всё заработало сразу.

10. Документирование API (OpenAPI/Swagger)

Промт:

Сгенерируй OpenAPI 3.0 спецификацию для [описание API, эндпоинты].
Включи схемы данных, параметры, ответы с примерами. Используй [формат JSON/YAML].

Пример: Для внутреннего API команды ИИ сгенерировал спецификацию, которую мы сразу импортировали в Postman. Это упростило тестирование и интеграцию для фронтенд-разработчиков.

11. Работа с очередями и асинхронностью

Промт:

Реализуй обработку фоновых задач с помощью [очередь, например, RabbitMQ/Bull] на [Go/Node.js].
Включи: публикацию сообщения, воркер, обработку ошибок, повторную обработку.
Используй [библиотеку].

Пример: Для отправки email-рассылок ИИ сгенерировал воркер на Node.js с Bull, включая ретраи и обработку «мертвых» сообщений. Это сэкономило мне день на изучение документации.

12. Безопасность: защита от распространенных уязвимостей

Промт:

Проверь код на [Go/Node.js] на уязвимости: SQL injection, XSS, CSRF, небезопасная аутентификация.
Вот код: [вставь фрагмент]. Предложи исправления и объясни, как они защищают.

Пример: Промт выявил, что в Node.js приложении используется конкатенация строк в SQL. ИИ предложил параметризованные запросы и валидацию входных данных. Это закрыло критическую дыру до того, как ею воспользовались бы злоумышленники.

Как извлечь максимум из этих промтов

Главное — не копировать промты вслепую, а адаптировать под свой контекст. Чем больше конкретики вы дадите (язык, фреймворк, версии, ограничения), тем точнее будет ответ. И всегда проверяйте результат: ИИ может ошибаться, особенно в тонкостях инфраструктуры.

Я использую эти промты каждый день, и они стабильно экономят мне 2–3 часа. Начните с одного-двух, которые закрывают вашу текущую боль, и постепенно внедряйте остальные. Уверен, вы почувствуете разницу уже в первом спринте.

← Все статьи

Комментарии

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