Перейти к основному контенту

Понимание создания PRD с использованием ИИ

Фундаментальное различие между человеческими и ИИ-спецификациями

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

Денис и Алмас:
«ИИ не полностью понимает вас, и вам нужно давать ему четкие пошаговые инструкции, как будто он имбецил, но есть одно отличие – сколько это стоит – там 20 долларов в месяц, в отличие от ППШ за 5000 долларов в месяц».

Спецификации для человеческих команд

  • Контекстуальность. Люди могут понимать неявный контекст, профессиональный жаргон и отраслевые стандарты, даже если они не указаны явно.
  • Адаптивность. Человеческие команды могут адаптироваться к изменениям и интерпретировать неоднозначные инструкции на основе опыта.
  • Проактивность. Опытные разработчики часто предвосхищают проблемы и предлагают решения, которых нет в спецификации.
  • Коммуникация. Возможность задавать уточняющие вопросы в реальном времени и немедленно прояснять неоднозначности.

Спецификации для ИИ

  • Буквальность. ИИ интерпретирует инструкции дословно, без понимания контекста.
  • Детализация. Требуется максимально точное описание всех аспектов, исключающее двусмысленность.
  • Структурированность. ИИ работает лучше с логически разбитой информацией.
  • Полнота. Каждое требование должно быть прописано явно, без подразумеваемых вещей.
Денис и Алмас:
«Если вы даете слишком общие инструкции, типа "напиши мне клон Slack", это может повернуть не в ту сторону. Думаю, те из вас, кто пробовали Cursor или Level Zero, понимают, о чем я говорю – это может пойти в другом направлении от вашего исходного видения».

Пример различий в формулировке требований:

Для человека:
Реализовать страницу аутентификации с возможностью входа через социальные сети и восстановления пароля.

Для Искусственного Интеллекта


Создать страницу аутентификации со следующими элементами:

  1. Поле ввода email (обязательное, с валидацией формата email)
    • Сообщение об ошибке при невалидном формате: "Пожалуйста, введите корректный email".
    • Подсветка поля красной рамкой при ошибке.
    • Автоматическое удаление пробелов в начале и конце.
  2. Поле ввода пароля (обязательное, минимум 8 символов)
    • Тип поля: password (скрытые символы).
    • Индикатор сложности пароля (слабый/средний/сильный).
    • Кнопка переключения видимости пароля.
    • Сообщение об ошибке при недостаточной длине: "Пароль должен содержать не менее 8 символов".
  3. Кнопка "Войти" (становится активной только при заполнении обоих полей)
    • Неактивное состояние: серый цвет, не кликабельна.
    • Активное состояние: синий цвет (#1E88E5), кликабельна.
    • При нажатии: анимация загрузки, блокировка повторного нажатия.
  4. Ссылка "Забыли пароль?" (при клике перенаправляет на страницу восстановления пароля)
    • Расположение: под кнопкой "Войти".
    • URL страницы восстановления: /reset-password.
    • Передаваемые параметры: email (если был введен).
  5. Кнопки входа через социальные сети:
    • Facebook (синий цвет #4267B2, логотип Facebook).
    • Google (белый цвет #FFFFFF с серой рамкой #E0E0E0, логотип Google).
    • VK (голубой цвет #4C75A3, логотип VK).
    • Расположение: под основной формой с отступом 24px.
    • Размер кнопок: 44px в высоту, ширина 100%.
  6. При успешной аутентификации:
    • Сохранять JWT токен в localStorage.
    • Перенаправлять пользователя на главную страницу (/).
    • Устанавливать куки с идентификатором сессии.
  7. При ошибке аутентификации:
    • Показывать сообщение об ошибке под формой: "Неверный email или пароль".
    • Сохранять введенный email в поле.
    • Очищать поле пароля.
    • Фокус на поле пароля.