ИИ для архитектора ПО: конструктор промптов
Архитектор ПО ежедневно решает задачи разной сложности: от выбора паттерна до оптимизации распределённых систем. ИИ-ассистент способен ускорить эти процессы, но только при условии правильно составленного запроса. Разберём анатомию эффективного промпта и предложим готовые шаблоны.
Структура эффективного промпта
Качественный запрос к LLM (Large Language Model) содержит пять обязательных блоков:
- Роль — задаёт контекст экспертизы (например, «ты — senior-архитектор с 15-летним опытом»).
- Задача — конкретное действие (спроектировать, сравнить, оптимизировать).
- Контекст — технические ограничения, стек, масштаб системы.
- Формат вывода — структура ответа (таблица, список, диаграмма Mermaid).
- Критерии качества — требования к результату (учёт отказоустойчивости, стоимости, сроков).
«Хороший промпт — это не вопрос, а техническое задание. Чем точнее вы опишете ограничения, тем меньше итераций потребуется для получения рабочего решения».
Готовые шаблоны запросов
Шаблон 1. Сравнение архитектурных стилей
Промпт: «Ты — архитектор ПО. Сравни микросервисную и модульную монолитную архитектуру для системы [опишите систему]. Учти: команда из [N] человек, нагрузка [RPS], бюджет [сумма]. Выведи таблицу: критерий, микросервисы, модульный монолит, рекомендация. Добавь вывод о выборе».
Настройка: замените параметры в квадратных скобках. Для большей точности добавьте требования к масштабированию (горизонтальное/вертикальное) и compliance-ограничения.
Шаблон 2. Проектирование API-контракта
Промпт: «Спроектируй REST API для [сущность]. Используй OpenAPI 3.0. Опиши: ресурсы, методы, коды ошибок, пагинацию. Формат ответа — YAML. Учти идемпотентность и безопасность (OAuth2)».
Настройка: укажите версию протокола (GraphQL, gRPC) и требования к версионированию. Добавьте примеры запросов/ответов для сложных сценариев.
Шаблон 3. Анализ рисков legacy-системы
Промпт: «Проведи анализ рисков миграции с [текущая система] на [целевая]. Выдели 5 ключевых рисков, для каждого: вероятность, влияние, план митигации. Формат — таблица. Учти данные: [объём данных], [зависимости]».
Настройка: добавьте временные ограничения (например, «миграция за 3 месяца») и укажите допустимый downtime.
Как настраивать промпты под свои задачи
- Итеративность: первый ответ используйте как черновик. Уточняйте: «Учти ещё фактор X», «Сократи до 3 вариантов».
- Контекстная память: в диалоге ссылайтесь на предыдущие ответы: «В пункте 2 замени паттерн на Saga».
- Ограничение галлюцинаций: требуйте «указывай источники или помечай предположения».
- Проверка кодом: для генерации кода добавляйте «выполни статический анализ» или «предложи тесты».
Пример настройки под конкретный стек
Для Java/Spring-проекта добавьте в промпт: «Используй Spring Cloud, Netflix Eureka, Resilience4j. Избегай Hystrix — он deprecated». Это снизит вероятность устаревших рекомендаций.
Используйте эти шаблоны как основу, адаптируя под свой контекст. Через 2–3 итерации вы выработаете собственный стиль промптов, который экономит часы проектирования.