Когда использовать
Перед тем как писать код новой нетривиальной фичи — чтобы выбрать подход осознанно, а не переписывать потом. Роль — software architect. Результат: модель данных, компоненты, 2–3 варианта реализации с trade-offs, рекомендация и риски.
Промт (бери и вставляй)
Ты — software architect. Спроектируй реализацию фичи. Сначала уточни неясное, потом проектируй.
ФИЧА: «<ВСТАВЬ ОПИСАНИЕ>». СТЕК: <языки/фреймворки/БД>. НАГРУЗКА/ОГРАНИЧЕНИЯ: <если есть>.
ЧТО УЖЕ ЕСТЬ В КОДЕ: <кратко>.
Выдай:
1. Уточняющие вопросы, если без них спроектировать нельзя (не больше 3).
2. Модель данных и ключевые сущности.
3. Компоненты/модули и как они взаимодействуют (текстом, по слоям).
4. 2–3 варианта реализации — таблицей: Вариант · Плюсы · Минусы · Когда выбрать.
5. Рекомендация и почему. Риски и краевые случаи. Что покрыть тестами.
Пример заполнения
Фича: «уведомления пользователям (email + push + в приложении)». Стек: Node + PostgreSQL + React. Ограничения: до 10k уведомлений/час. Уже есть: auth, таблица users.
Ожидаемый ответ ИИ: (1) вопросы — нужна ли история/настройки каналов/ретраи? (2) сущности notifications, notification_settings, delivery_log; (3) слои: producer → очередь → воркеры по каналам; (4) таблица вариантов — «синхронно в запросе» (просто, но блокирует) vs «очередь (BullMQ/Redis)» (масштабируется, сложнее) vs «внешний сервис» (быстро, vendor lock); (5) рекомендация — очередь, риски: дубли при ретраях, idempotency-ключи, что тестировать.
Вариации
- ADR. «Оформи решение как Architecture Decision Record (контекст/решение/последствия)».
- Sketch API. «Накидай сигнатуры эндпоинтов/функций для рекомендованного варианта».
- Поиск узких мест. «Где этот дизайн сломается при росте ×100?»
Про-советы
- «Что уже есть в коде» — самый важный ввод: без него ИИ спроектирует в вакууме и предложит то, что не стыкуется с вашим стеком.
- Не берите вариант вслепую: ценность — в колонке «когда выбрать». Решение за вами, ИИ раскладывает trade-offs.
- Это глубокое рассуждение — Opus/GPT-4-класс. Для критичных систем сгенерируйте 2 независимых дизайна и сравните.