Go (Golang) прочно занял нишу backend-разработки: микросервисы, высоконагруженные API, CLI-инструменты. Но даже опытный Go-разработчик тратит до 30% времени на шаблонный код, документацию и отладку. Искусственный интеллект (AI) помогает сократить это время — достаточно правильно сформулировать промт. В этой статье — 5 проверенных промтов, которые я использую ежедневно. Они сэкономят часы работы и помогут писать более чистый код.
1. Генерация скелета микросервиса
Проблема: Каждый новый микросервис требует однотипной структуры: main.go, обработчики, middleware, конфиги. Руками это писать — рутина.
Промт:
Напиши скелет микросервиса на Go с использованием Chi роутера, логгером zerolog, middleware для CORS и логирования, поддержкой graceful shutdown и конфигурацией через Viper. Структура должна быть готова к расширению: отдельный пакет для handlers, services, models.
Результат: AI генерирует файлы main.go, config.go, middleware/logging.go, middleware/cors.go, handlers/health.go. Остаётся только добавить бизнес-логику. Это экономит 20–30 минут на старте каждого сервиса.
2. Рефакторинг HTTP-обработчика с валидацией
Проблема: В legacy-коде часто встречаются «толстые» обработчики, где всё перемешано: парсинг, валидация, работа с БД, отправка ответа.
Промт:
Перепиши этот HTTP-обработчик на Go, выделив логику в сервисный слой и используя go-playground/validator для проверки входных данных. Обработчик должен возвращать структурированные JSON-ошибки. Вот код: [вставь код].
Результат: AI разделяет ответственность. Обработчик становится тоньше, ошибки стандартизируются. Это снижает количество багов на 40–50% (по опыту моих проектов).
3. Написание CLI-утилиты с Cobra
Проблема: Создание CLI с нуля — боль: нужно обрабатывать аргументы, флаги, подкоманды, вывод справки.
Промт:
Создай CLI-утилиту на Go с помощью Cobra. Утилита должна иметь команду serve для запуска HTTP-сервера (флаги: --port, --host), команду migrate для запуска миграций БД (флаг --dry-run) и глобальный флаг --verbose. Добавь автодополнение для bash.
Результат: Получаем готовый main.go с тремя файлами: cmd/root.go, cmd/serve.go, cmd/migrate.go. Cobra генерирует help и автодополнение. Время создания — 2 минуты вместо 1–2 часов.
4. Оптимизация SQL-запросов в Go
Проблема: Медленные запросы — частая причина проблем производительности. Написать эффективный запрос с индексами и подсказками — отдельное искусство.
Промт:
У меня есть структура User с полями ID, Name, Email, Age. Напиши Go-код с использованием sqlx для выполнения запроса: SELECT * FROM users WHERE age > ? AND email LIKE ?. Оптимизируй запрос с помощью индекса на age и частичного индекса на email (PostgreSQL). Добавь EXPLAIN ANALYZE для проверки.
Результат: AI выдаёт код с подготовленными выражениями, объясняет, почему нужны индексы, и показывает, как выполнить EXPLAIN. Это сокращает время отладки запросов в 3–4 раза.
5. Генерация моков и тестов
Проблема: Писать тесты — скучно и долго. Особенно для интерфейсов, где нужно замокать внешние сервисы.
Промт:
Напиши unit-тесты для функции CreateUser в Go с использованием testify и mockery. Закрой кейсы: успешное создание, ошибка валидации, дубликат email, ошибка БД. Используй мок для интерфейса UserRepository.
Результат: AI генерирует файл user_service_test.go с 4 тестовыми функциями. В каждом — подготовка мока, вызов функции, проверка результата. Тесты готовы к прогону. Это уменьшает время написания тестов с 40 минут до 5–7 минут.
Как использовать эти промты эффективно
- Уточняй версии Go и библиотек. Если не указать версию, AI может сгенерировать код, несовместимый с твоим проектом. Например: «используй Go 1.22, Chi v5, sqlx v1.3».
- Добавляй контекст. Чем больше деталей, тем точнее результат. Укажи тип БД (PostgreSQL, MySQL), стиль кода (clean architecture, hexagonal), путь к файлам.
- Используй итерации. Первый результат — черновик. Попроси AI улучшить: «Добавь обработку ошибок через errors.Is», «Сделай код более идиоматичным».
Заключение
Эти 5 промтов покрывают 80% рутинных задач Go-разработчика: от создания микросервиса до тестирования. Они не заменяют понимания языка, но дают суперспособность — быстрее переходить от идеи к работающему коду. Попробуй их сегодня — и ты заметишь, как много времени освободится для настоящих архитектурных решений.
P.S. Если хочешь углубиться в построение production-grade сервисов на Go, обрати внимание на практические курсы. Например, ASI Biont поддерживает подключение к GitHub, Docker Hub и Kubernetes через API — подробнее на asibiont.com/courses. Там разбирают реальные кейсы: от микросервисов до CLI утилит.
Комментарии